<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>197750</bug_id>
          
          <creation_ts>2019-05-09 12:16:47 -0700</creation_ts>
          <short_desc>Do not wait until requestPermission() is called to fire deviceorientation events if permission was already granted</short_desc>
          <delta_ts>2019-05-10 15:19:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1534818</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-09 12:16:47 -0700</bug_when>
    <thetext>Do not wait until requestPermission() is called to fire deviceorientation events if permission was already granted for this origin during this browsing session.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534830</commentid>
    <comment_count>1</comment_count>
      <attachid>369513</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-09 12:38:39 -0700</bug_when>
    <thetext>Created attachment 369513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534833</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-09 12:40:48 -0700</bug_when>
    <thetext>Attachment 369513 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:262:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534841</commentid>
    <comment_count>3</comment_count>
      <attachid>369517</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-09 12:52:31 -0700</bug_when>
    <thetext>Created attachment 369517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534842</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-09 12:53:39 -0700</bug_when>
    <thetext>Attachment 369517 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:262:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534945</commentid>
    <comment_count>5</comment_count>
      <attachid>369517</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-09 20:45:54 -0700</bug_when>
    <thetext>Comment on attachment 369517
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=369517&amp;action=review

&gt; Source/WebKit/ChangeLog:9
&gt; +        session. However, the WebContent process was not aware of previous decisions and would therefore not fire any

IIUC, as long as UIProcess is running, once permission is granted for one page, permission is granted for all current and future pages of the same origin.
Is that correct?

As a user, I would probably have expected that reloading the page would clear that permission (I haven&apos;t looked at the prompt message though).
This can for instance help in case user denies by mistake.
In case of user granting, is there a way for users to clear that permission bit, or maybe a timer that reset this non-persistent permission after some time?

Related to this patch, I wonder what the problem is with the current behavior.
It seems that, currently, device orientation events would only flow for pages that receive a user gesture.
This seems ok to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534946</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-09 21:13:05 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #5)
&gt; Comment on attachment 369517 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=369517&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:9
&gt; &gt; +        session. However, the WebContent process was not aware of previous decisions and would therefore not fire any
&gt; 
&gt; IIUC, as long as UIProcess is running, once permission is granted for one
&gt; page, permission is granted for all current and future pages of the same
&gt; origin.
&gt; Is that correct?

Correct and as per HI design.

&gt; 
&gt; As a user, I would probably have expected that reloading the page would
&gt; clear that permission (I haven&apos;t looked at the prompt message though).
&gt; This can for instance help in case user denies by mistake.
&gt; In case of user granting, is there a way for users to clear that permission
&gt; bit, or maybe a timer that reset this non-persistent permission after some
&gt; time?

Again, this is per HI design. I believe such a change would need to be cleared by HI. I personally like the current behavior. If the user made a mistake, they can always restart Safari.

&gt; 
&gt; Related to this patch, I wonder what the problem is with the current
&gt; behavior.
&gt; It seems that, currently, device orientation events would only flow for
&gt; pages that receive a user gesture.
&gt; This seems ok to me.

This is not accurate. A user gesture is not required since permission was already granted. A user gesture is only needed to prompt the user, which would not happen in this case. It seems silly to require the JS to request for permission when they already have it, simply to start receiving the events. When I wrote my demo today, the current web behavior bothered me so I fixed it in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535094</commentid>
    <comment_count>7</comment_count>
      <attachid>369517</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-05-10 11:46:43 -0700</bug_when>
    <thetext>Comment on attachment 369517
Patch

r=me

I do remember the discussion around caching the Granted state for the current session, and I think that makes sense. (The privacy problem only really happens when permission is implicitly granted across websites, which doesn&apos;t happen in this case.)

I don&apos;t specifically remember a discussion around caching the Denied state. I wonder if that&apos;s the right choice. I do worry that a user could deny -- by accident or on purpose -- and then not know how to change that decision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535112</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-10 11:59:41 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #7)
&gt; Comment on attachment 369517 [details]
&gt; Patch
&gt; 
&gt; r=me
&gt; 
&gt; I do remember the discussion around caching the Granted state for the
&gt; current session, and I think that makes sense. (The privacy problem only
&gt; really happens when permission is implicitly granted across websites, which
&gt; doesn&apos;t happen in this case.)

If we are not firing these events for background pages, this seems ok to me.
Are we preventing firing these events for background pages?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535115</commentid>
    <comment_count>9</comment_count>
      <attachid>369517</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-10 12:01:18 -0700</bug_when>
    <thetext>Comment on attachment 369517
Patch

Clearing flags on attachment: 369517

Committed r245185: &lt;https://trac.webkit.org/changeset/245185&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535116</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-10 12:01:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535121</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-10 12:02:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/50671568&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535127</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-10 12:10:04 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #8)
&gt; (In reply to Geoffrey Garen from comment #7)
&gt; &gt; Comment on attachment 369517 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; r=me
&gt; &gt; 
&gt; &gt; I do remember the discussion around caching the Granted state for the
&gt; &gt; current session, and I think that makes sense. (The privacy problem only
&gt; &gt; really happens when permission is implicitly granted across websites, which
&gt; &gt; doesn&apos;t happen in this case.)
&gt; 
&gt; If we are not firing these events for background pages, this seems ok to me.
&gt; Are we preventing firing these events for background pages?

Why wouldn&apos;t your background page be suspended?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535128</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-10 12:10:54 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #7)
&gt; Comment on attachment 369517 [details]
&gt; Patch
&gt; 
&gt; r=me
&gt; 
&gt; I do remember the discussion around caching the Granted state for the
&gt; current session, and I think that makes sense. (The privacy problem only
&gt; really happens when permission is implicitly granted across websites, which
&gt; doesn&apos;t happen in this case.)
&gt; 
&gt; I don&apos;t specifically remember a discussion around caching the Denied state.
&gt; I wonder if that&apos;s the right choice. I do worry that a user could deny -- by
&gt; accident or on purpose -- and then not know how to change that decision.

Oh, good point. I assume the caching decision applied to both Granted and Denied. I do not specifically remember if that&apos;s what was agreed upon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535187</commentid>
    <comment_count>14</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-05-10 14:14:11 -0700</bug_when>
    <thetext>&gt; &gt; &gt; I do remember the discussion around caching the Granted state for the
&gt; &gt; &gt; current session, and I think that makes sense. (The privacy problem only
&gt; &gt; &gt; really happens when permission is implicitly granted across websites, which
&gt; &gt; &gt; doesn&apos;t happen in this case.)
&gt; &gt; 
&gt; &gt; If we are not firing these events for background pages, this seems ok to me.
&gt; &gt; Are we preventing firing these events for background pages?
&gt; 
&gt; Why wouldn&apos;t your background page be suspended?

It seems a bit orthogonal to me, this API is not designed specifically to an architecture for which background pages are to be suspended.

Looking at https://w3c.github.io/deviceorientation/#security-and-privacy, the spec recommends that events be fired for visible documents.
That would be good for battery life as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535210</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-10 15:19:24 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #14)
&gt; &gt; &gt; &gt; I do remember the discussion around caching the Granted state for the
&gt; &gt; &gt; &gt; current session, and I think that makes sense. (The privacy problem only
&gt; &gt; &gt; &gt; really happens when permission is implicitly granted across websites, which
&gt; &gt; &gt; &gt; doesn&apos;t happen in this case.)
&gt; &gt; &gt; 
&gt; &gt; &gt; If we are not firing these events for background pages, this seems ok to me.
&gt; &gt; &gt; Are we preventing firing these events for background pages?
&gt; &gt; 
&gt; &gt; Why wouldn&apos;t your background page be suspended?
&gt; 
&gt; It seems a bit orthogonal to me, this API is not designed specifically to an
&gt; architecture for which background pages are to be suspended.

But this is the only architecture where we support it.

&gt; 
&gt; Looking at https://w3c.github.io/deviceorientation/#security-and-privacy,
&gt; the spec recommends that events be fired for visible documents.
&gt; That would be good for battery life as well.

I haven&apos;t checked our code to see if we would in theory fire events for non visible documents. I would imagine that we would but this would be a theoretical and pre-existing bug, not related to this patch.

I say it is not related to this page because if a page is somehow running in the background then it could already ask for permission and receive the events.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369513</attachid>
            <date>2019-05-09 12:38:39 -0700</date>
            <delta_ts>2019-05-09 12:52:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197750-20190509123837.patch</filename>
            <type>text/plain</type>
            <size>9713</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZhZmYyZjQ5NDU0M2UyYzY5
YTQ3NjU4ZmM1ODdkZDIzOTNiN2M3MmIuLmRhYmEwN2JmM2QwODE2YzU2MTZmOWRlMGViYWE4YzYz
OGZhN2ExYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDUtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3Qgd2FpdCB1bnRpbCByZXF1
ZXN0UGVybWlzc2lvbigpIGlzIGNhbGxlZCB0byBmaXJlIGRldmljZW9yaWVudGF0aW9uIGV2ZW50
cyBpZiBwZXJtaXNzaW9uIHdhcyBhbHJlYWR5IGdyYW50ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc1MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBVSVByb2Nlc3MgcmVtZW1iZXJzIHByZXZp
b3VzIGRldmljZSBvcmllbnRhdGlvbiBwZXJtaXNzaW9uIGRlY2lzaW9ucyBwZXIgb3JpZ2luIGZv
ciB0aGUgZHVyYXRpb24gb2YgdGhlIGJyb3dzaW5nCisgICAgICAgIHNlc3Npb24uIEhvd2V2ZXIs
IHRoZSBXZWJDb250ZW50IHByb2Nlc3Mgd2FzIG5vdCBhd2FyZSBvZiBwcmV2aW91cyBkZWNpc2lv
bnMgYW5kIHdvdWxkIHRoZXJlZm9yZSBub3QgZmlyZSBhbnkKKyAgICAgICAgZGV2aWNlb3JpZW50
YXRpb24gLyBkZXZpY2Vtb3Rpb24gZXZlbnRzIHVudGlsIHRoZSBKUyBoYXMgY2FsbGVkIHJlcXVl
c3RQZXJtaXNzaW9uKCkuIFRoaXMgcGF0Y2hlcyBhZGRyZXNzZXMgdGhpcworICAgICAgICBwcm9i
bGVtIGJ5IGhhdmluZyB0aGUgVUlQcm9jZXNzIGNvbW11bmljYXRlIGFueSBwcmV2aW91cyBwZXJt
aXNzaW9uIGRlY2lzaW9uIGZvciB0aGUgb3JpZ2luIHZpYSBXZWJTaXRlUG9saWNpZXMuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbik6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNz
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9uQW5k
TW90aW9uQWNjZXNzQ29udHJvbGxlcjo6c2hvdWxkQWxsb3dBY2Nlc3MpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXI6OmNhY2hl
ZERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlcjo6ZGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmg6
CisKIDIwMTktMDUtMDkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBwb2ludGVyZXZlbnRzL2lvcy90b3VjaC1hY3Rpb24tbm9uZS1pbi1vdmVyZmxvdy1zY3Jv
bGxpbmctdG91Y2guaHRtbCBpcyBhIHRpbWVvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IGE4YWIxNWU3NTUwYzRlYjA5NWIyNTRiMTYwOTRlZGQ0NWYzMmQ1
NzAuLjY5NmEzMjBjOTU3MjcxYjBhOWUzZTJhMDNkNTRhMGRiY2RiZGYwYzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjc4MCw2ICsyNzgwLDE1IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbihQb2xpY3lB
Y3Rpb24gcG9saWN5QWN0aW9uLCBBCiAgICAgICAgIGRhdGEtPmNvbnRlbnRCbG9ja2Vyc0VuYWJs
ZWQgPSBmYWxzZTsKICAgICB9CiAKKyAgICBpZiAobmF2aWdhdGlvbiAmJiAoIWRhdGEgfHwgZGF0
YS0+ZGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NTdGF0ZSA9PSBXZWJDb3JlOjpEZXZp
Y2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlOjpQcm9tcHQpKSB7CisgICAgICAg
IGF1dG8gZGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uID0gd2Vic2l0ZURhdGFTdG9yZS0+ZGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyKCkuY2FjaGVkRGV2aWNlT3Jp
ZW50YXRpb25QZXJtaXNzaW9uKFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVSTChuYXZpZ2F0aW9u
LT5jdXJyZW50UmVxdWVzdCgpLnVybCgpKSk7CisgICAgICAgIGlmIChkZXZpY2VPcmllbnRhdGlv
blBlcm1pc3Npb24gIT0gV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Np
b25TdGF0ZTo6UHJvbXB0KSB7CisgICAgICAgICAgICBpZiAoIWRhdGEpCisgICAgICAgICAgICAg
ICAgZGF0YSA9IFdlYnNpdGVQb2xpY2llc0RhdGEgeyB9OworICAgICAgICAgICAgZGF0YS0+ZGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NTdGF0ZSA9IGRldmljZU9yaWVudGF0aW9uUGVy
bWlzc2lvbjsKKyAgICAgICAgfQorICAgIH0KKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHN0
YXRpYyBjb25zdCBib29sIGZvcmNlRG93bmxvYWRGcm9tRG93bmxvYWRBdHRyaWJ1dGUgPSBmYWxz
ZTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50YXRpb25BbmRN
b3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcAppbmRleCAzZmZlYzkzNjJkYWU1MzhhNjQ2NzBjZjI3
ODIxMzk1MmMyZWVmMzExLi5mODVkZDU3NjcwZmRlOWQzMzkxZTFiZjZkMTdkZTAyYTU0MWI0NDkz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJEZXZp
Y2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9u
QWNjZXNzQ29udHJvbGxlci5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIHZvaWQgV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9s
bGVyOjpzaG91bGRBbGxvd0FjY2VzcyhXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkm
IGZyYW1lLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmJiBvcmlnaW5EYXRhLCBib29sIG1h
eVByb21wdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9u
UGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBhdXRvIGN1cnJl
bnRQZXJtaXNzaW9uID0gZGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uKG9yaWdpbkRhdGEpOwor
ICAgIGF1dG8gY3VycmVudFBlcm1pc3Npb24gPSBjYWNoZWREZXZpY2VPcmllbnRhdGlvblBlcm1p
c3Npb24ob3JpZ2luRGF0YSk7CiAgICAgaWYgKGN1cnJlbnRQZXJtaXNzaW9uICE9IERldmljZU9y
aWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGU6OlByb21wdCB8fCAhbWF5UHJvbXB0KQog
ICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoY3VycmVudFBlcm1pc3Npb24pOwogCkBA
IC01OCw3ICs1OCw3IEBAIHZvaWQgV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3ND
b250cm9sbGVyOjpzaG91bGRBbGxvd0FjY2VzcyhXZWJQYWdlUHJvCiAgICAgfSk7CiB9CiAKLURl
dmljZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUgV2ViRGV2aWNlT3JpZW50YXRp
b25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyOjpkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24o
Y29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4pIGNvbnN0CitEZXZpY2VPcmllbnRhdGlv
bk9yTW90aW9uUGVybWlzc2lvblN0YXRlIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNj
ZXNzQ29udHJvbGxlcjo6Y2FjaGVkRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uKGNvbnN0IFNl
Y3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luKSBjb25zdAogewogICAgIGF1dG8gaXQgPSBtX2Rldmlj
ZU9yaWVudGF0aW9uUGVybWlzc2lvbkRlY2lzaW9ucy5maW5kKG9yaWdpbik7CiAgICAgaWYgKGl0
ID09IG1fZGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uRGVjaXNpb25zLmVuZCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50
YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xs
ZXIuaAppbmRleCBmYTE4NTMxMjE0OWNiYjYyMjI0Mzk4ODg4NzZhMWE2NzBmMDRiYzJmLi5iNjIy
NzdjMTIwM2YwMGFmMDM1OWMyYTE5MDE2NjYwOWY5ODg5MzNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlv
bkFjY2Vzc0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaApAQCAt
NDQsOSArNDQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG91bGRBbGxvd0FjY2VzcyhXZWJQYWdl
UHJveHkmLCBXZWJGcmFtZVByb3h5JiwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYsIGJv
b2wgbWF5UHJvbXB0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkRldmljZU9yaWVu
dGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUpPiYmKTsKICAgICB2b2lkIGNsZWFyUGVybWlz
c2lvbnMoKTsKIAotcHJpdmF0ZToKLSAgICBXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbk9yTW90
aW9uUGVybWlzc2lvblN0YXRlIGRldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbihjb25zdCBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdDsKKyAgICBXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlIGNhY2hlZERldmljZU9yaWVudGF0aW9uUGVy
bWlzc2lvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdDsKIAorcHJp
dmF0ZToKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSwgYm9vbD4gbV9k
ZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25EZWNpc2lvbnM7CiAgICAgSGFzaE1hcDxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGEsIFZlY3RvcjxDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OkRldmljZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUpPj4+IG1fcGVuZGlu
Z1JlcXVlc3RzOwogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCBiMTc3YWU4ZDM5YzM4ZTAzNGM4NTEzM2JmY2Q5N2ZiNWRiYWY4ODc4Li5jMTQ5
MDFmNjg1MmUxN2EyNWYwZjdlMjgyNTk5MTA2M2U4NTI2MDAzIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDUt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3Qgd2Fp
dCB1bnRpbCByZXF1ZXN0UGVybWlzc2lvbigpIGlzIGNhbGxlZCB0byBmaXJlIGRldmljZW9yaWVu
dGF0aW9uIGV2ZW50cyBpZiBwZXJtaXNzaW9uIHdhcyBhbHJlYWR5IGdyYW50ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc1MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3Zl
cmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNl
T3JpZW50YXRpb24ubW06CisgICAgICAgIChURVNUKToKKwogMjAxOS0wNS0wOSAgQWFrYXNoIEph
aW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3cy1hcHBdIFByb2R1Y3Rp
b24gYW5kIERldmVsb3BtZW50IGVudiBzaG91bGQgY29uZmlndXJlIERFQlVHIGFwcHJvcHJpYXRl
bHkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2
aWNlT3JpZW50YXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L0RldmljZU9yaWVudGF0aW9uLm1tCmluZGV4IDU5YjFmMTdjZGE5Y2U5ZWMwY2QwZDNkMzY4ZTVm
MTRmMGQxODUzNDkuLjg2M2U3Y2M4M2ExMDE4YzVlN2M5ZmMwNTIwMmVjZTQwMWZmYWJmNzYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3Jp
ZW50YXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9E
ZXZpY2VPcmllbnRhdGlvbi5tbQpAQCAtMjUwLDQgKzI1MCw1NCBAQCBURVNUKERldmljZU9yaWVu
dGF0aW9uLCBSZW1lbWJlclBlcm1pc3Npb25Gb3JTZXNzaW9uKQogICAgIGFza2VkQ2xpZW50Rm9y
UGVybWlzc2lvbiA9IGZhbHNlOwogfQogCitURVNUKERldmljZU9yaWVudGF0aW9uLCBGaXJlT3Jp
ZW50YXRpb25FdmVudHNSaWdodEF3YXlJZlBlcm1pc3Npb25BbHJlYWR5R3JhbnRlZCkKK3sKKyAg
ICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBh
bGxvY10gaW5pdF0pOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkud2Vic2l0ZURhdGFTdG9yZSA9
IFtXS1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV07CisKKyAgICBhdXRvIG1lc3Nh
Z2VIYW5kbGVyID0gYWRvcHROUyhbW0RldmljZU9yaWVudGF0aW9uTWVzc2FnZUhhbmRsZXIgYWxs
b2NdIGluaXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBh
ZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAidGVzdEhh
bmRsZXIiXTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRp
b246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIFJldGFpblB0cjxEZXZpY2VPcmllbnRhdGlv
blBlcm1pc3Npb25VSURlbGVnYXRlPiB1aURlbGVnYXRlID0gYWRvcHROUyhbW0RldmljZU9yaWVu
dGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlcjpbXSB7IHJl
dHVybiB0cnVlOyB9XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRlLmdl
dCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZSIg
d2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3Vy
Y2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIC8vIFJlcXVlc3QgcGVy
bWlzc2lvbi4KKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJEZXZpY2VPcmllbnRh
dGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbigoZ3JhbnRlZCkgPT4geyB3ZWJraXQu
bWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKGdyYW50ZWQpIH0pOyIgY29t
cGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgeyB9XTsKKwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkUmVjZWl2ZU1lc3NhZ2UpOworICAgIGRp
ZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisKKyAgICBFWFBFQ1RfVFJVRShhc2tlZENsaWVudEZv
clBlcm1pc3Npb24pOworICAgIGFza2VkQ2xpZW50Rm9yUGVybWlzc2lvbiA9IGZhbHNlOworICAg
IEVYUEVDVF9XS19TVFJFUShAImdyYW50ZWQiLCByZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzBdKTsK
KworICAgIC8vIEdvIHRvIHRoZSBzYW1lIG9yaWdpbiBhZ2FpbiBpbiBhIG5ldyB2aWV3LgorICAg
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0
KCldKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOnVpRGVsZWdhdGUuZ2V0KCldOworCisg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2Fp
dEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgLy8gVGhpcyB0aW1lLCB3ZSBkbyBub3Qg
cmVxdWVzdCBwZXJtaXNzaW9uIGJ1dCBzZXQgb3VyIGV2ZW50IGxpc3RlbmVyLgorICAgIGJvb2wg
YWRkZWRFdmVudExpc3RlbmVyID0gZmFsc2U7CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2Ny
aXB0OkAiYWRkRXZlbnRMaXN0ZW5lcignZGV2aWNlb3JpZW50YXRpb24nLCAoZSkgPT4geyB3ZWJr
aXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCdyZWNlaXZlZC1ldmVu
dCcpIH0pOyIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgcmVzdWx0LCBOU0Vycm9yICplcnJv
cikgeworICAgICAgICBhZGRlZEV2ZW50TGlzdGVuZXIgPSB0cnVlOworICAgIH1dOworCisgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZhZGRlZEV2ZW50TGlzdGVuZXIpOworICAgIGFkZGVk
RXZlbnRMaXN0ZW5lciA9IGZhbHNlOworCisgICAgLy8gU2ltdWxhdGUgYSBkZXZpY2Ugb3JpZW50
YXRpb24gZXZlbnQuIFRoZSBwYWdlJ3MgZXZlbnQgbGlzdGVuZXIgc2hvdWxkIGdldCBjYWxsZWQg
ZXZlbiB0aG91Z2ggaXQgZGlkIG5vdCByZXF1ZXN0IHBlcm1pc3Npb24sCisgICAgLy8gYmVjYXVz
ZSBpdCB3YXMgcHJldmlvdXNseSBncmFudGVkIHBlcm1pc3Npb24gZHVyaW5nIHRoaXMgYnJvd3Np
bmcgc2Vzc2lvbi4KKyAgICBbd2ViVmlldyBfc2ltdWxhdGVEZXZpY2VPcmllbnRhdGlvbkNoYW5n
ZVdpdGhBbHBoYToxLjAgYmV0YToyLjAgZ2FtbWE6My4wXTsKKworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZGlkUmVjZWl2ZU1lc3NhZ2UpOworICAgIEVYUEVDVF9XS19TVFJFUShAInJl
Y2VpdmVkLWV2ZW50IiwgcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVsxXSk7Cit9CisKICNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369517</attachid>
            <date>2019-05-09 12:52:31 -0700</date>
            <delta_ts>2019-05-10 12:01:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197750-20190509125228.patch</filename>
            <type>text/plain</type>
            <size>9753</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZhZmYyZjQ5NDU0M2UyYzY5
YTQ3NjU4ZmM1ODdkZDIzOTNiN2M3MmIuLmRhYmEwN2JmM2QwODE2YzU2MTZmOWRlMGViYWE4YzYz
OGZhN2ExYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDUtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3Qgd2FpdCB1bnRpbCByZXF1
ZXN0UGVybWlzc2lvbigpIGlzIGNhbGxlZCB0byBmaXJlIGRldmljZW9yaWVudGF0aW9uIGV2ZW50
cyBpZiBwZXJtaXNzaW9uIHdhcyBhbHJlYWR5IGdyYW50ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc1MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBVSVByb2Nlc3MgcmVtZW1iZXJzIHByZXZp
b3VzIGRldmljZSBvcmllbnRhdGlvbiBwZXJtaXNzaW9uIGRlY2lzaW9ucyBwZXIgb3JpZ2luIGZv
ciB0aGUgZHVyYXRpb24gb2YgdGhlIGJyb3dzaW5nCisgICAgICAgIHNlc3Npb24uIEhvd2V2ZXIs
IHRoZSBXZWJDb250ZW50IHByb2Nlc3Mgd2FzIG5vdCBhd2FyZSBvZiBwcmV2aW91cyBkZWNpc2lv
bnMgYW5kIHdvdWxkIHRoZXJlZm9yZSBub3QgZmlyZSBhbnkKKyAgICAgICAgZGV2aWNlb3JpZW50
YXRpb24gLyBkZXZpY2Vtb3Rpb24gZXZlbnRzIHVudGlsIHRoZSBKUyBoYXMgY2FsbGVkIHJlcXVl
c3RQZXJtaXNzaW9uKCkuIFRoaXMgcGF0Y2hlcyBhZGRyZXNzZXMgdGhpcworICAgICAgICBwcm9i
bGVtIGJ5IGhhdmluZyB0aGUgVUlQcm9jZXNzIGNvbW11bmljYXRlIGFueSBwcmV2aW91cyBwZXJt
aXNzaW9uIGRlY2lzaW9uIGZvciB0aGUgb3JpZ2luIHZpYSBXZWJTaXRlUG9saWNpZXMuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbik6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNz
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9uQW5k
TW90aW9uQWNjZXNzQ29udHJvbGxlcjo6c2hvdWxkQWxsb3dBY2Nlc3MpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXI6OmNhY2hl
ZERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlcjo6ZGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmg6
CisKIDIwMTktMDUtMDkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBwb2ludGVyZXZlbnRzL2lvcy90b3VjaC1hY3Rpb24tbm9uZS1pbi1vdmVyZmxvdy1zY3Jv
bGxpbmctdG91Y2guaHRtbCBpcyBhIHRpbWVvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IGE4YWIxNWU3NTUwYzRlYjA5NWIyNTRiMTYwOTRlZGQ0NWYzMmQ1
NzAuLjVjY2U0ZWI4OGEyYzZiNzQzY2ViNWU2YThjODU0MTUxM2E3MDYwNDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjc4MCw2ICsyNzgwLDE3IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbihQb2xpY3lB
Y3Rpb24gcG9saWN5QWN0aW9uLCBBCiAgICAgICAgIGRhdGEtPmNvbnRlbnRCbG9ja2Vyc0VuYWJs
ZWQgPSBmYWxzZTsKICAgICB9CiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAg
IGlmIChuYXZpZ2F0aW9uICYmICghZGF0YSB8fCBkYXRhLT5kZXZpY2VPcmllbnRhdGlvbkFuZE1v
dGlvbkFjY2Vzc1N0YXRlID09IFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJt
aXNzaW9uU3RhdGU6OlByb21wdCkpIHsKKyAgICAgICAgYXV0byBkZXZpY2VPcmllbnRhdGlvblBl
cm1pc3Npb24gPSB3ZWJzaXRlRGF0YVN0b3JlLT5kZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFj
Y2Vzc0NvbnRyb2xsZXIoKS5jYWNoZWREZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24oU2VjdXJp
dHlPcmlnaW5EYXRhOjpmcm9tVVJMKG5hdmlnYXRpb24tPmN1cnJlbnRSZXF1ZXN0KCkudXJsKCkp
KTsKKyAgICAgICAgaWYgKGRldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiAhPSBXZWJDb3JlOjpE
ZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlOjpQcm9tcHQpIHsKKyAgICAg
ICAgICAgIGlmICghZGF0YSkKKyAgICAgICAgICAgICAgICBkYXRhID0gV2Vic2l0ZVBvbGljaWVz
RGF0YSB7IH07CisgICAgICAgICAgICBkYXRhLT5kZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFj
Y2Vzc1N0YXRlID0gZGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOworICAgICAgICB9CisgICAg
fQorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBzdGF0aWMgY29uc3QgYm9vbCBm
b3JjZURvd25sb2FkRnJvbURvd25sb2FkQXR0cmlidXRlID0gZmFsc2U7CiAjZWxzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50
YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJv
bGxlci5jcHAKaW5kZXggM2ZmZWM5MzYyZGFlNTM4YTY0NjcwY2YyNzgyMTM5NTJjMmVlZjMxMS4u
Zjg1ZGQ1NzY3MGZkZTlkMzM5MWUxYmY2ZDE3ZGUwMmE1NDFiNDQ5MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50YXRpb25BbmRN
b3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIu
Y3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIFdl
YkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlcjo6c2hvdWxkQWxsb3dB
Y2Nlc3MoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5JiBmcmFtZSwgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW5EYXRhJiYgb3JpZ2luRGF0YSwgYm9vbCBtYXlQcm9tcHQsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZSk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byBjdXJyZW50UGVybWlzc2lvbiA9IGRl
dmljZU9yaWVudGF0aW9uUGVybWlzc2lvbihvcmlnaW5EYXRhKTsKKyAgICBhdXRvIGN1cnJlbnRQ
ZXJtaXNzaW9uID0gY2FjaGVkRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uKG9yaWdpbkRhdGEp
OwogICAgIGlmIChjdXJyZW50UGVybWlzc2lvbiAhPSBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9u
UGVybWlzc2lvblN0YXRlOjpQcm9tcHQgfHwgIW1heVByb21wdCkKICAgICAgICAgcmV0dXJuIGNv
bXBsZXRpb25IYW5kbGVyKGN1cnJlbnRQZXJtaXNzaW9uKTsKIApAQCAtNTgsNyArNTgsNyBAQCB2
b2lkIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlcjo6c2hvdWxk
QWxsb3dBY2Nlc3MoV2ViUGFnZVBybwogICAgIH0pOwogfQogCi1EZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uUGVybWlzc2lvblN0YXRlIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNz
Q29udHJvbGxlcjo6ZGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uKGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYgb3JpZ2luKSBjb25zdAorRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Np
b25TdGF0ZSBXZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXI6OmNh
Y2hlZERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
IG9yaWdpbikgY29uc3QKIHsKICAgICBhdXRvIGl0ID0gbV9kZXZpY2VPcmllbnRhdGlvblBlcm1p
c3Npb25EZWNpc2lvbnMuZmluZChvcmlnaW4pOwogICAgIGlmIChpdCA9PSBtX2RldmljZU9yaWVu
dGF0aW9uUGVybWlzc2lvbkRlY2lzaW9ucy5lbmQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNj
ZXNzQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmgKaW5kZXggZmExODUz
MTIxNDljYmI2MjIyNDM5ODg4ODc2YTFhNjcwZjA0YmMyZi4uYjYyMjc3YzEyMDNmMDBhZjAzNTlj
MmExOTAxNjY2MDlmOTg4OTMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2ViRGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmgKQEAgLTQ0LDkgKzQ0LDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2hvdWxkQWxsb3dBY2Nlc3MoV2ViUGFnZVByb3h5JiwgV2ViRnJhbWVQ
cm94eSYsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmLCBib29sIG1heVByb21wdCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVy
bWlzc2lvblN0YXRlKT4mJik7CiAgICAgdm9pZCBjbGVhclBlcm1pc3Npb25zKCk7CiAKLXByaXZh
dGU6Ci0gICAgV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0
ZSBkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW5EYXRhJikgY29uc3Q7CisgICAgV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBl
cm1pc3Npb25TdGF0ZSBjYWNoZWREZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24oY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJikgY29uc3Q7CiAKK3ByaXZhdGU6CiAgICAgSGFzaE1h
cDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEsIGJvb2w+IG1fZGV2aWNlT3JpZW50YXRpb25Q
ZXJtaXNzaW9uRGVjaXNpb25zOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhLCBWZWN0b3I8Q29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpEZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlKT4+PiBtX3BlbmRpbmdSZXF1ZXN0czsKIH07CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjE3N2Fl
OGQzOWMzOGUwMzRjODUxMzNiZmNkOTdmYjVkYmFmODg3OC4uYzE0OTAxZjY4NTJlMTdhMjVmMGY3
ZTI4MjU5OTEwNjNlODUyNjAwMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA1LTA5ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IHdhaXQgdW50aWwgcmVxdWVzdFBl
cm1pc3Npb24oKSBpcyBjYWxsZWQgdG8gZmlyZSBkZXZpY2VvcmllbnRhdGlvbiBldmVudHMgaWYg
cGVybWlzc2lvbiB3YXMgYWxyZWFkeSBncmFudGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc3NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1tOgor
ICAgICAgICAoVEVTVCk6CisKIDIwMTktMDUtMDkgIEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtld3MtYXBwXSBQcm9kdWN0aW9uIGFuZCBEZXZlbG9wbWVu
dCBlbnYgc2hvdWxkIGNvbmZpZ3VyZSBERUJVRyBhcHByb3ByaWF0ZWx5CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlv
bi5tbQppbmRleCA1OWIxZjE3Y2RhOWNlOWVjMGNkMGQzZDM2OGU1ZjE0ZjBkMTg1MzQ5Li44NjNl
N2NjODNhMTAxOGM1ZTdjOWZjMDUyMDJlY2U0MDFmZmFiZjc2IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24u
bW0KQEAgLTI1MCw0ICsyNTAsNTQgQEAgVEVTVChEZXZpY2VPcmllbnRhdGlvbiwgUmVtZW1iZXJQ
ZXJtaXNzaW9uRm9yU2Vzc2lvbikKICAgICBhc2tlZENsaWVudEZvclBlcm1pc3Npb24gPSBmYWxz
ZTsKIH0KIAorVEVTVChEZXZpY2VPcmllbnRhdGlvbiwgRmlyZU9yaWVudGF0aW9uRXZlbnRzUmln
aHRBd2F5SWZQZXJtaXNzaW9uQWxyZWFkeUdyYW50ZWQpCit7CisgICAgYXV0byBjb25maWd1cmF0
aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAg
ICBjb25maWd1cmF0aW9uLmdldCgpLndlYnNpdGVEYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0
b3JlIGRlZmF1bHREYXRhU3RvcmVdOworCisgICAgYXV0byBtZXNzYWdlSGFuZGxlciA9IGFkb3B0
TlMoW1tEZXZpY2VPcmllbnRhdGlvbk1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAg
W1tjb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhh
bmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInRlc3RIYW5kbGVyIl07CisKKyAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24u
Z2V0KCldKTsKKyAgICBSZXRhaW5QdHI8RGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uVUlEZWxl
Z2F0ZT4gdWlEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25V
SURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRsZXI6W10geyByZXR1cm4gdHJ1ZTsgfV0pOwor
ICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6dWlEZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBOU1VS
TFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5k
bGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUiIHdpdGhFeHRlbnNpb246QCJo
dG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBbd2Vi
VmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlk
RmluaXNoTmF2aWdhdGlvbl07CisKKyAgICAvLyBSZXF1ZXN0IHBlcm1pc3Npb24uCisgICAgW3dl
YlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0
UGVybWlzc2lvbigpLnRoZW4oKGdyYW50ZWQpID0+IHsgd2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50
ZXN0SGFuZGxlci5wb3N0TWVzc2FnZShncmFudGVkKSB9KTsiIGNvbXBsZXRpb25IYW5kbGVyOiBb
Jl0gKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsgfV07CisKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRpZFJlY2VpdmVNZXNzYWdlKTsKKyAgICBkaWRSZWNlaXZlTWVzc2FnZSA9
IGZhbHNlOworCisgICAgRVhQRUNUX1RSVUUoYXNrZWRDbGllbnRGb3JQZXJtaXNzaW9uKTsKKyAg
ICBhc2tlZENsaWVudEZvclBlcm1pc3Npb24gPSBmYWxzZTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEo
QCJncmFudGVkIiwgcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVswXSk7CisKKyAgICAvLyBHbyB0byB0
aGUgc2FtZSBvcmlnaW4gYWdhaW4gaW4gYSBuZXcgdmlldy4KKyAgICB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4
MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgW3dlYlZp
ZXcgc2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRlLmdldCgpXTsKKworICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OnJlcXVlc3RdOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZp
Z2F0aW9uXTsKKworICAgIC8vIFRoaXMgdGltZSwgd2UgZG8gbm90IHJlcXVlc3QgcGVybWlzc2lv
biBidXQgc2V0IG91ciBldmVudCBsaXN0ZW5lci4KKyAgICBib29sIGFkZGVkRXZlbnRMaXN0ZW5l
ciA9IGZhbHNlOworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImFkZEV2ZW50TGlz
dGVuZXIoJ2RldmljZW9yaWVudGF0aW9uJywgKGUpID0+IHsgd2Via2l0Lm1lc3NhZ2VIYW5kbGVy
cy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgncmVjZWl2ZWQtZXZlbnQnKSB9KTsiIGNvbXBsZXRp
b25IYW5kbGVyOiBbJl0gKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgYWRk
ZWRFdmVudExpc3RlbmVyID0gdHJ1ZTsKKyAgICB9XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmYWRkZWRFdmVudExpc3RlbmVyKTsKKyAgICBhZGRlZEV2ZW50TGlzdGVuZXIgPSBm
YWxzZTsKKworICAgIC8vIFNpbXVsYXRlIGEgZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50LiBUaGUg
cGFnZSdzIGV2ZW50IGxpc3RlbmVyIHNob3VsZCBnZXQgY2FsbGVkIGV2ZW4gdGhvdWdoIGl0IGRp
ZCBub3QgcmVxdWVzdCBwZXJtaXNzaW9uLAorICAgIC8vIGJlY2F1c2UgaXQgd2FzIHByZXZpb3Vz
bHkgZ3JhbnRlZCBwZXJtaXNzaW9uIGR1cmluZyB0aGlzIGJyb3dzaW5nIHNlc3Npb24uCisgICAg
W3dlYlZpZXcgX3NpbXVsYXRlRGV2aWNlT3JpZW50YXRpb25DaGFuZ2VXaXRoQWxwaGE6MS4wIGJl
dGE6Mi4wIGdhbW1hOjMuMF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFJl
Y2VpdmVNZXNzYWdlKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJyZWNlaXZlZC1ldmVudCIsIHJl
Y2VpdmVkTWVzc2FnZXMuZ2V0KClbMV0pOworfQorCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZB
TUlMWSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>