<?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>203287</bug_id>
          
          <creation_ts>2019-10-23 00:12:27 -0700</creation_ts>
          <short_desc>Gyroscope (DeviceMotion related) permission cannot be requested in WKWebView unless the client app sets a WKUIDelegate</short_desc>
          <delta_ts>2020-06-22 10:14:36 -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>WebKit API</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 13</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario González">elmariocarlos</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>distinctdan</cc>
    
    <cc>ggaren</cc>
    
    <cc>juliosincesar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1582755</commentid>
    <comment_count>0</comment_count>
    <who name="Mario González">elmariocarlos</who>
    <bug_when>2019-10-23 00:12:27 -0700</bug_when>
    <thetext>As per API, a permission should be requested appropriatelly on the site for the user to grant/deny access to the devicemotion info.

We have implemented this OK in our code and Safari works fine, but not when using a WebView embedded in an iOS app. This of course is the intented use and has unfortunatelly broken our build.

I did see this other post, but it seems it was closed assuming the API call was not implemented: https://bugs.webkit.org/show_bug.cgi?id=201676

Since in our case it&apos;s now a proven fact that even though we have implemented the call and the user gesture/action (swipe or button click), we are still not being requested for he permission and hence the webview fails to obtain the device data.

Please look into this, as this might be something relatively easy to fix and can then secure a better outcome for so many dependant projects.

Thanks in advance for any support. MG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582823</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-23 08:43:41 -0700</bug_when>
    <thetext>The requestPermission() API is only exposed in MobileSafari, not WKWebView. The reason is not exposed in WKWebView is because you do not need to request permission there, you have directly access to the device orientation &amp; motion. If DeviceOrientation.requestPermission is not defined, then you can listen for orientation events right away.

I have just verified in WKWebView using a device orientation API demo site that the site indeed has access to the device orientation / motion without requesting permission.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583200</commentid>
    <comment_count>2</comment_count>
    <who name="Mario González">elmariocarlos</who>
    <bug_when>2019-10-23 19:52:17 -0700</bug_when>
    <thetext>Hi Chris, thank for the reply.

Before we added the DeviceOrientation.requestPermission, it stopped working directly after the iOS 13 update, which states that the permissions should be requested.

If this is then not applicable to WKWebKit, I would like to explore the following:

1)What site did you use to test the events? We could run it from our WKWebView to ensure this is not a WKWebView implementation gap from our end.

If we are unsucesfull with 1), we can then explore:

2)We could expose our project (which requires gyroscope) to you for testing in the same enviornment you setup for your previous validation.

Hopefully we can replicate or further explore this before closing it as invalid. Determining the specific conditions we are working with in both scenarios can give further clarity of how to achieve sucessfull implementation for any other WKWebKit usage in other forums where people are also having this problem.

Thanks again in advance for the prompt reply, have a great day.

MG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583202</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-23 20:09:14 -0700</bug_when>
    <thetext>For e.g. this works fine in a WKWebView:
https://googlesamples.github.io/web-fundamentals/fundamentals/native-hardware/device-orientation/dev-orientation.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583207</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-23 20:13:04 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; For e.g. this works fine in a WKWebView:
&gt; https://googlesamples.github.io/web-fundamentals/fundamentals/native-
&gt; hardware/device-orientation/dev-orientation.html

Also:
https://www.audero.it/demo/device-orientation-api-demo.html

I used the “WebView” app on the App Store to test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583209</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-23 20:24:28 -0700</bug_when>
    <thetext>Maybe you are serving content over HTTP? I think also changed behavior in iOS 13 to require a secure context (file protocol, https or loopback), no HTTP. Note that if you connect to your WebView via Web Inspector, you would see JS logging and it would hopefully tell you why it is not working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583228</commentid>
    <comment_count>6</comment_count>
    <who name="Mario González">elmariocarlos</who>
    <bug_when>2019-10-23 21:35:32 -0700</bug_when>
    <thetext>Thanks for the prompt reply!

We are serving through HTTPS, as it is required for the standard of using these events.

The team and I will do tests using these and I will get back with the results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586425</commentid>
    <comment_count>7</comment_count>
    <who name="Mario González">elmariocarlos</who>
    <bug_when>2019-11-01 10:23:47 -0700</bug_when>
    <thetext>Hi everyone, sorry I took some time to get back on this. I need to explain the setup we have and how it is working:

We are doing Flutter projects, to attack both Android &amp; iOS. There is a plugin that works with a webview implementation for Android, and a WkWebview for iOS. This plug in is hosted here: https://pub.dev/packages/webview_flutter

Our app will run HTTPS hosted games, running in the WebView implementations for each OS.

For Android, we noticed no special permissions need to be added to get it working with sensor access. The HTTPS hosted games handle the request to sensors directly. We have ensured anyway to add permissions in our manifest to access gyroscope &amp; accelerometer, for documentaton purposes.

For iOS, we have added a requirement in our Info.plist to give the app access to enable WebViews and we have also stated the app needs device capabilities of gyroscope and accelerometer. We have even made a special call to sensor activities before openening the webview to ensure they are active. From 0 to 100 on the steps above, in any scenario have we gotten it to work.

We are now looking at creating a plugin from scratch just to see if it might be a bad implementation of the plugin specifically for gyroscope and accelerometer access. The original plugin code does not suggest any access to sensors or permissions in iOS, so we will test the implementation specifically here and then get back to see the results.

I will post our progress next week, as I will be out some days.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590203</commentid>
    <comment_count>8</comment_count>
    <who name="Mario González">elmariocarlos</who>
    <bug_when>2019-11-13 22:24:11 -0800</bug_when>
    <thetext>Hi everyone, some developments.

We have tried implementing WkWebKit on the Flutter app, and so far no luck. We don&apos;t have any other devices using iOS lower than 13.0, so we can do back testing to see if this has broken since.

We have downloaded the app you suggested Cris, and it works OK there but my assumption is that it&apos;s a native development using w¿either Swift or Objective-C.

So this might be a Flutter related issue and potentially related to the plugin; but so far I can&apos;t see any issues open in their GitHub. I migh as well open a thread and star linking to this conversation.

As suggested by https://github.com/solarsu - we will try moving from using WkWebKit in our test plugin to see if we have any other results.

If this approach ends in sucess, then it&apos;s definetelly something with WkWebKit and Flutter that is not working.

I will be off for the next week too, but my team will be making progress on the tests and identifing potential issues. I will also link back to the issue I will open in Flutter, to see if the Flutter team and also look at this.

Sincerely,

Mario González</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590439</commentid>
    <comment_count>9</comment_count>
    <who name="">distinctdan</who>
    <bug_when>2019-11-14 23:25:23 -0800</bug_when>
    <thetext>Hi all, I&apos;m having this issue too with my app. I&apos;m running a tilt-controlled game that runs in a wkwebview using cordova. Cordova serves over the file:// protocol, which from the comments here sounds like it should work. However, I get the error:

No device motion or orientation events will be fired until permission has been requested and granted.

I can request permission, which does work, but it&apos;s a terrible user experience for me to have to prompt my users every time they open the app.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594342</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-30 13:10:41 -0800</bug_when>
    <thetext>(In reply to distinctdan from comment #9)
&gt; Hi all, I&apos;m having this issue too with my app. I&apos;m running a tilt-controlled
&gt; game that runs in a wkwebview using cordova. Cordova serves over the file://
&gt; protocol, which from the comments here sounds like it should work. However,
&gt; I get the error:
&gt; 
&gt; No device motion or orientation events will be fired until permission has
&gt; been requested and granted.
&gt; 
&gt; I can request permission, which does work, but it&apos;s a terrible user
&gt; experience for me to have to prompt my users every time they open the app.

If you are seeing a need for permission then you are likely using SafariViewController (SVC), not WKWebView. The need for permission in SVC is intended, for consistency with Safari. Only WKWebView is exempt at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594344</commentid>
    <comment_count>11</comment_count>
    <who name="Mario González">elmariocarlos</who>
    <bug_when>2019-11-30 13:34:00 -0800</bug_when>
    <thetext>As teams facing this issue, we have been guided in the internet to request permissions as stated in links like: 

https://medium.com/flawless-app-stories/how-to-request-device-motion-and-orientation-permission-in-ios-13-74fc9d6cd140

However, it is now more clarea Safari VC is one thing and WkWebView is another.

In my case, we are using the flutter plugins and this is where our approach might be failing; we are investigating as this is breaking our main solution for an app and is critical for it to work.

So far other than the WebView app in the AppStore, there is no one else that can sucessfully replicate this without asking for permissions.

Hopefully our reserch ends with some light into why WkWebView is not working unders certain scenarios.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596935</commentid>
    <comment_count>12</comment_count>
      <attachid>385183</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 13:39:39 -0800</bug_when>
    <thetext>Created attachment 385183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596936</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 13:40:31 -0800</bug_when>
    <thetext>Temporary workaround for WKWebView apps is to set a WKUIDelegate on the WKWebView. Sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596943</commentid>
    <comment_count>14</comment_count>
    <who name="Mario González">elmariocarlos</who>
    <bug_when>2019-12-09 14:00:25 -0800</bug_when>
    <thetext>Great, thanks Cris! We will test it out between today and tomorrow and get back. Hopefully it works in the meantime =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596945</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 14:02:21 -0800</bug_when>
    <thetext>(In reply to Mario González from comment #14)
&gt; Great, thanks Cris! We will test it out between today and tomorrow and get
&gt; back. Hopefully it works in the meantime =)

Credits to Max Musiienko (@xkampotx) on Twitter for pointing this out to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597088</commentid>
    <comment_count>16</comment_count>
      <attachid>385230</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 19:58:57 -0800</bug_when>
    <thetext>Created attachment 385230
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597186</commentid>
    <comment_count>17</comment_count>
      <attachid>385264</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-10 08:22:36 -0800</bug_when>
    <thetext>Created attachment 385264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597219</commentid>
    <comment_count>18</comment_count>
      <attachid>385264</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-12-10 09:52:59 -0800</bug_when>
    <thetext>Comment on attachment 385264
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:405
&gt; +    BlockPtr&lt;BOOL ()&gt; _deviceOrientationUserPermissionHandler;

I don&apos;t think we should be adding more ivars to WKWebView.  Instead, we should add this to a c++ object like WebPageProxy.
Also, this seems like it&apos;s just for testing.  Could it be named to indicate that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597246</commentid>
    <comment_count>19</comment_count>
      <attachid>385283</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-10 10:42:37 -0800</bug_when>
    <thetext>Created attachment 385283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597259</commentid>
    <comment_count>20</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-10 11:09:19 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #18)
&gt; Comment on attachment 385264 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385264&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:405
&gt; &gt; +    BlockPtr&lt;BOOL ()&gt; _deviceOrientationUserPermissionHandler;
&gt; 
&gt; I don&apos;t think we should be adding more ivars to WKWebView.  Instead, we
&gt; should add this to a c++ object like WebPageProxy.
&gt; Also, this seems like it&apos;s just for testing.  Could it be named to indicate
&gt; that?

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597329</commentid>
    <comment_count>21</comment_count>
      <attachid>385283</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-10 13:27:29 -0800</bug_when>
    <thetext>Comment on attachment 385283
Patch

Clearing flags on attachment: 385283

Committed r253343: &lt;https://trac.webkit.org/changeset/253343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597330</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-10 13:27:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597331</commentid>
    <comment_count>23</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-10 13:29:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/57806114&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665085</commentid>
    <comment_count>24</comment_count>
    <who name="jcesarmobile">juliosincesar</who>
    <bug_when>2020-06-22 10:14:36 -0700</bug_when>
    <thetext>I&apos;m on iPadOS 13.6 (beta 2 I think, latest at the moment) and I still don&apos;t see the permission prompt unless I set a WKUIDelegate, which is not a problem for me because I need the WKUIDelegate delegate anyway, but the shown prompt has a few issues like not showing usage description, not showing app name and permission requested every time instead of remembering the user&apos;s choice.

Is there some method that needs to be implemented? one of the patches has a shouldAllowDeviceOrientationAndMotionAccess method, but I don&apos;t see that in the WKUIDelegate.

Reported the mentioned bugs in:  
https://bugs.webkit.org/show_bug.cgi?id=213467
https://bugs.webkit.org/show_bug.cgi?id=213468
https://bugs.webkit.org/show_bug.cgi?id=213469</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385183</attachid>
            <date>2019-12-09 13:39:39 -0800</date>
            <delta_ts>2019-12-09 19:58:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203287-20191209133939.patch</filename>
            <type>text/plain</type>
            <size>2719</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDljYmI3MjM1MmI2YzM1ZmMz
YWMwZmI5NGY1YmY3NmRjMDkyMWNiOGQuLjA3Y2ZkMjgzOWQyZDYzZmY2NzQ4NDNlZjU4NDQxNTg0
YTExYTUxOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBHeXJvc2NvcGUgKERldmljZU1vdGlv
biByZWxhdGVkKSBwZXJtaXNzaW9uIGNhbiBub3QgYmUgcmVxdWVzdGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXZpY2Ugb3JpZW50YXRpb24gLyBt
b3Rpb24gZXZlbnRzIHBlcm1pc3Npb24gZGlhbG9nIHdvdWxkIG5vdCBiZSBzaG93biB1bmxlc3Mg
dGhlIGNsaWVudCBhcHAKKyAgICAgICAgc2V0IGEgV0tVSURlbGVnYXRlIG9uIHRoZSBXS1dlYlZp
ZXcsIGV2ZW4gdGhvdWdoIHdlIGRvIG5vdCBuZWVkIHRoaXMgV0tVSURlbGVnYXRlIHRvIHNob3cg
dGhlCisgICAgICAgIHByb21wdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVn
YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6c2hvdWxkQWxs
b3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyk6CisKIDIwMTktMTItMDkgIFNhaWQg
QWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBUaHJvdHRs
aW5nIHJlcXVlc3RBbmltYXRpb25GcmFtZSBzaG91bGQgYmUgY29udHJvbGxlZCBieSBSZW5kZXJp
bmdVcGRhdGVTY2hlZHVsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVn
YXRlLm1tCmluZGV4IDgzOTkwZDllODFlNzk3ZTY4NzI3YWFlOGJhNTYyZWNmZWEzZTZhYTQuLmY5
MTgxODY1NzM0YmRmZTRhZmRmMDA3MTVkODkyMDhjZDMwMTM1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtODY1LDE1ICs4NjUsMTUgQEAgdm9p
ZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkQXR0YWNoSW5zcGVjdG9yKFdlYktpdDo6V2ViUGFn
ZVByb3h5JiwgV2ViS2l0OjpXZWIKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogdm9p
ZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1v
dGlvbkFjY2VzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkZyYW1lUHJveHkmIHdlYkZyYW1l
UHJveHksIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmIHNlY3VyaXR5T3JpZ2luRGF0YSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAg
ICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7Ci0gICAgaWYg
KCFkZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKLQog
ICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdTaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZURlY2lzaW9u
SGFuZGxlcikgewogICAgICAgICBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydChtX3VpRGVs
ZWdhdGUubV93ZWJWaWV3LCBzZWN1cml0eU9yaWdpbkRhdGEuaG9zdCwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgYXV0byBkZWxlZ2F0
ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisg
ICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisKICAgICBhdXRvIGNoZWNr
ZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCks
IEBzZWxlY3Rvcihfd2ViVmlldzpzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9u
QWNjZXNzUmVxdWVzdGVkQnlGcmFtZTpkZWNpc2lvbkhhbmRsZXI6KSk7CiAgICAgWyhpZCA8V0tV
SURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmll
dyBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlG
cmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZvOjpjcmVhdGUod2ViRnJhbWVQcm94eSwgV1RGTW92
ZShzZWN1cml0eU9yaWdpbkRhdGEpKSkgZGVjaXNpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgY2hlY2tlciA9IFdU
Rk1vdmUoY2hlY2tlcildIChCT09MIGdyYW50ZWQpIG11dGFibGUgewogICAgICAgICBpZiAoY2hl
Y2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385230</attachid>
            <date>2019-12-09 19:58:57 -0800</date>
            <delta_ts>2019-12-10 08:22:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203287-20191209195832.patch</filename>
            <type>text/plain</type>
            <size>11236</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4MmVkMWI0MDY3MjgwYjIz
YWY2ZmU5MTVjNmY1NTc0YjM3ZmQ0YTMuLjAzNWZiNDAzNDZmODJlYzM5MGIwNTBiN2I3OWMzOGRk
NDE0M2JmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBHeXJvc2NvcGUgKERldmljZU1vdGlv
biByZWxhdGVkKSBwZXJtaXNzaW9uIGNhbm5vdCBiZSByZXF1ZXN0ZWQgaW4gV0tXZWJWaWV3IHVu
bGVzcyB0aGUgY2xpZW50IGFwcCBzZXRzIGEgV0tVSURlbGVnYXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXZpY2Ugb3JpZW50YXRpb24gLyBtb3Rp
b24gZXZlbnRzIHBlcm1pc3Npb24gZGlhbG9nIHdvdWxkIG5vdCBiZSBzaG93biB1bmxlc3MgdGhl
IGNsaWVudCBhcHAKKyAgICAgICAgc2V0IGEgV0tVSURlbGVnYXRlIG9uIHRoZSBXS1dlYlZpZXcs
IGV2ZW4gdGhvdWdoIHdlIGRvIG5vdCBuZWVkIHRoaXMgV0tVSURlbGVnYXRlIHRvIHNob3cgdGhl
CisgICAgICAgIHByb21wdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RldmljZU9yaWVudGF0aW9uVXNlclBlcm1p
c3Npb25IYW5kbGVyXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0RGV2aWNlT3JpZW50YXRp
b25Vc2VyUGVybWlzc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tOgorICAgICAgICAoV2ViS2l0OjpwcmVz
ZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydCk6CisKIDIwMTktMTItMDUgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHVzaW5nIHJlc2VydmVDYXBhY2l0eSgp
IC8gcmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSgpIGluIElQQyBkZWNvZGVycwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZDE2OTM0MTEzNmZl
ZGNiNDM2OWM1NjljZTY3ZGVmYjk0ZmI1N2ZkMy4uNzkwZjcxN2M3NWNjZjEzODgxYjJkZDNkYTMz
NzkyZjdlNzkxNDZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCkBAIC00MDEsNiArNDAxLDcgQEAgQGltcGxlbWVudGF0aW9uIFdLV2ViVmll
dyB7CiAgICAgUmV0YWluUHRyPFdLVGV4dEZpbmRlckNsaWVudD4gX3RleHRGaW5kZXJDbGllbnQ7
CiAjZW5kaWYKICAgICBfV0tTZWxlY3Rpb25BdHRyaWJ1dGVzIF9zZWxlY3Rpb25BdHRyaWJ1dGVz
OworICAgIEJsb2NrUHRyPEJPT0wgKCk+IF9kZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9u
SGFuZGxlcjsKIH0KIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFt
ZQpAQCAtNzUyMSw2ICs3NTIyLDE2IEBAIC0gKHZvaWQpX3NldFNjcm9sbGluZ1VwZGF0ZXNEaXNh
YmxlZEZvclRlc3Rpbmc6KEJPT0wpZGlzYWJsZWQKIHsKIH0KIAorLSAoQk9PTCAoXikoKSlfZGV2
aWNlT3JpZW50YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXIKK3sKKyAgICByZXR1cm4gX2Rldmlj
ZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyLmdldCgpOworfQorCistICh2b2lkKV9z
ZXREZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxlcjooQk9PTCAoXikoKSloYW5k
bGVyCit7CisgICAgX2RldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGhhbmRsZXIpOworfQorCiAvLyBFeGVjdXRlIHRoZSBzdXBwbGllZCBibG9jayBh
ZnRlciB0aGUgbmV4dCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBXZWJQcm9jZXNzLgogLSAodm9pZClf
ZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2Nr
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaAppbmRleCA3ODRiNmIxZTIxMGJhYzM3ZjllMGNhYWU1ZTYzMjM0OTQ1YzQ5MTdk
Li4wMjdiMWJlNDlmMTU0Yzk4NmM5ODdkYzhkYmY0YzEyNDZlMmJiNTExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAg
LTU4Nyw0ICs1ODcsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVk
Z2UpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfaGFzU2VydmljZVdv
cmtlckZvcmVncm91bmRBY3Rpdml0eUZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3NldEFzc2VydGlvblN0YXRl
Rm9yVGVzdGluZzooaW50KXN0YXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9
X3NldERldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyOikgQk9PTCAoXl9kZXZp
Y2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxlcikoKSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCA4Mzk5MGQ5ZTgxZTc5N2U2ODcy
N2FhZThiYTU2MmVjZmVhM2U2YWE0Li5mOTE4MTg2NTczNGJkZmU0YWZkZjAwNzE1ZDg5MjA4Y2Qz
MDEzNWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVn
YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0K
QEAgLTg2NSwxNSArODY1LDE1IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZEF0dGFj
aEluc3BlY3RvcihXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViCiAjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnNob3VsZEFs
bG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3MoV2ViS2l0OjpXZWJQYWdlUHJveHkm
LCBXZWJGcmFtZVByb3h5JiB3ZWJGcmFtZVByb3h5LCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEmJiBzZWN1cml0eU9yaWdpbkRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5t
X2RlbGVnYXRlLmdldCgpOwotICAgIGlmICghZGVsZWdhdGUpCi0gICAgICAgIHJldHVybiBjb21w
bGV0aW9uSGFuZGxlcihmYWxzZSk7Ci0KICAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRl
TWV0aG9kcy53ZWJWaWV3U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vz
c1JlcXVlc3RlZEJ5RnJhbWVEZWNpc2lvbkhhbmRsZXIpIHsKICAgICAgICAgcHJlc2VudE9yaWVu
dGF0aW9uQWNjZXNzQWxlcnQobV91aURlbGVnYXRlLm1fd2ViVmlldywgc2VjdXJpdHlPcmlnaW5E
YXRhLmhvc3QsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAorICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZS5nZXQo
KTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIo
ZmFsc2UpOworCiAgICAgYXV0byBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tl
cjo6Y3JlYXRlKGRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3IoX3dlYlZpZXc6c2hvdWxkQWxsb3dE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3RlZEJ5RnJhbWU6ZGVjaXNpb25I
YW5kbGVyOikpOwogICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJW
aWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFu
ZE1vdGlvbkFjY2Vzc1JlcXVlc3RlZEJ5RnJhbWU6d3JhcHBlcihBUEk6OkZyYW1lSW5mbzo6Y3Jl
YXRlKHdlYkZyYW1lUHJveHksIFdURk1vdmUoc2VjdXJpdHlPcmlnaW5EYXRhKSkpIGRlY2lzaW9u
SGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIpXSAoQk9PTCBncmFudGVkKSBt
dXRhYmxlIHsKICAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNh
bGxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmll
bnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tP
cmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tCmluZGV4IGI5NDVmZjg3MTRhNGQ5OWI5ZDhhZTFlMDBh
MGI5ODc4MjEyMzY0YTcuLjJiYTllMzljZThiNzYyMTRhYmYzMjIxZjU4MzMzMzE3MjVmMjA4YzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25B
Y2Nlc3NBbGVydC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVu
dGF0aW9uQWNjZXNzQWxlcnQubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQogCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCAi
V0tXZWJWaWV3UHJpdmF0ZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+
CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtMzYsNiArMzcsOSBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogdm9pZCBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydChXS1dl
YlZpZXcgKnZpZXcsIGNvbnN0IFN0cmluZyYgaG9zdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBpZiAodmlldy5fZGV2aWNlT3JpZW50
YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXIpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcih2aWV3Ll9kZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxlcigpKTsKKwog
ICAgIE5TU3RyaW5nICphbGVydFRleHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJf
VUlfTlNTVFJJTkcoQCLigJwlQOKAnSBXb3VsZCBMaWtlIHRvIEFjY2VzcyBNb3Rpb24gYW5kIE9y
aWVudGF0aW9uIiwgQCJNZXNzYWdlIGZvciByZXF1ZXN0aW5nIGFjY2VzcyB0byB0aGUgZGV2aWNl
IG1vdGlvbiBhbmQgb3JpZW50YXRpb24iKSwgKE5TU3RyaW5nICopaG9zdF07CiAgICAgVUlBbGVy
dENvbnRyb2xsZXIqIGFsZXJ0ID0gW1VJQWxlcnRDb250cm9sbGVyIGFsZXJ0Q29udHJvbGxlcldp
dGhUaXRsZTphbGVydFRleHQgbWVzc2FnZTpuaWwgcHJlZmVycmVkU3R5bGU6VUlBbGVydENvbnRy
b2xsZXJTdHlsZUFsZXJ0XTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDQzNDM4MjZkMGY2MDUzYWVmZDg0MWFjNWNmMjA1NGZiYjliMGRjNzgu
LmY1NDFhM2UyNzU0NjlhZmYyYWJjNTg0ZjhlOWE5ZmZlMmJhNDc2N2EgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
OS0xMi0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEd5cm9z
Y29wZSAoRGV2aWNlTW90aW9uIHJlbGF0ZWQpIHBlcm1pc3Npb24gY2Fubm90IGJlIHJlcXVlc3Rl
ZCBpbiBXS1dlYlZpZXcgdW5sZXNzIHRoZSBjbGllbnQgYXBwIHNldHMgYSBXS1VJRGVsZWdhdGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzI4Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlv
dXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW06CisgICAgICAgIChydW5EZXZpY2VPcmllbnRhdGlv
blRlc3QpOgorICAgICAgICAoVEVTVCk6CisKIDIwMTktMTItMDUgIEpvbmF0aGFuIEJlZGFyZCAg
PGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFB5dGhvbiAzOiBBZGQgc3VwcG9ydCB0byB3
ZWJraXRweS5icm93c2VycGVyZmRhc2gKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1tCmluZGV4IDJjODIwM2Fm
OWU2NmNmOTgyNDBmMjkyNTZlNTVlMWJmOTdkNWZjMTAuLjQyM2E0YmRmMDAzN2E0YmEwM2ZhYzY0
NWJhYWExMTE0N2E1NDE0MTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlvbi5tbQpAQCAtODIsNyArODIsNyBA
QCAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZEFsbG93RGV2aWNl
T3JpZW50YXRpb25BbmRNb3Rpb25BY2NlcwogCiBAZW5kCiAKLWVudW0gY2xhc3MgRGV2aWNlT3Jp
ZW50YXRpb25QZXJtaXNzaW9uIHsgR3JhbnRlZCwgRGVuaWVkLCBEZWZhdWx0IH07CitlbnVtIGNs
YXNzIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiB7IEdyYW50ZWRCeUNsaWVudCwgRGVuaWVk
QnlDbGllbnQsIEdyYW50ZWRCeVVzZXIsIERlbmllZEJ5VXNlciB9Owogc3RhdGljIHZvaWQgcnVu
RGV2aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiBkZXZpY2VP
cmllbnRhdGlvblBlcm1pc3Npb24pCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHRO
UyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKQEAgLTk0LDEzICs5NCwx
NyBAQCBzdGF0aWMgdm9pZCBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50YXRp
b25QZXJtaXNzaW9uIGRldmljZU9yaWVudGF0aQogCiAgICAgUmV0YWluUHRyPERldmljZU9yaWVu
dGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGU+IHVpRGVsZWdhdGU7CiAgICAgc3dpdGNoIChkZXZp
Y2VPcmllbnRhdGlvblBlcm1pc3Npb24pIHsKLSAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVy
bWlzc2lvbjo6R3JhbnRlZDoKKyAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6
R3JhbnRlZEJ5Q2xpZW50OgogICAgICAgICB1aURlbGVnYXRlID0gYWRvcHROUyhbW0RldmljZU9y
aWVudGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlcjpbXSB7
IHJldHVybiB0cnVlOyB9XSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgRGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uOjpEZW5pZWQ6CisgICAgY2FzZSBEZXZpY2VPcmllbnRhdGlvblBlcm1p
c3Npb246OkRlbmllZEJ5Q2xpZW50OgogICAgICAgICB1aURlbGVnYXRlID0gYWRvcHROUyhbW0Rl
dmljZU9yaWVudGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxl
cjpbXSB7IHJldHVybiBmYWxzZTsgfV0pOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIERldmlj
ZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVmYXVsdDoKKyAgICBjYXNlIERldmljZU9yaWVudGF0
aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5VXNlcjoKKyAgICAgICAgW3dlYlZpZXcgX3NldERldmlj
ZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyOl57IHJldHVybiBZRVM7IH1dOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVuaWVk
QnlVc2VyOgorICAgICAgICBbd2ViVmlldyBfc2V0RGV2aWNlT3JpZW50YXRpb25Vc2VyUGVybWlz
c2lvbkhhbmRsZXI6XnsgcmV0dXJuIE5POyB9XTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAg
IFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6dWlEZWxlZ2F0ZS5nZXQoKV07CkBAIC0xMTYsMTEgKzEy
MCwxMiBAQCBzdGF0aWMgdm9pZCBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uIGRldmljZU9yaWVudGF0aQogICAgIGRpZFJlY2VpdmVNZXNzYWdlID0g
ZmFsc2U7CiAKICAgICBzd2l0Y2ggKGRldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbikgewotICAg
IGNhc2UgRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpHcmFudGVkOgorICAgIGNhc2UgRGV2
aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpHcmFudGVkQnlDbGllbnQ6CisgICAgY2FzZSBEZXZp
Y2VPcmllbnRhdGlvblBlcm1pc3Npb246OkdyYW50ZWRCeVVzZXI6CiAgICAgICAgIEVYUEVDVF9X
S19TVFJFUShAImdyYW50ZWQiLCByZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzBdKTsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb246OkRlbmllZDoKLSAg
ICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVmYXVsdDoKKyAgICBjYXNlIERl
dmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVuaWVkQnlDbGllbnQ6CisgICAgY2FzZSBEZXZp
Y2VPcmllbnRhdGlvblBlcm1pc3Npb246OkRlbmllZEJ5VXNlcjoKICAgICAgICAgRVhQRUNUX1dL
X1NUUkVRKEAiZGVuaWVkIiwgcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVswXSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KQEAgLTEzNSw3ICsxNDAsNyBAQCBzdGF0aWMgdm9pZCBydW5EZXZpY2VPcmll
bnRhdGlvblRlc3QoRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uIGRldmljZU9yaWVudGF0aQog
CiAgICAgW3dlYlZpZXcgX3NpbXVsYXRlRGV2aWNlT3JpZW50YXRpb25DaGFuZ2VXaXRoQWxwaGE6
MS4wIGJldGE6Mi4wIGdhbW1hOjMuMF07CiAKLSAgICBpZiAoZGV2aWNlT3JpZW50YXRpb25QZXJt
aXNzaW9uID09IERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZCkgeworICAgIGlm
IChkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24gPT0gRGV2aWNlT3JpZW50YXRpb25QZXJtaXNz
aW9uOjpHcmFudGVkQnlDbGllbnQgfHwgZGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uID09IERl
dmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5VXNlcikgewogICAgICAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFJlY2VpdmVNZXNzYWdlKTsKICAgICAgICAgRVhQRUNU
X1dLX1NUUkVRKEAicmVjZWl2ZWQtZXZlbnQiLCByZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzFdKTsK
ICAgICB9IGVsc2UgewpAQCAtMTQ1LDE5ICsxNTAsMjQgQEAgc3RhdGljIHZvaWQgcnVuRGV2aWNl
T3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiBkZXZpY2VPcmllbnRh
dGkKICAgICBkaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNlOwogfQogCi1URVNUKERldmljZU9yaWVu
dGF0aW9uLCBQZXJtaXNzaW9uRGVuaWVkQnlEZWZhdWx0KQorVEVTVChEZXZpY2VPcmllbnRhdGlv
biwgUGVybWlzc2lvbkdyYW50ZWRCeVVzZXIpCit7CisgICAgcnVuRGV2aWNlT3JpZW50YXRpb25U
ZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5VXNlcik7Cit9CisKK1RF
U1QoRGV2aWNlT3JpZW50YXRpb24sIFBlcm1pc3Npb25EZW5pZWRCeVVzZXIpCiB7Ci0gICAgcnVu
RGV2aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVmYXVs
dCk7CisgICAgcnVuRGV2aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlz
c2lvbjo6RGVuaWVkQnlVc2VyKTsKIH0KIAotVEVTVChEZXZpY2VPcmllbnRhdGlvbiwgUGVybWlz
c2lvbkdyYW50ZWQpCitURVNUKERldmljZU9yaWVudGF0aW9uLCBQZXJtaXNzaW9uR3JhbnRlZEJ5
Q2xpZW50KQogewotICAgIHJ1bkRldmljZU9yaWVudGF0aW9uVGVzdChEZXZpY2VPcmllbnRhdGlv
blBlcm1pc3Npb246OkdyYW50ZWQpOworICAgIHJ1bkRldmljZU9yaWVudGF0aW9uVGVzdChEZXZp
Y2VPcmllbnRhdGlvblBlcm1pc3Npb246OkdyYW50ZWRCeUNsaWVudCk7CiB9CiAKLVRFU1QoRGV2
aWNlT3JpZW50YXRpb24sIFBlcm1pc3Npb25EZW5pZWQpCitURVNUKERldmljZU9yaWVudGF0aW9u
LCBQZXJtaXNzaW9uRGVuaWVkQnlDbGllbnQpCiB7Ci0gICAgcnVuRGV2aWNlT3JpZW50YXRpb25U
ZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVuaWVkKTsKKyAgICBydW5EZXZpY2VP
cmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpEZW5pZWRCeUNsaWVu
dCk7CiB9CiAKIFRFU1QoRGV2aWNlT3JpZW50YXRpb24sIFJlbWVtYmVyUGVybWlzc2lvbkZvclNl
c3Npb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385264</attachid>
            <date>2019-12-10 08:22:36 -0800</date>
            <delta_ts>2019-12-10 10:42:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203287-20191210082235.patch</filename>
            <type>text/plain</type>
            <size>11302</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFlMmU3YWYzMzA2YzQ0YzVk
N2YzZDg0N2I2ZGQ0MzY5YzVhNTMyODIuLmNmZWVjMzFlZWUyYjQ5MjEwMjdkZWNlZjlmMGRiZmIy
MjQ1ZDE3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTItMTAgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBHeXJvc2NvcGUgKERldmljZU1vdGlv
biByZWxhdGVkKSBwZXJtaXNzaW9uIGNhbm5vdCBiZSByZXF1ZXN0ZWQgaW4gV0tXZWJWaWV3IHVu
bGVzcyB0aGUgY2xpZW50IGFwcCBzZXRzIGEgV0tVSURlbGVnYXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXZpY2Ugb3JpZW50YXRpb24gLyBtb3Rp
b24gZXZlbnRzIHBlcm1pc3Npb24gZGlhbG9nIHdvdWxkIG5vdCBiZSBzaG93biB1bmxlc3MgdGhl
IGNsaWVudCBhcHAKKyAgICAgICAgc2V0IGEgV0tVSURlbGVnYXRlIG9uIHRoZSBXS1dlYlZpZXcs
IGV2ZW4gdGhvdWdoIHdlIGRvIG5vdCBuZWVkIHRoaXMgV0tVSURlbGVnYXRlIHRvIHNob3cgdGhl
CisgICAgICAgIHByb21wdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RldmljZU9yaWVudGF0aW9uVXNlclBlcm1p
c3Npb25IYW5kbGVyXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0RGV2aWNlT3JpZW50YXRp
b25Vc2VyUGVybWlzc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tOgorICAgICAgICAoV2ViS2l0OjpwcmVz
ZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydCk6CisKIDIwMTktMTItMTAgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHByZWNvbm5lY3RUbygpJ3MgY29tcGxl
dGlvbkhhbmRsZXIgb3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCmluZGV4IDM1MDk3OTlkY2VlMGE5MzgwZjMwZDJlZmVhNWMyMzcxODIx
ODE1ZjUuLjZmZjQxMTE3NTUxZmI5Mjk5ZTE2NDgzNjMzZWZmZTM4MjQwMzcwNjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNDAxLDYg
KzQwMSw5IEBAIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXcgewogICAgIFJldGFpblB0cjxXS1Rl
eHRGaW5kZXJDbGllbnQ+IF90ZXh0RmluZGVyQ2xpZW50OwogI2VuZGlmCiAgICAgX1dLU2VsZWN0
aW9uQXR0cmlidXRlcyBfc2VsZWN0aW9uQXR0cmlidXRlczsKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorICAgIEJsb2NrUHRyPEJPT0wgKCk+IF9kZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNz
aW9uSGFuZGxlcjsKKyNlbmRpZgogfQogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZToo
Q0dSZWN0KWZyYW1lCkBAIC0xNDg1LDYgKzE0ODgsMTYgQEAgLSAodm9pZClfc2V0RHJhZ0ludGVy
YWN0aW9uUG9saWN5OihfV0tEcmFnSW50ZXJhY3Rpb25Qb2xpY3kpcG9saWN5CiAjZW5kaWYKIH0K
IAorLSAoQk9PTCAoXikoKSlfZGV2aWNlT3JpZW50YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXIK
K3sKKyAgICByZXR1cm4gX2RldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyLmdl
dCgpOworfQorCistICh2b2lkKV9zZXREZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFu
ZGxlcjooQk9PTCAoXikoKSloYW5kbGVyCit7CisgICAgX2RldmljZU9yaWVudGF0aW9uVXNlclBl
cm1pc3Npb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGhhbmRsZXIpOworfQorCiAtICh2b2lkKV9w
b3B1bGF0ZUFyY2hpdmVkU3Vidmlld3M6KE5TTXV0YWJsZVNldCAqKWVuY29kZWRWaWV3cwogewog
ICAgIFtzdXBlciBfcG9wdWxhdGVBcmNoaXZlZFN1YnZpZXdzOmVuY29kZWRWaWV3c107CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUu
aAppbmRleCA3ODRiNmIxZTIxMGJhYzM3ZjllMGNhYWU1ZTYzMjM0OTQ1YzQ5MTdkLi40NjM1OTVj
NmEyNTU2NGZkZmU5MmI1NWJjZGY0NTUzZTI4NTAxMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTUwOCw2ICs1
MDgsOCBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIAog
LSAodm9pZClfdHJpZ2dlclN5c3RlbVByZXZpZXdBY3Rpb25PbkVsZW1lbnQ6KHVpbnQ2NF90KWVs
ZW1lbnRJRCBkb2N1bWVudDoodWludDY0X3QpZG9jdW1lbnRJRCBwYWdlOih1aW50NjRfdClwYWdl
SUQgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwogCitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSwgc2V0dGVyPV9zZXREZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFu
ZGxlcjopIEJPT0wgKF5fZGV2aWNlT3JpZW50YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXIpKCkg
V0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOworCiBAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHkpIEJPT0wgX2NvbnRlbnRWaWV3SXNGaXJzdFJlc3BvbmRlciBXS19BUElfQVZB
SUxBQkxFKGlvcygxMi4yKSk7CiAjZWxzZQogLSAodm9pZClfZGlzbWlzc0NvbnRlbnRSZWxhdGl2
ZUNoaWxkV2luZG93cyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDgzOTkwZDllODFlNzk3
ZTY4NzI3YWFlOGJhNTYyZWNmZWEzZTZhYTQuLmY5MTgxODY1NzM0YmRmZTRhZmRmMDA3MTVkODky
MDhjZDMwMTM1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5tbQpAQCAtODY1LDE1ICs4NjUsMTUgQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlk
QXR0YWNoSW5zcGVjdG9yKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWIKICNpZiBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6c2hv
dWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2VzcyhXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYsIFdlYkZyYW1lUHJveHkmIHdlYkZyYW1lUHJveHksIFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luRGF0YSYmIHNlY3VyaXR5T3JpZ2luRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVn
YXRlLm1fZGVsZWdhdGUuZ2V0KCk7Ci0gICAgaWYgKCFkZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJu
IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKLQogICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVs
ZWdhdGVNZXRob2RzLndlYlZpZXdTaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9u
QWNjZXNzUmVxdWVzdGVkQnlGcmFtZURlY2lzaW9uSGFuZGxlcikgewogICAgICAgICBwcmVzZW50
T3JpZW50YXRpb25BY2Nlc3NBbGVydChtX3VpRGVsZWdhdGUubV93ZWJWaWV3LCBzZWN1cml0eU9y
aWdpbkRhdGEuaG9zdCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRl
LmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcihmYWxzZSk7CisKICAgICBhdXRvIGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxD
aGVja2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rvcihfd2ViVmlldzpzaG91bGRB
bGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZTpkZWNp
c2lvbkhhbmRsZXI6KSk7CiAgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUg
X3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0
aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZv
OjpjcmVhdGUod2ViRnJhbWVQcm94eSwgV1RGTW92ZShzZWN1cml0eU9yaWdpbkRhdGEpKSkgZGVj
aXNpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tlcildIChCT09MIGdyYW50
ZWQpIG11dGFibGUgewogICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNC
ZWVuQ2FsbGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
S09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0KaW5kZXggYjk0NWZmODcxNGE0ZDk5YjlkOGFl
MWUwMGEwYjk4NzgyMTIzNjRhNy4uMmJhOWUzOWNlOGI3NjIxNGFiZjMyMjFmNTgzMzMzMTcyNWYy
MDhjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRh
dGlvbkFjY2Vzc0FsZXJ0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dL
T3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbQpAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCiAKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCisjaW1w
b3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmlu
Z3MuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC0zNiw2ICszNyw5IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiB2b2lkIHByZXNlbnRPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0
KFdLV2ViVmlldyAqdmlldywgY29uc3QgU3RyaW5nJiBob3N0LCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIGlmICh2aWV3Ll9kZXZpY2VP
cmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxlcikKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKHZpZXcuX2RldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyKCkp
OworCiAgICAgTlNTdHJpbmcgKmFsZXJ0VGV4dCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0
OldFQl9VSV9OU1NUUklORyhAIuKAnCVA4oCdIFdvdWxkIExpa2UgdG8gQWNjZXNzIE1vdGlvbiBh
bmQgT3JpZW50YXRpb24iLCBAIk1lc3NhZ2UgZm9yIHJlcXVlc3RpbmcgYWNjZXNzIHRvIHRoZSBk
ZXZpY2UgbW90aW9uIGFuZCBvcmllbnRhdGlvbiIpLCAoTlNTdHJpbmcgKilob3N0XTsKICAgICBV
SUFsZXJ0Q29udHJvbGxlciogYWxlcnQgPSBbVUlBbGVydENvbnRyb2xsZXIgYWxlcnRDb250cm9s
bGVyV2l0aFRpdGxlOmFsZXJ0VGV4dCBtZXNzYWdlOm5pbCBwcmVmZXJyZWRTdHlsZTpVSUFsZXJ0
Q29udHJvbGxlclN0eWxlQWxlcnRdOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggMTcwZTFkOTJjZjEzMjdiOWE1NGM5ZDUyZjcxMmI4NGY4NDJk
M2U2OS4uYzdiZjM5MTg0N2JhYjFhMWJiMjhhM2JkMjU5YWNkNGJkNWU1NDRkOCAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDE5LTEyLTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
R3lyb3Njb3BlIChEZXZpY2VNb3Rpb24gcmVsYXRlZCkgcGVybWlzc2lvbiBjYW5ub3QgYmUgcmVx
dWVzdGVkIGluIFdLV2ViVmlldyB1bmxlc3MgdGhlIGNsaWVudCBhcHAgc2V0cyBhIFdLVUlEZWxl
Z2F0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAz
Mjg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlvbi5tbToKKyAgICAgICAgKHJ1bkRldmljZU9yaWVu
dGF0aW9uVGVzdCk6CisgICAgICAgIChURVNUKToKKwogMjAxOS0xMi0wOSAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgdGVzdC13ZWJraXRweTogUmVtb3Zl
IC0tPGNvbmZpZ3VyYXRpb24+IGZsYWdzIGZyb20gQ0kKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1tCmluZGV4
IDJjODIwM2FmOWU2NmNmOTgyNDBmMjkyNTZlNTVlMWJmOTdkNWZjMTAuLjQyM2E0YmRmMDAzN2E0
YmEwM2ZhYzY0NWJhYWExMTE0N2E1NDE0MTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlvbi5tbQpAQCAtODIs
NyArODIsNyBAQCAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZEFs
bG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2NlcwogCiBAZW5kCiAKLWVudW0gY2xhc3Mg
RGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uIHsgR3JhbnRlZCwgRGVuaWVkLCBEZWZhdWx0IH07
CitlbnVtIGNsYXNzIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiB7IEdyYW50ZWRCeUNsaWVu
dCwgRGVuaWVkQnlDbGllbnQsIEdyYW50ZWRCeVVzZXIsIERlbmllZEJ5VXNlciB9Owogc3RhdGlj
IHZvaWQgcnVuRGV2aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lv
biBkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24pCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9u
ID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKQEAgLTk0
LDEzICs5NCwxNyBAQCBzdGF0aWMgdm9pZCBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNl
T3JpZW50YXRpb25QZXJtaXNzaW9uIGRldmljZU9yaWVudGF0aQogCiAgICAgUmV0YWluUHRyPERl
dmljZU9yaWVudGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGU+IHVpRGVsZWdhdGU7CiAgICAgc3dp
dGNoIChkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24pIHsKLSAgICBjYXNlIERldmljZU9yaWVu
dGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZDoKKyAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVy
bWlzc2lvbjo6R3JhbnRlZEJ5Q2xpZW50OgogICAgICAgICB1aURlbGVnYXRlID0gYWRvcHROUyhb
W0RldmljZU9yaWVudGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFu
ZGxlcjpbXSB7IHJldHVybiB0cnVlOyB9XSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgRGV2
aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpEZW5pZWQ6CisgICAgY2FzZSBEZXZpY2VPcmllbnRh
dGlvblBlcm1pc3Npb246OkRlbmllZEJ5Q2xpZW50OgogICAgICAgICB1aURlbGVnYXRlID0gYWRv
cHROUyhbW0RldmljZU9yaWVudGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGUgYWxsb2NdIGluaXRX
aXRoSGFuZGxlcjpbXSB7IHJldHVybiBmYWxzZTsgfV0pOwogICAgICAgICBicmVhazsKLSAgICBj
YXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVmYXVsdDoKKyAgICBjYXNlIERldmlj
ZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5VXNlcjoKKyAgICAgICAgW3dlYlZpZXcg
X3NldERldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyOl57IHJldHVybiBZRVM7
IH1dOworICAgICAgICBicmVhazsKKyAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lv
bjo6RGVuaWVkQnlVc2VyOgorICAgICAgICBbd2ViVmlldyBfc2V0RGV2aWNlT3JpZW50YXRpb25V
c2VyUGVybWlzc2lvbkhhbmRsZXI6XnsgcmV0dXJuIE5POyB9XTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6dWlEZWxlZ2F0ZS5nZXQoKV07CkBAIC0x
MTYsMTEgKzEyMCwxMiBAQCBzdGF0aWMgdm9pZCBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2
aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uIGRldmljZU9yaWVudGF0aQogICAgIGRpZFJlY2VpdmVN
ZXNzYWdlID0gZmFsc2U7CiAKICAgICBzd2l0Y2ggKGRldmljZU9yaWVudGF0aW9uUGVybWlzc2lv
bikgewotICAgIGNhc2UgRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpHcmFudGVkOgorICAg
IGNhc2UgRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpHcmFudGVkQnlDbGllbnQ6CisgICAg
Y2FzZSBEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb246OkdyYW50ZWRCeVVzZXI6CiAgICAgICAg
IEVYUEVDVF9XS19TVFJFUShAImdyYW50ZWQiLCByZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzBdKTsK
ICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb246OkRl
bmllZDoKLSAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVmYXVsdDoKKyAg
ICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVuaWVkQnlDbGllbnQ6CisgICAg
Y2FzZSBEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb246OkRlbmllZEJ5VXNlcjoKICAgICAgICAg
RVhQRUNUX1dLX1NUUkVRKEAiZGVuaWVkIiwgcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVswXSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEzNSw3ICsxNDAsNyBAQCBzdGF0aWMgdm9pZCBydW5E
ZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uIGRldmljZU9y
aWVudGF0aQogCiAgICAgW3dlYlZpZXcgX3NpbXVsYXRlRGV2aWNlT3JpZW50YXRpb25DaGFuZ2VX
aXRoQWxwaGE6MS4wIGJldGE6Mi4wIGdhbW1hOjMuMF07CiAKLSAgICBpZiAoZGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uID09IERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZCkg
eworICAgIGlmIChkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24gPT0gRGV2aWNlT3JpZW50YXRp
b25QZXJtaXNzaW9uOjpHcmFudGVkQnlDbGllbnQgfHwgZGV2aWNlT3JpZW50YXRpb25QZXJtaXNz
aW9uID09IERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5VXNlcikgewogICAg
ICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFJlY2VpdmVNZXNzYWdlKTsKICAgICAg
ICAgRVhQRUNUX1dLX1NUUkVRKEAicmVjZWl2ZWQtZXZlbnQiLCByZWNlaXZlZE1lc3NhZ2VzLmdl
dCgpWzFdKTsKICAgICB9IGVsc2UgewpAQCAtMTQ1LDE5ICsxNTAsMjQgQEAgc3RhdGljIHZvaWQg
cnVuRGV2aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiBkZXZp
Y2VPcmllbnRhdGkKICAgICBkaWRSZWNlaXZlTWVzc2FnZSA9IGZhbHNlOwogfQogCi1URVNUKERl
dmljZU9yaWVudGF0aW9uLCBQZXJtaXNzaW9uRGVuaWVkQnlEZWZhdWx0KQorVEVTVChEZXZpY2VP
cmllbnRhdGlvbiwgUGVybWlzc2lvbkdyYW50ZWRCeVVzZXIpCit7CisgICAgcnVuRGV2aWNlT3Jp
ZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5VXNlcik7
Cit9CisKK1RFU1QoRGV2aWNlT3JpZW50YXRpb24sIFBlcm1pc3Npb25EZW5pZWRCeVVzZXIpCiB7
Ci0gICAgcnVuRGV2aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lv
bjo6RGVmYXVsdCk7CisgICAgcnVuRGV2aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0
aW9uUGVybWlzc2lvbjo6RGVuaWVkQnlVc2VyKTsKIH0KIAotVEVTVChEZXZpY2VPcmllbnRhdGlv
biwgUGVybWlzc2lvbkdyYW50ZWQpCitURVNUKERldmljZU9yaWVudGF0aW9uLCBQZXJtaXNzaW9u
R3JhbnRlZEJ5Q2xpZW50KQogewotICAgIHJ1bkRldmljZU9yaWVudGF0aW9uVGVzdChEZXZpY2VP
cmllbnRhdGlvblBlcm1pc3Npb246OkdyYW50ZWQpOworICAgIHJ1bkRldmljZU9yaWVudGF0aW9u
VGVzdChEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb246OkdyYW50ZWRCeUNsaWVudCk7CiB9CiAK
LVRFU1QoRGV2aWNlT3JpZW50YXRpb24sIFBlcm1pc3Npb25EZW5pZWQpCitURVNUKERldmljZU9y
aWVudGF0aW9uLCBQZXJtaXNzaW9uRGVuaWVkQnlDbGllbnQpCiB7Ci0gICAgcnVuRGV2aWNlT3Jp
ZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVuaWVkKTsKKyAgICBy
dW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpEZW5p
ZWRCeUNsaWVudCk7CiB9CiAKIFRFU1QoRGV2aWNlT3JpZW50YXRpb24sIFJlbWVtYmVyUGVybWlz
c2lvbkZvclNlc3Npb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385283</attachid>
            <date>2019-12-10 10:42:37 -0800</date>
            <delta_ts>2019-12-10 13:27:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203287-20191210104236.patch</filename>
            <type>text/plain</type>
            <size>12456</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk4YmIwZDRmYzhjY2ZiZDIw
Y2I3MmY2MWUxZmI0ZjUzYmZhZmQ3OWEuLmZmMDhhNmQ0Y2VkNGI4ZmFiMTExMzkwYWIzNWE3NzMy
NWVmNTAxNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTItMTAgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBHeXJvc2NvcGUgKERldmljZU1vdGlv
biByZWxhdGVkKSBwZXJtaXNzaW9uIGNhbm5vdCBiZSByZXF1ZXN0ZWQgaW4gV0tXZWJWaWV3IHVu
bGVzcyB0aGUgY2xpZW50IGFwcCBzZXRzIGEgV0tVSURlbGVnYXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXZpY2Ugb3JpZW50YXRpb24gLyBtb3Rp
b24gZXZlbnRzIHBlcm1pc3Npb24gZGlhbG9nIHdvdWxkIG5vdCBiZSBzaG93biB1bmxlc3MgdGhl
IGNsaWVudCBhcHAKKyAgICAgICAgc2V0IGEgV0tVSURlbGVnYXRlIG9uIHRoZSBXS1dlYlZpZXcs
IGV2ZW4gdGhvdWdoIHdlIGRvIG5vdCBuZWVkIHRoaXMgV0tVSURlbGVnYXRlIHRvIHNob3cgdGhl
CisgICAgICAgIHByb21wdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RldmljZU9yaWVudGF0aW9uVXNlclBlcm1p
c3Npb25IYW5kbGVyXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0RGV2aWNlT3JpZW50YXRp
b25Vc2VyUGVybWlzc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tOgorICAgICAgICAoV2ViS2l0OjpwcmVz
ZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydCk6CisKIDIwMTktMTItMTAgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyNTMyNzcpIEFTU0VSVElP
TiBGQUlMRUQ6ICFwYXJhbWV0ZXJzLnJlcXVlc3QuaHR0cEJvZHkoKSBpbiBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6cHJlY29ubmVjdFRvKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDM1MDk3OTlkY2VlMGE5MzgwZjMwZDJl
ZmVhNWMyMzcxODIxODE1ZjUuLjMzNTRhYzZlZWNiNWE4ZDcxOThhZThhNThjYTI5OTQ0YzgzMGU1
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQpAQCAtNjk3Myw2ICs2OTczLDE0IEBAIC0gKHZvaWQpX2FjY2Vzc2liaWxpdHlSZXRyaWV2ZVJl
Y3RzQXRTZWxlY3Rpb25PZmZzZXQ6KE5TSW50ZWdlcilvZmZzZXQgd2l0aFRleHQ6CiAgICAgfV07
CiB9CiAKKy0gKHZvaWQpX3NldERldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVy
Rm9yVGVzdGluZzooQk9PTCAoXikoKSloYW5kbGVyCit7CisgICAgRnVuY3Rpb248Ym9vbCgpPiBo
YW5kbGVyV3JhcHBlcjsKKyAgICBpZiAoaGFuZGxlcikKKyAgICAgICAgaGFuZGxlcldyYXBwZXIg
PSBbaGFuZGxlciA9IG1ha2VCbG9ja1B0cihoYW5kbGVyKV0geyByZXR1cm4gaGFuZGxlcigpOyB9
OworICAgIF9wYWdlLT5zZXREZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxlckZv
clRlc3RpbmcoV1RGTW92ZShoYW5kbGVyV3JhcHBlcikpOworfQorCiAtICh2b2lkKV9hY2Nlc3Np
YmlsaXR5U3RvcmVTZWxlY3Rpb24KIHsKICAgICBbX2NvbnRlbnRWaWV3IF9hY2Nlc3NpYmlsaXR5
U3RvcmVTZWxlY3Rpb25dOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNzg0YjZiMWUyMTBiYWMzN2Y5ZTBjYWFlNWU2
MzIzNDk0NWM0OTE3ZC4uNzNkNzg3MTViOWI4MzA1Yzg4MTQwYzJjOTM3NWRmZmYwZDY2MWVhZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCkBAIC01MDgsNiArNTA4LDggQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVn
ZXIsIF9XS1JlY3RFZGdlKSB7CiAKIC0gKHZvaWQpX3RyaWdnZXJTeXN0ZW1QcmV2aWV3QWN0aW9u
T25FbGVtZW50Oih1aW50NjRfdCllbGVtZW50SUQgZG9jdW1lbnQ6KHVpbnQ2NF90KWRvY3VtZW50
SUQgcGFnZToodWludDY0X3QpcGFnZUlEIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEp
KTsKIAorLSAodm9pZClfc2V0RGV2aWNlT3JpZW50YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXJG
b3JUZXN0aW5nOihCT09MICheKSgpKWhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9T
X1RCQSkpOworCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgX2NvbnRlbnRW
aWV3SXNGaXJzdFJlc3BvbmRlciBXS19BUElfQVZBSUxBQkxFKGlvcygxMi4yKSk7CiAjZWxzZQog
LSAodm9pZClfZGlzbWlzc0NvbnRlbnRSZWxhdGl2ZUNoaWxkV2luZG93cyBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLm1tCmluZGV4IDgzOTkwZDllODFlNzk3ZTY4NzI3YWFlOGJhNTYyZWNmZWEzZTZhYTQu
LmY5MTgxODY1NzM0YmRmZTRhZmRmMDA3MTVkODkyMDhjZDMwMTM1YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtODY1LDE1ICs4NjUsMTUgQEAg
dm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkQXR0YWNoSW5zcGVjdG9yKFdlYktpdDo6V2Vi
UGFnZVByb3h5JiwgV2ViS2l0OjpXZWIKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQog
dm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFu
ZE1vdGlvbkFjY2VzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkZyYW1lUHJveHkmIHdlYkZy
YW1lUHJveHksIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmIHNlY3VyaXR5T3JpZ2luRGF0
YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
LSAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7Ci0gICAg
aWYgKCFkZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsK
LQogICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdTaG91bGRB
bGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZURlY2lz
aW9uSGFuZGxlcikgewogICAgICAgICBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydChtX3Vp
RGVsZWdhdGUubV93ZWJWaWV3LCBzZWN1cml0eU9yaWdpbkRhdGEuaG9zdCwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgYXV0byBkZWxl
Z2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUp
CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisKICAgICBhdXRvIGNo
ZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0
KCksIEBzZWxlY3Rvcihfd2ViVmlldzpzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90
aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZTpkZWNpc2lvbkhhbmRsZXI6KSk7CiAgICAgWyhpZCA8
V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2Vi
VmlldyBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVk
QnlGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZvOjpjcmVhdGUod2ViRnJhbWVQcm94eSwgV1RG
TW92ZShzZWN1cml0eU9yaWdpbkRhdGEpKSkgZGVjaXNpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihb
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgY2hlY2tlciA9
IFdURk1vdmUoY2hlY2tlcildIChCT09MIGdyYW50ZWQpIG11dGFibGUgewogICAgICAgICBpZiAo
Y2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQu
bW0KaW5kZXggYjk0NWZmODcxNGE0ZDk5YjlkOGFlMWUwMGEwYjk4NzgyMTIzNjRhNy4uYjRkZGVk
ZGZlZTU5YTlmNWE5NDc0Y2FmODhjZDUzYzg5OGU5YjFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbQpA
QCAtMjksNiArMjksOCBAQAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAKICNpbXBv
cnQgIldLV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCisj
aW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5n
cy5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM2LDYgKzM4LDkgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiAKIHZvaWQgcHJlc2VudE9yaWVudGF0aW9uQWNjZXNzQWxlcnQo
V0tXZWJWaWV3ICp2aWV3LCBjb25zdCBTdHJpbmcmIGhvc3QsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgaWYgKGF1dG8mIHVzZXJQZXJt
aXNzaW9uSGFuZGxlciA9IHZpZXcuX3BhZ2UtPmRldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Np
b25IYW5kbGVyRm9yVGVzdGluZygpKQorICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIo
dXNlclBlcm1pc3Npb25IYW5kbGVyKCkpOworCiAgICAgTlNTdHJpbmcgKmFsZXJ0VGV4dCA9IFtO
U1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9OU1NUUklORyhAIuKAnCVA4oCdIFdvdWxk
IExpa2UgdG8gQWNjZXNzIE1vdGlvbiBhbmQgT3JpZW50YXRpb24iLCBAIk1lc3NhZ2UgZm9yIHJl
cXVlc3RpbmcgYWNjZXNzIHRvIHRoZSBkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRhdGlvbiIpLCAo
TlNTdHJpbmcgKilob3N0XTsKICAgICBVSUFsZXJ0Q29udHJvbGxlciogYWxlcnQgPSBbVUlBbGVy
dENvbnRyb2xsZXIgYWxlcnRDb250cm9sbGVyV2l0aFRpdGxlOmFsZXJ0VGV4dCBtZXNzYWdlOm5p
bCBwcmVmZXJyZWRTdHlsZTpVSUFsZXJ0Q29udHJvbGxlclN0eWxlQWxlcnRdOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDVkNWZkZTg5NDZkZGRiYjVlNzBmZTBm
ZTgyNzU4N2FmM2ZmMmYzMGQuLjUxNDVhMzYzZDc3M2VhMDYxYWQ2ZDk3YmM4ODQ4ZjRkY2RkYjNl
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNDIxLDYgKzE0
MjEsOCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHNldElz
S2V5Ym9hcmRBbmltYXRpbmdJbihib29sIGlzS2V5Ym9hcmRBbmltYXRpbmdJbikgeyBtX2lzS2V5
Ym9hcmRBbmltYXRpbmdJbiA9IGlzS2V5Ym9hcmRBbmltYXRpbmdJbjsgfQogICAgIGJvb2wgd2Fp
dGluZ0ZvclBvc3RMYXlvdXRFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVtZW50KCkg
Y29uc3QgeyByZXR1cm4gbV93YWl0aW5nRm9yUG9zdExheW91dEVkaXRvclN0YXRlVXBkYXRlQWZ0
ZXJGb2N1c2luZ0VsZW1lbnQ7IH0KKyAgICBjb25zdCBGdW5jdGlvbjxib29sKCk+JiBkZXZpY2VP
cmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxlckZvclRlc3RpbmcoKSBjb25zdCB7IHJldHVy
biBtX2RldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyRm9yVGVzdGluZzsgfTsK
KyAgICB2b2lkIHNldERldmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyRm9yVGVz
dGluZyhGdW5jdGlvbjxib29sKCk+JiYgaGFuZGxlcikgeyBtX2RldmljZU9yaWVudGF0aW9uVXNl
clBlcm1pc3Npb25IYW5kbGVyRm9yVGVzdGluZyA9IFdURk1vdmUoaGFuZGxlcik7IH0KICNlbmRp
ZgogCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBMQVRGT1JNKElP
U19GQU1JTFkpCkBAIC0yNTU2LDYgKzI1NTgsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorICAgIEZ1bmN0aW9uPGJvb2woKT4gbV9kZXZpY2VPcmllbnRh
dGlvblVzZXJQZXJtaXNzaW9uSGFuZGxlckZvclRlc3Rpbmc7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50cz4gbV9kZWZlcnJlZEVsZW1lbnREaWRGb2N1c0FyZ3Vt
ZW50czsKICAgICBib29sIG1fd2FpdGluZ0ZvclBvc3RMYXlvdXRFZGl0b3JTdGF0ZVVwZGF0ZUFm
dGVyRm9jdXNpbmdFbGVtZW50IHsgZmFsc2UgfTsKICAgICBib29sIG1fZm9yY2VBbHdheXNVc2Vy
U2NhbGFibGUgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGU1N2ZkYmE3NzNjOTM2Y2I1ZjA3OTRhZGY3ZjJhNTE3NzAxOWIxMzEu
LmU2Y2ZjOTY5MzA5N2IwZDFjN2M3MTRmZmI4NDBlYzEzMzFjZjFjZjIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
OS0xMi0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEd5cm9z
Y29wZSAoRGV2aWNlTW90aW9uIHJlbGF0ZWQpIHBlcm1pc3Npb24gY2Fubm90IGJlIHJlcXVlc3Rl
ZCBpbiBXS1dlYlZpZXcgdW5sZXNzIHRoZSBjbGllbnQgYXBwIHNldHMgYSBXS1VJRGVsZWdhdGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzI4Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlv
dXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW06CisgICAgICAgIChydW5EZXZpY2VPcmllbnRhdGlv
blRlc3QpOgorICAgICAgICAoVEVTVCk6CisKIDIwMTktMTItMTAgIHlvdWVubiBmYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgdmlkZW8gY2FwdHVyZSBpbiBVSVBy
b2Nlc3MgZm9yIFdlYktpdFRlc3RSdW5uZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1tCmluZGV4IDJjODIw
M2FmOWU2NmNmOTgyNDBmMjkyNTZlNTVlMWJmOTdkNWZjMTAuLjkwMDRmOGM1MzJhYWRkZjkzMmM0
ZjE2NDQyMjQzODFhMjZhOGIwMzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlvbi5tbQpAQCAtODIsNyArODIs
NyBAQCAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZEFsbG93RGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2NlcwogCiBAZW5kCiAKLWVudW0gY2xhc3MgRGV2aWNl
T3JpZW50YXRpb25QZXJtaXNzaW9uIHsgR3JhbnRlZCwgRGVuaWVkLCBEZWZhdWx0IH07CitlbnVt
IGNsYXNzIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiB7IEdyYW50ZWRCeUNsaWVudCwgRGVu
aWVkQnlDbGllbnQsIEdyYW50ZWRCeVVzZXIsIERlbmllZEJ5VXNlciB9Owogc3RhdGljIHZvaWQg
cnVuRGV2aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiBkZXZp
Y2VPcmllbnRhdGlvblBlcm1pc3Npb24pCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRv
cHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKQEAgLTk0LDEzICs5
NCwxNyBAQCBzdGF0aWMgdm9pZCBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uIGRldmljZU9yaWVudGF0aQogCiAgICAgUmV0YWluUHRyPERldmljZU9y
aWVudGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGU+IHVpRGVsZWdhdGU7CiAgICAgc3dpdGNoIChk
ZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24pIHsKLSAgICBjYXNlIERldmljZU9yaWVudGF0aW9u
UGVybWlzc2lvbjo6R3JhbnRlZDoKKyAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lv
bjo6R3JhbnRlZEJ5Q2xpZW50OgogICAgICAgICB1aURlbGVnYXRlID0gYWRvcHROUyhbW0Rldmlj
ZU9yaWVudGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlcjpb
XSB7IHJldHVybiB0cnVlOyB9XSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgRGV2aWNlT3Jp
ZW50YXRpb25QZXJtaXNzaW9uOjpEZW5pZWQ6CisgICAgY2FzZSBEZXZpY2VPcmllbnRhdGlvblBl
cm1pc3Npb246OkRlbmllZEJ5Q2xpZW50OgogICAgICAgICB1aURlbGVnYXRlID0gYWRvcHROUyhb
W0RldmljZU9yaWVudGF0aW9uUGVybWlzc2lvblVJRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFu
ZGxlcjpbXSB7IHJldHVybiBmYWxzZTsgfV0pOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIERl
dmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVmYXVsdDoKKyAgICBjYXNlIERldmljZU9yaWVu
dGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5VXNlcjoKKyAgICAgICAgW3dlYlZpZXcgX3NldERl
dmljZU9yaWVudGF0aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyRm9yVGVzdGluZzpeeyByZXR1cm4g
WUVTOyB9XTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBEZXZpY2VPcmllbnRhdGlvblBlcm1p
c3Npb246OkRlbmllZEJ5VXNlcjoKKyAgICAgICAgW3dlYlZpZXcgX3NldERldmljZU9yaWVudGF0
aW9uVXNlclBlcm1pc3Npb25IYW5kbGVyRm9yVGVzdGluZzpeeyByZXR1cm4gTk87IH1dOwogICAg
ICAgICBicmVhazsKICAgICB9CiAgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRl
LmdldCgpXTsKQEAgLTExNiwxMSArMTIwLDEyIEBAIHN0YXRpYyB2b2lkIHJ1bkRldmljZU9yaWVu
dGF0aW9uVGVzdChEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24gZGV2aWNlT3JpZW50YXRpCiAg
ICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSBmYWxzZTsKIAogICAgIHN3aXRjaCAoZGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uKSB7Ci0gICAgY2FzZSBEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb246
OkdyYW50ZWQ6CisgICAgY2FzZSBEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb246OkdyYW50ZWRC
eUNsaWVudDoKKyAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5
VXNlcjoKICAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiZ3JhbnRlZCIsIHJlY2VpdmVkTWVzc2Fn
ZXMuZ2V0KClbMF0pOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIERldmljZU9yaWVudGF0aW9u
UGVybWlzc2lvbjo6RGVuaWVkOgotICAgIGNhc2UgRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9u
OjpEZWZhdWx0OgorICAgIGNhc2UgRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpEZW5pZWRC
eUNsaWVudDoKKyAgICBjYXNlIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6RGVuaWVkQnlV
c2VyOgogICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJkZW5pZWQiLCByZWNlaXZlZE1lc3NhZ2Vz
LmdldCgpWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTM1LDcgKzE0MCw3IEBAIHN0
YXRpYyB2b2lkIHJ1bkRldmljZU9yaWVudGF0aW9uVGVzdChEZXZpY2VPcmllbnRhdGlvblBlcm1p
c3Npb24gZGV2aWNlT3JpZW50YXRpCiAKICAgICBbd2ViVmlldyBfc2ltdWxhdGVEZXZpY2VPcmll
bnRhdGlvbkNoYW5nZVdpdGhBbHBoYToxLjAgYmV0YToyLjAgZ2FtbWE6My4wXTsKIAotICAgIGlm
IChkZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb24gPT0gRGV2aWNlT3JpZW50YXRpb25QZXJtaXNz
aW9uOjpHcmFudGVkKSB7CisgICAgaWYgKGRldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbiA9PSBE
ZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb246OkdyYW50ZWRCeUNsaWVudCB8fCBkZXZpY2VPcmll
bnRhdGlvblBlcm1pc3Npb24gPT0gRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpHcmFudGVk
QnlVc2VyKSB7CiAgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkUmVjZWl2ZU1l
c3NhZ2UpOwogICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJyZWNlaXZlZC1ldmVudCIsIHJlY2Vp
dmVkTWVzc2FnZXMuZ2V0KClbMV0pOwogICAgIH0gZWxzZSB7CkBAIC0xNDUsMTkgKzE1MCwyNCBA
QCBzdGF0aWMgdm9pZCBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50YXRpb25Q
ZXJtaXNzaW9uIGRldmljZU9yaWVudGF0aQogICAgIGRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7
CiB9CiAKLVRFU1QoRGV2aWNlT3JpZW50YXRpb24sIFBlcm1pc3Npb25EZW5pZWRCeURlZmF1bHQp
CitURVNUKERldmljZU9yaWVudGF0aW9uLCBQZXJtaXNzaW9uR3JhbnRlZEJ5VXNlcikKK3sKKyAg
ICBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpH
cmFudGVkQnlVc2VyKTsKK30KKworVEVTVChEZXZpY2VPcmllbnRhdGlvbiwgUGVybWlzc2lvbkRl
bmllZEJ5VXNlcikKIHsKLSAgICBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50
YXRpb25QZXJtaXNzaW9uOjpEZWZhdWx0KTsKKyAgICBydW5EZXZpY2VPcmllbnRhdGlvblRlc3Qo
RGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpEZW5pZWRCeVVzZXIpOwogfQogCi1URVNUKERl
dmljZU9yaWVudGF0aW9uLCBQZXJtaXNzaW9uR3JhbnRlZCkKK1RFU1QoRGV2aWNlT3JpZW50YXRp
b24sIFBlcm1pc3Npb25HcmFudGVkQnlDbGllbnQpCiB7Ci0gICAgcnVuRGV2aWNlT3JpZW50YXRp
b25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZCk7CisgICAgcnVuRGV2
aWNlT3JpZW50YXRpb25UZXN0KERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbjo6R3JhbnRlZEJ5
Q2xpZW50KTsKIH0KIAotVEVTVChEZXZpY2VPcmllbnRhdGlvbiwgUGVybWlzc2lvbkRlbmllZCkK
K1RFU1QoRGV2aWNlT3JpZW50YXRpb24sIFBlcm1pc3Npb25EZW5pZWRCeUNsaWVudCkKIHsKLSAg
ICBydW5EZXZpY2VPcmllbnRhdGlvblRlc3QoRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uOjpE
ZW5pZWQpOworICAgIHJ1bkRldmljZU9yaWVudGF0aW9uVGVzdChEZXZpY2VPcmllbnRhdGlvblBl
cm1pc3Npb246OkRlbmllZEJ5Q2xpZW50KTsKIH0KIAogVEVTVChEZXZpY2VPcmllbnRhdGlvbiwg
UmVtZW1iZXJQZXJtaXNzaW9uRm9yU2Vzc2lvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>