<?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>206884</bug_id>
          
          <creation_ts>2020-01-28 09:05:53 -0800</creation_ts>
          <short_desc>Asynchronous scrolling of overflow element can enter a recursive loop</short_desc>
          <delta_ts>2020-01-31 09:25:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>204882</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="cathiechen">cathiechen</reporter>
          <assigned_to name="cathiechen">cathiechen</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1611971</commentid>
    <comment_count>0</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-01-28 09:05:53 -0800</bug_when>
    <thetext>Implement RenderLayer::requestScrollPositionUpdate so that we can call requestScrollPositionUpdate more convinient.
There&apos;s a recursive code path, if we implement it directly.

AsyncScrollingCoordinator::requestScrollPositionUpdate
AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll
ScrollableArea::scrollToOffsetWithoutAnimation
ScrollAnimator::scrollToOffsetWithoutAnimation
ScrollAnimator::notifyPositionChanged
ScrollableArea::setScrollOffsetFromAnimation
RenderLayer::requestScrollPositionUpdate
AsyncScrollingCoordinator::requestScrollPositionUpdate

In order to break the circle, I&apos;ll try to call notifyScrollPositionChanged in AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611977</commentid>
    <comment_count>1</comment_count>
      <attachid>389014</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-01-28 09:10:08 -0800</bug_when>
    <thetext>Created attachment 389014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611982</commentid>
    <comment_count>2</comment_count>
      <attachid>389014</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2020-01-28 09:20:47 -0800</bug_when>
    <thetext>Comment on attachment 389014
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Test: fast/scrolling/ios/programmativ-scroll-element.html

programmatic*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612139</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-28 13:10:26 -0800</bug_when>
    <thetext>The title of this bug doesn&apos;t parse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612445</commentid>
    <comment_count>4</comment_count>
      <attachid>389138</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-01-29 07:59:10 -0800</bug_when>
    <thetext>Created attachment 389138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612448</commentid>
    <comment_count>5</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-01-29 08:01:18 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; The title of this bug doesn&apos;t parse.

Done, sorry for the confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612475</commentid>
    <comment_count>6</comment_count>
      <attachid>389138</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2020-01-29 08:28:41 -0800</bug_when>
    <thetext>Comment on attachment 389138
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        while perform asynchronous programmatic scrolling for overflow elements. In order to break

performing*

&gt; LayoutTests/fast/scrolling/ios/programmatic-scroll-element-crash.html:35
&gt; +    }, `Element async scroll by ${scrollFunction}() shouldn&apos;t crash`);

What is the &quot;crash&quot; exactly?

I&apos;m not sure we have a notion of &quot;crashtests&quot; in WPT (yet). Is the goal of this test to only reproduce the issue rather than to do conformance testing? If so, maybe we should just have a traditional webkit test without assert/promise_test, with the minimal repro code and with the text &quot;This test passes if it does not crash&quot;.

&gt; LayoutTests/fast/scrolling/ios/resources/scroll-behavior.js:1
&gt; +function observeScrolling(elements, callback) {

I guess it&apos;s ok, but only resetNode/scrollNode seem to be used? I wonder if we really want all of these or just inline the needed code in the test? Especially if you put only the minimal code in the html file...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613335</commentid>
    <comment_count>7</comment_count>
      <attachid>389138</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-01-31 05:17:05 -0800</bug_when>
    <thetext>Comment on attachment 389138
Patch

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

Hi Fred,
Thanks for the review:)

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        while perform asynchronous programmatic scrolling for overflow elements. In order to break
&gt; 
&gt; performing*

Done

&gt;&gt; LayoutTests/fast/scrolling/ios/programmatic-scroll-element-crash.html:35
&gt;&gt; +    }, `Element async scroll by ${scrollFunction}() shouldn&apos;t crash`);
&gt; 
&gt; What is the &quot;crash&quot; exactly?
&gt; 
&gt; I&apos;m not sure we have a notion of &quot;crashtests&quot; in WPT (yet). Is the goal of this test to only reproduce the issue rather than to do conformance testing? If so, maybe we should just have a traditional webkit test without assert/promise_test, with the minimal repro code and with the text &quot;This test passes if it does not crash&quot;.

Sorry for the confusion. Any programmatic scroll of overflow element will do. This test was from scroll-behavior and reused. I&apos;ll write a new for this.

&gt;&gt; LayoutTests/fast/scrolling/ios/resources/scroll-behavior.js:1
&gt;&gt; +function observeScrolling(elements, callback) {
&gt; 
&gt; I guess it&apos;s ok, but only resetNode/scrollNode seem to be used? I wonder if we really want all of these or just inline the needed code in the test? Especially if you put only the minimal code in the html file...

Got it. This file is also from scroll-behavior. We don&apos;t need it in the new test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613336</commentid>
    <comment_count>8</comment_count>
      <attachid>389342</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-01-31 05:17:38 -0800</bug_when>
    <thetext>Created attachment 389342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613405</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-31 09:24:04 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 389342:

imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small.html bug 203433
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613406</commentid>
    <comment_count>10</comment_count>
      <attachid>389342</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-31 09:24:42 -0800</bug_when>
    <thetext>Comment on attachment 389342
Patch

Clearing flags on attachment: 389342

Committed r255501: &lt;https://trac.webkit.org/changeset/255501&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613407</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-31 09:24:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613409</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-31 09:25:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/59063923&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389014</attachid>
            <date>2020-01-28 09:10:08 -0800</date>
            <delta_ts>2020-01-29 07:59:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206884-20200129011006.patch</filename>
            <type>text/plain</type>
            <size>10880</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NTQ3MzhkNTg1NWM2
YTE4MmQxYjFjNDE4NmZkNDE5MDk4Njg1NS4uYjBlZTE1NmZjYjYwODJhZDZlZGQ5MzAwYjc4MjY2
ZjhhNTJlNTcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAxLTI4ICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgaW1wbGVtZW50
IHRvIFJlbmRlckxheWVyOjpyZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjg4NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3Qvc2Nyb2xsaW5n
L2lvcy9wcm9ncmFtbWF0aXYtc2Nyb2xsLWVsZW1lbnQuaHRtbAorCisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5
bmNTY3JvbGwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb09mZnNldCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisKIDIwMjAtMDEtMjYgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgRE9NQ2FjaGVFbmdpbmU6OmVycm9yVG9FeGNl
cHRpb24gYmFjayBvdXQgb2YgaGVhZGVyIGFuZCBpbnRvIC5jcHAgZmlsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcAppbmRleCA3YWE3NWJkZGU2ODRjZmJkNzZmOTQyMTkwMmZkNzEyZDk3ZTIzYWU1Li5k
NTc5N2JhNzgyM2Q5ZDdjZGQxYjg5NGRiODNkNzE4YzljZTczNzViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcApAQCAtMzU5LDcgKzM1OSw3IEBAIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
cjo6dXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKFNjcm9sbGluZ05vCiAgICAg
aWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gZnJhbWVWaWV3LnNjcm9sbGFibGVBcmVhRm9yU2Ny
b2xsTGF5ZXJJRChzY3JvbGxpbmdOb2RlSUQpKSB7CiAgICAgICAgIGF1dG8gcHJldmlvdXNTY3Jv
bGxUeXBlID0gc2Nyb2xsYWJsZUFyZWEtPmN1cnJlbnRTY3JvbGxUeXBlKCk7CiAgICAgICAgIHNj
cm9sbGFibGVBcmVhLT5zZXRDdXJyZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsKLSAgICAgICAg
c2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihTY3JvbGxhYmxl
QXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCB0b0Zsb2F0U2l6
ZShzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsT3JpZ2luKCkpKSk7CisgICAgICAgIHNjcm9sbGFibGVB
cmVhLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQocm91bmRlZEludFBvaW50KHNjcm9sbFBv
c2l0aW9uKSk7CiAgICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRDdXJyZW50U2Nyb2xsVHlwZShw
cmV2aW91c1Njcm9sbFR5cGUpOwogCiAgICAgICAgIGlmIChzY3JvbGxpbmdMYXllclBvc2l0aW9u
QWN0aW9uID09IFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlNldCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGU4NWExNWM2NzViM2IxYjY0NjNhZTU5
Y2Q3ZTU0ODQzMzA3MTMzMTUuLjQwZTBmZDVjNjhjYjI0NmI3ZDU5YzQ2ODhlYTgyODA0MDVhYmE2
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjU5Niw2
ICsyNTk2LDE1IEBAIFNjcm9sbE9mZnNldCBSZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQo
Y29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQpIGNvCiAgICAgcmV0dXJuIHNjcm9sbE9m
ZnNldC5jb25zdHJhaW5lZEJldHdlZW4oSW50UG9pbnQoKSwgbWF4aW11bVNjcm9sbE9mZnNldCgp
KTsKIH0KIAorYm9vbCBSZW5kZXJMYXllcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcGluZykKK3sKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQorICAg
IGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlKCku
c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAgICAgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5h
dG9yLT5yZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoKnRoaXMsIHBvc2l0aW9uLCBzY3JvbGxU
eXBlLCBjbGFtcGluZyk7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogewogICAg
IFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQpIDogc2Nyb2xs
T2Zmc2V0OwpAQCAtMjYwNSwxMyArMjYxNCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRv
T2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNjCiAg
ICAgYXV0byBwcmV2aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50U2Nyb2xsVHlwZSgpOwogICAgIHNl
dEN1cnJlbnRTY3JvbGxUeXBlKHNjcm9sbFR5cGUpOwogCi0gICAgYm9vbCBoYW5kbGVkID0gZmFs
c2U7Ci0jaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKLSAgICBpZiAoU2Nyb2xsaW5nQ29vcmRp
bmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZSgpLnNjcm9sbGluZ0Nvb3JkaW5hdG9y
KCkpCi0gICAgICAgIGhhbmRsZWQgPSBzY3JvbGxpbmdDb29yZGluYXRvci0+cmVxdWVzdFNjcm9s
bFBvc2l0aW9uVXBkYXRlKCp0aGlzLCBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNj
cm9sbE9mZnNldCksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKLSNlbmRpZgotCi0gICAgaWYgKCFo
YW5kbGVkKQorICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKHNjcm9sbFBvc2l0
aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcp
KQogICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY2xhbXBlZFNjcm9sbE9m
ZnNldCwgY2xhbXBpbmcpOwogCiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNTY3Jv
bGxUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZGNjMzQ1
ZDVkMzM1NmRjMmE1NzJkMmFlNTBmZDA0ZmJhZDZkZjgxNC4uNjI4NmUwOTQ3NTA2MGFiODdhZWM1
N2E4NDIzZjQ1ZGMwMGRkODlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKQEAgLTQzOSw2ICs0MzksOCBAQCBwdWJsaWM6CiAgICAgLy8gU2Nyb2xsaW5nIG1ldGhvZHMg
Zm9yIGxheWVycyB0aGF0IGNhbiBzY3JvbGwgdGhlaXIgb3ZlcmZsb3cuCiAgICAgdm9pZCBzY3Jv
bGxCeVJlY3Vyc2l2ZWx5KGNvbnN0IEludFNpemUmIGRlbHRhLCBTY3JvbGxhYmxlQXJlYSoqIHNj
cm9sbGVkQXJlYSA9IG51bGxwdHIpOwogCisgICAgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25V
cGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNl
ciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgb3ZlcnJpZGU7CisK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNl
dCYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpOwogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlv
bihpbnQgeCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZmJkZTM5ZGIxZDQ3YTI4NWQ3ZDVkMTI5NGVhMWQ3M2NmMTE0NjIxZS4u
MGE3MmU0MGI0ZmQ2NTYxZWU0MzllOGQzOTBjMDhmYzY1MTdiZTM2NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDIwLTAxLTI4ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
KworICAgICAgICBBZGQgaW1wbGVtZW50IHRvIFJlbmRlckxheWVyOjpyZXF1ZXN0U2Nyb2xsUG9z
aXRpb25VcGRhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNjg4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvaW9zL3Byb2dyYW1tYXRpYy1zY3JvbGwtZWxlbWVudC1jcmFz
aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9pb3MvcmVzb3VyY2VzL3Nj
cm9sbC1iZWhhdmlvci5qczogQWRkZWQuCisgICAgICAgIChvYnNlcnZlU2Nyb2xsaW5nKToKKyAg
ICAgICAgKHdhaXRGb3JTY3JvbGxFbmQpOgorICAgICAgICAoc2Nyb2xsTm9kZSk6CisgICAgICAg
IChzY3JvbGxXaW5kb3cpOgorCiAyMDIwLTAxLTI3ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTWFjIHdrMiBSZWxlYXNlXSBmYXN0L2RvbS9mcmFtZS1zcmMt
amF2YXNjcmlwdC11cmwtYXN5bmMuaHRtbCBmbGFreSBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW1hdGljLXNjcm9sbC1lbGVtZW50LWNy
YXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW1hdGljLXNj
cm9sbC1lbGVtZW50LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JiNGY0NDkxM2QzMzhmOTg0NjU5
MGFhNmQ3NTJjNWJjZmY3OGU5NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL2lvcy9wcm9ncmFtbWF0aWMtc2Nyb2xsLWVsZW1lbnQtY3Jhc2guaHRtbApAQCAt
MCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBp
bnRlcm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIC0tPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0x
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvc2Nyb2xsLWJlaGF2aW9yLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KKyAgLnNjcm9sbGFibGUgeworICAgIG92ZXJmbG93OiBhdXRvOworICAgIHdpZHRoOiA0MDBw
eDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICB9Cis8L3N0eWxlPgorPGRpdiBpZD0ibG9nIj4KKzwv
ZGl2PgorPGRpdiBpZD0ib3ZlcmZsb3dOb2RlIiBjbGFzcz0ic2Nyb2xsYWJsZSI+CisgIDxkaXYg
c3R5bGU9IndpZHRoOiAyMDAwcHg7IGhlaWdodDogMTAwMHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXIt
Z3JhZGllbnQoMTM1ZGVnLCByZWQsIGdyZWVuKTsiPgorICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA1MDBweDsgaGVpZ2h0OiAyNTBweDsiPjwvc3Bhbj48c3Bh
biBpZD0iZWxlbWVudFRvUmV2ZWFsIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0
aWNhbC1hbGlnbjogLTE1cHg7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDE1cHg7IGJhY2tncm91bmQ6
IGJsYWNrOyI+PC9zcGFuPgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyAgdmFyIHNjcm9s
bGluZ0VsZW1lbnQgPSBvdmVyZmxvd05vZGU7CisgIHZhciBzdHlsZWRFbGVtZW50ID0gb3ZlcmZs
b3dOb2RlOworICB2YXIgZWxlbWVudFRvUmV2ZWFsTGVmdCA9IDUwMDsKKyAgdmFyIGVsZW1lbnRU
b1JldmVhbFRvcCA9IDI1MDsKKworICBbInNjcm9sbCIsICJzY3JvbGxUbyIsICJzY3JvbGxCeSIs
ICJzY3JvbGxJbnRvVmlldyJdLmZvckVhY2goKHNjcm9sbEZ1bmN0aW9uKSA9PiB7CisgICAgcHJv
bWlzZV90ZXN0KCgpID0+IHsKKyAgICAgIHJlc2V0U2Nyb2xsKHNjcm9sbGluZ0VsZW1lbnQpOwor
ICAgICAgYXNzZXJ0X2VxdWFscyhzY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQsIDApOworICAg
ICAgYXNzZXJ0X2VxdWFscyhzY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCwgMCk7CisgICAgICBz
Y3JvbGxOb2RlKHNjcm9sbGluZ0VsZW1lbnQsIHNjcm9sbEZ1bmN0aW9uLCBudWxsLCBlbGVtZW50
VG9SZXZlYWxMZWZ0LCBlbGVtZW50VG9SZXZlYWxUb3ApOworICAgICAgYXNzZXJ0X2VxdWFscyhz
Y3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQsIGVsZW1lbnRUb1JldmVhbExlZnQsICJTaG91bGQg
c2V0IHNjcm9sbExlZnQgaW1tZWRpYXRlbHkiKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoc2Nyb2xs
aW5nRWxlbWVudC5zY3JvbGxUb3AsIGVsZW1lbnRUb1JldmVhbFRvcCwgIlNob3VsZCBzZXQgc2Ny
b2xsVG9wIGltbWVkaWF0ZWx5Iik7CisgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsgcmVzb2x2ZSgpOyB9KTsKKyAgICB9LCBgRWxlbWVudCBhc3luYyBzY3JvbGwgYnkgJHtz
Y3JvbGxGdW5jdGlvbn0oKSBzaG91bGRuJ3QgY3Jhc2hgKTsKKyAgfSk7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9yZXNvdXJj
ZXMvc2Nyb2xsLWJlaGF2aW9yLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Jl
c291cmNlcy9zY3JvbGwtYmVoYXZpb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGEwOTY4ZTAyNWJkODYwNGMw
NzY1MzUyZDNhMmU4YjNjYzEyMzNhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL2lvcy9yZXNvdXJjZXMvc2Nyb2xsLWJlaGF2aW9yLmpzCkBAIC0wLDAgKzEs
ODcgQEAKK2Z1bmN0aW9uIG9ic2VydmVTY3JvbGxpbmcoZWxlbWVudHMsIGNhbGxiYWNrKSB7Cisg
IGlmICghQXJyYXkuaXNBcnJheShlbGVtZW50cykpCisgICAgICBlbGVtZW50cyA9IFtlbGVtZW50
c107CisgIHZhciBsYXN0Q2hhbmdlZEZyYW1lID0gMDsKKyAgdmFyIGxhc3RMZWZ0ID0gbmV3IE1h
cCgpOworICB2YXIgbGFzdFRvcCA9IG5ldyBNYXAoKTsKKyAgZWxlbWVudHMuZm9yRWFjaCgoZWxl
bWVudCkgPT4geworICAgIGxhc3RMZWZ0LnNldChlbGVtZW50LCBlbGVtZW50LnNjcm9sbExlZnQp
OworICAgIGxhc3RUb3Auc2V0KGVsZW1lbnQsIGVsZW1lbnQuc2Nyb2xsVG9wKTsKKyAgfSk7Cisg
IGZ1bmN0aW9uIHRpY2soZnJhbWVzKSB7CisgICAgLy8gV2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1l
IGVpdGhlciBmb3IgNTAwIGZyYW1lcyBvciB1bnRpbCAyMCBmcmFtZXMgd2l0aAorICAgIC8vIG5v
IGNoYW5nZSBoYXZlIGJlZW4gb2JzZXJ2ZWQuCisgICAgaWYgKGZyYW1lcyA+PSA1MDAgfHwgZnJh
bWVzIC0gbGFzdENoYW5nZWRGcmFtZSA+IDIwKSB7CisgICAgICBjYWxsYmFjayh0cnVlKTsKKyAg
ICB9IGVsc2UgeworICAgICAgdmFyIHNjcm9sbEhhcHBlbmVkID0gZWxlbWVudHMuc29tZSgoZWxl
bWVudCkgPT4geworICAgICAgICByZXR1cm4gZWxlbWVudC5zY3JvbGxMZWZ0ICE9IGxhc3RMZWZ0
LmdldChlbGVtZW50KSB8fCBlbGVtZW50LnNjcm9sbFRvcCAhPSBsYXN0VG9wLmdldChlbGVtZW50
KTsKKyAgICAgIH0pOworICAgICAgaWYgKHNjcm9sbEhhcHBlbmVkKSB7CisgICAgICAgIGxhc3RD
aGFuZ2VkRnJhbWUgPSBmcmFtZXM7CisgICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQp
ID0+IHsKKyAgICAgICAgICBsYXN0TGVmdC5zZXQoZWxlbWVudCwgZWxlbWVudC5zY3JvbGxMZWZ0
KTsKKyAgICAgICAgICBsYXN0VG9wLnNldChlbGVtZW50LCBlbGVtZW50LnNjcm9sbFRvcCk7Cisg
ICAgICAgIH0pOworICAgICAgICBjYWxsYmFjayhmYWxzZSk7CisgICAgICB9CisgICAgICByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUodGljay5iaW5kKG51bGwsIGZyYW1lcyArIDEpKTsKKyAgICB9Cisg
IH0KKyAgdGljaygwKTsKK30KKworZnVuY3Rpb24gd2FpdEZvclNjcm9sbEVuZChlbGVtZW50cykg
eworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICBvYnNlcnZlU2Nyb2xs
aW5nKGVsZW1lbnRzLCAoZG9uZSkgPT4geworICAgICAgaWYgKGRvbmUpCisgICAgICAgIHJlc29s
dmUoKTsKKyAgICB9KTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHJlc2V0U2Nyb2xsKHNjcm9sbGlu
Z0VsZW1lbnQpIHsKKyAgLy8gVHJ5IHZhcmlvdXMgbWV0aG9kcyB0byBlbnN1cmUgdGhlIGVsZW1l
bnQgcG9zaXRpb24gaXMgcmVzZXQgaW1tZWRpYXRlbHkuCisgIHNjcm9sbGluZ0VsZW1lbnQuc2Ny
b2xsTGVmdCA9IDA7CisgIHNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMDsKKyAgc2Nyb2xs
aW5nRWxlbWVudC5zY3JvbGwoe2xlZnQ6IDAsIHRvcDogMCwgYmVoYXZpb3I6ICJpbnN0YW50In0p
OworfQorCitmdW5jdGlvbiByZXNldFNjcm9sbEZvcldpbmRvdyhzY3JvbGxpbmdXaW5kb3cpIHsK
KyAgLy8gVHJ5IHZhcmlvdXMgbWV0aG9kcyB0byBlbnN1cmUgdGhlIGVsZW1lbnQgcG9zaXRpb24g
aXMgcmVzZXQgaW1tZWRpYXRlbHkuCisgIHNjcm9sbGluZ1dpbmRvdy5kb2N1bWVudC5zY3JvbGxp
bmdFbGVtZW50LnNjcm9sbExlZnQgPSAwOworICBzY3JvbGxpbmdXaW5kb3cuZG9jdW1lbnQuc2Ny
b2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwOworICBzY3JvbGxpbmdXaW5kb3cuc2Nyb2xsKHts
ZWZ0OiAwLCB0b3A6IDAsIGJlaGF2aW9yOiAiaW5zdGFudCJ9KTsKK30KKworZnVuY3Rpb24gc2V0
U2Nyb2xsQmVoYXZpb3Ioc3R5bGVkRWxlbWVudCwgY2xhc3NOYW1lKSB7CisgIHN0eWxlZEVsZW1l
bnQuY2xhc3NMaXN0LnJlbW92ZSgiYXV0b0JlaGF2aW9yIiwgInNtb290aEJlaGF2aW9yIik7Cisg
IHN0eWxlZEVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpOworfQorCitmdW5jdGlvbiBz
Y3JvbGxOb2RlKHNjcm9sbGluZ0VsZW1lbnQsIHNjcm9sbEZ1bmN0aW9uLCBiZWhhdmlvciwgZWxl
bWVudFRvUmV2ZWFsTGVmdCwgZWxlbWVudFRvUmV2ZWFsVG9wKSB7CisgIHZhciBhcmdzID0ge307
CisgIGlmIChiZWhhdmlvcikKKyAgICBhcmdzLmJlaGF2aW9yID0gYmVoYXZpb3I7CisgIHN3aXRj
aCAoc2Nyb2xsRnVuY3Rpb24pIHsKKyAgICBjYXNlICJzY3JvbGxJbnRvVmlldyI6CisgICAgICBh
cmdzLmlubGluZSA9ICJzdGFydCI7CisgICAgICBhcmdzLmJsb2NrID0gInN0YXJ0IjsKKyAgICAg
IGVsZW1lbnRUb1JldmVhbC5zY3JvbGxJbnRvVmlldyhhcmdzKTsKKyAgICAgIGJyZWFrOworICAg
IGRlZmF1bHQ6CisgICAgICBhcmdzLmxlZnQgPSBlbGVtZW50VG9SZXZlYWxMZWZ0OworICAgICAg
YXJncy50b3AgPSBlbGVtZW50VG9SZXZlYWxUb3A7CisgICAgICBzY3JvbGxpbmdFbGVtZW50W3Nj
cm9sbEZ1bmN0aW9uXShhcmdzKTsKKyAgICAgIGJyZWFrOworICB9Cit9CisKK2Z1bmN0aW9uIHNj
cm9sbFdpbmRvdyhzY3JvbGxpbmdXaW5kb3csIHNjcm9sbEZ1bmN0aW9uLCBiZWhhdmlvciwgZWxl
bWVudFRvUmV2ZWFsTGVmdCwgZWxlbWVudFRvUmV2ZWFsVG9wKSB7CisgIHZhciBhcmdzID0ge307
CisgIGlmIChiZWhhdmlvcikKKyAgICBhcmdzLmJlaGF2aW9yID0gYmVoYXZpb3I7CisgIGFyZ3Mu
bGVmdCA9IGVsZW1lbnRUb1JldmVhbExlZnQ7CisgIGFyZ3MudG9wID0gZWxlbWVudFRvUmV2ZWFs
VG9wOworICBzY3JvbGxpbmdXaW5kb3dbc2Nyb2xsRnVuY3Rpb25dKGFyZ3MpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389138</attachid>
            <date>2020-01-29 07:59:10 -0800</date>
            <delta_ts>2020-01-31 05:17:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206884-20200129235908.patch</filename>
            <type>text/plain</type>
            <size>11943</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NTQ3MzhkNTg1NWM2
YTE4MmQxYjFjNDE4NmZkNDE5MDk4Njg1NS4uMzA2YmI2ODE1YjNlNTc5OTk4MDgzMjJhMzE3N2Iy
Mzk4YTI4ODU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAxLTI5ICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBc3luY2hyb25vdXMg
c2Nyb2xsaW5nIG9mIG92ZXJmbG93IGVsZW1lbnQgY2FuIGVudGVyIGEgcmVjdXJzaXZlIGxvb3AK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjg4NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIGlt
cGxlbWVudGluZyBSZW5kZXJMYXllcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlLCB0aGVy
ZSdzIGEgcmVjdXJzaXZlIGxvb3AKKyAgICAgICAgd2hpbGUgcGVyZm9ybSBhc3luY2hyb25vdXMg
cHJvZ3JhbW1hdGljIHNjcm9sbGluZyBmb3Igb3ZlcmZsb3cgZWxlbWVudHMuIEluIG9yZGVyIHRv
IGJyZWFrCisgICAgICAgIHRoZSBsb29wIGNhbGwgbm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
IGluIHVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9sbCBpbnN0ZWFkLgorCisgICAg
ICAgIFRlc3Q6IGZhc3Qvc2Nyb2xsaW5nL2lvcy9wcm9ncmFtbWF0aWMtc2Nyb2xsLWVsZW1lbnQt
Y3Jhc2guaHRtbAorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
Ojp1cGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVx
dWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzY3JvbGxUb09mZnNldCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisK
IDIwMjAtMDEtMjYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1v
dmUgRE9NQ2FjaGVFbmdpbmU6OmVycm9yVG9FeGNlcHRpb24gYmFjayBvdXQgb2YgaGVhZGVyIGFu
ZCBpbnRvIC5jcHAgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCA3YWE3NWJkZGU2ODRj
ZmJkNzZmOTQyMTkwMmZkNzEyZDk3ZTIzYWU1Li5kNTc5N2JhNzgyM2Q5ZDdjZGQxYjg5NGRiODNk
NzE4YzljZTczNzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMzU5LDcgKzM1OSw3IEBA
IHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRl
ckFzeW5jU2Nyb2xsKFNjcm9sbGluZ05vCiAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0g
ZnJhbWVWaWV3LnNjcm9sbGFibGVBcmVhRm9yU2Nyb2xsTGF5ZXJJRChzY3JvbGxpbmdOb2RlSUQp
KSB7CiAgICAgICAgIGF1dG8gcHJldmlvdXNTY3JvbGxUeXBlID0gc2Nyb2xsYWJsZUFyZWEtPmN1
cnJlbnRTY3JvbGxUeXBlKCk7CiAgICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRDdXJyZW50U2Ny
b2xsVHlwZShzY3JvbGxUeXBlKTsKLSAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFRvT2Zm
c2V0V2l0aG91dEFuaW1hdGlvbihTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0
aW9uKHNjcm9sbFBvc2l0aW9uLCB0b0Zsb2F0U2l6ZShzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsT3Jp
Z2luKCkpKSk7CisgICAgICAgIHNjcm9sbGFibGVBcmVhLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNo
YW5nZWQocm91bmRlZEludFBvaW50KHNjcm9sbFBvc2l0aW9uKSk7CiAgICAgICAgIHNjcm9sbGFi
bGVBcmVhLT5zZXRDdXJyZW50U2Nyb2xsVHlwZShwcmV2aW91c1Njcm9sbFR5cGUpOwogCiAgICAg
ICAgIGlmIChzY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uID09IFNjcm9sbGluZ0xheWVyUG9z
aXRpb25BY3Rpb246OlNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CmluZGV4IGU4NWExNWM2NzViM2IxYjY0NjNhZTU5Y2Q3ZTU0ODQzMzA3MTMzMTUuLjQwZTBmZDVj
NjhjYjI0NmI3ZDU5YzQ2ODhlYTgyODA0MDVhYmE2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjU5Niw2ICsyNTk2LDE1IEBAIFNjcm9sbE9mZnNldCBS
ZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQoY29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxP
ZmZzZXQpIGNvCiAgICAgcmV0dXJuIHNjcm9sbE9mZnNldC5jb25zdHJhaW5lZEJldHdlZW4oSW50
UG9pbnQoKSwgbWF4aW11bVNjcm9sbE9mZnNldCgpKTsKIH0KIAorYm9vbCBSZW5kZXJMYXllcjo6
cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlv
biwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxDbGFtcGluZyBjbGFtcGluZykKK3sKKyNp
ZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQorICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciog
c2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlKCkuc2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAg
ICAgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5yZXF1ZXN0U2Nyb2xsUG9zaXRpb25V
cGRhdGUoKnRoaXMsIHBvc2l0aW9uLCBzY3JvbGxUeXBlLCBjbGFtcGluZyk7CisjZW5kaWYKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KGNv
bnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNj
cm9sbENsYW1waW5nIGNsYW1waW5nKQogewogICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xs
T2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9s
bE9mZnNldChzY3JvbGxPZmZzZXQpIDogc2Nyb2xsT2Zmc2V0OwpAQCAtMjYwNSwxMyArMjYxNCw3
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYg
c2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNjCiAgICAgYXV0byBwcmV2aW91c1Njcm9sbFR5cGUg
PSBjdXJyZW50U2Nyb2xsVHlwZSgpOwogICAgIHNldEN1cnJlbnRTY3JvbGxUeXBlKHNjcm9sbFR5
cGUpOwogCi0gICAgYm9vbCBoYW5kbGVkID0gZmFsc2U7Ci0jaWYgRU5BQkxFKEFTWU5DX1NDUk9M
TElORykKLSAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9y
ID0gcGFnZSgpLnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCi0gICAgICAgIGhhbmRsZWQgPSBzY3Jv
bGxpbmdDb29yZGluYXRvci0+cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKCp0aGlzLCBzY3Jv
bGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCksIHNjcm9sbFR5cGUsIGNs
YW1waW5nKTsKLSNlbmRpZgotCi0gICAgaWYgKCFoYW5kbGVkKQorICAgIGlmICghcmVxdWVzdFNj
cm9sbFBvc2l0aW9uVXBkYXRlKHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xs
T2Zmc2V0KSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcpKQogICAgICAgICBzY3JvbGxUb09mZnNldFdp
dGhvdXRBbmltYXRpb24oY2xhbXBlZFNjcm9sbE9mZnNldCwgY2xhbXBpbmcpOwogCiAgICAgc2V0
Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNTY3JvbGxUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKaW5kZXggZGNjMzQ1ZDVkMzM1NmRjMmE1NzJkMmFlNTBmZDA0ZmJh
ZDZkZjgxNC4uNjI4NmUwOTQ3NTA2MGFiODdhZWM1N2E4NDIzZjQ1ZGMwMGRkODlmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQzOSw2ICs0MzksOCBAQCBwdWJs
aWM6CiAgICAgLy8gU2Nyb2xsaW5nIG1ldGhvZHMgZm9yIGxheWVycyB0aGF0IGNhbiBzY3JvbGwg
dGhlaXIgb3ZlcmZsb3cuCiAgICAgdm9pZCBzY3JvbGxCeVJlY3Vyc2l2ZWx5KGNvbnN0IEludFNp
emUmIGRlbHRhLCBTY3JvbGxhYmxlQXJlYSoqIHNjcm9sbGVkQXJlYSA9IG51bGxwdHIpOwogCisg
ICAgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24m
LCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxD
bGFtcGluZzo6Q2xhbXBlZCkgb3ZlcnJpZGU7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNj
cm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBl
OjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQp
OwogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgU2Nyb2xsVHlwZSwgU2Nyb2xs
Q2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmJkZTM5ZGIxZDQ3
YTI4NWQ3ZDVkMTI5NGVhMWQ3M2NmMTE0NjIxZS4uMTg3NzkyNzFhMDc0YzBjMTkxMzkwNTQwYjk2
YWJmMDZiYWQ1ZjNmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAxLTI5ICBDYXRoaWUg
Q2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBc3luY2hyb25vdXMgc2Ny
b2xsaW5nIG9mIG92ZXJmbG93IGVsZW1lbnQgY2FuIGVudGVyIGEgcmVjdXJzaXZlIGxvb3AKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjg4NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvaW9zL3Byb2dyYW1tYXRpYy1zY3JvbGwtZWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL2lvcy9wcm9ncmFtbWF0aWMtc2Nyb2xs
LWVsZW1lbnQtY3Jhc2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvaW9z
L3Jlc291cmNlcy9zY3JvbGwtYmVoYXZpb3IuanM6IEFkZGVkLgorICAgICAgICAob2JzZXJ2ZVNj
cm9sbGluZyk6CisgICAgICAgICh3YWl0Rm9yU2Nyb2xsRW5kKToKKyAgICAgICAgKHNjcm9sbE5v
ZGUpOgorICAgICAgICAoc2Nyb2xsV2luZG93KToKKwogMjAyMC0wMS0yNyAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW01hYyB3azIgUmVsZWFzZV0gZmFzdC9k
b20vZnJhbWUtc3JjLWphdmFzY3JpcHQtdXJsLWFzeW5jLmh0bWwgZmxha3kgZmFpbGluZwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Byb2dyYW1tYXRpYy1zY3Jv
bGwtZWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9pb3MvcHJvZ3JhbW1hdGljLXNjcm9sbC1lbGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40N2IyNmE0YTQwMGJkYzFjMjIwYjhiMjNlMjBlM2Q0MDMwNmRlNDdjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Byb2dyYW1tYXRpYy1z
Y3JvbGwtZWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK1BBU1Mg
RWxlbWVudCBhc3luYyBzY3JvbGwgYnkgc2Nyb2xsKCkgc2hvdWxkbid0IGNyYXNoIAorUEFTUyBF
bGVtZW50IGFzeW5jIHNjcm9sbCBieSBzY3JvbGxUbygpIHNob3VsZG4ndCBjcmFzaCAKK1BBU1Mg
RWxlbWVudCBhc3luYyBzY3JvbGwgYnkgc2Nyb2xsQnkoKSBzaG91bGRuJ3QgY3Jhc2ggCitQQVNT
IEVsZW1lbnQgYXN5bmMgc2Nyb2xsIGJ5IHNjcm9sbEludG9WaWV3KCkgc2hvdWxkbid0IGNyYXNo
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW1h
dGljLXNjcm9sbC1lbGVtZW50LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9pb3MvcHJvZ3JhbW1hdGljLXNjcm9sbC1lbGVtZW50LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDQyMzQ4NTBhNzcxNmM5NjNlMDU1NjU1MjE1ZjAzMTU2NjIxZjIzZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9wcm9ncmFtbWF0aWMtc2Nyb2xsLWVs
ZW1lbnQtY3Jhc2guaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxl
ZD10cnVlIC0tPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3Njcm9sbC1iZWhhdmlvci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIC5zY3JvbGxhYmxlIHsK
KyAgICBvdmVyZmxvdzogYXV0bzsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiAyMDBw
eDsKKyAgfQorPC9zdHlsZT4KKzxkaXYgaWQ9ImxvZyI+Cis8L2Rpdj4KKzxkaXYgaWQ9Im92ZXJm
bG93Tm9kZSIgY2xhc3M9InNjcm9sbGFibGUiPgorICA8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwMHB4
OyBoZWlnaHQ6IDEwMDBweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmVk
LCBncmVlbik7Ij4KKyAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0
aDogNTAwcHg7IGhlaWdodDogMjUwcHg7Ij48L3NwYW4+PHNwYW4gaWQ9ImVsZW1lbnRUb1JldmVh
bCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IC0xNXB4OyB3
aWR0aDogMTBweDsgaGVpZ2h0OiAxNXB4OyBiYWNrZ3JvdW5kOiBibGFjazsiPjwvc3Bhbj4KKyAg
PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgIHZhciBzY3JvbGxpbmdFbGVtZW50ID0gb3ZlcmZs
b3dOb2RlOworICB2YXIgc3R5bGVkRWxlbWVudCA9IG92ZXJmbG93Tm9kZTsKKyAgdmFyIGVsZW1l
bnRUb1JldmVhbExlZnQgPSA1MDA7CisgIHZhciBlbGVtZW50VG9SZXZlYWxUb3AgPSAyNTA7CisK
KyAgWyJzY3JvbGwiLCAic2Nyb2xsVG8iLCAic2Nyb2xsQnkiLCAic2Nyb2xsSW50b1ZpZXciXS5m
b3JFYWNoKChzY3JvbGxGdW5jdGlvbikgPT4geworICAgIHByb21pc2VfdGVzdCgoKSA9PiB7Cisg
ICAgICByZXNldFNjcm9sbChzY3JvbGxpbmdFbGVtZW50KTsKKyAgICAgIGFzc2VydF9lcXVhbHMo
c2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0LCAwKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoc2Ny
b2xsaW5nRWxlbWVudC5zY3JvbGxUb3AsIDApOworICAgICAgc2Nyb2xsTm9kZShzY3JvbGxpbmdF
bGVtZW50LCBzY3JvbGxGdW5jdGlvbiwgbnVsbCwgZWxlbWVudFRvUmV2ZWFsTGVmdCwgZWxlbWVu
dFRvUmV2ZWFsVG9wKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoc2Nyb2xsaW5nRWxlbWVudC5zY3Jv
bGxMZWZ0LCBlbGVtZW50VG9SZXZlYWxMZWZ0LCAiU2hvdWxkIHNldCBzY3JvbGxMZWZ0IGltbWVk
aWF0ZWx5Iik7CisgICAgICBhc3NlcnRfZXF1YWxzKHNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9w
LCBlbGVtZW50VG9SZXZlYWxUb3AsICJTaG91bGQgc2V0IHNjcm9sbFRvcCBpbW1lZGlhdGVseSIp
OworICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7IHJlc29sdmUoKTsgfSk7
CisgICAgfSwgYEVsZW1lbnQgYXN5bmMgc2Nyb2xsIGJ5ICR7c2Nyb2xsRnVuY3Rpb259KCkgc2hv
dWxkbid0IGNyYXNoYCk7CisgIH0pOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcmVzb3VyY2VzL3Njcm9sbC1iZWhhdmlvci5q
cyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9yZXNvdXJjZXMvc2Nyb2xsLWJlaGF2
aW9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBhMDk2OGUwMjViZDg2MDRjMDc2NTM1MmQzYTJlOGIzY2MxMjMz
YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcmVz
b3VyY2VzL3Njcm9sbC1iZWhhdmlvci5qcwpAQCAtMCwwICsxLDg3IEBACitmdW5jdGlvbiBvYnNl
cnZlU2Nyb2xsaW5nKGVsZW1lbnRzLCBjYWxsYmFjaykgeworICBpZiAoIUFycmF5LmlzQXJyYXko
ZWxlbWVudHMpKQorICAgICAgZWxlbWVudHMgPSBbZWxlbWVudHNdOworICB2YXIgbGFzdENoYW5n
ZWRGcmFtZSA9IDA7CisgIHZhciBsYXN0TGVmdCA9IG5ldyBNYXAoKTsKKyAgdmFyIGxhc3RUb3Ag
PSBuZXcgTWFwKCk7CisgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHsKKyAgICBsYXN0
TGVmdC5zZXQoZWxlbWVudCwgZWxlbWVudC5zY3JvbGxMZWZ0KTsKKyAgICBsYXN0VG9wLnNldChl
bGVtZW50LCBlbGVtZW50LnNjcm9sbFRvcCk7CisgIH0pOworICBmdW5jdGlvbiB0aWNrKGZyYW1l
cykgeworICAgIC8vIFdlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBlaXRoZXIgZm9yIDUwMCBmcmFt
ZXMgb3IgdW50aWwgMjAgZnJhbWVzIHdpdGgKKyAgICAvLyBubyBjaGFuZ2UgaGF2ZSBiZWVuIG9i
c2VydmVkLgorICAgIGlmIChmcmFtZXMgPj0gNTAwIHx8IGZyYW1lcyAtIGxhc3RDaGFuZ2VkRnJh
bWUgPiAyMCkgeworICAgICAgY2FsbGJhY2sodHJ1ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHZh
ciBzY3JvbGxIYXBwZW5lZCA9IGVsZW1lbnRzLnNvbWUoKGVsZW1lbnQpID0+IHsKKyAgICAgICAg
cmV0dXJuIGVsZW1lbnQuc2Nyb2xsTGVmdCAhPSBsYXN0TGVmdC5nZXQoZWxlbWVudCkgfHwgZWxl
bWVudC5zY3JvbGxUb3AgIT0gbGFzdFRvcC5nZXQoZWxlbWVudCk7CisgICAgICB9KTsKKyAgICAg
IGlmIChzY3JvbGxIYXBwZW5lZCkgeworICAgICAgICBsYXN0Q2hhbmdlZEZyYW1lID0gZnJhbWVz
OworICAgICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7CisgICAgICAgICAgbGFz
dExlZnQuc2V0KGVsZW1lbnQsIGVsZW1lbnQuc2Nyb2xsTGVmdCk7CisgICAgICAgICAgbGFzdFRv
cC5zZXQoZWxlbWVudCwgZWxlbWVudC5zY3JvbGxUb3ApOworICAgICAgICB9KTsKKyAgICAgICAg
Y2FsbGJhY2soZmFsc2UpOworICAgICAgfQorICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRp
Y2suYmluZChudWxsLCBmcmFtZXMgKyAxKSk7CisgICAgfQorICB9CisgIHRpY2soMCk7Cit9CisK
K2Z1bmN0aW9uIHdhaXRGb3JTY3JvbGxFbmQoZWxlbWVudHMpIHsKKyAgcmV0dXJuIG5ldyBQcm9t
aXNlKChyZXNvbHZlKSA9PiB7CisgICAgb2JzZXJ2ZVNjcm9sbGluZyhlbGVtZW50cywgKGRvbmUp
ID0+IHsKKyAgICAgIGlmIChkb25lKQorICAgICAgICByZXNvbHZlKCk7CisgICAgfSk7CisgIH0p
OworfQorCitmdW5jdGlvbiByZXNldFNjcm9sbChzY3JvbGxpbmdFbGVtZW50KSB7CisgIC8vIFRy
eSB2YXJpb3VzIG1ldGhvZHMgdG8gZW5zdXJlIHRoZSBlbGVtZW50IHBvc2l0aW9uIGlzIHJlc2V0
IGltbWVkaWF0ZWx5LgorICBzY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQgPSAwOworICBzY3Jv
bGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDA7CisgIHNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsKHts
ZWZ0OiAwLCB0b3A6IDAsIGJlaGF2aW9yOiAiaW5zdGFudCJ9KTsKK30KKworZnVuY3Rpb24gcmVz
ZXRTY3JvbGxGb3JXaW5kb3coc2Nyb2xsaW5nV2luZG93KSB7CisgIC8vIFRyeSB2YXJpb3VzIG1l
dGhvZHMgdG8gZW5zdXJlIHRoZSBlbGVtZW50IHBvc2l0aW9uIGlzIHJlc2V0IGltbWVkaWF0ZWx5
LgorICBzY3JvbGxpbmdXaW5kb3cuZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0
ID0gMDsKKyAgc2Nyb2xsaW5nV2luZG93LmRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xs
VG9wID0gMDsKKyAgc2Nyb2xsaW5nV2luZG93LnNjcm9sbCh7bGVmdDogMCwgdG9wOiAwLCBiZWhh
dmlvcjogImluc3RhbnQifSk7Cit9CisKK2Z1bmN0aW9uIHNldFNjcm9sbEJlaGF2aW9yKHN0eWxl
ZEVsZW1lbnQsIGNsYXNzTmFtZSkgeworICBzdHlsZWRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUo
ImF1dG9CZWhhdmlvciIsICJzbW9vdGhCZWhhdmlvciIpOworICBzdHlsZWRFbGVtZW50LmNsYXNz
TGlzdC5hZGQoY2xhc3NOYW1lKTsKK30KKworZnVuY3Rpb24gc2Nyb2xsTm9kZShzY3JvbGxpbmdF
bGVtZW50LCBzY3JvbGxGdW5jdGlvbiwgYmVoYXZpb3IsIGVsZW1lbnRUb1JldmVhbExlZnQsIGVs
ZW1lbnRUb1JldmVhbFRvcCkgeworICB2YXIgYXJncyA9IHt9OworICBpZiAoYmVoYXZpb3IpCisg
ICAgYXJncy5iZWhhdmlvciA9IGJlaGF2aW9yOworICBzd2l0Y2ggKHNjcm9sbEZ1bmN0aW9uKSB7
CisgICAgY2FzZSAic2Nyb2xsSW50b1ZpZXciOgorICAgICAgYXJncy5pbmxpbmUgPSAic3RhcnQi
OworICAgICAgYXJncy5ibG9jayA9ICJzdGFydCI7CisgICAgICBlbGVtZW50VG9SZXZlYWwuc2Ny
b2xsSW50b1ZpZXcoYXJncyk7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgYXJn
cy5sZWZ0ID0gZWxlbWVudFRvUmV2ZWFsTGVmdDsKKyAgICAgIGFyZ3MudG9wID0gZWxlbWVudFRv
UmV2ZWFsVG9wOworICAgICAgc2Nyb2xsaW5nRWxlbWVudFtzY3JvbGxGdW5jdGlvbl0oYXJncyk7
CisgICAgICBicmVhazsKKyAgfQorfQorCitmdW5jdGlvbiBzY3JvbGxXaW5kb3coc2Nyb2xsaW5n
V2luZG93LCBzY3JvbGxGdW5jdGlvbiwgYmVoYXZpb3IsIGVsZW1lbnRUb1JldmVhbExlZnQsIGVs
ZW1lbnRUb1JldmVhbFRvcCkgeworICB2YXIgYXJncyA9IHt9OworICBpZiAoYmVoYXZpb3IpCisg
ICAgYXJncy5iZWhhdmlvciA9IGJlaGF2aW9yOworICBhcmdzLmxlZnQgPSBlbGVtZW50VG9SZXZl
YWxMZWZ0OworICBhcmdzLnRvcCA9IGVsZW1lbnRUb1JldmVhbFRvcDsKKyAgc2Nyb2xsaW5nV2lu
ZG93W3Njcm9sbEZ1bmN0aW9uXShhcmdzKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389342</attachid>
            <date>2020-01-31 05:17:38 -0800</date>
            <delta_ts>2020-01-31 09:24:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206884-20200131211736.patch</filename>
            <type>text/plain</type>
            <size>7178</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU1OTQ1MDYwZjlkMThm
YWIzODNlZDFhNjI3ZWFlMzljNWUzNDhkMi4uNmRkNTA4ZWI5M2Y4OWQ3MTk2OGFiODhhNGY5YjIw
NzI5NWQ1YzQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAxLTMxICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBc3luY2hyb25vdXMg
c2Nyb2xsaW5nIG9mIG92ZXJmbG93IGVsZW1lbnQgY2FuIGVudGVyIGEgcmVjdXJzaXZlIGxvb3AK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjg4NAor
CisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMgV2FuZy4KKworICAgICAgICBBZnRlciBp
bXBsZW1lbnRpbmcgUmVuZGVyTGF5ZXI6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZSwgdGhl
cmUncyBhIHJlY3Vyc2l2ZSBsb29wCisgICAgICAgIHdoaWxlIHBlcmZvcm1pbmcgYXN5bmNocm9u
b3VzIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgZm9yIG92ZXJmbG93IGVsZW1lbnRzLiBJbiBvcmRl
ciB0byBicmVhaworICAgICAgICB0aGUgbG9vcCBjYWxsIG5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hh
bmdlZCBpbiB1cGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwgaW5zdGVhZC4KKwor
ICAgICAgICBUZXN0OiBmYXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW1hdGljLXNjcm9sbC1lbGVt
ZW50LWNyYXNoLmh0bWwKKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvcjo6dXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsVG9PZmZzZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5o
OgorCiAyMDIwLTAxLTI5ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU1MzQ1LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcAppbmRleCA3YWE3NWJkZGU2ODRjZmJkNzZmOTQyMTkwMmZkNzEyZDk3ZTIzYWU1Li5k
NTc5N2JhNzgyM2Q5ZDdjZGQxYjg5NGRiODNkNzE4YzljZTczNzViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcApAQCAtMzU5LDcgKzM1OSw3IEBAIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
cjo6dXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKFNjcm9sbGluZ05vCiAgICAg
aWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gZnJhbWVWaWV3LnNjcm9sbGFibGVBcmVhRm9yU2Ny
b2xsTGF5ZXJJRChzY3JvbGxpbmdOb2RlSUQpKSB7CiAgICAgICAgIGF1dG8gcHJldmlvdXNTY3Jv
bGxUeXBlID0gc2Nyb2xsYWJsZUFyZWEtPmN1cnJlbnRTY3JvbGxUeXBlKCk7CiAgICAgICAgIHNj
cm9sbGFibGVBcmVhLT5zZXRDdXJyZW50U2Nyb2xsVHlwZShzY3JvbGxUeXBlKTsKLSAgICAgICAg
c2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihTY3JvbGxhYmxl
QXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCB0b0Zsb2F0U2l6
ZShzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsT3JpZ2luKCkpKSk7CisgICAgICAgIHNjcm9sbGFibGVB
cmVhLT5ub3RpZnlTY3JvbGxQb3NpdGlvbkNoYW5nZWQocm91bmRlZEludFBvaW50KHNjcm9sbFBv
c2l0aW9uKSk7CiAgICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRDdXJyZW50U2Nyb2xsVHlwZShw
cmV2aW91c1Njcm9sbFR5cGUpOwogCiAgICAgICAgIGlmIChzY3JvbGxpbmdMYXllclBvc2l0aW9u
QWN0aW9uID09IFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlNldCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGU4NWExNWM2NzViM2IxYjY0NjNhZTU5
Y2Q3ZTU0ODQzMzA3MTMzMTUuLjQwZTBmZDVjNjhjYjI0NmI3ZDU5YzQ2ODhlYTgyODA0MDVhYmE2
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjU5Niw2
ICsyNTk2LDE1IEBAIFNjcm9sbE9mZnNldCBSZW5kZXJMYXllcjo6Y2xhbXBTY3JvbGxPZmZzZXQo
Y29uc3QgU2Nyb2xsT2Zmc2V0JiBzY3JvbGxPZmZzZXQpIGNvCiAgICAgcmV0dXJuIHNjcm9sbE9m
ZnNldC5jb25zdHJhaW5lZEJldHdlZW4oSW50UG9pbnQoKSwgbWF4aW11bVNjcm9sbE9mZnNldCgp
KTsKIH0KIAorYm9vbCBSZW5kZXJMYXllcjo6cmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKGNv
bnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgU2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3Jv
bGxDbGFtcGluZyBjbGFtcGluZykKK3sKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQorICAg
IGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlKCku
c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKKyAgICAgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5h
dG9yLT5yZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoKnRoaXMsIHBvc2l0aW9uLCBzY3JvbGxU
eXBlLCBjbGFtcGluZyk7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0
LCBTY3JvbGxUeXBlIHNjcm9sbFR5cGUsIFNjcm9sbENsYW1waW5nIGNsYW1waW5nKQogewogICAg
IFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBpbmcgPT0gU2Nyb2xsQ2xh
bXBpbmc6OkNsYW1wZWQgPyBjbGFtcFNjcm9sbE9mZnNldChzY3JvbGxPZmZzZXQpIDogc2Nyb2xs
T2Zmc2V0OwpAQCAtMjYwNSwxMyArMjYxNCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRv
T2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYgc2Nyb2xsT2Zmc2V0LCBTY3JvbGxUeXBlIHNjCiAg
ICAgYXV0byBwcmV2aW91c1Njcm9sbFR5cGUgPSBjdXJyZW50U2Nyb2xsVHlwZSgpOwogICAgIHNl
dEN1cnJlbnRTY3JvbGxUeXBlKHNjcm9sbFR5cGUpOwogCi0gICAgYm9vbCBoYW5kbGVkID0gZmFs
c2U7Ci0jaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKLSAgICBpZiAoU2Nyb2xsaW5nQ29vcmRp
bmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZSgpLnNjcm9sbGluZ0Nvb3JkaW5hdG9y
KCkpCi0gICAgICAgIGhhbmRsZWQgPSBzY3JvbGxpbmdDb29yZGluYXRvci0+cmVxdWVzdFNjcm9s
bFBvc2l0aW9uVXBkYXRlKCp0aGlzLCBzY3JvbGxQb3NpdGlvbkZyb21PZmZzZXQoY2xhbXBlZFNj
cm9sbE9mZnNldCksIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKLSNlbmRpZgotCi0gICAgaWYgKCFo
YW5kbGVkKQorICAgIGlmICghcmVxdWVzdFNjcm9sbFBvc2l0aW9uVXBkYXRlKHNjcm9sbFBvc2l0
aW9uRnJvbU9mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KSwgc2Nyb2xsVHlwZSwgY2xhbXBpbmcp
KQogICAgICAgICBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY2xhbXBlZFNjcm9sbE9m
ZnNldCwgY2xhbXBpbmcpOwogCiAgICAgc2V0Q3VycmVudFNjcm9sbFR5cGUocHJldmlvdXNTY3Jv
bGxUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZGNjMzQ1
ZDVkMzM1NmRjMmE1NzJkMmFlNTBmZDA0ZmJhZDZkZjgxNC4uNjI4NmUwOTQ3NTA2MGFiODdhZWM1
N2E4NDIzZjQ1ZGMwMGRkODlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKQEAgLTQzOSw2ICs0MzksOCBAQCBwdWJsaWM6CiAgICAgLy8gU2Nyb2xsaW5nIG1ldGhvZHMg
Zm9yIGxheWVycyB0aGF0IGNhbiBzY3JvbGwgdGhlaXIgb3ZlcmZsb3cuCiAgICAgdm9pZCBzY3Jv
bGxCeVJlY3Vyc2l2ZWx5KGNvbnN0IEludFNpemUmIGRlbHRhLCBTY3JvbGxhYmxlQXJlYSoqIHNj
cm9sbGVkQXJlYSA9IG51bGxwdHIpOwogCisgICAgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25V
cGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3JvbGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNl
ciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCkgb3ZlcnJpZGU7CisK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcm9sbFRvT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNl
dCYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5n
ID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpOwogCiAgICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlv
bihpbnQgeCwgU2Nyb2xsVHlwZSwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMWJiYTY1OTE4ZjA0YzE1MDhmN2U2ZTI3MGRkZDllZmZhYjNhNDRkMS4u
ZTFjMGQ5ZWM5NjE3ZGE5MjY4MzczZDVhMmMxZWUzYWI2NmIyYjk3ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDIwLTAxLTMxICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4K
KworICAgICAgICBBc3luY2hyb25vdXMgc2Nyb2xsaW5nIG9mIG92ZXJmbG93IGVsZW1lbnQgY2Fu
IGVudGVyIGEgcmVjdXJzaXZlIGxvb3AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNjg4NAorCisgICAgICAgIFJldmlld2VkIGJ5IEZyw6lkw6lyaWMg
V2FuZy4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL2lvcy9wcm9ncmFtbWF0aWMtc2Nyb2xs
LWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9pb3MvcHJvZ3JhbW1hdGljLXNjcm9sbC1lbGVtZW50LWNyYXNoLmh0bWw6IEFkZGVkLgor
CiAyMDIwLTAxLTI5ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtDU1MgQmFja2dyb3VuZHNdIEdhcmRlbmluZyBhZnRlciByMjU1MzUx
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW1hdGlj
LXNjcm9sbC1lbGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL2lvcy9wcm9ncmFtbWF0aWMtc2Nyb2xsLWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjEwNDJjNzY3OGU0YTgzNWM0YWUyZGUyMWRhMTZlYWVhMDAxZGZhY2QKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW1h
dGljLXNjcm9sbC1lbGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1Rl
c3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW1hdGljLXNjcm9sbC1lbGVtZW50LWNyYXNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcHJvZ3JhbW1hdGljLXNjcm9sbC1l
bGVtZW50LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMzNDQxMWVmOGVkZDM2MDQ2M2M3MmRiMWI5
Y2U0Mjc5Yjg2YTgzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL2lvcy9wcm9ncmFtbWF0aWMtc2Nyb2xsLWVsZW1lbnQtY3Jhc2guaHRtbApAQCAtMCwwICsx
LDIwIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5h
bDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0tLT4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8
c3R5bGU+CisgIC5zY3JvbGxhYmxlIHsKKyAgICBvdmVyZmxvdzogYXV0bzsKKyAgICB3aWR0aDog
NDAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgfQorPC9zdHlsZT4KK1Rlc3QgcGFzc2VzIGlm
IGl0IGRvZXMgbm90IGNyYXNoLgorPGRpdiBpZD0ib3ZlcmZsb3dOb2RlIiBjbGFzcz0ic2Nyb2xs
YWJsZSI+CisgIDxkaXYgc3R5bGU9IndpZHRoOiAyMDAwcHg7IGhlaWdodDogMTAwMHB4OyI+Cisg
IDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ292
ZXJmbG93Tm9kZScpLnNjcm9sbFRvKDUwMCwgMjUwKTsKKzwvc2NyaXB0PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>