<?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>218133</bug_id>
          
          <creation_ts>2020-10-23 12:42:48 -0700</creation_ts>
          <short_desc>[GTK] Smooth scrolling should not apply to continuous scrolling with sync scrolling</short_desc>
          <delta_ts>2020-10-29 04:23:51 -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>WebKitGTK</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alice Mikhaylenko">alicem</reporter>
          <assigned_to name="Chris Lord">clord</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clord</cc>
    
    <cc>darin</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1701120</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-23 12:42:48 -0700</bug_when>
    <thetext>Smooth scrolling makes sense for discrete jumps such as:

* Keyboard navigation
* Mouse wheels

Meanwhile, it does not make sense for scrolling that&apos;s already continuous, such as:

* Touch panning
* Touchpad scrolling
* Trackpoint scrolling
* Freely scrolling mouse wheels - these are a difficult case

This kind of scrolling consists of frequent scroll events (ideally one event per frame, although really it varies) and trying to smooth them just makes them laggy instead. Additionally, it adds a lot of overhead, to the point scrolling on a 4K screen on my laptop becomes unusably slow.

macOS doesn&apos;t enable it for touchpad scrolling either.

See also: https://gitlab.gnome.org/GNOME/epiphany/-/issues/802

May also apply to WPE, not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701223</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-24 02:51:20 -0700</bug_when>
    <thetext>Was this tested post r268522 landing? Smooth scrolling didn&apos;t apply to touchpad scrolling at the least on GTK when I checked, I haven&apos;t checked touch panning and I don&apos;t have a trackpoint, but I expect it uses the same mechanism as touchpad scrolling.

After that commit landed, smooth scrolling doesn&apos;t apply if there are accurate scroll deltas (which is the case with touchpad scrolling - it should be the case with touch scrolling, but given I haven&apos;t explicitly tested it, perhaps there&apos;s some code missing to set the flag).

Some more detail about reproduction steps would be good - is this with or without async scrolling enabled, what commit of WebKit was this, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701224</commentid>
    <comment_count>2</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-24 03:47:37 -0700</bug_when>
    <thetext>Nope, just got the laptop yesterday and was horrified by laggy scrolling in 2.30.1/ephy 3.38.1 and remembered there was a bug I promised to open long time ago and forgot about it. :)

Haven&apos;t built webkit on it yet, so yes, there&apos;s a good possibility this was fixed with your changes. I&apos;ll build it a bit later and check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701399</commentid>
    <comment_count>3</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-26 05:01:20 -0700</bug_when>
    <thetext>Alright, I have webkit built now.

No, I don&apos;t see changes. It seems it&apos;s always active with async scrolling, and active when smooth scrolling is enabled otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701403</commentid>
    <comment_count>4</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-26 05:05:44 -0700</bug_when>
    <thetext>Actually, nevermind the async scrolling part. That behaves properly now, I just chose a slow page for testing.

This is still relevant for non-async scrolling though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701404</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-26 05:09:27 -0700</bug_when>
    <thetext>(In reply to Alexander Mikhaylenko from comment #4)
&gt; Actually, nevermind the async scrolling part. That behaves properly now, I
&gt; just chose a slow page for testing.
&gt; 
&gt; This is still relevant for non-async scrolling though.

This is good to know - I&apos;ve retitled the bug and will take care of it, thanks for investigating :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701436</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-10-26 06:43:20 -0700</bug_when>
    <thetext>When is async scrolling disabled? (Is it only used in AC mode?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701438</commentid>
    <comment_count>7</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-26 06:45:08 -0700</bug_when>
    <thetext>Not only AC mode, but specifically hardware-acceleration-policy=always.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701455</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-10-26 08:01:12 -0700</bug_when>
    <thetext>OK so async scrolling is only enabled when hardware acceleration policy is set to always? Then that means it will *never* be enabled for end users, unless they change our hidden gsetting to set that policy. A lot of work to develop a feature that almost never gets used?

That is a little weird; why does it matter whether AC mode was activated on demand or always?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701457</commentid>
    <comment_count>9</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-26 08:08:19 -0700</bug_when>
    <thetext>Well, Librem 5 images currently override the default to always, as async scrolling in particular greatly improves scroll responsivity there.

FTR I also set it to always on my new laptop for the same reason, with ondemand I can&apos;t scroll this very page without lag when the window is maximized.

I assume there are problems with enabling/disabling it on the fly, but yes, it&apos;s never used in Epiphany right now unless you change the hidden setting. Which is why not many people complained about that scrolling issue before 2.30.1 got released, I suppose :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701782</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-26 23:42:41 -0700</bug_when>
    <thetext>I don&apos;t remember the details, but the setting needs to be activated soon and can&apos;t be changed, so it&apos;s not compatible with ondemand. It&apos;s not easy to make it work ondemand and probably not worth it either. The plan for GTK4 is to remove the hardware acceleration policy setting and enable it by default (or maybe make it a construct only property of the context, so we can always disable it for very specific cases, we&apos;ll see)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701855</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-10-27 06:30:25 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #10)
&gt; The plan for GTK4 is
&gt; to remove the hardware acceleration policy setting and enable it by default
&gt; (or maybe make it a construct only property of the context, so we can always
&gt; disable it for very specific cases, we&apos;ll see)

I think we previously determined that one GL context per web process is too much RAM usage, so will the GL context move to the UI process? Or the GPU process?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701957</commentid>
    <comment_count>12</comment_count>
      <attachid>412440</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-27 10:29:05 -0700</bug_when>
    <thetext>Created attachment 412440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701960</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-27 10:31:17 -0700</bug_when>
    <thetext>(In reply to Alexander Mikhaylenko from comment #4)
&gt; Actually, nevermind the async scrolling part. That behaves properly now, I
&gt; just chose a slow page for testing.
&gt; 
&gt; This is still relevant for non-async scrolling though.

Hi Alexander, do you think you could test the attached patch? This gives me expected behaviour with my touchpad and mouse-wheel with sync scrolling, but I don&apos;t have a touch-screen convenient to verify there (I possibly can if need be, but it sounds like you&apos;re already prepared).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701996</commentid>
    <comment_count>14</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-27 11:21:48 -0700</bug_when>
    <thetext>No difference here even on touchpad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701997</commentid>
    <comment_count>15</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-27 11:22:21 -0700</bug_when>
    <thetext>Sorry, I mean no difference compared to trunk. As in, smooth scrolling does affect and slow down touchpad and touchscreen scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702082</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-27 14:19:08 -0700</bug_when>
    <thetext>(In reply to Alexander Mikhaylenko from comment #15)
&gt; Sorry, I mean no difference compared to trunk. As in, smooth scrolling does
&gt; affect and slow down touchpad and touchscreen scrolling.

I&apos;m wondering at this point if it&apos;s definitely smooth scrolling and not just the browser event queue lagging behind... Are you on IRC/Riot or something similar where we could discuss this live, perhaps?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702109</commentid>
    <comment_count>17</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-27 14:48:41 -0700</bug_when>
    <thetext>It&apos;s certainly not lagging behind, it&apos;s visibly different depending on the smooth scrolling checkbox in minibrowser prefs. :)

@alexm:gnome.org on matrix/bridged to irc, we can discuss it in #epiphany irc channel, for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702256</commentid>
    <comment_count>18</comment_count>
      <attachid>412515</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-28 02:51:40 -0700</bug_when>
    <thetext>Created attachment 412515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702336</commentid>
    <comment_count>19</comment_count>
      <attachid>412534</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-28 09:21:20 -0700</bug_when>
    <thetext>Created attachment 412534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702354</commentid>
    <comment_count>20</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-28 10:03:17 -0700</bug_when>
    <thetext>Works now 👍️</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702400</commentid>
    <comment_count>21</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-10-28 11:23:43 -0700</bug_when>
    <thetext>So this will allow us to remove the smooth scrolling setting from Epiphany, yes? Because with this change, it should always be desired?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702438</commentid>
    <comment_count>22</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2020-10-28 12:23:37 -0700</bug_when>
    <thetext>Yes, exactly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702473</commentid>
    <comment_count>23</comment_count>
      <attachid>412534</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-28 13:33:12 -0700</bug_when>
    <thetext>Comment on attachment 412534
Patch

Logic LGTM. Take a look at the comments below before landing to
avoid breaking the GTK4 build.

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

&gt; Source/WebCore/platform/PlatformWheelEvent.h:-144
&gt; -#if PLATFORM(COCOA) || PLATFORM(GTK) || USE(LIBWPE)

Nice to see conditional compilation guards go away \o/

&gt; Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp:74
&gt; +            if (auto* device = gdk_event_get_source_device(reinterpret_cast&lt;GdkEvent*&gt;(event)))

This function is gone in GTK4, so this will break builds configured with
USE_GTK4=ON. The function is now gdk_event_get_device() and does exactly
the same, so we can add in Source/WebCore/platform/gtk/GtkVersioning.h a
definition of gdk_event_get_device() which when building for GTK3 calls
gdk_event_get_source_device() — there are other similar functions already
in that header 😉️

&gt; Source/WebKit/Shared/gtk/WebEventFactory.cpp:288
&gt; +            if (auto* device = gdk_event_get_source_device(event))

Same here :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702654</commentid>
    <comment_count>24</comment_count>
      <attachid>412534</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-29 02:09:49 -0700</bug_when>
    <thetext>Comment on attachment 412534
Patch

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

&gt; Source/WebCore/platform/ScrollAnimator.h:75
&gt; +    virtual bool scrollWithoutAnimation(ScrollbarOrientation, ScrollGranularity, float step, float multiplier);

Why is this virtual? and public?

&gt;&gt; Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp:74
&gt;&gt; +            if (auto* device = gdk_event_get_source_device(reinterpret_cast&lt;GdkEvent*&gt;(event)))
&gt; 
&gt; This function is gone in GTK4, so this will break builds configured with
&gt; USE_GTK4=ON. The function is now gdk_event_get_device() and does exactly
&gt; the same, so we can add in Source/WebCore/platform/gtk/GtkVersioning.h a
&gt; definition of gdk_event_get_device() which when building for GTK3 calls
&gt; gdk_event_get_source_device() — there are other similar functions already
&gt; in that header 😉️

I&apos;m pretty sure this entire file is death code nowadays, we no longer use GdkEvents in the WebProcess, so this constructor is never used. So this can be just removed, either as part of this commit or a follow up one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702666</commentid>
    <comment_count>25</comment_count>
      <attachid>412630</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-29 03:47:55 -0700</bug_when>
    <thetext>Created attachment 412630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702668</commentid>
    <comment_count>26</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2020-10-29 03:51:53 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #24)
&gt; Comment on attachment 412534 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=412534&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/ScrollAnimator.h:75
&gt; &gt; +    virtual bool scrollWithoutAnimation(ScrollbarOrientation, ScrollGranularity, float step, float multiplier);
&gt; 
&gt; Why is this virtual? and public?

No reason for this to be virtual, I&apos;ve changed that (and if it ever needs overriding, it can be changed then). I think it should be public though, to match with the scrollToOffset API, to make the comment above a bit less ambiguous, and I can imagine wanting to scroll directly and bypass animation.

&gt; &gt;&gt; Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp:74
&gt; &gt;&gt; +            if (auto* device = gdk_event_get_source_device(reinterpret_cast&lt;GdkEvent*&gt;(event)))
&gt; &gt; 
&gt; &gt; This function is gone in GTK4, so this will break builds configured with
&gt; &gt; USE_GTK4=ON. The function is now gdk_event_get_device() and does exactly
&gt; &gt; the same, so we can add in Source/WebCore/platform/gtk/GtkVersioning.h a
&gt; &gt; definition of gdk_event_get_device() which when building for GTK3 calls
&gt; &gt; gdk_event_get_source_device() — there are other similar functions already
&gt; &gt; in that header 😉️
&gt; 
&gt; I&apos;m pretty sure this entire file is death code nowadays, we no longer use
&gt; GdkEvents in the WebProcess, so this constructor is never used. So this can
&gt; be just removed, either as part of this commit or a follow up one.

Removed, thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702673</commentid>
    <comment_count>27</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-29 04:23:50 -0700</bug_when>
    <thetext>Committed r269143: &lt;https://trac.webkit.org/changeset/269143&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412630.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412440</attachid>
            <date>2020-10-27 10:29:05 -0700</date>
            <delta_ts>2020-10-28 02:51:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218133-20201027172904.patch</filename>
            <type>text/plain</type>
            <size>6008</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZmNjE3Y2QyMWQ1YzU5
MTI3ZmMyZGIxZTVjMTMwOTM4NjFmMTY3Yi4uMzdkNjhiZjkzNmUzY2Y0NjVkMDg2NDdmYWMzMGQy
MTJmMmQ1ODY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEwLTI3ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xs
aW5nIHNob3VsZCBub3QgYXBwbHkgdG8gY29udGludW91cyBzY3JvbGxpbmcgd2l0aCBzeW5jIHNj
cm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE4MTMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVzcGVjdCBQbGF0Zm9ybVdoZWVsRXZlbnQuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyBpbiB0
aGUgYmFzZQorICAgICAgICBTY3JvbGxBbmltYXRvciBjbGFzcywgYW5kIG1ha2Ugc3VyZSB0aGUg
ZmxhZyBpcyBzZXQgY29ycmVjdGx5IGZvcgorICAgICAgICBHZGtFdmVudC4KKworICAgICAgICAq
IHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1XaGVlbEV2ZW50OjpzZXRIYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRvcjo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzY3JvbGxX
aXRob3V0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpoYW5k
bGVXaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQpOgorCiAyMDIw
LTEwLTI3ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0g
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9vZmZzY3JlZW4vbGlu
ZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC5odG1sIGlzIGEgZmxha3kgY3Jhc2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKaW5kZXggYWYx
YzUzOTYzMWIzYmY1NmQxM2U4YzE4NWFiN2E1MWRjMWJjNDMzOS4uNmVjM2MyMjQyZWQyYzM0YWNh
NmQ4Y2Q4MDRiZWI5MzVjNzc2YmZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1XaGVlbEV2ZW50LmgKQEAgLTE0MSwxMCArMTQxLDggQEAgcHVibGljOgogICAgIGV4cGxp
Y2l0IFBsYXRmb3JtV2hlZWxFdmVudChHZGtFdmVudFNjcm9sbCopOwogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKSB8fCBVU0UoTElCV1BFKQogICAgIGJvb2wg
aGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUHJlY2lzZVNj
cm9sbGluZ0RlbHRhczsgfQogICAgIHZvaWQgc2V0SGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyhi
b29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMpIHsgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVs
dGFzID0gaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsgfQotI2VuZGlmCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICB1bnNpZ25lZCBzY3JvbGxDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
b2xsQ291bnQ7IH0KQEAgLTE5Niw5ICsxOTQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2UgbV9waGFzZSB7IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSB9Owog
ICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIG1fbW9tZW50dW1QaGFzZSB7IFBsYXRmb3JtV2hl
ZWxFdmVudFBoYXNlTm9uZSB9OwogI2VuZGlmCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRG
T1JNKEdUSykgfHwgVVNFKExJQldQRSkKICAgICBib29sIG1faGFzUHJlY2lzZVNjcm9sbGluZ0Rl
bHRhcyB7IGZhbHNlIH07Ci0jZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB1bnNpZ25l
ZCBtX3Njcm9sbENvdW50IHsgMCB9OwogICAgIGZsb2F0IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGlu
Z0RlbHRhWCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNw
cAppbmRleCBmNTk2MmZmMTA1YjYzNmFkZjE0ODFhZTQ3NWZmYTYxNzQ5OTc0ODYwLi5lMWY3OTU2
Mzg4ZjVhODBlY2E4OWVmNmI3YjU5MzZjMzJiYTk3OWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBAIC04MCw3ICs4MCwxMiBAQCBTY3JvbGxBbmltYXRv
cjo6flNjcm9sbEFuaW1hdG9yKCkKICNlbmRpZgogfQogCi1ib29sIFNjcm9sbEFuaW1hdG9yOjpz
Y3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5
LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyKQorYm9vbCBTY3JvbGxBbmltYXRvcjo6c2Ny
b2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBn
cmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikKK3sKKyAgICByZXR1cm4g
c2Nyb2xsV2l0aG91dEFuaW1hdGlvbihvcmllbnRhdGlvbiwgZ3JhbnVsYXJpdHksIHN0ZXAsIG11
bHRpcGxpZXIpOworfQorCitib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxXaXRob3V0QW5pbWF0
aW9uKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwg
ZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikKIHsKICAgICBGbG9hdFBvaW50IGN1cnJlbnRQ
b3NpdGlvbiA9IHRoaXMtPmN1cnJlbnRQb3NpdGlvbigpOwogICAgIEZsb2F0U2l6ZSBkZWx0YTsK
QEAgLTE3Niw3ICsxODEsMTAgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVu
dChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0
aXZlKQogICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtZGVsdGFZOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgc2Nyb2xsKFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgdmVy
dGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZKTsKKyAgICAgICAgICAgIGlmIChl
Lmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSkKKyAgICAgICAgICAgICAgICBzY3JvbGxXaXRo
b3V0QW5pbWF0aW9uKFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgdmVydGljYWxTY3Jv
bGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBzY3JvbGwoVmVydGljYWxTY3JvbGxiYXIsIGdyYW51bGFyaXR5LCB2ZXJ0aWNhbFNj
cm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KGRlbHRhWCkgewpAQCAtMTg2LDcgKzE5NCwxMCBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5k
bGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKICAgICAgICAgICAgICAg
ICBpZiAobmVnYXRpdmUpCiAgICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IC1kZWx0YVg7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwgZ3Jh
bnVsYXJpdHksIGhvcml6b250YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFYKTsKKyAg
ICAgICAgICAgIGlmIChlLmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSkKKyAgICAgICAgICAg
ICAgICBzY3JvbGxXaXRob3V0QW5pbWF0aW9uKEhvcml6b250YWxTY3JvbGxiYXIsIGdyYW51bGFy
aXR5LCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2Nyb2xsKEhvcml6b250YWxTY3JvbGxiYXIsIGdy
YW51bGFyaXR5LCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCk7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGhhbmRsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCBlZjM5OGYwNzExYjkxODQ1MmU5YjlhYmEyZDQxMDdk
MzU5MDIzNmIyLi40NTliNzU0NDYwZmU2YzFkZTBjMmVjNGQxMDQ1OThhZWRmNTI5ZmI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTcyLDYgKzcyLDcgQEAg
cHVibGljOgogICAgIC8vIGRlc3RpbmF0aW9uIGFuZCByZXR1cm5zIHRydWUuICBTY3JvbGxpbmcg
bWF5IGJlIGltbWVkaWF0ZSBvciBhbmltYXRlZC4KICAgICAvLyBUaGUgYmFzZSBjbGFzcyBpbXBs
ZW1lbnRhdGlvbiBhbHdheXMgc2Nyb2xscyBpbW1lZGlhdGVseSwgbmV2ZXIgYW5pbWF0ZXMuCiAg
ICAgdmlydHVhbCBib29sIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVs
YXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpOworICAgIHZpcnR1YWwgYm9vbCBz
Y3JvbGxXaXRob3V0QW5pbWF0aW9uKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxh
cml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcik7CiAKICAgICB2b2lkIHNjcm9sbFRv
T2Zmc2V0KGNvbnN0IEZsb2F0UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG9PZmZz
ZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1BsYXRmb3JtV2hlZWxFdmVudEd0ay5jcHAKaW5kZXggZjY2YWEwN2Y2ZGE1YjJmOWE1
NWU3ODEwN2NiMzVhZWExOTU0ZjM4ZC4uOTk5ZjdlNmVhNGU5MmRiNjgxOTE4Y2Y3N2M4OWZjNTU0
MTYzM2IwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3Jt
V2hlZWxFdmVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRm
b3JtV2hlZWxFdmVudEd0ay5jcHAKQEAgLTkwLDYgKzkwLDcgQEAgUGxhdGZvcm1XaGVlbEV2ZW50
OjpQbGF0Zm9ybVdoZWVsRXZlbnQoR2RrRXZlbnRTY3JvbGwqIGV2ZW50KQogICAgICAgICAgICAg
bV9kZWx0YVggPSAtZGVsdGE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHREtf
U0NST0xMX1NNT09USDoKKyAgICAgICAgICAgIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyA9
IHRydWU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412515</attachid>
            <date>2020-10-28 02:51:40 -0700</date>
            <delta_ts>2020-10-28 09:21:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218133-20201028095139.patch</filename>
            <type>text/plain</type>
            <size>6144</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZmNjE3Y2QyMWQ1YzU5
MTI3ZmMyZGIxZTVjMTMwOTM4NjFmMTY3Yi4uMzdkNjhiZjkzNmUzY2Y0NjVkMDg2NDdmYWMzMGQy
MTJmMmQ1ODY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEwLTI3ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xs
aW5nIHNob3VsZCBub3QgYXBwbHkgdG8gY29udGludW91cyBzY3JvbGxpbmcgd2l0aCBzeW5jIHNj
cm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE4MTMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVzcGVjdCBQbGF0Zm9ybVdoZWVsRXZlbnQuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyBpbiB0
aGUgYmFzZQorICAgICAgICBTY3JvbGxBbmltYXRvciBjbGFzcywgYW5kIG1ha2Ugc3VyZSB0aGUg
ZmxhZyBpcyBzZXQgY29ycmVjdGx5IGZvcgorICAgICAgICBHZGtFdmVudC4KKworICAgICAgICAq
IHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1XaGVlbEV2ZW50OjpzZXRIYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRvcjo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzY3JvbGxX
aXRob3V0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpoYW5k
bGVXaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQpOgorCiAyMDIw
LTEwLTI3ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0g
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9vZmZzY3JlZW4vbGlu
ZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC5odG1sIGlzIGEgZmxha3kgY3Jhc2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKaW5kZXggYWYx
YzUzOTYzMWIzYmY1NmQxM2U4YzE4NWFiN2E1MWRjMWJjNDMzOS4uNmVjM2MyMjQyZWQyYzM0YWNh
NmQ4Y2Q4MDRiZWI5MzVjNzc2YmZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1XaGVlbEV2ZW50LmgKQEAgLTE0MSwxMCArMTQxLDggQEAgcHVibGljOgogICAgIGV4cGxp
Y2l0IFBsYXRmb3JtV2hlZWxFdmVudChHZGtFdmVudFNjcm9sbCopOwogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKSB8fCBVU0UoTElCV1BFKQogICAgIGJvb2wg
aGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUHJlY2lzZVNj
cm9sbGluZ0RlbHRhczsgfQogICAgIHZvaWQgc2V0SGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyhi
b29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMpIHsgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVs
dGFzID0gaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsgfQotI2VuZGlmCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICB1bnNpZ25lZCBzY3JvbGxDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
b2xsQ291bnQ7IH0KQEAgLTE5Niw5ICsxOTQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2UgbV9waGFzZSB7IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSB9Owog
ICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIG1fbW9tZW50dW1QaGFzZSB7IFBsYXRmb3JtV2hl
ZWxFdmVudFBoYXNlTm9uZSB9OwogI2VuZGlmCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRG
T1JNKEdUSykgfHwgVVNFKExJQldQRSkKICAgICBib29sIG1faGFzUHJlY2lzZVNjcm9sbGluZ0Rl
bHRhcyB7IGZhbHNlIH07Ci0jZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB1bnNpZ25l
ZCBtX3Njcm9sbENvdW50IHsgMCB9OwogICAgIGZsb2F0IG1fdW5hY2NlbGVyYXRlZFNjcm9sbGlu
Z0RlbHRhWCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNw
cAppbmRleCBmNTk2MmZmMTA1YjYzNmFkZjE0ODFhZTQ3NWZmYTYxNzQ5OTc0ODYwLi5lMWY3OTU2
Mzg4ZjVhODBlY2E4OWVmNmI3YjU5MzZjMzJiYTk3OWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCkBAIC04MCw3ICs4MCwxMiBAQCBTY3JvbGxBbmltYXRv
cjo6flNjcm9sbEFuaW1hdG9yKCkKICNlbmRpZgogfQogCi1ib29sIFNjcm9sbEFuaW1hdG9yOjpz
Y3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5
LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyKQorYm9vbCBTY3JvbGxBbmltYXRvcjo6c2Ny
b2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBn
cmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikKK3sKKyAgICByZXR1cm4g
c2Nyb2xsV2l0aG91dEFuaW1hdGlvbihvcmllbnRhdGlvbiwgZ3JhbnVsYXJpdHksIHN0ZXAsIG11
bHRpcGxpZXIpOworfQorCitib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxXaXRob3V0QW5pbWF0
aW9uKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwg
ZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikKIHsKICAgICBGbG9hdFBvaW50IGN1cnJlbnRQ
b3NpdGlvbiA9IHRoaXMtPmN1cnJlbnRQb3NpdGlvbigpOwogICAgIEZsb2F0U2l6ZSBkZWx0YTsK
QEAgLTE3Niw3ICsxODEsMTAgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVu
dChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0
aXZlKQogICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtZGVsdGFZOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgc2Nyb2xsKFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgdmVy
dGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZKTsKKyAgICAgICAgICAgIGlmIChl
Lmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSkKKyAgICAgICAgICAgICAgICBzY3JvbGxXaXRo
b3V0QW5pbWF0aW9uKFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgdmVydGljYWxTY3Jv
bGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBzY3JvbGwoVmVydGljYWxTY3JvbGxiYXIsIGdyYW51bGFyaXR5LCB2ZXJ0aWNhbFNj
cm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KGRlbHRhWCkgewpAQCAtMTg2LDcgKzE5NCwxMCBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5k
bGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKICAgICAgICAgICAgICAg
ICBpZiAobmVnYXRpdmUpCiAgICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IC1kZWx0YVg7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwgZ3Jh
bnVsYXJpdHksIGhvcml6b250YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFYKTsKKyAg
ICAgICAgICAgIGlmIChlLmhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSkKKyAgICAgICAgICAg
ICAgICBzY3JvbGxXaXRob3V0QW5pbWF0aW9uKEhvcml6b250YWxTY3JvbGxiYXIsIGdyYW51bGFy
aXR5LCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2Nyb2xsKEhvcml6b250YWxTY3JvbGxiYXIsIGdy
YW51bGFyaXR5LCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCk7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGhhbmRsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCBlZjM5OGYwNzExYjkxODQ1MmU5YjlhYmEyZDQxMDdk
MzU5MDIzNmIyLi40NTliNzU0NDYwZmU2YzFkZTBjMmVjNGQxMDQ1OThhZWRmNTI5ZmI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTcyLDYgKzcyLDcgQEAg
cHVibGljOgogICAgIC8vIGRlc3RpbmF0aW9uIGFuZCByZXR1cm5zIHRydWUuICBTY3JvbGxpbmcg
bWF5IGJlIGltbWVkaWF0ZSBvciBhbmltYXRlZC4KICAgICAvLyBUaGUgYmFzZSBjbGFzcyBpbXBs
ZW1lbnRhdGlvbiBhbHdheXMgc2Nyb2xscyBpbW1lZGlhdGVseSwgbmV2ZXIgYW5pbWF0ZXMuCiAg
ICAgdmlydHVhbCBib29sIHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVs
YXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpOworICAgIHZpcnR1YWwgYm9vbCBz
Y3JvbGxXaXRob3V0QW5pbWF0aW9uKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxh
cml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcik7CiAKICAgICB2b2lkIHNjcm9sbFRv
T2Zmc2V0KGNvbnN0IEZsb2F0UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG9PZmZz
ZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxDbGFtcGluZyA9IFNj
cm9sbENsYW1waW5nOjpDbGFtcGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1BsYXRmb3JtV2hlZWxFdmVudEd0ay5jcHAKaW5kZXggZjY2YWEwN2Y2ZGE1YjJmOWE1
NWU3ODEwN2NiMzVhZWExOTU0ZjM4ZC4uNjAxNTAzNDBiMjc2MWI2YjAxYmQ5NzA0NjQwNmE1ZTdj
NmEzZTYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3Jt
V2hlZWxFdmVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRm
b3JtV2hlZWxFdmVudEd0ay5jcHAKQEAgLTY3LDYgKzY3LDcgQEAgUGxhdGZvcm1XaGVlbEV2ZW50
OjpQbGF0Zm9ybVdoZWVsRXZlbnQoR2RrRXZlbnRTY3JvbGwqIGV2ZW50KQogCiAgICAgaWYgKCFn
ZGtfZXZlbnRfZ2V0X3Njcm9sbF9kaXJlY3Rpb24ocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+
KGV2ZW50KSwgJmRpcmVjdGlvbikpIHsKICAgICAgICAgZGlyZWN0aW9uID0gR0RLX1NDUk9MTF9T
TU9PVEg7CisgICAgICAgIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyA9IHRydWU7CiAgICAg
ICAgIGdkb3VibGUgZGVsdGFYLCBkZWx0YVk7CiAgICAgICAgIGlmIChnZGtfZXZlbnRfZ2V0X3Nj
cm9sbF9kZWx0YXMocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGV2ZW50KSwgJmRlbHRhWCwg
JmRlbHRhWSkpIHsKICAgICAgICAgICAgIG1fZGVsdGFYID0gLWRlbHRhWDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412534</attachid>
            <date>2020-10-28 09:21:20 -0700</date>
            <delta_ts>2020-10-29 03:47:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218133-20201028162119.patch</filename>
            <type>text/plain</type>
            <size>8341</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZmNjE3Y2QyMWQ1YzU5
MTI3ZmMyZGIxZTVjMTMwOTM4NjFmMTY3Yi4uN2E2NTcxZjIxYmU3ZDAyMTUzMWM3OTEyYTM3Njdl
MzRiMTE1ZDk3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEwLTI4ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xs
aW5nIHNob3VsZCBub3QgYXBwbHkgdG8gY29udGludW91cyBzY3JvbGxpbmcgd2l0aCBzeW5jIHNj
cm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE4MTMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVzcGVjdCBQbGF0Zm9ybVdoZWVsRXZlbnQuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyBpbiB0
aGUgYmFzZQorICAgICAgICBTY3JvbGxBbmltYXRvciBjbGFzcywgYW5kIG1ha2Ugc3VyZSB0aGUg
ZmxhZyBpcyBzZXQgY29ycmVjdGx5IGZvcgorICAgICAgICBHZGtFdmVudC4KKworICAgICAgICAq
IHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1XaGVlbEV2ZW50OjpzZXRIYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRvcjo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzY3JvbGxX
aXRob3V0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpoYW5k
bGVXaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQpOgorCiAyMDIw
LTEwLTI3ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0g
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9vZmZzY3JlZW4vbGlu
ZS1zdHlsZXMvMmQubGluZS53aWR0aC50cmFuc2Zvcm1lZC5odG1sIGlzIGEgZmxha3kgY3Jhc2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMDc3YmFkNjdmMDIzYmFiZTZiYTM4YmVmZmZlYzczZTQ5Yzk2YzhlMS4uYzkw
MzIyMGUxN2NhMTdkMDYwMDJjYjkyNWVkNjRiZWQ0MjcyN2VmMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMC0xMC0yOCAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dUS10gU21vb3RoIHNjcm9sbGluZyBzaG91bGQgbm90IGFwcGx5IHRvIGNvbnRpbnVv
dXMgc2Nyb2xsaW5nIHdpdGggc3luYyBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODEzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldCBoYXNQcmVjaXNlU2Nyb2xsRGVsdGFzIGFwcHJv
cHJpYXRlbHkgb24gc2Nyb2xsIGV2ZW50cyBjcmVhdGVkIGZyb20gR2RrRXZlbnQuCisKKyAgICAg
ICAgKiBTaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisKIDIwMjAtMTAtMjYgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBW
UDkgUHJvZmlsZSAyICgxMC1iaXQgY29sb3IpIGluIFdlYlJUQwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAppbmRleCBhZjFjNTM5NjMxYjNiZjU2ZDEzZThj
MTg1YWI3YTUxZGMxYmM0MzM5Li42ZWMzYzIyNDJlZDJjMzRhY2E2ZDhjZDgwNGJlYjkzNWM3NzZi
ZmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZl
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaApA
QCAtMTQxLDEwICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgUGxhdGZvcm1XaGVlbEV2
ZW50KEdka0V2ZW50U2Nyb2xsKik7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQ
TEFURk9STShHVEspIHx8IFVTRShMSUJXUEUpCiAgICAgYm9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5n
RGVsdGFzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOyB9CiAg
ICAgdm9pZCBzZXRIYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKGJvb2wgaGFzUHJlY2lzZVNjcm9s
bGluZ0RlbHRhcykgeyBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMgPSBoYXNQcmVjaXNlU2Ny
b2xsaW5nRGVsdGFzOyB9Ci0jZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHVuc2ln
bmVkIHNjcm9sbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3VudDsgfQpAQCAtMTk2
LDkgKzE5NCw3IEBAIHByb3RlY3RlZDoKICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtX3Bo
YXNlIHsgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lIH07CiAgICAgUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlIHsgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lIH07
CiAjZW5kaWYKLSNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKSB8fCBVU0UoTElC
V1BFKQogICAgIGJvb2wgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzIHsgZmFsc2UgfTsKLSNl
bmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHVuc2lnbmVkIG1fc2Nyb2xsQ291bnQgeyAw
IH07CiAgICAgZmxvYXQgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFYIHsgMCB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IGY1OTYyZmYxMDVi
NjM2YWRmMTQ4MWFlNDc1ZmZhNjE3NDk5NzQ4NjAuLmUxZjc5NTYzODhmNWE4MGVjYTg5ZWY2Yjdi
NTkzNmMzMmJhOTc5ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5jcHAKQEAgLTgwLDcgKzgwLDEyIEBAIFNjcm9sbEFuaW1hdG9yOjp+U2Nyb2xsQW5pbWF0b3Io
KQogI2VuZGlmCiB9CiAKLWJvb2wgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbChTY3JvbGxiYXJPcmll
bnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0
IG11bHRpcGxpZXIpCitib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGwoU2Nyb2xsYmFyT3JpZW50
YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBmbG9hdCBz
dGVwLCBmbG9hdCBtdWx0aXBsaWVyKQoreworICAgIHJldHVybiBzY3JvbGxXaXRob3V0QW5pbWF0
aW9uKG9yaWVudGF0aW9uLCBncmFudWxhcml0eSwgc3RlcCwgbXVsdGlwbGllcik7Cit9CisKK2Jv
b2wgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFdpdGhvdXRBbmltYXRpb24oU2Nyb2xsYmFyT3JpZW50
YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBmbG9hdCBt
dWx0aXBsaWVyKQogewogICAgIEZsb2F0UG9pbnQgY3VycmVudFBvc2l0aW9uID0gdGhpcy0+Y3Vy
cmVudFBvc2l0aW9uKCk7CiAgICAgRmxvYXRTaXplIGRlbHRhOwpAQCAtMTc2LDcgKzE4MSwxMCBA
QCBib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgZSkKICAgICAgICAgICAgICAgICBpZiAobmVnYXRpdmUpCiAgICAgICAgICAgICAg
ICAgICAgIGRlbHRhWSA9IC1kZWx0YVk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzY3Jv
bGwoVmVydGljYWxTY3JvbGxiYXIsIGdyYW51bGFyaXR5LCB2ZXJ0aWNhbFNjcm9sbGJhci0+cGl4
ZWxTdGVwKCksIC1kZWx0YVkpOworICAgICAgICAgICAgaWYgKGUuaGFzUHJlY2lzZVNjcm9sbGlu
Z0RlbHRhcygpKQorICAgICAgICAgICAgICAgIHNjcm9sbFdpdGhvdXRBbmltYXRpb24oVmVydGlj
YWxTY3JvbGxiYXIsIGdyYW51bGFyaXR5LCB2ZXJ0aWNhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCks
IC1kZWx0YVkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHNjcm9sbChWZXJ0
aWNhbFNjcm9sbGJhciwgZ3JhbnVsYXJpdHksIHZlcnRpY2FsU2Nyb2xsYmFyLT5waXhlbFN0ZXAo
KSwgLWRlbHRhWSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZGVsdGFYKSB7CkBAIC0xODYs
NyArMTk0LDEwIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiBlKQogICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2ZSkKICAg
ICAgICAgICAgICAgICAgICAgZGVsdGFYID0gLWRlbHRhWDsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIHNjcm9sbChIb3Jpem9udGFsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgaG9yaXpvbnRh
bFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgpOworICAgICAgICAgICAgaWYgKGUuaGFz
UHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpKQorICAgICAgICAgICAgICAgIHNjcm9sbFdpdGhvdXRB
bmltYXRpb24oSG9yaXpvbnRhbFNjcm9sbGJhciwgZ3JhbnVsYXJpdHksIGhvcml6b250YWxTY3Jv
bGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFYKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwgZ3JhbnVsYXJpdHksIGhvcml6b250
YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFYKTsKICAgICAgICAgfQogICAgIH0KICAg
ICByZXR1cm4gaGFuZGxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5o
CmluZGV4IGVmMzk4ZjA3MTFiOTE4NDUyZTliOWFiYTJkNDEwN2QzNTkwMjM2YjIuLjQ1OWI3NTQ0
NjBmZTZjMWRlMGMyZWM0ZDEwNDU5OGFlZGY1MjlmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3IuaApAQCAtNzIsNiArNzIsNyBAQCBwdWJsaWM6CiAgICAgLy8gZGVz
dGluYXRpb24gYW5kIHJldHVybnMgdHJ1ZS4gIFNjcm9sbGluZyBtYXkgYmUgaW1tZWRpYXRlIG9y
IGFuaW1hdGVkLgogICAgIC8vIFRoZSBiYXNlIGNsYXNzIGltcGxlbWVudGF0aW9uIGFsd2F5cyBz
Y3JvbGxzIGltbWVkaWF0ZWx5LCBuZXZlciBhbmltYXRlcy4KICAgICB2aXJ0dWFsIGJvb2wgc2Ny
b2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwg
ZmxvYXQgbXVsdGlwbGllcik7CisgICAgdmlydHVhbCBib29sIHNjcm9sbFdpdGhvdXRBbmltYXRp
b24oU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBm
bG9hdCBtdWx0aXBsaWVyKTsKIAogICAgIHZvaWQgc2Nyb2xsVG9PZmZzZXQoY29uc3QgRmxvYXRQ
b2ludCYpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24o
Y29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1w
ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hl
ZWxFdmVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1XaGVl
bEV2ZW50R3RrLmNwcAppbmRleCBmNjZhYTA3ZjZkYTViMmY5YTU1ZTc4MTA3Y2IzNWFlYTE5NTRm
MzhkLi5mZGEzOTcxMDcwY2M5NGY1MWFkYTI2YzY1ZDFhY2MyOTZlNDY0MjYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1XaGVlbEV2ZW50R3RrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1XaGVlbEV2ZW50R3RrLmNw
cApAQCAtNzEsNiArNzEsOCBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVu
dChHZGtFdmVudFNjcm9sbCogZXZlbnQpCiAgICAgICAgIGlmIChnZGtfZXZlbnRfZ2V0X3Njcm9s
bF9kZWx0YXMocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGV2ZW50KSwgJmRlbHRhWCwgJmRl
bHRhWSkpIHsKICAgICAgICAgICAgIG1fZGVsdGFYID0gLWRlbHRhWDsKICAgICAgICAgICAgIG1f
ZGVsdGFZID0gLWRlbHRhWTsKKyAgICAgICAgICAgIGlmIChhdXRvKiBkZXZpY2UgPSBnZGtfZXZl
bnRfZ2V0X3NvdXJjZV9kZXZpY2UocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGV2ZW50KSkp
CisgICAgICAgICAgICAgICAgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzID0gZ2RrX2Rldmlj
ZV9nZXRfc291cmNlKGRldmljZSkgIT0gR0RLX1NPVVJDRV9NT1VTRTsKICAgICAgICAgfQogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9y
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcAppbmRl
eCBjYTVjZTQ4YTg5OWQ1OTk4YWExOTM0NTNlZmY2MmMyNjAxNWYxNzI5Li40OGZlNzJmY2EwMjMx
NzJkNzE2ZjM0OGI4NGE2YTU4Y2Y5YThmYTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9n
dGsvV2ViRXZlbnRGYWN0b3J5LmNwcApAQCAtMjgwLDYgKzI4MCwxNiBAQCBXZWJXaGVlbEV2ZW50
IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudChjb25zdCBHZGtFdmVudCogZXZl
bnQsIGNvbnN0CiAgICAgZmxvYXQgc3RlcCA9IHN0YXRpY19jYXN0PGZsb2F0PihTY3JvbGxiYXI6
OnBpeGVsc1BlckxpbmVTdGVwKCkpOwogICAgIEZsb2F0U2l6ZSBkZWx0YSh3aGVlbFRpY2tzLndp
ZHRoKCkgKiBzdGVwLCB3aGVlbFRpY2tzLmhlaWdodCgpICogc3RlcCk7CiAKKyAgICBib29sIGhh
c1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMgPSBmYWxzZTsKKyAgICBHZGtTY3JvbGxEaXJlY3Rpb24g
ZGlyZWN0aW9uOworICAgIGlmICghZ2RrX2V2ZW50X2dldF9zY3JvbGxfZGlyZWN0aW9uKGV2ZW50
LCAmZGlyZWN0aW9uKSkgeworICAgICAgICBkb3VibGUgZGVsdGFYLCBkZWx0YVk7CisgICAgICAg
IGlmIChnZGtfZXZlbnRfZ2V0X3Njcm9sbF9kZWx0YXMoZXZlbnQsICZkZWx0YVgsICZkZWx0YVkp
KSB7CisgICAgICAgICAgICBpZiAoYXV0byogZGV2aWNlID0gZ2RrX2V2ZW50X2dldF9zb3VyY2Vf
ZGV2aWNlKGV2ZW50KSkKKyAgICAgICAgICAgICAgICBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFz
ID0gZ2RrX2RldmljZV9nZXRfc291cmNlKGRldmljZSkgIT0gR0RLX1NPVVJDRV9NT1VTRTsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIHJldHVybiBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVl
bCwKICAgICAgICAgcG9zaXRpb24sCiAgICAgICAgIGdsb2JhbFBvc2l0aW9uLApAQCAtMjg4LDcg
KzI5OCw3IEBAIFdlYldoZWVsRXZlbnQgV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJXaGVlbEV2
ZW50KGNvbnN0IEdka0V2ZW50KiBldmVudCwgY29uc3QKICAgICAgICAgcGhhc2UsCiAgICAgICAg
IG1vbWVudHVtUGhhc2UsCiAgICAgICAgIFdlYldoZWVsRXZlbnQ6OlNjcm9sbEJ5UGl4ZWxXaGVl
bEV2ZW50LAotICAgICAgICBmYWxzZSwKKyAgICAgICAgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
cywKICAgICAgICAgbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpLAogICAgICAgICB3YWxsVGltZUZv
ckV2ZW50KGV2ZW50KSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412630</attachid>
            <date>2020-10-29 03:47:55 -0700</date>
            <delta_ts>2020-10-29 04:23:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218133-20201029104754.patch</filename>
            <type>text/plain</type>
            <size>13981</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZmNjE3Y2QyMWQ1YzU5
MTI3ZmMyZGIxZTVjMTMwOTM4NjFmMTY3Yi4uZjhhNjc1ZWNlZjYyNmRlYzYxODU3ZDFmZWY5NTI1
Mzk5YWY2MTk0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTEwLTI5ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xs
aW5nIHNob3VsZCBub3QgYXBwbHkgdG8gY29udGludW91cyBzY3JvbGxpbmcgd2l0aCBzeW5jIHNj
cm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE4MTMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRyaWFuIFBlcmV6IGRlIENhc3Ryby4KKwor
ICAgICAgICBSZXNwZWN0IFBsYXRmb3JtV2hlZWxFdmVudC5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVs
dGFzIGluIHRoZSBiYXNlCisgICAgICAgIFNjcm9sbEFuaW1hdG9yIGNsYXNzLCBhbmQgbWFrZSBz
dXJlIHRoZSBmbGFnIGlzIHNldCBjb3JyZWN0bHkgZm9yCisgICAgICAgIEdka0V2ZW50LgorCisg
ICAgICAgICogU291cmNlc0dUSy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1XaGVl
bEV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OnNldEhhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzY3JvbGwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFdpdGhvdXRBbmltYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0d0
a1ZlcnNpb25pbmcuaDoKKyAgICAgICAgKGdka19ldmVudF9nZXRfc291cmNlX2RldmljZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hlZWxFdmVudEd0ay5jcHA6IFJlbW92ZWQu
CisKIDIwMjAtMTAtMjcgIENocmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHTElCXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2FudmFzL29mZnNj
cmVlbi9saW5lLXN0eWxlcy8yZC5saW5lLndpZHRoLnRyYW5zZm9ybWVkLmh0bWwgaXMgYSBmbGFr
eSBjcmFzaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCAwNzdiYWQ2N2YwMjNiYWJlNmJhMzhiZWZmZmVjNzNlNDljOTZj
OGUxLi5mZmRmN2Q3OGVlNWQyOTYxMjQ1MjZmNjc1ZTgxY2RjNmNkYTIwODIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI5ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBTbW9vdGggc2Nyb2xsaW5nIHNob3VsZCBub3QgYXBwbHkgdG8g
Y29udGludW91cyBzY3JvbGxpbmcgd2l0aCBzeW5jIHNjcm9sbGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MTMzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWRyaWFuIFBlcmV6IGRlIENhc3Ryby4KKworICAgICAgICBTZXQgaGFzUHJlY2lzZVNj
cm9sbERlbHRhcyBhcHByb3ByaWF0ZWx5IG9uIHNjcm9sbCBldmVudHMgY3JlYXRlZCBmcm9tIEdk
a0V2ZW50LgorCisgICAgICAgICogU2hhcmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZlbnQpOgorCiAy
MDIwLTEwLTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgVlA5IFByb2ZpbGUgMiAoMTAtYml0IGNvbG9yKSBpbiBXZWJSVEMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUv
U291cmNlc0dUSy50eHQKaW5kZXggYTlmY2VjYTU2YTlhYzhjODg1MDY5YjFiZjNhMjM5YTUyODg1
Njk5YS4uOWQyYzEyMTYyODY5NWU0NDM2NzA1MjE4ZGQ1ODc2MWRlNzNkZjA5OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlc0dUSy50eHQKQEAgLTExMiw3ICsxMTIsNiBAQCBwbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3Ry
aW5nc0d0ay5jcHAKIHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAogcGxhdGZvcm0vZ3Rr
L1BsYXRmb3JtS2V5Ym9hcmRFdmVudEd0ay5jcHAKIHBsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVl
bkd0ay5jcHAKLXBsYXRmb3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwCiBwbGF0Zm9y
bS9ndGsvUmVuZGVyVGhlbWVHYWRnZXQuY3BwCiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVTY3Jv
bGxiYXIuY3BwCiBwbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCmluZGV4IGFmMWM1Mzk2MzFiM2Jm
NTZkMTNlOGMxODVhYjdhNTFkYzFiYzQzMzkuLjE3NmJiNzM2MjI3OGM2OTEwOGY1ZmEyYzg5YjZk
MGY3N2IyZmUwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3Jt
V2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxF
dmVudC5oCkBAIC0zMCwxMCArMzAsNiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtRXZlbnQuaCIKICNp
bmNsdWRlIDx3dGYvV2luZG93c0V4dHJhcy5oPgogCi0jaWYgUExBVEZPUk0oR1RLKQotdHlwZWRl
ZiBzdHJ1Y3QgX0dka0V2ZW50U2Nyb2xsIEdka0V2ZW50U2Nyb2xsOwotI2VuZGlmCi0KIG5hbWVz
cGFjZSBXVEYgewogY2xhc3MgVGV4dFN0cmVhbTsKIH0KQEAgLTEzNywxNCArMTMzLDggQEAgcHVi
bGljOgogCiAgICAgY29uc3QgRmxvYXRTaXplJiBzY3JvbGxpbmdWZWxvY2l0eSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2Nyb2xsaW5nVmVsb2NpdHk7IH0KIAotI2lmIFBMQVRGT1JNKEdUSykKLSAgICBl
eHBsaWNpdCBQbGF0Zm9ybVdoZWVsRXZlbnQoR2RrRXZlbnRTY3JvbGwqKTsKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdUSykgfHwgVVNFKExJQldQRSkKICAgICBi
b29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSBjb25zdCB7IHJldHVybiBtX2hhc1ByZWNp
c2VTY3JvbGxpbmdEZWx0YXM7IH0KICAgICB2b2lkIHNldEhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0
YXMoYm9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKSB7IG1faGFzUHJlY2lzZVNjcm9sbGlu
Z0RlbHRhcyA9IGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXM7IH0KLSNlbmRpZgogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgdW5zaWduZWQgc2Nyb2xsQ291bnQoKSBjb25zdCB7IHJldHVybiBt
X3Njcm9sbENvdW50OyB9CkBAIC0xOTYsOSArMTg2LDcgQEAgcHJvdGVjdGVkOgogICAgIFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlIG1fcGhhc2UgeyBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUg
fTsKICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtX21vbWVudHVtUGhhc2UgeyBQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZU5vbmUgfTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQ
TEFURk9STShHVEspIHx8IFVTRShMSUJXUEUpCiAgICAgYm9vbCBtX2hhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YXMgeyBmYWxzZSB9OwotI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdW5z
aWduZWQgbV9zY3JvbGxDb3VudCB7IDAgfTsKICAgICBmbG9hdCBtX3VuYWNjZWxlcmF0ZWRTY3Jv
bGxpbmdEZWx0YVggeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ci5jcHAKaW5kZXggZjU5NjJmZjEwNWI2MzZhZGYxNDgxYWU0NzVmZmE2MTc0OTk3NDg2MC4uZTFm
Nzk1NjM4OGY1YTgwZWNhODllZjZiN2I1OTM2YzMyYmE5NzllYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtODAsNyArODAsMTIgQEAgU2Nyb2xsQW5p
bWF0b3I6On5TY3JvbGxBbmltYXRvcigpCiAjZW5kaWYKIH0KIAotYm9vbCBTY3JvbGxBbmltYXRv
cjo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxh
cml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcikKK2Jvb2wgU2Nyb2xsQW5pbWF0b3I6
OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJp
dHkgZ3JhbnVsYXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpCit7CisgICAgcmV0
dXJuIHNjcm9sbFdpdGhvdXRBbmltYXRpb24ob3JpZW50YXRpb24sIGdyYW51bGFyaXR5LCBzdGVw
LCBtdWx0aXBsaWVyKTsKK30KKworYm9vbCBTY3JvbGxBbmltYXRvcjo6c2Nyb2xsV2l0aG91dEFu
aW1hdGlvbihTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJp
dHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpCiB7CiAgICAgRmxvYXRQb2ludCBjdXJy
ZW50UG9zaXRpb24gPSB0aGlzLT5jdXJyZW50UG9zaXRpb24oKTsKICAgICBGbG9hdFNpemUgZGVs
dGE7CkBAIC0xNzYsNyArMTgxLDEwIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVs
RXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBlKQogICAgICAgICAgICAgICAgIGlmIChu
ZWdhdGl2ZSkKICAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gLWRlbHRhWTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHNjcm9sbChWZXJ0aWNhbFNjcm9sbGJhciwgZ3JhbnVsYXJpdHks
IHZlcnRpY2FsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWSk7CisgICAgICAgICAgICBp
ZiAoZS5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCkpCisgICAgICAgICAgICAgICAgc2Nyb2xs
V2l0aG91dEFuaW1hdGlvbihWZXJ0aWNhbFNjcm9sbGJhciwgZ3JhbnVsYXJpdHksIHZlcnRpY2Fs
U2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWSk7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgc2Nyb2xsKFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgdmVydGlj
YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZKTsKICAgICAgICAgfQogCiAgICAgICAg
IGlmIChkZWx0YVgpIHsKQEAgLTE4Niw3ICsxOTQsMTAgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6
aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAg
ICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAtZGVsdGFY
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Nyb2xsKEhvcml6b250YWxTY3JvbGxiYXIs
IGdyYW51bGFyaXR5LCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCk7
CisgICAgICAgICAgICBpZiAoZS5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCkpCisgICAgICAg
ICAgICAgICAgc2Nyb2xsV2l0aG91dEFuaW1hdGlvbihIb3Jpem9udGFsU2Nyb2xsYmFyLCBncmFu
dWxhcml0eSwgaG9yaXpvbnRhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgpOworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHNjcm9sbChIb3Jpem9udGFsU2Nyb2xsYmFy
LCBncmFudWxhcml0eSwgaG9yaXpvbnRhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgp
OwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBoYW5kbGVkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKaW5kZXggZWYzOThmMDcxMWI5MTg0NTJlOWI5YWJhMmQ0
MTA3ZDM1OTAyMzZiMi4uNTlmY2M0ZDQ0OWQzNDQ5NzUyMTU0NGUxMzI4OGUyZTRlODc4NzQxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCkBAIC03Miw2ICs3Miw3
IEBAIHB1YmxpYzoKICAgICAvLyBkZXN0aW5hdGlvbiBhbmQgcmV0dXJucyB0cnVlLiAgU2Nyb2xs
aW5nIG1heSBiZSBpbW1lZGlhdGUgb3IgYW5pbWF0ZWQuCiAgICAgLy8gVGhlIGJhc2UgY2xhc3Mg
aW1wbGVtZW50YXRpb24gYWx3YXlzIHNjcm9sbHMgaW1tZWRpYXRlbHksIG5ldmVyIGFuaW1hdGVz
LgogICAgIHZpcnR1YWwgYm9vbCBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbEdy
YW51bGFyaXR5LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyKTsKKyAgICBib29sIHNjcm9s
bFdpdGhvdXRBbmltYXRpb24oU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5
LCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyKTsKIAogICAgIHZvaWQgc2Nyb2xsVG9PZmZz
ZXQoY29uc3QgRmxvYXRQb2ludCYpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxUb09mZnNldFdp
dGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xs
Q2xhbXBpbmc6OkNsYW1wZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL0d0a1ZlcnNpb25pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJz
aW9uaW5nLmgKaW5kZXggYTA3ODhjOTI5MzZkMGUyNjgwNzY3Yjc4ZTdmYTQyMDVlNjM1ODVhNC4u
N2Y0YjY2MjZhMDdmYTg4OTA0MjM5NzQ4ODA2NzU2YzAzOTUzYzgxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oCkBAIC04MCw2ICs4MCwxMiBAQCBnZGtf
ZXZlbnRfY29weShHZGtFdmVudCogZXZlbnQpCiAgICAgcmV0dXJuIGdka19ldmVudF9yZWYoZXZl
bnQpOwogfQogCitzdGF0aWMgaW5saW5lIEdka0RldmljZSoKK2dka19ldmVudF9nZXRfc291cmNl
X2RldmljZShjb25zdCBHZGtFdmVudCogZXZlbnQpCit7CisgICAgcmV0dXJuIGdka19ldmVudF9n
ZXRfZGV2aWNlKGV2ZW50KTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkCiBndGtfd2lkZ2V0X3Np
emVfYWxsb2NhdGUoR3RrV2lkZ2V0KiB3aWRnZXQsIEd0a0FsbG9jYXRpb24qIGFsbG9jYXRpb24p
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1XaGVl
bEV2ZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybVdoZWVs
RXZlbnRHdGsuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNjZhYTA3ZjZkYTVi
MmY5YTU1ZTc4MTA3Y2IzNWFlYTE5NTRmMzhkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybVdo
ZWVsRXZlbnRHdGsuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTIwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAwNiBNaWNoYWVsIEVtbWVsIG1pa2UuZW1tZWxAZ21haWwuY29tCi0gKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50
LmgiCi0KLSNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSAiR3RrVXRpbGl0aWVzLmgi
Ci0jaW5jbHVkZSAiR3RrVmVyc2lvbmluZy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRF
dmVudC5oIgotI2luY2x1ZGUgIlNjcm9sbGJhci5oIgotI2luY2x1ZGUgPGdkay9nZGsuaD4KLSNp
bmNsdWRlIDxndGsvZ3RrLmg+Ci0jaW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotLy8gS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB0aGUgb3RoZXIgcGxhdGZv
cm0gZXZlbnQgY29uc3RydWN0b3JzCi1QbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxF
dmVudChHZGtFdmVudFNjcm9sbCogZXZlbnQpCi17Ci0gICAgc3RhdGljIGNvbnN0IGZsb2F0IGRl
bHRhID0gMTsKLSAgICBHZGtNb2RpZmllclR5cGUgc3RhdGU7Ci0KLSAgICBtX3R5cGUgPSBQbGF0
Zm9ybUV2ZW50OjpXaGVlbDsKLSAgICBtX3RpbWVzdGFtcCA9IHdhbGxUaW1lRm9yRXZlbnQoZXZl
bnQpOwotCi0gICAgZ2RrX2V2ZW50X2dldF9zdGF0ZShyZWludGVycHJldF9jYXN0PEdka0V2ZW50
Kj4oZXZlbnQpLCAmc3RhdGUpOwotCi0gICAgaWYgKHN0YXRlICYgR0RLX1NISUZUX01BU0spCi0g
ICAgICAgIG1fbW9kaWZpZXJzLmFkZChNb2RpZmllcjo6U2hpZnRLZXkpOwotICAgIGlmIChzdGF0
ZSAmIEdES19DT05UUk9MX01BU0spCi0gICAgICAgIG1fbW9kaWZpZXJzLmFkZChNb2RpZmllcjo6
Q29udHJvbEtleSk7Ci0gICAgaWYgKHN0YXRlICYgR0RLX01PRDFfTUFTSykKLSAgICAgICAgbV9t
b2RpZmllcnMuYWRkKE1vZGlmaWVyOjpBbHRLZXkpOwotICAgIGlmIChzdGF0ZSAmIEdES19NRVRB
X01BU0spCi0gICAgICAgIG1fbW9kaWZpZXJzLmFkZChNb2RpZmllcjo6TWV0YUtleSk7Ci0gICAg
aWYgKFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6bW9kaWZpZXJzQ29udGFpbkNhcHNMb2NrKHN0YXRl
KSkKLSAgICAgICAgbV9tb2RpZmllcnMuYWRkKFBsYXRmb3JtRXZlbnQ6Ok1vZGlmaWVyOjpDYXBz
TG9ja0tleSk7Ci0KLSAgICBtX2RlbHRhWCA9IDA7Ci0gICAgbV9kZWx0YVkgPSAwOwotICAgIEdk
a1Njcm9sbERpcmVjdGlvbiBkaXJlY3Rpb247Ci0KLSAgICBpZiAoIWdka19ldmVudF9nZXRfc2Ny
b2xsX2RpcmVjdGlvbihyZWludGVycHJldF9jYXN0PEdka0V2ZW50Kj4oZXZlbnQpLCAmZGlyZWN0
aW9uKSkgewotICAgICAgICBkaXJlY3Rpb24gPSBHREtfU0NST0xMX1NNT09USDsKLSAgICAgICAg
Z2RvdWJsZSBkZWx0YVgsIGRlbHRhWTsKLSAgICAgICAgaWYgKGdka19ldmVudF9nZXRfc2Nyb2xs
X2RlbHRhcyhyZWludGVycHJldF9jYXN0PEdka0V2ZW50Kj4oZXZlbnQpLCAmZGVsdGFYLCAmZGVs
dGFZKSkgewotICAgICAgICAgICAgbV9kZWx0YVggPSAtZGVsdGFYOwotICAgICAgICAgICAgbV9k
ZWx0YVkgPSAtZGVsdGFZOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8gRG9jcyBzYXkgYW4g
dXB3YXJkcyBzY3JvbGwgKGF3YXkgZnJvbSB0aGUgdXNlcikgaGFzIGEgcG9zaXRpdmUgZGVsdGEK
LSAgICBpZiAoIW1fZGVsdGFYICYmICFtX2RlbHRhWSkgewotICAgICAgICBzd2l0Y2ggKGRpcmVj
dGlvbikgewotICAgICAgICBjYXNlIEdES19TQ1JPTExfVVA6Ci0gICAgICAgICAgICBtX2RlbHRh
WSA9IGRlbHRhOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgR0RLX1NDUk9MTF9E
T1dOOgotICAgICAgICAgICAgbV9kZWx0YVkgPSAtZGVsdGE7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBHREtfU0NST0xMX0xFRlQ6Ci0gICAgICAgICAgICBtX2RlbHRhWCA9IGRl
bHRhOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgR0RLX1NDUk9MTF9SSUdIVDoK
LSAgICAgICAgICAgIG1fZGVsdGFYID0gLWRlbHRhOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgR0RLX1NDUk9MTF9TTU9PVEg6Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICB9Ci0g
ICAgfQotICAgIG1fd2hlZWxUaWNrc1ggPSBtX2RlbHRhWDsKLSAgICBtX3doZWVsVGlja3NZID0g
bV9kZWx0YVk7Ci0KLSNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCi0gICAgY29uc3QgYXV0
byBpc1N0b3BFdmVudCA9IGdka19ldmVudF9pc19zY3JvbGxfc3RvcF9ldmVudChyZWludGVycHJl
dF9jYXN0PEdka0V2ZW50Kj4oZXZlbnQpKTsKLSAgICBtX3BoYXNlID0gaXNTdG9wRXZlbnQgPyAg
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCA6IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2hh
bmdlZDsKLSNlbmRpZiAvLyBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCi0KLSAgICBnZG91Ymxl
IHgsIHksIHJvb3RYLCByb290WTsKLSAgICBnZGtfZXZlbnRfZ2V0X2Nvb3JkcyhyZWludGVycHJl
dF9jYXN0PEdka0V2ZW50Kj4oZXZlbnQpLCAmeCwgJnkpOwotICAgIGdka19ldmVudF9nZXRfcm9v
dF9jb29yZHMocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGV2ZW50KSwgJnJvb3RYLCAmcm9v
dFkpOwotCi0gICAgbV9wb3NpdGlvbiA9IEludFBvaW50KHN0YXRpY19jYXN0PGludD4oeCksIHN0
YXRpY19jYXN0PGludD4oeSkpOwotICAgIG1fZ2xvYmFsUG9zaXRpb24gPSBJbnRQb2ludChzdGF0
aWNfY2FzdDxpbnQ+KHJvb3RYKSwgc3RhdGljX2Nhc3Q8aW50Pihyb290WSkpOwotICAgIG1fZ3Jh
bnVsYXJpdHkgPSBTY3JvbGxCeVBpeGVsV2hlZWxFdmVudDsKLSAgICBtX2RpcmVjdGlvbkludmVy
dGVkRnJvbURldmljZSA9IGZhbHNlOwotCi0gICAgLy8gRklYTUU6IHJldHJpZXZlIHRoZSB1c2Vy
IHNldHRpbmcgZm9yIHRoZSBudW1iZXIgb2YgbGluZXMgdG8gc2Nyb2xsIG9uIGVhY2ggd2hlZWwg
ZXZlbnQKLSAgICBtX2RlbHRhWCAqPSBzdGF0aWNfY2FzdDxmbG9hdD4oU2Nyb2xsYmFyOjpwaXhl
bHNQZXJMaW5lU3RlcCgpKTsKLSAgICBtX2RlbHRhWSAqPSBzdGF0aWNfY2FzdDxmbG9hdD4oU2Ny
b2xsYmFyOjpwaXhlbHNQZXJMaW5lU3RlcCgpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcAppbmRleCBj
YTVjZTQ4YTg5OWQ1OTk4YWExOTM0NTNlZmY2MmMyNjAxNWYxNzI5Li40OGZlNzJmY2EwMjMxNzJk
NzE2ZjM0OGI4NGE2YTU4Y2Y5YThmYTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9ndGsv
V2ViRXZlbnRGYWN0b3J5LmNwcApAQCAtMjgwLDYgKzI4MCwxNiBAQCBXZWJXaGVlbEV2ZW50IFdl
YkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudChjb25zdCBHZGtFdmVudCogZXZlbnQs
IGNvbnN0CiAgICAgZmxvYXQgc3RlcCA9IHN0YXRpY19jYXN0PGZsb2F0PihTY3JvbGxiYXI6OnBp
eGVsc1BlckxpbmVTdGVwKCkpOwogICAgIEZsb2F0U2l6ZSBkZWx0YSh3aGVlbFRpY2tzLndpZHRo
KCkgKiBzdGVwLCB3aGVlbFRpY2tzLmhlaWdodCgpICogc3RlcCk7CiAKKyAgICBib29sIGhhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMgPSBmYWxzZTsKKyAgICBHZGtTY3JvbGxEaXJlY3Rpb24gZGly
ZWN0aW9uOworICAgIGlmICghZ2RrX2V2ZW50X2dldF9zY3JvbGxfZGlyZWN0aW9uKGV2ZW50LCAm
ZGlyZWN0aW9uKSkgeworICAgICAgICBkb3VibGUgZGVsdGFYLCBkZWx0YVk7CisgICAgICAgIGlm
IChnZGtfZXZlbnRfZ2V0X3Njcm9sbF9kZWx0YXMoZXZlbnQsICZkZWx0YVgsICZkZWx0YVkpKSB7
CisgICAgICAgICAgICBpZiAoYXV0byogZGV2aWNlID0gZ2RrX2V2ZW50X2dldF9zb3VyY2VfZGV2
aWNlKGV2ZW50KSkKKyAgICAgICAgICAgICAgICBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzID0g
Z2RrX2RldmljZV9nZXRfc291cmNlKGRldmljZSkgIT0gR0RLX1NPVVJDRV9NT1VTRTsKKyAgICAg
ICAgfQorICAgIH0KKwogICAgIHJldHVybiBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVlbCwK
ICAgICAgICAgcG9zaXRpb24sCiAgICAgICAgIGdsb2JhbFBvc2l0aW9uLApAQCAtMjg4LDcgKzI5
OCw3IEBAIFdlYldoZWVsRXZlbnQgV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJXaGVlbEV2ZW50
KGNvbnN0IEdka0V2ZW50KiBldmVudCwgY29uc3QKICAgICAgICAgcGhhc2UsCiAgICAgICAgIG1v
bWVudHVtUGhhc2UsCiAgICAgICAgIFdlYldoZWVsRXZlbnQ6OlNjcm9sbEJ5UGl4ZWxXaGVlbEV2
ZW50LAotICAgICAgICBmYWxzZSwKKyAgICAgICAgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywK
ICAgICAgICAgbW9kaWZpZXJzRm9yRXZlbnQoZXZlbnQpLAogICAgICAgICB3YWxsVGltZUZvckV2
ZW50KGV2ZW50KSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>