<?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>211026</bug_id>
          
          <creation_ts>2020-04-25 12:09:55 -0700</creation_ts>
          <short_desc>Commit the scrolling tree from the main thread</short_desc>
          <delta_ts>2020-04-25 18:24:08 -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>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>210884</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</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>1645628</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-25 12:09:55 -0700</bug_when>
    <thetext>Commit the scrolling tree from the main thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645630</commentid>
    <comment_count>1</comment_count>
      <attachid>397572</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-25 12:13:27 -0700</bug_when>
    <thetext>Created attachment 397572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645631</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-25 12:14:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/62374855&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645633</commentid>
    <comment_count>3</comment_count>
      <attachid>397573</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-25 12:34:03 -0700</bug_when>
    <thetext>Created attachment 397573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645639</commentid>
    <comment_count>4</comment_count>
      <attachid>397573</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-25 13:05:41 -0700</bug_when>
    <thetext>Comment on attachment 397573
Patch

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

&gt; Source/WebCore/page/scrolling/ScrollingCoordinator.h:71
&gt; +using PlatformDisplayID = uint32_t;

I think this name would work just as well without the word &quot;platform&quot; in it.

&gt; Source/WebCore/page/scrolling/ScrollingTree.h:57
&gt; +#if ENABLE(SCROLLING_THREAD)
&gt; +using PlatformDisplayID = uint32_t;
&gt; +#endif

Same comment as above that I don’t think the word &quot;platform&quot; is helpful in this name.

Is there some way to avoid defining this type separately in multiple headers?

Please add a blank line before this since it doesn’t fit great into the paragraph of forward-declared classes.

&gt; Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm:108
&gt; +    auto stateTree = scrollingStateTree()-&gt;commit(LayerRepresentation::PlatformLayerRepresentation);
&gt; +    scrollingTree()-&gt;commitTreeState(WTFMove(stateTree));

Would this read better as a single line?

&gt; Source/WebCore/page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:98
&gt; +    auto stateTree = scrollingStateTree()-&gt;commit(LayerRepresentation::PlatformLayerRepresentation);
&gt; +    scrollingTree()-&gt;commitTreeState(WTFMove(stateTree));

Would this read better as a single line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645643</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-25 13:22:01 -0700</bug_when>
    <thetext>Oops, I didn&apos;t mean to include the windowScreenDidChange changes in this page (webkit-patch upload strikes again)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645644</commentid>
    <comment_count>6</comment_count>
      <attachid>397578</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-25 13:25:07 -0700</bug_when>
    <thetext>Created attachment 397578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645668</commentid>
    <comment_count>7</comment_count>
      <attachid>397587</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-25 14:57:30 -0700</bug_when>
    <thetext>Created attachment 397587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645673</commentid>
    <comment_count>8</comment_count>
      <attachid>397591</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-25 15:19:09 -0700</bug_when>
    <thetext>Created attachment 397591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645725</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-25 18:24:07 -0700</bug_when>
    <thetext>Committed r260716: &lt;https://trac.webkit.org/changeset/260716&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397591.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397572</attachid>
            <date>2020-04-25 12:13:27 -0700</date>
            <delta_ts>2020-04-25 12:34:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211026-20200425121326.patch</filename>
            <type>text/plain</type>
            <size>14527</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZmMjBjOTAxMTgyNzEw
ODg2N2JhMzhjODVhYzVhNDczNzQ4MGE1ZS4uNDY1YWRjNmI3M2IyZGU5MzhiYzM5N2Q4ZmU0ZDNm
NjJmOTMwYTVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA0LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENvbW1pdCB0aGUg
c2Nyb2xsaW5nIHRyZWUgZnJvbSB0aGUgbWFpbiB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTAyNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21t
aXRUcmVlU3RhdGVJZk5lZWRlZCgpIHBhc3NlZCB0aGUgbmV3IHN0YXRlIHRyZWUgdG8KKyAgICAg
ICAgdGhlIHNjcm9sbGluZyB0aHJlYWQgd2hpY2ggdGhlbiBkaWQgdGhlIGNvbW1pdCAod2hpY2gg
dXBkYXRlcyB0aGUgc2Nyb2xsaW5nIHRyZWUKKyAgICAgICAgZnJvbSB0aGUgc3RhdGUgdHJlZSku
IEhvd2V2ZXIsIGFwcGx5TGF5ZXJQb3NpdGlvbnMoKSBpbW1lZGlhdGVseSB3YWl0ZWQgZm9yIHRo
YXQKKyAgICAgICAgY29tbWl0IHRvIGNvbXBsZXRlLCBibG9ja2luZyB0aGUgbWFpbiB0aHJlYWQg
YW55d2F5LgorCisgICAgICAgIFdlIG1pZ2h0IGFzIHdlbGwganVzdCBjb21taXQgdGhlIHNjcm9s
bGluZyB0cmVlIG9uIHRoZSBtYWluIHRocmVhZC4gU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0
YXRlKCkKKyAgICAgICAgbG9ja3MgbV90cmVlTXV0ZXgsIHNvIHRoaXMgaXMgc3RpbGwgc2FmZS4g
TG9jayBjb250ZW50aW9uIHdpdGggdGhlIHNjcm9sbGluZyBvciBldmVudCBkaXNwYXRjaGVyCisg
ICAgICAgIHRocmVhZHMgc2hvdWxkIGJlIHJhcmU7IHRob3NlIHRocmVhZHMgYXJlIGJvdGggbW9z
dGx5IHJlc3BvbnNpdmUuCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6c2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OndpbmRvd1NjcmVlbkRpZENoYW5nZSk6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdDb29yZGluYXRvcjo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWU6OmNvbW1pdFRyZWVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjp3
aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6
ZGlzcGxheUlEKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpkaXNwbGF5RGlkUmVmcmVzaCk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6aW5jcmVtZW50UGVu
ZGluZ0NvbW1pdENvdW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Ny
b2xsaW5nVHJlZTo6ZGVjcmVtZW50UGVuZGluZ0NvbW1pdENvdW50KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2FpdEZvclBlbmRpbmdDb21taXRz
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2Fp
dEZvclNjcm9sbGluZ1RyZWVDb21taXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkZWRTY3JvbGxpbmdUcmVlOjphcHBseUxheWVyUG9zaXRpb25zKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlSWZOZWVkZWQp
OgorCiAyMDIwLTA0LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIE1vdmUgc29tZSBwb3N0LXJlbmRlcmluZ1VwZGF0ZSBjb2RlIGludG8gV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggY2QwYTE4MmNiMzMwMzFjZmQ1ZWRjYTljYzg5MDkxMDAx
ZjI1ZDNmMi4uNzE5MjJhNzgwYTE5YWJmMTA1NjQwZTYwNGRjMjBhMGUyMWIwZGVmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCkBAIC00MjksNiArNDI5LDggQEAgU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIFBh
Z2U6OnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkKICAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRv
ciA9IGNocm9tZSgpLmNsaWVudCgpLmNyZWF0ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yKCp0aGlzKTsK
ICAgICAgICAgaWYgKCFtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yKQogICAgICAgICAgICAgbV9zY3Jv
bGxpbmdDb29yZGluYXRvciA9IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUodGhpcyk7CisK
KyAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRvci0+d2luZG93U2NyZWVuRGlkQ2hhbmdlKG1f
ZGlzcGxheUlEKTsKICAgICB9CiAKICAgICByZXR1cm4gbV9zY3JvbGxpbmdDb29yZGluYXRvci5n
ZXQoKTsKQEAgLTExMTcsNiArMTExOSw5IEBAIHZvaWQgUGFnZTo6d2luZG93U2NyZWVuRGlkQ2hh
bmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKICAgICAgICAgICAgIGZyYW1lLT5kb2N1
bWVudCgpLT53aW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlEKTsKICAgICB9CiAKKyAgICBp
ZiAobV9zY3JvbGxpbmdDb29yZGluYXRvcikKKyAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRv
ci0+d2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7CisKICNpZiBVU0UoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVk
dWxlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuY3BwCmluZGV4IGZmMjg1NjI1NjY0Y2JhZTVlMzZhNTM1NWQ5YTRkY2Q4MDEwMjc2
MGUuLjY2ZDAwYThlNGY1Yzc1MDJiYzlkOWViZDVkMmFjYmQ5OTdlNjkxNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuY3BwCkBAIC03OTksNiArNzk5LDExIEBAIGJvb2wgQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvcjo6aGFzU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGluZ05vZGVJRCBu
CiAjZW5kaWYKIH0KIAordm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQoreworICAgIHNjcm9sbGlu
Z1RyZWUoKS0+d2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7Cit9CisKIGJvb2wgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIHNjcm9sbGluZ1RyZWUoKS0+aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxp
bmdDb29yZGluYXRvci5oCmluZGV4IDA4N2IwZjJlYWUxYzEwZjVkZWQ3NjA0NWY5MTY4YjNhZDk2
ZWY5MTAuLjEzMWNmODkyOTUxYzRmZDgxYjQ2MTc2YTc4ZmU5MDBmMjg1MTllMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmgKQEAgLTEzNiw2ICsxMzYsOCBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGluZ05vZGVJRCwg
T3B0aW9uU2V0PFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uPikgZmluYWw7CiAgICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCBoYXNTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoU2Nyb2xsaW5nTm9k
ZUlEKSBjb25zdCBmaW5hbDsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd2luZG93U2NyZWVu
RGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKSBmaW5hbDsKKwogICAgIHZpcnR1YWwgdm9pZCBz
Y2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpID0gMDsKIAogICAgIHZvaWQgZW5zdXJlUm9vdFN0YXRl
Tm9kZUZvckZyYW1lVmlldyhGcmFtZVZpZXcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IGY4YmM5ODdkNmE3Mjg0
MzUzMzg1NWM3ZmExODE0YzI1ZjJkZGE4MmQuLjM1ZjZkYTZiYjgzOGUwMTg1MDcyOTg1M2E0OGFl
NzMxNjYxMDIzYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtNjgsNiArNjgsOCBAQCBjbGFzcyBWaWV3cG9ydENv
bnN0cmFpbnRzOwogY2xhc3MgU2Nyb2xsaW5nVHJlZTsKICNlbmRpZgogCit1c2luZyBQbGF0Zm9y
bURpc3BsYXlJRCA9IHVpbnQzMl90OworCiBjbGFzcyBTY3JvbGxpbmdDb29yZGluYXRvciA6IHB1
YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTY3JvbGxpbmdDb29yZGluYXRvcj4gewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IGNyZWF0ZShQYWdlKik7CkBA
IC0xNzksNiArMTgxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVNj
cm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNjcm9s
bGFibGVBcmVhU2Nyb2xsYmFyTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEmLCBTY3JvbGxi
YXJPcmllbnRhdGlvbikgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hh
bmdlKFBsYXRmb3JtRGlzcGxheUlEKSB7IH0KKwogICAgIHN0YXRpYyBTdHJpbmcgc3luY2hyb25v
dXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0KE9wdGlvblNldDxTeW5jaHJvbm91c1Njcm9sbGluZ1Jl
YXNvbj4pOwogICAgIFN0cmluZyBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnNBc1RleHQoKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmNwcAppbmRleCA0NjZjMWM1MzU4MGQxM2Q1ZmZhMTZhYjViYjUzNzg3MDM1ODJiYTZlLi4yZTI3
YWMyMTFmM2FkNzc4MWE5MjRkMDBjODZhZmNiYjAzOWQ1MTYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBA
IHZvaWQgU2Nyb2xsaW5nVHJlZTo6bWFpbkZyYW1lVmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVk
U2Nyb2xsaW5nKGNvbnN0IEZsb2F0UG9pCiAgICAgbV9yb290Tm9kZS0+d2FzU2Nyb2xsZWRCeURl
bGVnYXRlZFNjcm9sbGluZyhzY3JvbGxQb3NpdGlvbiwgbGF5b3V0Vmlld3BvcnQpOwogfQogCi12
b2lkIFNjcm9sbGluZ1RyZWU6OmNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xs
aW5nU3RhdGVUcmVlPiBzY3JvbGxpbmdTdGF0ZVRyZWUpCit2b2lkIFNjcm9sbGluZ1RyZWU6OmNv
bW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYmIHNjcm9s
bGluZ1N0YXRlVHJlZSkKIHsKICAgICBTZXRGb3JTY29wZTxib29sPiBpbkNvbW1pdFRyZWVTdGF0
ZShtX2luQ29tbWl0VHJlZVN0YXRlLCB0cnVlKTsKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3Ry
ZWVNdXRleCk7CkBAIC01MDcsNiArNTA3LDE4IEBAIGJvb2wgU2Nyb2xsaW5nVHJlZTo6d2lsbFdo
ZWVsRXZlbnRTdGFydFN3aXBlR2VzdHVyZShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFNjcm9sbGluZ1RyZWU6OndpbmRvd1NjcmVlbkRp
ZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCit7CisgICAgTG9ja0hvbGRlciBs
b2NrZXIobV90cmVlU3RhdGVNdXRleCk7CisgICAgbV90cmVlU3RhdGUuZGlzcGxheUlEID0gZGlz
cGxheUlEOworfQorCitQbGF0Zm9ybURpc3BsYXlJRCBTY3JvbGxpbmdUcmVlOjpkaXNwbGF5SUQo
KQoreworICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fdHJlZVN0YXRlTXV0ZXgpOworICAgIHJldHVy
biBtX3RyZWVTdGF0ZS5kaXNwbGF5SUQ7Cit9CisKIHZvaWQgU2Nyb2xsaW5nVHJlZTo6c2V0U2Ny
b2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZChib29sIGZsYWcpCiB7CiAgICAgbV9zY3Jv
bGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkID0gZmxhZzsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAppbmRleCBkMzBhN2IwODE4Mzk1ZGVlNmQw
ZjVlMjZlNmJiMzUxOWNkYTEwMWUxLi5hMGE5NThkYzU5NjdiMzA4MTVlNTIyMjViYTkzYzU0ZmZh
NDUwNGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5oCkBAIC01Miw2ICs1Miw5IEBAIGNsYXNzIFNjcm9sbGluZ1RyZWVOb2RlOwogY2xhc3MgU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOwogY2xhc3MgU2Nyb2xsaW5nVHJlZVBv
c2l0aW9uZWROb2RlOwogY2xhc3MgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU7CisjaWYgRU5B
QkxFKFNDUk9MTElOR19USFJFQUQpCit1c2luZyBQbGF0Zm9ybURpc3BsYXlJRCA9IHVpbnQzMl90
OworI2VuZGlmCiAKIGNsYXNzIFNjcm9sbGluZ1RyZWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNv
dW50ZWQ8U2Nyb2xsaW5nVHJlZT4gewogZnJpZW5kIGNsYXNzIFNjcm9sbGluZ1RyZWVMYXRjaGlu
Z0NvbnRyb2xsZXI7CkBAIC03OCw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2Nyb2xs
U25hcEluUHJvZ3Jlc3MoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCkgeyB9Ci0g
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1
ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPik7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2
b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYm
KTsKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgYXBwbHlMYXllclBvc2l0
aW9ucygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlMYXllclBvc2l0aW9uc0FmdGVy
Q29tbWl0KCk7CkBAIC0xNzYsNiArMTc5LDEzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCB3YWl0Rm9yU2Nyb2xsaW5nVHJlZUNvbW1pdCgpIHsgfQogCisgICAgdm9pZCB3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQpOworICAgIFBsYXRmb3JtRGlzcGxheUlEIGRp
c3BsYXlJRCgpOworCisjaWYgRU5BQkxFKFNDUk9MTElOR19USFJFQUQpCisgICAgdmlydHVhbCB2
b2lkIGRpc3BsYXlEaWRSZWZyZXNoKFBsYXRmb3JtRGlzcGxheUlEKSB7IH0KKyNlbmRpZgorCiBw
cm90ZWN0ZWQ6CiAgICAgRmxvYXRQb2ludCBtYWluRnJhbWVTY3JvbGxQb3NpdGlvbigpIGNvbnN0
OwogICAgIHZvaWQgc2V0TWFpbkZyYW1lU2Nyb2xsUG9zaXRpb24oRmxvYXRQb2ludCk7CkBAIC0y
MTEsNiArMjIxLDcgQEAgcHJpdmF0ZToKICAgICBzdHJ1Y3QgVHJlZVN0YXRlIHsKICAgICAgICAg
RXZlbnRUcmFja2luZ1JlZ2lvbnMgZXZlbnRUcmFja2luZ1JlZ2lvbnM7CiAgICAgICAgIEZsb2F0
UG9pbnQgbWFpbkZyYW1lU2Nyb2xsUG9zaXRpb247CisgICAgICAgIFBsYXRmb3JtRGlzcGxheUlE
IGRpc3BsYXlJRCB7IDAgfTsKICAgICAgICAgYm9vbCBtYWluRnJhbWVJc1J1YmJlckJhbmRpbmcg
eyBmYWxzZSB9OwogICAgICAgICBib29sIG1haW5GcmFtZUlzU2Nyb2xsU25hcHBpbmcgeyBmYWxz
ZSB9OwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9U
aHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
VGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAppbmRleCA5Mjk2ZDRiMjJjYzZiN2UzYTA5NGRhODQ1
YTJlOWFkZjhkZjQ3NzE2Li5jY2VlN2U0ZWZkNGMxMTdlYmRjZjJmYzYxNWYxYjk5NTMwMmZjMjJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9s
bGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVk
U2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTg1LDE0ICs4NSw2IEBAIHZvaWQgVGhyZWFkZWRTY3JvbGxp
bmdUcmVlOjppbnZhbGlkYXRlKCkKICAgICB9KTsKIH0KIAotdm9pZCBUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OmNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVl
PiBzY3JvbGxpbmdTdGF0ZVRyZWUpCi17Ci0gICAgQVNTRVJUKFNjcm9sbGluZ1RocmVhZDo6aXND
dXJyZW50VGhyZWFkKCkpOwotICAgIFNjcm9sbGluZ1RyZWU6OmNvbW1pdFRyZWVTdGF0ZShXVEZN
b3ZlKHNjcm9sbGluZ1N0YXRlVHJlZSkpOwotICAgIAotICAgIGRlY3JlbWVudFBlbmRpbmdDb21t
aXRDb3VudCgpOwotfQotCiB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6cHJvcGFnYXRlU3lu
Y2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYg
c3luY2hyb25vdXNTY3JvbGxpbmdOb2RlcykKIHsKICAgICBhdXRvIHByb3BhZ2F0ZVN0YXRlVG9B
bmNlc3RvcnMgPSBbJl0oU2Nyb2xsaW5nVHJlZU5vZGUmIG5vZGUpIHsKQEAgLTE2MCw0MCArMTUy
LDYgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OnJlcG9ydEV4cG9zZWRVbmZpbGxlZEFy
ZWEoTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIHUKICAgICB9KTsKIH0KIAotdm9pZCBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWU6OmluY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpCi17Ci0gICAgTG9j
a0hvbGRlciBjb21taXRMb2NrZXIobV9wZW5kaW5nQ29tbWl0Q291bnRNdXRleCk7Ci0gICAgKytt
X3BlbmRpbmdDb21taXRDb3VudDsKLX0KLQotdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmRl
Y3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpCi17Ci0gICAgTG9ja0hvbGRlciBjb21taXRMb2Nr
ZXIobV9wZW5kaW5nQ29tbWl0Q291bnRNdXRleCk7Ci0gICAgQVNTRVJUKG1fcGVuZGluZ0NvbW1p
dENvdW50ID4gMCk7Ci0gICAgaWYgKCEtLW1fcGVuZGluZ0NvbW1pdENvdW50KQotICAgICAgICBt
X2NvbW1pdENvbmRpdGlvbi5ub3RpZnlPbmUoKTsKLX0KLQotdm9pZCBUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OndhaXRGb3JQZW5kaW5nQ29tbWl0cygpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKLQotICAgIExvY2tIb2xkZXIgY29tbWl0TG9ja2VyKG1fcGVuZGluZ0NvbW1pdENvdW50
TXV0ZXgpOwotICAgIHdoaWxlIChtX3BlbmRpbmdDb21taXRDb3VudCkKLSAgICAgICAgbV9jb21t
aXRDb25kaXRpb24ud2FpdChtX3BlbmRpbmdDb21taXRDb3VudE11dGV4KTsKLX0KLQotdm9pZCBU
aHJlYWRlZFNjcm9sbGluZ1RyZWU6OndhaXRGb3JTY3JvbGxpbmdUcmVlQ29tbWl0KCkKLXsKLSAg
ICB3YWl0Rm9yUGVuZGluZ0NvbW1pdHMoKTsKLX0KLQotdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1Ry
ZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMoKQotewotICAgIHdhaXRGb3JQZW5kaW5nQ29tbWl0cygp
OwotICAgIFNjcm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMoKTsKLX0KLQogI2lmIFBM
QVRGT1JNKENPQ09BKQogdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmN1cnJlbnRTbmFwUG9p
bnRJbmRpY2VzRGlkQ2hhbmdlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIHVuc2lnbmVkIGhvcml6
b250YWwsIHVuc2lnbmVkIHZlcnRpY2FsKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAppbmRleCA1MTM2NTM2NDk1OTJh
ZDhiZmZlNGYwZjY1ZTI0NWY3YjQ1ODMwOGFjLi4wNjZhMDZlM2JhZWM5ZWY4Yzk5YjVjMzM0YjYw
MjQ4YTcwMjVmNDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9U
aHJlYWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAtNDQsOCArNDQsNiBAQCBjbGFzcyBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWUgOiBwdWJsaWMgU2Nyb2xsaW5nVHJlZSB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+VGhyZWFkZWRTY3JvbGxpbmdUcmVlKCk7CiAKLSAgICB2b2lkIGNvbW1pdFRyZWVTdGF0
ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPikgb3ZlcnJpZGU7Ci0KICAgICBT
Y3JvbGxpbmdFdmVudFJlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYpIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FuIGJlIGNhbGxlZCBmcm9tIGFueSB0aHJlYWQu
IFdpbGwgdHJ5IHRvIGhhbmRsZSB0aGUgd2hlZWwgZXZlbnQgb24gdGhlIHNjcm9sbGluZyB0aHJl
YWQuCkBAIC01NSw5ICs1Myw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW52YWxpZGF0ZSgpIG92
ZXJyaWRlOwogCi0gICAgdm9pZCBpbmNyZW1lbnRQZW5kaW5nQ29tbWl0Q291bnQoKTsKLSAgICB2
b2lkIGRlY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpOwotCiBwcm90ZWN0ZWQ6CiAgICAgZXhw
bGljaXQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3ImKTsK
IApAQCAtNzcsMTcgKzcyLDkgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGJvb2wgaXNU
aHJlYWRlZFNjcm9sbGluZ1RyZWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0g
ICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3YWl0Rm9y
U2Nyb2xsaW5nVHJlZUNvbW1pdCgpIG92ZXJyaWRlOwogICAgIHZvaWQgcHJvcGFnYXRlU3luY2hy
b25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYpIG92
ZXJyaWRlOwogCiAgICAgUmVmUHRyPEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I+IG1fc2Nyb2xs
aW5nQ29vcmRpbmF0b3I7Ci0KLSAgICB2b2lkIHdhaXRGb3JQZW5kaW5nQ29tbWl0cygpOwotCi0g
ICAgTG9jayBtX3BlbmRpbmdDb21taXRDb3VudE11dGV4OwotICAgIHVuc2lnbmVkIG1fcGVuZGlu
Z0NvbW1pdENvdW50IHsgMCB9OwotICAgIENvbmRpdGlvbiBtX2NvbW1pdENvbmRpdGlvbjsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQppbmRleCBk
OGU1MWNhN2U2NGVkNGRiZjZjNjgwZWQxMTk2ZTgyNjgyOTNkZDZlLi45YzZjNzdmZGQwNTRlNWUy
ODEyMTI1NDUxYjUxNDdiMzA4Y2IwMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC05
NywyMiArOTcsMTUgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0
YXRlSWZOZWVkZWQoKQogewogICAgIHdpbGxDb21taXRUcmVlKCk7CiAKLSAgICBMT0coU2Nyb2xs
aW5nLCAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZSwgaGFzIGNoYW5n
ZXMgJWQiLCBzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+aGFzQ2hhbmdlZFByb3BlcnRpZXMoKSk7Cisg
ICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdDb29yZGlu
YXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlLCBoYXMgY2hhbmdlcyAiIDw8IHNjcm9sbGluZ1N0YXRl
VHJlZSgpLT5oYXNDaGFuZ2VkUHJvcGVydGllcygpKTsKIAogICAgIGlmICghc2Nyb2xsaW5nU3Rh
dGVUcmVlKCktPmhhc0NoYW5nZWRQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IExPRyhTY3JvbGxpbmcsICIlcyIsIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dChTY3JvbGxpbmdT
dGF0ZVRyZWVBc1RleHRCZWhhdmlvckRlYnVnKS51dGY4KCkuZGF0YSgpKTsKKyAgICBMT0dfV0lU
SF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KFNj
cm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yRGVidWcpKTsKIAotICAgIFJlZlB0cjxUaHJl
YWRlZFNjcm9sbGluZ1RyZWU+IHRocmVhZGVkU2Nyb2xsaW5nVHJlZSA9IGRvd25jYXN0PFRocmVh
ZGVkU2Nyb2xsaW5nVHJlZT4oc2Nyb2xsaW5nVHJlZSgpKTsKLSAgICBTY3JvbGxpbmdTdGF0ZVRy
ZWUqIHVucHJvdGVjdGVkVHJlZVN0YXRlID0gc2Nyb2xsaW5nU3RhdGVUcmVlKCktPmNvbW1pdChM
YXllclJlcHJlc2VudGF0aW9uOjpQbGF0Zm9ybUxheWVyUmVwcmVzZW50YXRpb24pLnJlbGVhc2Uo
KTsKLQotICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+aW5jcmVtZW50UGVuZGluZ0NvbW1pdENv
dW50KCk7Ci0KLSAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFt0aHJlYWRlZFNjcm9sbGlu
Z1RyZWUsIHVucHJvdGVjdGVkVHJlZVN0YXRlXSB7Ci0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxT
Y3JvbGxpbmdTdGF0ZVRyZWU+IHRyZWVTdGF0ZSh1bnByb3RlY3RlZFRyZWVTdGF0ZSk7Ci0gICAg
ICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+Y29tbWl0VHJlZVN0YXRlKFdURk1vdmUodHJlZVN0
YXRlKSk7Ci0gICAgfSk7CisgICAgYXV0byBzdGF0ZVRyZWUgPSBzY3JvbGxpbmdTdGF0ZVRyZWUo
KS0+Y29tbWl0KExheWVyUmVwcmVzZW50YXRpb246OlBsYXRmb3JtTGF5ZXJSZXByZXNlbnRhdGlv
bik7CisgICAgc2Nyb2xsaW5nVHJlZSgpLT5jb21taXRUcmVlU3RhdGUoV1RGTW92ZShzdGF0ZVRy
ZWUpKTsKIAogICAgIHVwZGF0ZVRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397573</attachid>
            <date>2020-04-25 12:34:03 -0700</date>
            <delta_ts>2020-04-25 13:05:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211026-20200425123402.patch</filename>
            <type>text/plain</type>
            <size>15715</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZmMjBjOTAxMTgyNzEw
ODg2N2JhMzhjODVhYzVhNDczNzQ4MGE1ZS4uNDY1YWRjNmI3M2IyZGU5MzhiYzM5N2Q4ZmU0ZDNm
NjJmOTMwYTVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA0LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENvbW1pdCB0aGUg
c2Nyb2xsaW5nIHRyZWUgZnJvbSB0aGUgbWFpbiB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTAyNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21t
aXRUcmVlU3RhdGVJZk5lZWRlZCgpIHBhc3NlZCB0aGUgbmV3IHN0YXRlIHRyZWUgdG8KKyAgICAg
ICAgdGhlIHNjcm9sbGluZyB0aHJlYWQgd2hpY2ggdGhlbiBkaWQgdGhlIGNvbW1pdCAod2hpY2gg
dXBkYXRlcyB0aGUgc2Nyb2xsaW5nIHRyZWUKKyAgICAgICAgZnJvbSB0aGUgc3RhdGUgdHJlZSku
IEhvd2V2ZXIsIGFwcGx5TGF5ZXJQb3NpdGlvbnMoKSBpbW1lZGlhdGVseSB3YWl0ZWQgZm9yIHRo
YXQKKyAgICAgICAgY29tbWl0IHRvIGNvbXBsZXRlLCBibG9ja2luZyB0aGUgbWFpbiB0aHJlYWQg
YW55d2F5LgorCisgICAgICAgIFdlIG1pZ2h0IGFzIHdlbGwganVzdCBjb21taXQgdGhlIHNjcm9s
bGluZyB0cmVlIG9uIHRoZSBtYWluIHRocmVhZC4gU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0
YXRlKCkKKyAgICAgICAgbG9ja3MgbV90cmVlTXV0ZXgsIHNvIHRoaXMgaXMgc3RpbGwgc2FmZS4g
TG9jayBjb250ZW50aW9uIHdpdGggdGhlIHNjcm9sbGluZyBvciBldmVudCBkaXNwYXRjaGVyCisg
ICAgICAgIHRocmVhZHMgc2hvdWxkIGJlIHJhcmU7IHRob3NlIHRocmVhZHMgYXJlIGJvdGggbW9z
dGx5IHJlc3BvbnNpdmUuCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6c2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OndpbmRvd1NjcmVlbkRpZENoYW5nZSk6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdDb29yZGluYXRvcjo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWU6OmNvbW1pdFRyZWVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjp3
aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6
ZGlzcGxheUlEKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpkaXNwbGF5RGlkUmVmcmVzaCk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6aW5jcmVtZW50UGVu
ZGluZ0NvbW1pdENvdW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Ny
b2xsaW5nVHJlZTo6ZGVjcmVtZW50UGVuZGluZ0NvbW1pdENvdW50KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2FpdEZvclBlbmRpbmdDb21taXRz
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2Fp
dEZvclNjcm9sbGluZ1RyZWVDb21taXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkZWRTY3JvbGxpbmdUcmVlOjphcHBseUxheWVyUG9zaXRpb25zKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlSWZOZWVkZWQp
OgorCiAyMDIwLTA0LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIE1vdmUgc29tZSBwb3N0LXJlbmRlcmluZ1VwZGF0ZSBjb2RlIGludG8gV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggY2QwYTE4MmNiMzMwMzFjZmQ1ZWRjYTljYzg5MDkxMDAx
ZjI1ZDNmMi4uNzE5MjJhNzgwYTE5YWJmMTA1NjQwZTYwNGRjMjBhMGUyMWIwZGVmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCkBAIC00MjksNiArNDI5LDggQEAgU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIFBh
Z2U6OnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkKICAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRv
ciA9IGNocm9tZSgpLmNsaWVudCgpLmNyZWF0ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yKCp0aGlzKTsK
ICAgICAgICAgaWYgKCFtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yKQogICAgICAgICAgICAgbV9zY3Jv
bGxpbmdDb29yZGluYXRvciA9IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUodGhpcyk7CisK
KyAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRvci0+d2luZG93U2NyZWVuRGlkQ2hhbmdlKG1f
ZGlzcGxheUlEKTsKICAgICB9CiAKICAgICByZXR1cm4gbV9zY3JvbGxpbmdDb29yZGluYXRvci5n
ZXQoKTsKQEAgLTExMTcsNiArMTExOSw5IEBAIHZvaWQgUGFnZTo6d2luZG93U2NyZWVuRGlkQ2hh
bmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKICAgICAgICAgICAgIGZyYW1lLT5kb2N1
bWVudCgpLT53aW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlEKTsKICAgICB9CiAKKyAgICBp
ZiAobV9zY3JvbGxpbmdDb29yZGluYXRvcikKKyAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRv
ci0+d2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7CisKICNpZiBVU0UoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVk
dWxlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuY3BwCmluZGV4IGZmMjg1NjI1NjY0Y2JhZTVlMzZhNTM1NWQ5YTRkY2Q4MDEwMjc2
MGUuLjY2ZDAwYThlNGY1Yzc1MDJiYzlkOWViZDVkMmFjYmQ5OTdlNjkxNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuY3BwCkBAIC03OTksNiArNzk5LDExIEBAIGJvb2wgQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvcjo6aGFzU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGluZ05vZGVJRCBu
CiAjZW5kaWYKIH0KIAordm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQoreworICAgIHNjcm9sbGlu
Z1RyZWUoKS0+d2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7Cit9CisKIGJvb2wgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIHNjcm9sbGluZ1RyZWUoKS0+aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxp
bmdDb29yZGluYXRvci5oCmluZGV4IDA4N2IwZjJlYWUxYzEwZjVkZWQ3NjA0NWY5MTY4YjNhZDk2
ZWY5MTAuLjEzMWNmODkyOTUxYzRmZDgxYjQ2MTc2YTc4ZmU5MDBmMjg1MTllMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmgKQEAgLTEzNiw2ICsxMzYsOCBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGluZ05vZGVJRCwg
T3B0aW9uU2V0PFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uPikgZmluYWw7CiAgICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCBoYXNTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoU2Nyb2xsaW5nTm9k
ZUlEKSBjb25zdCBmaW5hbDsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd2luZG93U2NyZWVu
RGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKSBmaW5hbDsKKwogICAgIHZpcnR1YWwgdm9pZCBz
Y2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpID0gMDsKIAogICAgIHZvaWQgZW5zdXJlUm9vdFN0YXRl
Tm9kZUZvckZyYW1lVmlldyhGcmFtZVZpZXcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IGY4YmM5ODdkNmE3Mjg0
MzUzMzg1NWM3ZmExODE0YzI1ZjJkZGE4MmQuLjM1ZjZkYTZiYjgzOGUwMTg1MDcyOTg1M2E0OGFl
NzMxNjYxMDIzYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtNjgsNiArNjgsOCBAQCBjbGFzcyBWaWV3cG9ydENv
bnN0cmFpbnRzOwogY2xhc3MgU2Nyb2xsaW5nVHJlZTsKICNlbmRpZgogCit1c2luZyBQbGF0Zm9y
bURpc3BsYXlJRCA9IHVpbnQzMl90OworCiBjbGFzcyBTY3JvbGxpbmdDb29yZGluYXRvciA6IHB1
YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTY3JvbGxpbmdDb29yZGluYXRvcj4gewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IGNyZWF0ZShQYWdlKik7CkBA
IC0xNzksNiArMTgxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVNj
cm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNjcm9s
bGFibGVBcmVhU2Nyb2xsYmFyTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEmLCBTY3JvbGxi
YXJPcmllbnRhdGlvbikgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hh
bmdlKFBsYXRmb3JtRGlzcGxheUlEKSB7IH0KKwogICAgIHN0YXRpYyBTdHJpbmcgc3luY2hyb25v
dXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0KE9wdGlvblNldDxTeW5jaHJvbm91c1Njcm9sbGluZ1Jl
YXNvbj4pOwogICAgIFN0cmluZyBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnNBc1RleHQoKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmNwcAppbmRleCA0NjZjMWM1MzU4MGQxM2Q1ZmZhMTZhYjViYjUzNzg3MDM1ODJiYTZlLi4yZTI3
YWMyMTFmM2FkNzc4MWE5MjRkMDBjODZhZmNiYjAzOWQ1MTYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBA
IHZvaWQgU2Nyb2xsaW5nVHJlZTo6bWFpbkZyYW1lVmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVk
U2Nyb2xsaW5nKGNvbnN0IEZsb2F0UG9pCiAgICAgbV9yb290Tm9kZS0+d2FzU2Nyb2xsZWRCeURl
bGVnYXRlZFNjcm9sbGluZyhzY3JvbGxQb3NpdGlvbiwgbGF5b3V0Vmlld3BvcnQpOwogfQogCi12
b2lkIFNjcm9sbGluZ1RyZWU6OmNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xs
aW5nU3RhdGVUcmVlPiBzY3JvbGxpbmdTdGF0ZVRyZWUpCit2b2lkIFNjcm9sbGluZ1RyZWU6OmNv
bW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYmIHNjcm9s
bGluZ1N0YXRlVHJlZSkKIHsKICAgICBTZXRGb3JTY29wZTxib29sPiBpbkNvbW1pdFRyZWVTdGF0
ZShtX2luQ29tbWl0VHJlZVN0YXRlLCB0cnVlKTsKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3Ry
ZWVNdXRleCk7CkBAIC01MDcsNiArNTA3LDE4IEBAIGJvb2wgU2Nyb2xsaW5nVHJlZTo6d2lsbFdo
ZWVsRXZlbnRTdGFydFN3aXBlR2VzdHVyZShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFNjcm9sbGluZ1RyZWU6OndpbmRvd1NjcmVlbkRp
ZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCit7CisgICAgTG9ja0hvbGRlciBs
b2NrZXIobV90cmVlU3RhdGVNdXRleCk7CisgICAgbV90cmVlU3RhdGUuZGlzcGxheUlEID0gZGlz
cGxheUlEOworfQorCitQbGF0Zm9ybURpc3BsYXlJRCBTY3JvbGxpbmdUcmVlOjpkaXNwbGF5SUQo
KQoreworICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fdHJlZVN0YXRlTXV0ZXgpOworICAgIHJldHVy
biBtX3RyZWVTdGF0ZS5kaXNwbGF5SUQ7Cit9CisKIHZvaWQgU2Nyb2xsaW5nVHJlZTo6c2V0U2Ny
b2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZChib29sIGZsYWcpCiB7CiAgICAgbV9zY3Jv
bGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkID0gZmxhZzsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAppbmRleCBkMzBhN2IwODE4Mzk1ZGVlNmQw
ZjVlMjZlNmJiMzUxOWNkYTEwMWUxLi5hMGE5NThkYzU5NjdiMzA4MTVlNTIyMjViYTkzYzU0ZmZh
NDUwNGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5oCkBAIC01Miw2ICs1Miw5IEBAIGNsYXNzIFNjcm9sbGluZ1RyZWVOb2RlOwogY2xhc3MgU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOwogY2xhc3MgU2Nyb2xsaW5nVHJlZVBv
c2l0aW9uZWROb2RlOwogY2xhc3MgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU7CisjaWYgRU5B
QkxFKFNDUk9MTElOR19USFJFQUQpCit1c2luZyBQbGF0Zm9ybURpc3BsYXlJRCA9IHVpbnQzMl90
OworI2VuZGlmCiAKIGNsYXNzIFNjcm9sbGluZ1RyZWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNv
dW50ZWQ8U2Nyb2xsaW5nVHJlZT4gewogZnJpZW5kIGNsYXNzIFNjcm9sbGluZ1RyZWVMYXRjaGlu
Z0NvbnRyb2xsZXI7CkBAIC03OCw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2Nyb2xs
U25hcEluUHJvZ3Jlc3MoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCkgeyB9Ci0g
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1
ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPik7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2
b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYm
KTsKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgYXBwbHlMYXllclBvc2l0
aW9ucygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlMYXllclBvc2l0aW9uc0FmdGVy
Q29tbWl0KCk7CkBAIC0xNzYsNiArMTc5LDEzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCB3YWl0Rm9yU2Nyb2xsaW5nVHJlZUNvbW1pdCgpIHsgfQogCisgICAgdm9pZCB3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQpOworICAgIFBsYXRmb3JtRGlzcGxheUlEIGRp
c3BsYXlJRCgpOworCisjaWYgRU5BQkxFKFNDUk9MTElOR19USFJFQUQpCisgICAgdmlydHVhbCB2
b2lkIGRpc3BsYXlEaWRSZWZyZXNoKFBsYXRmb3JtRGlzcGxheUlEKSB7IH0KKyNlbmRpZgorCiBw
cm90ZWN0ZWQ6CiAgICAgRmxvYXRQb2ludCBtYWluRnJhbWVTY3JvbGxQb3NpdGlvbigpIGNvbnN0
OwogICAgIHZvaWQgc2V0TWFpbkZyYW1lU2Nyb2xsUG9zaXRpb24oRmxvYXRQb2ludCk7CkBAIC0y
MTEsNiArMjIxLDcgQEAgcHJpdmF0ZToKICAgICBzdHJ1Y3QgVHJlZVN0YXRlIHsKICAgICAgICAg
RXZlbnRUcmFja2luZ1JlZ2lvbnMgZXZlbnRUcmFja2luZ1JlZ2lvbnM7CiAgICAgICAgIEZsb2F0
UG9pbnQgbWFpbkZyYW1lU2Nyb2xsUG9zaXRpb247CisgICAgICAgIFBsYXRmb3JtRGlzcGxheUlE
IGRpc3BsYXlJRCB7IDAgfTsKICAgICAgICAgYm9vbCBtYWluRnJhbWVJc1J1YmJlckJhbmRpbmcg
eyBmYWxzZSB9OwogICAgICAgICBib29sIG1haW5GcmFtZUlzU2Nyb2xsU25hcHBpbmcgeyBmYWxz
ZSB9OwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9U
aHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
VGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAppbmRleCA5Mjk2ZDRiMjJjYzZiN2UzYTA5NGRhODQ1
YTJlOWFkZjhkZjQ3NzE2Li5jY2VlN2U0ZWZkNGMxMTdlYmRjZjJmYzYxNWYxYjk5NTMwMmZjMjJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9s
bGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVk
U2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTg1LDE0ICs4NSw2IEBAIHZvaWQgVGhyZWFkZWRTY3JvbGxp
bmdUcmVlOjppbnZhbGlkYXRlKCkKICAgICB9KTsKIH0KIAotdm9pZCBUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OmNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVl
PiBzY3JvbGxpbmdTdGF0ZVRyZWUpCi17Ci0gICAgQVNTRVJUKFNjcm9sbGluZ1RocmVhZDo6aXND
dXJyZW50VGhyZWFkKCkpOwotICAgIFNjcm9sbGluZ1RyZWU6OmNvbW1pdFRyZWVTdGF0ZShXVEZN
b3ZlKHNjcm9sbGluZ1N0YXRlVHJlZSkpOwotICAgIAotICAgIGRlY3JlbWVudFBlbmRpbmdDb21t
aXRDb3VudCgpOwotfQotCiB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6cHJvcGFnYXRlU3lu
Y2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYg
c3luY2hyb25vdXNTY3JvbGxpbmdOb2RlcykKIHsKICAgICBhdXRvIHByb3BhZ2F0ZVN0YXRlVG9B
bmNlc3RvcnMgPSBbJl0oU2Nyb2xsaW5nVHJlZU5vZGUmIG5vZGUpIHsKQEAgLTE2MCw0MCArMTUy
LDYgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OnJlcG9ydEV4cG9zZWRVbmZpbGxlZEFy
ZWEoTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIHUKICAgICB9KTsKIH0KIAotdm9pZCBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWU6OmluY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpCi17Ci0gICAgTG9j
a0hvbGRlciBjb21taXRMb2NrZXIobV9wZW5kaW5nQ29tbWl0Q291bnRNdXRleCk7Ci0gICAgKytt
X3BlbmRpbmdDb21taXRDb3VudDsKLX0KLQotdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmRl
Y3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpCi17Ci0gICAgTG9ja0hvbGRlciBjb21taXRMb2Nr
ZXIobV9wZW5kaW5nQ29tbWl0Q291bnRNdXRleCk7Ci0gICAgQVNTRVJUKG1fcGVuZGluZ0NvbW1p
dENvdW50ID4gMCk7Ci0gICAgaWYgKCEtLW1fcGVuZGluZ0NvbW1pdENvdW50KQotICAgICAgICBt
X2NvbW1pdENvbmRpdGlvbi5ub3RpZnlPbmUoKTsKLX0KLQotdm9pZCBUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OndhaXRGb3JQZW5kaW5nQ29tbWl0cygpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKLQotICAgIExvY2tIb2xkZXIgY29tbWl0TG9ja2VyKG1fcGVuZGluZ0NvbW1pdENvdW50
TXV0ZXgpOwotICAgIHdoaWxlIChtX3BlbmRpbmdDb21taXRDb3VudCkKLSAgICAgICAgbV9jb21t
aXRDb25kaXRpb24ud2FpdChtX3BlbmRpbmdDb21taXRDb3VudE11dGV4KTsKLX0KLQotdm9pZCBU
aHJlYWRlZFNjcm9sbGluZ1RyZWU6OndhaXRGb3JTY3JvbGxpbmdUcmVlQ29tbWl0KCkKLXsKLSAg
ICB3YWl0Rm9yUGVuZGluZ0NvbW1pdHMoKTsKLX0KLQotdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1Ry
ZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMoKQotewotICAgIHdhaXRGb3JQZW5kaW5nQ29tbWl0cygp
OwotICAgIFNjcm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMoKTsKLX0KLQogI2lmIFBM
QVRGT1JNKENPQ09BKQogdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmN1cnJlbnRTbmFwUG9p
bnRJbmRpY2VzRGlkQ2hhbmdlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIHVuc2lnbmVkIGhvcml6
b250YWwsIHVuc2lnbmVkIHZlcnRpY2FsKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAppbmRleCA1MTM2NTM2NDk1OTJh
ZDhiZmZlNGYwZjY1ZTI0NWY3YjQ1ODMwOGFjLi4wNjZhMDZlM2JhZWM5ZWY4Yzk5YjVjMzM0YjYw
MjQ4YTcwMjVmNDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9U
aHJlYWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAtNDQsOCArNDQsNiBAQCBjbGFzcyBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWUgOiBwdWJsaWMgU2Nyb2xsaW5nVHJlZSB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+VGhyZWFkZWRTY3JvbGxpbmdUcmVlKCk7CiAKLSAgICB2b2lkIGNvbW1pdFRyZWVTdGF0
ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPikgb3ZlcnJpZGU7Ci0KICAgICBT
Y3JvbGxpbmdFdmVudFJlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYpIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FuIGJlIGNhbGxlZCBmcm9tIGFueSB0aHJlYWQu
IFdpbGwgdHJ5IHRvIGhhbmRsZSB0aGUgd2hlZWwgZXZlbnQgb24gdGhlIHNjcm9sbGluZyB0aHJl
YWQuCkBAIC01NSw5ICs1Myw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW52YWxpZGF0ZSgpIG92
ZXJyaWRlOwogCi0gICAgdm9pZCBpbmNyZW1lbnRQZW5kaW5nQ29tbWl0Q291bnQoKTsKLSAgICB2
b2lkIGRlY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpOwotCiBwcm90ZWN0ZWQ6CiAgICAgZXhw
bGljaXQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3ImKTsK
IApAQCAtNzcsMTcgKzcyLDkgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGJvb2wgaXNU
aHJlYWRlZFNjcm9sbGluZ1RyZWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0g
ICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3YWl0Rm9y
U2Nyb2xsaW5nVHJlZUNvbW1pdCgpIG92ZXJyaWRlOwogICAgIHZvaWQgcHJvcGFnYXRlU3luY2hy
b25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYpIG92
ZXJyaWRlOwogCiAgICAgUmVmUHRyPEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I+IG1fc2Nyb2xs
aW5nQ29vcmRpbmF0b3I7Ci0KLSAgICB2b2lkIHdhaXRGb3JQZW5kaW5nQ29tbWl0cygpOwotCi0g
ICAgTG9jayBtX3BlbmRpbmdDb21taXRDb3VudE11dGV4OwotICAgIHVuc2lnbmVkIG1fcGVuZGlu
Z0NvbW1pdENvdW50IHsgMCB9OwotICAgIENvbmRpdGlvbiBtX2NvbW1pdENvbmRpdGlvbjsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQppbmRleCBk
OGU1MWNhN2U2NGVkNGRiZjZjNjgwZWQxMTk2ZTgyNjgyOTNkZDZlLi45YzZjNzdmZGQwNTRlNWUy
ODEyMTI1NDUxYjUxNDdiMzA4Y2IwMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC05
NywyMiArOTcsMTUgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0
YXRlSWZOZWVkZWQoKQogewogICAgIHdpbGxDb21taXRUcmVlKCk7CiAKLSAgICBMT0coU2Nyb2xs
aW5nLCAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZSwgaGFzIGNoYW5n
ZXMgJWQiLCBzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+aGFzQ2hhbmdlZFByb3BlcnRpZXMoKSk7Cisg
ICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdDb29yZGlu
YXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlLCBoYXMgY2hhbmdlcyAiIDw8IHNjcm9sbGluZ1N0YXRl
VHJlZSgpLT5oYXNDaGFuZ2VkUHJvcGVydGllcygpKTsKIAogICAgIGlmICghc2Nyb2xsaW5nU3Rh
dGVUcmVlKCktPmhhc0NoYW5nZWRQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IExPRyhTY3JvbGxpbmcsICIlcyIsIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dChTY3JvbGxpbmdT
dGF0ZVRyZWVBc1RleHRCZWhhdmlvckRlYnVnKS51dGY4KCkuZGF0YSgpKTsKKyAgICBMT0dfV0lU
SF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KFNj
cm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yRGVidWcpKTsKIAotICAgIFJlZlB0cjxUaHJl
YWRlZFNjcm9sbGluZ1RyZWU+IHRocmVhZGVkU2Nyb2xsaW5nVHJlZSA9IGRvd25jYXN0PFRocmVh
ZGVkU2Nyb2xsaW5nVHJlZT4oc2Nyb2xsaW5nVHJlZSgpKTsKLSAgICBTY3JvbGxpbmdTdGF0ZVRy
ZWUqIHVucHJvdGVjdGVkVHJlZVN0YXRlID0gc2Nyb2xsaW5nU3RhdGVUcmVlKCktPmNvbW1pdChM
YXllclJlcHJlc2VudGF0aW9uOjpQbGF0Zm9ybUxheWVyUmVwcmVzZW50YXRpb24pLnJlbGVhc2Uo
KTsKLQotICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+aW5jcmVtZW50UGVuZGluZ0NvbW1pdENv
dW50KCk7Ci0KLSAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFt0aHJlYWRlZFNjcm9sbGlu
Z1RyZWUsIHVucHJvdGVjdGVkVHJlZVN0YXRlXSB7Ci0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxT
Y3JvbGxpbmdTdGF0ZVRyZWU+IHRyZWVTdGF0ZSh1bnByb3RlY3RlZFRyZWVTdGF0ZSk7Ci0gICAg
ICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+Y29tbWl0VHJlZVN0YXRlKFdURk1vdmUodHJlZVN0
YXRlKSk7Ci0gICAgfSk7CisgICAgYXV0byBzdGF0ZVRyZWUgPSBzY3JvbGxpbmdTdGF0ZVRyZWUo
KS0+Y29tbWl0KExheWVyUmVwcmVzZW50YXRpb246OlBsYXRmb3JtTGF5ZXJSZXByZXNlbnRhdGlv
bik7CisgICAgc2Nyb2xsaW5nVHJlZSgpLT5jb21taXRUcmVlU3RhdGUoV1RGTW92ZShzdGF0ZVRy
ZWUpKTsKIAogICAgIHVwZGF0ZVRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yTmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lh
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5jcHAKaW5kZXggNzM3OTYzYzgwNWY5ZjBhZDMx
MTY1M2M5MjY5MDA5Yzk1Mzk4ZDNjMy4uYTcwZjk4YjNhYjAwODE3NDY3ZWI1YWFlNjBkMDQ1YWI3
MDc4MmUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3Np
YS9TY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lhLmNwcApAQCAt
OTQsMTMgKzk0LDggQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWE6OmNvbW1pdFRy
ZWVTdGF0ZSgpCiAgICAgaWYgKCFzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+aGFzQ2hhbmdlZFByb3Bl
cnRpZXMoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVmUHRyPFRocmVhZGVkU2Nyb2xsaW5n
VHJlZT4gdGhyZWFkZWRTY3JvbGxpbmdUcmVlID0gZG93bmNhc3Q8VGhyZWFkZWRTY3JvbGxpbmdU
cmVlPihzY3JvbGxpbmdUcmVlKCkpOwotICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+aW5jcmVt
ZW50UGVuZGluZ0NvbW1pdENvdW50KCk7Ci0KLSAgICBhdXRvIHRyZWVTdGF0ZSA9IHNjcm9sbGlu
Z1N0YXRlVHJlZSgpLT5jb21taXQoTGF5ZXJSZXByZXNlbnRhdGlvbjo6UGxhdGZvcm1MYXllclJl
cHJlc2VudGF0aW9uKTsKLSAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFt0aHJlYWRlZFNj
cm9sbGluZ1RyZWUsIHRyZWVTdGF0ZSA9IFdURk1vdmUodHJlZVN0YXRlKV0oKSBtdXRhYmxlIHsK
LSAgICAgICAgdGhyZWFkZWRTY3JvbGxpbmdUcmVlLT5jb21taXRUcmVlU3RhdGUoV1RGTW92ZSh0
cmVlU3RhdGUpKTsKLSAgICB9KTsKKyAgICBhdXRvIHN0YXRlVHJlZSA9IHNjcm9sbGluZ1N0YXRl
VHJlZSgpLT5jb21taXQoTGF5ZXJSZXByZXNlbnRhdGlvbjo6UGxhdGZvcm1MYXllclJlcHJlc2Vu
dGF0aW9uKTsKKyAgICBzY3JvbGxpbmdUcmVlKCktPmNvbW1pdFRyZWVTdGF0ZShXVEZNb3ZlKHN0
YXRlVHJlZSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="412963"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397578</attachid>
            <date>2020-04-25 13:25:07 -0700</date>
            <delta_ts>2020-04-25 15:19:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211026-20200425132506.patch</filename>
            <type>text/plain</type>
            <size>10182</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZmMjBjOTAxMTgyNzEw
ODg2N2JhMzhjODVhYzVhNDczNzQ4MGE1ZS4uNzEzOTc5ZWEyZTAwNTVjMDc3YmM4OTYwZGY2ODVh
ZGY5MWEzYWM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA0LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENvbW1pdCB0aGUg
c2Nyb2xsaW5nIHRyZWUgZnJvbSB0aGUgbWFpbiB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTAyNgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNjIzNzQ4NTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZUlmTmVlZGVkKCkgcGFz
c2VkIHRoZSBuZXcgc3RhdGUgdHJlZSB0bworICAgICAgICB0aGUgc2Nyb2xsaW5nIHRocmVhZCB3
aGljaCB0aGVuIGRpZCB0aGUgY29tbWl0ICh3aGljaCB1cGRhdGVzIHRoZSBzY3JvbGxpbmcgdHJl
ZQorICAgICAgICBmcm9tIHRoZSBzdGF0ZSB0cmVlKS4gSG93ZXZlciwgYXBwbHlMYXllclBvc2l0
aW9ucygpIGltbWVkaWF0ZWx5IHdhaXRlZCBmb3IgdGhhdAorICAgICAgICBjb21taXQgdG8gY29t
cGxldGUsIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZCBhbnl3YXkuCisKKyAgICAgICAgV2UgbWln
aHQgYXMgd2VsbCBqdXN0IGNvbW1pdCB0aGUgc2Nyb2xsaW5nIHRyZWUgb24gdGhlIG1haW4gdGhy
ZWFkLiBTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUoKQorICAgICAgICBsb2NrcyBtX3Ry
ZWVNdXRleCwgc28gdGhpcyBpcyBzdGlsbCBzYWZlLiBMb2NrIGNvbnRlbnRpb24gd2l0aCB0aGUg
c2Nyb2xsaW5nIG9yIGV2ZW50IGRpc3BhdGNoZXIKKyAgICAgICAgdGhyZWFkcyBzaG91bGQgYmUg
cmFyZTsgdGhvc2UgdGhyZWFkcyBhcmUgYm90aCBtb3N0bHkgcmVzcG9uc2l2ZS4KKworICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3Jv
bGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6
Y29tbWl0VHJlZVN0YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Ny
b2xsaW5nVHJlZTo6aW5jcmVtZW50UGVuZGluZ0NvbW1pdENvdW50KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGVjcmVtZW50UGVuZGluZ0NvbW1p
dENvdW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJl
ZTo6d2FpdEZvclBlbmRpbmdDb21taXRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRo
cmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2FpdEZvclNjcm9sbGluZ1RyZWVDb21taXQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjphcHBseUxheWVyUG9z
aXRpb25zKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9s
bGluZ1RyZWUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6
Y29tbWl0VHJlZVN0YXRlSWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL25pY29z
aWEvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYTo6Y29tbWl0VHJlZVN0YXRlKToKKwogMjAyMC0wNC0y
NCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3Zl
IHNvbWUgcG9zdC1yZW5kZXJpbmdVcGRhdGUgY29kZSBpbnRvIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggNjQzNGE4YTY0
NTM2Y2Q4OWFmZjljZjAwNDk3ZTk3N2E2NjRjZTNjMy4uMmUyN2FjMjExZjNhZDc3ODFhOTI0ZDAw
Yzg2YWZjYmIwMzlkNTE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6
Om1haW5GcmFtZVZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhjb25zdCBGbG9h
dFBvaQogICAgIG1fcm9vdE5vZGUtPndhc1Njcm9sbGVkQnlEZWxlZ2F0ZWRTY3JvbGxpbmcoc2Ny
b2xsUG9zaXRpb24sIGxheW91dFZpZXdwb3J0KTsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlOjpj
b21taXRUcmVlU3RhdGUoc3RkOjp1bmlxdWVfcHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4gc2Nyb2xs
aW5nU3RhdGVUcmVlKQordm9pZCBTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUoc3RkOjp1
bmlxdWVfcHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4mJiBzY3JvbGxpbmdTdGF0ZVRyZWUpCiB7CiAg
ICAgU2V0Rm9yU2NvcGU8Ym9vbD4gaW5Db21taXRUcmVlU3RhdGUobV9pbkNvbW1pdFRyZWVTdGF0
ZSwgdHJ1ZSk7CiAgICAgTG9ja0hvbGRlciBsb2NrZXIobV90cmVlTXV0ZXgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCmluZGV4IDc0YjA4ZTU0NWY3
NzZmODI2MzhkN2IyNDdmMzhiNjIzZTU1NGIxZmMuLmEwYTk1OGRjNTk2N2IzMDgxNWU1MjIyNWJh
OTNjNTRmZmE0NTA0YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNTY3JvbGxT
bmFwSW5Qcm9ncmVzcygpOwogCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKSB7IH0KLSAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgY29tbWl0VHJlZVN0YXRlKHN0ZDo6dW5pcXVl
X3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZv
aWQgY29tbWl0VHJlZVN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+JiYp
OwogICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBhcHBseUxheWVyUG9zaXRp
b25zKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zQWZ0ZXJD
b21taXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVh
ZGVkU2Nyb2xsaW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJl
YWRlZFNjcm9sbGluZ1RyZWUuY3BwCmluZGV4IDkyOTZkNGIyMmNjNmI3ZTNhMDk0ZGE4NDVhMmU5
YWRmOGRmNDc3MTYuLmNjZWU3ZTRlZmQ0YzExN2ViZGNmMmZjNjE1ZjFiOTk1MzAyZmMyMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5n
VHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3Jv
bGxpbmdUcmVlLmNwcApAQCAtODUsMTQgKzg1LDYgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1Ry
ZWU6OmludmFsaWRhdGUoKQogICAgIH0pOwogfQogCi12b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJl
ZTo6Y29tbWl0VHJlZVN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IHNj
cm9sbGluZ1N0YXRlVHJlZSkKLXsKLSAgICBBU1NFUlQoU2Nyb2xsaW5nVGhyZWFkOjppc0N1cnJl
bnRUaHJlYWQoKSk7Ci0gICAgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKFdURk1vdmUo
c2Nyb2xsaW5nU3RhdGVUcmVlKSk7Ci0gICAgCi0gICAgZGVjcmVtZW50UGVuZGluZ0NvbW1pdENv
dW50KCk7Ci19Ci0KIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpwcm9wYWdhdGVTeW5jaHJv
bm91c1Njcm9sbGluZ1JlYXNvbnMoY29uc3QgSGFzaFNldDxTY3JvbGxpbmdOb2RlSUQ+JiBzeW5j
aHJvbm91c1Njcm9sbGluZ05vZGVzKQogewogICAgIGF1dG8gcHJvcGFnYXRlU3RhdGVUb0FuY2Vz
dG9ycyA9IFsmXShTY3JvbGxpbmdUcmVlTm9kZSYgbm9kZSkgewpAQCAtMTYwLDQwICsxNTIsNiBA
QCB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6cmVwb3J0RXhwb3NlZFVuZmlsbGVkQXJlYShN
b25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgdQogICAgIH0pOwogfQogCi12b2lkIFRocmVhZGVkU2Ny
b2xsaW5nVHJlZTo6aW5jcmVtZW50UGVuZGluZ0NvbW1pdENvdW50KCkKLXsKLSAgICBMb2NrSG9s
ZGVyIGNvbW1pdExvY2tlcihtX3BlbmRpbmdDb21taXRDb3VudE11dGV4KTsKLSAgICArK21fcGVu
ZGluZ0NvbW1pdENvdW50OwotfQotCi12b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGVjcmVt
ZW50UGVuZGluZ0NvbW1pdENvdW50KCkKLXsKLSAgICBMb2NrSG9sZGVyIGNvbW1pdExvY2tlciht
X3BlbmRpbmdDb21taXRDb3VudE11dGV4KTsKLSAgICBBU1NFUlQobV9wZW5kaW5nQ29tbWl0Q291
bnQgPiAwKTsKLSAgICBpZiAoIS0tbV9wZW5kaW5nQ29tbWl0Q291bnQpCi0gICAgICAgIG1fY29t
bWl0Q29uZGl0aW9uLm5vdGlmeU9uZSgpOwotfQotCi12b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJl
ZTo6d2FpdEZvclBlbmRpbmdDb21taXRzKCkKLXsKLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwotCi0gICAgTG9ja0hvbGRlciBjb21taXRMb2NrZXIobV9wZW5kaW5nQ29tbWl0Q291bnRNdXRl
eCk7Ci0gICAgd2hpbGUgKG1fcGVuZGluZ0NvbW1pdENvdW50KQotICAgICAgICBtX2NvbW1pdENv
bmRpdGlvbi53YWl0KG1fcGVuZGluZ0NvbW1pdENvdW50TXV0ZXgpOwotfQotCi12b2lkIFRocmVh
ZGVkU2Nyb2xsaW5nVHJlZTo6d2FpdEZvclNjcm9sbGluZ1RyZWVDb21taXQoKQotewotICAgIHdh
aXRGb3JQZW5kaW5nQ29tbWl0cygpOwotfQotCi12b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6
YXBwbHlMYXllclBvc2l0aW9ucygpCi17Ci0gICAgd2FpdEZvclBlbmRpbmdDb21taXRzKCk7Ci0g
ICAgU2Nyb2xsaW5nVHJlZTo6YXBwbHlMYXllclBvc2l0aW9ucygpOwotfQotCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6Y3VycmVudFNuYXBQb2ludElu
ZGljZXNEaWRDaGFuZ2UoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCwgdW5zaWduZWQgaG9yaXpvbnRh
bCwgdW5zaWduZWQgdmVydGljYWwpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oCmluZGV4IDUxMzY1MzY0OTU5MmFkOGJm
ZmU0ZjBmNjVlMjQ1ZjdiNDU4MzA4YWMuLjA2NmEwNmUzYmFlYzllZjhjOTliNWMzMzRiNjAyNDhh
NzAyNWY0MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVh
ZGVkU2Nyb2xsaW5nVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Ro
cmVhZGVkU2Nyb2xsaW5nVHJlZS5oCkBAIC00NCw4ICs0NCw2IEBAIGNsYXNzIFRocmVhZGVkU2Ny
b2xsaW5nVHJlZSA6IHB1YmxpYyBTY3JvbGxpbmdUcmVlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5UaHJlYWRlZFNjcm9sbGluZ1RyZWUoKTsKIAotICAgIHZvaWQgY29tbWl0VHJlZVN0YXRlKHN0
ZDo6dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+KSBvdmVycmlkZTsKLQogICAgIFNjcm9s
bGluZ0V2ZW50UmVzdWx0IGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBDYW4gYmUgY2FsbGVkIGZyb20gYW55IHRocmVhZC4gV2ls
bCB0cnkgdG8gaGFuZGxlIHRoZSB3aGVlbCBldmVudCBvbiB0aGUgc2Nyb2xsaW5nIHRocmVhZC4K
QEAgLTU1LDkgKzUzLDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnZhbGlkYXRlKCkgb3ZlcnJp
ZGU7CiAKLSAgICB2b2lkIGluY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpOwotICAgIHZvaWQg
ZGVjcmVtZW50UGVuZGluZ0NvbW1pdENvdW50KCk7Ci0KIHByb3RlY3RlZDoKICAgICBleHBsaWNp
dCBUaHJlYWRlZFNjcm9sbGluZ1RyZWUoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciYpOwogCkBA
IC03NywxNyArNzIsOSBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc1RocmVh
ZGVkU2Nyb2xsaW5nVHJlZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2
b2lkIGFwcGx5TGF5ZXJQb3NpdGlvbnMoKSBvdmVycmlkZTsKLSAgICB2b2lkIHdhaXRGb3JTY3Jv
bGxpbmdUcmVlQ29tbWl0KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBwcm9wYWdhdGVTeW5jaHJvbm91
c1Njcm9sbGluZ1JlYXNvbnMoY29uc3QgSGFzaFNldDxTY3JvbGxpbmdOb2RlSUQ+Jikgb3ZlcnJp
ZGU7CiAKICAgICBSZWZQdHI8QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcj4gbV9zY3JvbGxpbmdD
b29yZGluYXRvcjsKLQotICAgIHZvaWQgd2FpdEZvclBlbmRpbmdDb21taXRzKCk7Ci0KLSAgICBM
b2NrIG1fcGVuZGluZ0NvbW1pdENvdW50TXV0ZXg7Ci0gICAgdW5zaWduZWQgbV9wZW5kaW5nQ29t
bWl0Q291bnQgeyAwIH07Ci0gICAgQ29uZGl0aW9uIG1fY29tbWl0Q29uZGl0aW9uOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCmluZGV4IGQ4ZTUx
Y2E3ZTY0ZWQ0ZGJmNmM2ODBlZDExOTZlODI2ODI5M2RkNmUuLjljNmM3N2ZkZDA1NGU1ZTI4MTIx
MjU0NTFiNTE0N2IzMDhjYjAyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KQEAgLTk3LDIy
ICs5NywxNSBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21taXRUcmVlU3RhdGVJ
Zk5lZWRlZCgpCiB7CiAgICAgd2lsbENvbW1pdFRyZWUoKTsKIAotICAgIExPRyhTY3JvbGxpbmcs
ICJTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlLCBoYXMgY2hhbmdlcyAl
ZCIsIHNjcm9sbGluZ1N0YXRlVHJlZSgpLT5oYXNDaGFuZ2VkUHJvcGVydGllcygpKTsKKyAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjOjpjb21taXRUcmVlU3RhdGUsIGhhcyBjaGFuZ2VzICIgPDwgc2Nyb2xsaW5nU3RhdGVUcmVl
KCktPmhhc0NoYW5nZWRQcm9wZXJ0aWVzKCkpOwogCiAgICAgaWYgKCFzY3JvbGxpbmdTdGF0ZVRy
ZWUoKS0+aGFzQ2hhbmdlZFByb3BlcnRpZXMoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTE9H
KFNjcm9sbGluZywgIiVzIiwgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KFNjcm9sbGluZ1N0YXRl
VHJlZUFzVGV4dEJlaGF2aW9yRGVidWcpLnV0ZjgoKS5kYXRhKCkpOworICAgIExPR19XSVRIX1NU
UkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCBzY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHQoU2Nyb2xs
aW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3JEZWJ1ZykpOwogCi0gICAgUmVmUHRyPFRocmVhZGVk
U2Nyb2xsaW5nVHJlZT4gdGhyZWFkZWRTY3JvbGxpbmdUcmVlID0gZG93bmNhc3Q8VGhyZWFkZWRT
Y3JvbGxpbmdUcmVlPihzY3JvbGxpbmdUcmVlKCkpOwotICAgIFNjcm9sbGluZ1N0YXRlVHJlZSog
dW5wcm90ZWN0ZWRUcmVlU3RhdGUgPSBzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+Y29tbWl0KExheWVy
UmVwcmVzZW50YXRpb246OlBsYXRmb3JtTGF5ZXJSZXByZXNlbnRhdGlvbikucmVsZWFzZSgpOwot
Ci0gICAgdGhyZWFkZWRTY3JvbGxpbmdUcmVlLT5pbmNyZW1lbnRQZW5kaW5nQ29tbWl0Q291bnQo
KTsKLQotICAgIFNjcm9sbGluZ1RocmVhZDo6ZGlzcGF0Y2goW3RocmVhZGVkU2Nyb2xsaW5nVHJl
ZSwgdW5wcm90ZWN0ZWRUcmVlU3RhdGVdIHsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFNjcm9s
bGluZ1N0YXRlVHJlZT4gdHJlZVN0YXRlKHVucHJvdGVjdGVkVHJlZVN0YXRlKTsKLSAgICAgICAg
dGhyZWFkZWRTY3JvbGxpbmdUcmVlLT5jb21taXRUcmVlU3RhdGUoV1RGTW92ZSh0cmVlU3RhdGUp
KTsKLSAgICB9KTsKKyAgICBhdXRvIHN0YXRlVHJlZSA9IHNjcm9sbGluZ1N0YXRlVHJlZSgpLT5j
b21taXQoTGF5ZXJSZXByZXNlbnRhdGlvbjo6UGxhdGZvcm1MYXllclJlcHJlc2VudGF0aW9uKTsK
KyAgICBzY3JvbGxpbmdUcmVlKCktPmNvbW1pdFRyZWVTdGF0ZShXVEZNb3ZlKHN0YXRlVHJlZSkp
OwogCiAgICAgdXBkYXRlVGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JOaWNvc2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Ny
b2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lhLmNwcAppbmRleCA3Mzc5NjNjODA1ZjlmMGFkMzExNjUz
YzkyNjkwMDljOTUzOThkM2MzLi5hNzBmOThiM2FiMDA4MTc0NjdlYjVhYWU2MGQwNDVhYjcwNzgy
ZTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWEuY3BwCkBAIC05NCwx
MyArOTQsOCBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYTo6Y29tbWl0VHJlZVN0
YXRlKCkKICAgICBpZiAoIXNjcm9sbGluZ1N0YXRlVHJlZSgpLT5oYXNDaGFuZ2VkUHJvcGVydGll
cygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWZQdHI8VGhyZWFkZWRTY3JvbGxpbmdUcmVl
PiB0aHJlYWRlZFNjcm9sbGluZ1RyZWUgPSBkb3duY2FzdDxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+
KHNjcm9sbGluZ1RyZWUoKSk7Ci0gICAgdGhyZWFkZWRTY3JvbGxpbmdUcmVlLT5pbmNyZW1lbnRQ
ZW5kaW5nQ29tbWl0Q291bnQoKTsKLQotICAgIGF1dG8gdHJlZVN0YXRlID0gc2Nyb2xsaW5nU3Rh
dGVUcmVlKCktPmNvbW1pdChMYXllclJlcHJlc2VudGF0aW9uOjpQbGF0Zm9ybUxheWVyUmVwcmVz
ZW50YXRpb24pOwotICAgIFNjcm9sbGluZ1RocmVhZDo6ZGlzcGF0Y2goW3RocmVhZGVkU2Nyb2xs
aW5nVHJlZSwgdHJlZVN0YXRlID0gV1RGTW92ZSh0cmVlU3RhdGUpXSgpIG11dGFibGUgewotICAg
ICAgICB0aHJlYWRlZFNjcm9sbGluZ1RyZWUtPmNvbW1pdFRyZWVTdGF0ZShXVEZNb3ZlKHRyZWVT
dGF0ZSkpOwotICAgIH0pOworICAgIGF1dG8gc3RhdGVUcmVlID0gc2Nyb2xsaW5nU3RhdGVUcmVl
KCktPmNvbW1pdChMYXllclJlcHJlc2VudGF0aW9uOjpQbGF0Zm9ybUxheWVyUmVwcmVzZW50YXRp
b24pOworICAgIHNjcm9sbGluZ1RyZWUoKS0+Y29tbWl0VHJlZVN0YXRlKFdURk1vdmUoc3RhdGVU
cmVlKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397587</attachid>
            <date>2020-04-25 14:57:30 -0700</date>
            <delta_ts>2020-04-25 15:19:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211026-20200425145729.patch</filename>
            <type>text/plain</type>
            <size>11297</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZmMjBjOTAxMTgyNzEw
ODg2N2JhMzhjODVhYzVhNDczNzQ4MGE1ZS4uZTA1OThlMzM3OTEyODllZDUwMmRkY2Y4NWZmZTEw
YmRiODk4MTRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA0LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENvbW1pdCB0aGUg
c2Nyb2xsaW5nIHRyZWUgZnJvbSB0aGUgbWFpbiB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTAyNgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNjIzNzQ4NTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZUlmTmVlZGVkKCkgcGFz
c2VkIHRoZSBuZXcgc3RhdGUgdHJlZSB0bworICAgICAgICB0aGUgc2Nyb2xsaW5nIHRocmVhZCB3
aGljaCB0aGVuIGRpZCB0aGUgY29tbWl0ICh3aGljaCB1cGRhdGVzIHRoZSBzY3JvbGxpbmcgdHJl
ZQorICAgICAgICBmcm9tIHRoZSBzdGF0ZSB0cmVlKS4gSG93ZXZlciwgYXBwbHlMYXllclBvc2l0
aW9ucygpIGltbWVkaWF0ZWx5IHdhaXRlZCBmb3IgdGhhdAorICAgICAgICBjb21taXQgdG8gY29t
cGxldGUsIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZCBhbnl3YXkuCisKKyAgICAgICAgV2UgbWln
aHQgYXMgd2VsbCBqdXN0IGNvbW1pdCB0aGUgc2Nyb2xsaW5nIHRyZWUgb24gdGhlIG1haW4gdGhy
ZWFkLiBTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUoKQorICAgICAgICBsb2NrcyBtX3Ry
ZWVNdXRleCwgc28gdGhpcyBpcyBzdGlsbCBzYWZlLiBMb2NrIGNvbnRlbnRpb24gd2l0aCB0aGUg
c2Nyb2xsaW5nIG9yIGV2ZW50IGRpc3BhdGNoZXIKKyAgICAgICAgdGhyZWFkcyBzaG91bGQgYmUg
cmFyZTsgdGhvc2UgdGhyZWFkcyBhcmUgYm90aCBtb3N0bHkgcmVzcG9uc2l2ZS4KKworICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4
dCBjb25zdCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUpOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWU6OndhaXRGb3JTY3JvbGxpbmdUcmVlQ29tbWl0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjppbmNyZW1lbnRQZW5k
aW5nQ29tbWl0Q291bnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3Jv
bGxpbmdUcmVlOjpkZWNyZW1lbnRQZW5kaW5nQ29tbWl0Q291bnQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3YWl0Rm9yUGVuZGluZ0NvbW1pdHMp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3YWl0
Rm9yU2Nyb2xsaW5nVHJlZUNvbW1pdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpUaHJl
YWRlZFNjcm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMpOiBEZWxldGVkLgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21taXRUcmVlU3RhdGVJZk5lZWRlZCk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5p
Y29zaWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lh
Ojpjb21taXRUcmVlU3RhdGUpOgorCiAyMDIwLTA0LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgc29tZSBwb3N0LXJlbmRlcmluZ1VwZGF0
ZSBjb2RlIGludG8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCA2NmQwMGE4ZTRm
NWM3NTAyYmM5ZDllYmQ1ZDJhY2JkOTk3ZTY5MTRkLi5mYjZjYzM4N2I4MTllNGIyODZkNjQ1MDU5
N2VlODBiNmQyYzQyYjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtODU4LDcgKzg1OCw2
IEBAIFN0cmluZyBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxpbmdUcmVlQXNUZXh0
KFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlCiAgICAgaWYgKCFtX3Njcm9sbGluZ1RyZWUpCiAg
ICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCi0gICAgbV9zY3JvbGxpbmdUcmVlLT53YWl0
Rm9yU2Nyb2xsaW5nVHJlZUNvbW1pdCgpOwogICAgIHJldHVybiBtX3Njcm9sbGluZ1RyZWUtPnNj
cm9sbGluZ1RyZWVBc1RleHQoYmVoYXZpb3IpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCmluZGV4IDY0MzRhOGE2NDUzNmNkODlhZmY5
Y2YwMDQ5N2U5NzdhNjY0Y2UzYzMuLjJlMjdhYzIxMWYzYWQ3NzgxYTkyNGQwMGM4NmFmY2JiMDM5
ZDUxNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWUuY3BwCkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjptYWluRnJhbWVW
aWV3cG9ydENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcoY29uc3QgRmxvYXRQb2kKICAgICBt
X3Jvb3ROb2RlLT53YXNTY3JvbGxlZEJ5RGVsZWdhdGVkU2Nyb2xsaW5nKHNjcm9sbFBvc2l0aW9u
LCBsYXlvdXRWaWV3cG9ydCk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0
YXRlKHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IHNjcm9sbGluZ1N0YXRlVHJl
ZSkKK3ZvaWQgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxT
Y3JvbGxpbmdTdGF0ZVRyZWU+JiYgc2Nyb2xsaW5nU3RhdGVUcmVlKQogewogICAgIFNldEZvclNj
b3BlPGJvb2w+IGluQ29tbWl0VHJlZVN0YXRlKG1faW5Db21taXRUcmVlU3RhdGUsIHRydWUpOwog
ICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fdHJlZU11dGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAppbmRleCA3NGIwOGU1NDVmNzc2ZjgyNjM4ZDdi
MjQ3ZjM4YjYyM2U1NTRiMWZjLi5iYmU1ZWQwODBkZmZlMWRhOTkyZTcwMTZiMjA2MzhjMDc0NGE2
ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5o
CkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2Nyb2xsU25hcEluUHJvZ3Jl
c3MoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCkgeyB9Ci0gICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB2b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xs
aW5nU3RhdGVUcmVlPik7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGNvbW1pdFRy
ZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYmKTsKICAgICAKICAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgYXBwbHlMYXllclBvc2l0aW9ucygpOwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHlMYXllclBvc2l0aW9uc0FmdGVyQ29tbWl0KCk7CkBA
IC0xNzcsOCArMTc3LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2NrTGF5ZXJzRm9y
SGl0VGVzdGluZygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bmxvY2tMYXllcnNGb3JIaXRUZXN0
aW5nKCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgd2FpdEZvclNjcm9sbGluZ1RyZWVDb21taXQo
KSB7IH0KLQogICAgIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlE
KTsKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5jcHAKaW5k
ZXggOTI5NmQ0YjIyY2M2YjdlM2EwOTRkYTg0NWEyZTlhZGY4ZGY0NzcxNi4uY2NlZTdlNGVmZDRj
MTE3ZWJkY2YyZmM2MTVmMWI5OTUzMDJmYzIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwCkBAIC04NSwxNCAr
ODUsNiBAQCB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6aW52YWxpZGF0ZSgpCiAgICAgfSk7
CiB9CiAKLXZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUoc3RkOjp1
bmlxdWVfcHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4gc2Nyb2xsaW5nU3RhdGVUcmVlKQotewotICAg
IEFTU0VSVChTY3JvbGxpbmdUaHJlYWQ6OmlzQ3VycmVudFRocmVhZCgpKTsKLSAgICBTY3JvbGxp
bmdUcmVlOjpjb21taXRUcmVlU3RhdGUoV1RGTW92ZShzY3JvbGxpbmdTdGF0ZVRyZWUpKTsKLSAg
ICAKLSAgICBkZWNyZW1lbnRQZW5kaW5nQ29tbWl0Q291bnQoKTsKLX0KLQogdm9pZCBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWU6OnByb3BhZ2F0ZVN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhjb25z
dCBIYXNoU2V0PFNjcm9sbGluZ05vZGVJRD4mIHN5bmNocm9ub3VzU2Nyb2xsaW5nTm9kZXMpCiB7
CiAgICAgYXV0byBwcm9wYWdhdGVTdGF0ZVRvQW5jZXN0b3JzID0gWyZdKFNjcm9sbGluZ1RyZWVO
b2RlJiBub2RlKSB7CkBAIC0xNjAsNDAgKzE1Miw2IEBAIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdU
cmVlOjpyZXBvcnRFeHBvc2VkVW5maWxsZWRBcmVhKE1vbm90b25pY1RpbWUgdGltZXN0YW1wLCB1
CiAgICAgfSk7CiB9CiAKLXZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjppbmNyZW1lbnRQZW5k
aW5nQ29tbWl0Q291bnQoKQotewotICAgIExvY2tIb2xkZXIgY29tbWl0TG9ja2VyKG1fcGVuZGlu
Z0NvbW1pdENvdW50TXV0ZXgpOwotICAgICsrbV9wZW5kaW5nQ29tbWl0Q291bnQ7Ci19Ci0KLXZv
aWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpkZWNyZW1lbnRQZW5kaW5nQ29tbWl0Q291bnQoKQot
ewotICAgIExvY2tIb2xkZXIgY29tbWl0TG9ja2VyKG1fcGVuZGluZ0NvbW1pdENvdW50TXV0ZXgp
OwotICAgIEFTU0VSVChtX3BlbmRpbmdDb21taXRDb3VudCA+IDApOwotICAgIGlmICghLS1tX3Bl
bmRpbmdDb21taXRDb3VudCkKLSAgICAgICAgbV9jb21taXRDb25kaXRpb24ubm90aWZ5T25lKCk7
Ci19Ci0KLXZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3YWl0Rm9yUGVuZGluZ0NvbW1pdHMo
KQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0KLSAgICBMb2NrSG9sZGVyIGNvbW1p
dExvY2tlcihtX3BlbmRpbmdDb21taXRDb3VudE11dGV4KTsKLSAgICB3aGlsZSAobV9wZW5kaW5n
Q29tbWl0Q291bnQpCi0gICAgICAgIG1fY29tbWl0Q29uZGl0aW9uLndhaXQobV9wZW5kaW5nQ29t
bWl0Q291bnRNdXRleCk7Ci19Ci0KLXZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3YWl0Rm9y
U2Nyb2xsaW5nVHJlZUNvbW1pdCgpCi17Ci0gICAgd2FpdEZvclBlbmRpbmdDb21taXRzKCk7Ci19
Ci0KLXZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjphcHBseUxheWVyUG9zaXRpb25zKCkKLXsK
LSAgICB3YWl0Rm9yUGVuZGluZ0NvbW1pdHMoKTsKLSAgICBTY3JvbGxpbmdUcmVlOjphcHBseUxh
eWVyUG9zaXRpb25zKCk7Ci19Ci0KICNpZiBQTEFURk9STShDT0NPQSkKIHZvaWQgVGhyZWFkZWRT
Y3JvbGxpbmdUcmVlOjpjdXJyZW50U25hcFBvaW50SW5kaWNlc0RpZENoYW5nZShTY3JvbGxpbmdO
b2RlSUQgbm9kZUlELCB1bnNpZ25lZCBob3Jpem9udGFsLCB1bnNpZ25lZCB2ZXJ0aWNhbCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xs
aW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxp
bmdUcmVlLmgKaW5kZXggNTEzNjUzNjQ5NTkyYWQ4YmZmZTRmMGY2NWUyNDVmN2I0NTgzMDhhYy4u
MDY2YTA2ZTNiYWVjOWVmOGM5OWI1YzMzNGI2MDI0OGE3MDI1ZjQwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmgKQEAg
LTQ0LDggKzQ0LDYgQEAgY2xhc3MgVGhyZWFkZWRTY3JvbGxpbmdUcmVlIDogcHVibGljIFNjcm9s
bGluZ1RyZWUgewogcHVibGljOgogICAgIHZpcnR1YWwgflRocmVhZGVkU2Nyb2xsaW5nVHJlZSgp
OwogCi0gICAgdm9pZCBjb21taXRUcmVlU3RhdGUoc3RkOjp1bmlxdWVfcHRyPFNjcm9sbGluZ1N0
YXRlVHJlZT4pIG92ZXJyaWRlOwotCiAgICAgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgaGFuZGxlV2hl
ZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBvdmVycmlkZTsKIAogICAgIC8vIENh
biBiZSBjYWxsZWQgZnJvbSBhbnkgdGhyZWFkLiBXaWxsIHRyeSB0byBoYW5kbGUgdGhlIHdoZWVs
IGV2ZW50IG9uIHRoZSBzY3JvbGxpbmcgdGhyZWFkLgpAQCAtNTUsOSArNTMsNiBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGludmFsaWRhdGUoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgaW5jcmVtZW50
UGVuZGluZ0NvbW1pdENvdW50KCk7Ci0gICAgdm9pZCBkZWNyZW1lbnRQZW5kaW5nQ29tbWl0Q291
bnQoKTsKLQogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IFRocmVhZGVkU2Nyb2xsaW5nVHJlZShB
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yJik7CiAKQEAgLTc3LDE3ICs3Miw5IEBAIHByb3RlY3Rl
ZDoKIAogcHJpdmF0ZToKICAgICBib29sIGlzVGhyZWFkZWRTY3JvbGxpbmdUcmVlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZvaWQgYXBwbHlMYXllclBvc2l0aW9ucygp
IG92ZXJyaWRlOwotICAgIHZvaWQgd2FpdEZvclNjcm9sbGluZ1RyZWVDb21taXQoKSBvdmVycmlk
ZTsKICAgICB2b2lkIHByb3BhZ2F0ZVN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhjb25zdCBI
YXNoU2V0PFNjcm9sbGluZ05vZGVJRD4mKSBvdmVycmlkZTsKIAogICAgIFJlZlB0cjxBc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yPiBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yOwotCi0gICAgdm9pZCB3
YWl0Rm9yUGVuZGluZ0NvbW1pdHMoKTsKLQotICAgIExvY2sgbV9wZW5kaW5nQ29tbWl0Q291bnRN
dXRleDsKLSAgICB1bnNpZ25lZCBtX3BlbmRpbmdDb21taXRDb3VudCB7IDAgfTsKLSAgICBDb25k
aXRpb24gbV9jb21taXRDb25kaXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggZDhlNTFjYTdlNjRlZDRkYmY2YzY4MGVkMTE5NmU4
MjY4MjkzZGQ2ZS4uOWM2Yzc3ZmRkMDU0ZTVlMjgxMjEyNTQ1MWI1MTQ3YjMwOGNiMDJiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtOTcsMjIgKzk3LDE1IEBAIHZvaWQgU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZUlmTmVlZGVkKCkKIHsKICAgICB3aWxsQ29t
bWl0VHJlZSgpOwogCi0gICAgTE9HKFNjcm9sbGluZywgIlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Ojpjb21taXRUcmVlU3RhdGUsIGhhcyBjaGFuZ2VzICVkIiwgc2Nyb2xsaW5nU3RhdGVUcmVlKCkt
Pmhhc0NoYW5nZWRQcm9wZXJ0aWVzKCkpOworICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcs
IHN0cmVhbSA8PCAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZSwgaGFz
IGNoYW5nZXMgIiA8PCBzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+aGFzQ2hhbmdlZFByb3BlcnRpZXMo
KSk7CiAKICAgICBpZiAoIXNjcm9sbGluZ1N0YXRlVHJlZSgpLT5oYXNDaGFuZ2VkUHJvcGVydGll
cygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBMT0coU2Nyb2xsaW5nLCAiJXMiLCBzY3JvbGxp
bmdTdGF0ZVRyZWVBc1RleHQoU2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3JEZWJ1Zyku
dXRmOCgpLmRhdGEoKSk7CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8
IHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dChTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlv
ckRlYnVnKSk7CiAKLSAgICBSZWZQdHI8VGhyZWFkZWRTY3JvbGxpbmdUcmVlPiB0aHJlYWRlZFNj
cm9sbGluZ1RyZWUgPSBkb3duY2FzdDxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+KHNjcm9sbGluZ1Ry
ZWUoKSk7Ci0gICAgU2Nyb2xsaW5nU3RhdGVUcmVlKiB1bnByb3RlY3RlZFRyZWVTdGF0ZSA9IHNj
cm9sbGluZ1N0YXRlVHJlZSgpLT5jb21taXQoTGF5ZXJSZXByZXNlbnRhdGlvbjo6UGxhdGZvcm1M
YXllclJlcHJlc2VudGF0aW9uKS5yZWxlYXNlKCk7Ci0KLSAgICB0aHJlYWRlZFNjcm9sbGluZ1Ry
ZWUtPmluY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpOwotCi0gICAgU2Nyb2xsaW5nVGhyZWFk
OjpkaXNwYXRjaChbdGhyZWFkZWRTY3JvbGxpbmdUcmVlLCB1bnByb3RlY3RlZFRyZWVTdGF0ZV0g
ewotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiB0cmVlU3RhdGUo
dW5wcm90ZWN0ZWRUcmVlU3RhdGUpOwotICAgICAgICB0aHJlYWRlZFNjcm9sbGluZ1RyZWUtPmNv
bW1pdFRyZWVTdGF0ZShXVEZNb3ZlKHRyZWVTdGF0ZSkpOwotICAgIH0pOworICAgIGF1dG8gc3Rh
dGVUcmVlID0gc2Nyb2xsaW5nU3RhdGVUcmVlKCktPmNvbW1pdChMYXllclJlcHJlc2VudGF0aW9u
OjpQbGF0Zm9ybUxheWVyUmVwcmVzZW50YXRpb24pOworICAgIHNjcm9sbGluZ1RyZWUoKS0+Y29t
bWl0VHJlZVN0YXRlKFdURk1vdmUoc3RhdGVUcmVlKSk7CiAKICAgICB1cGRhdGVUaWxlZFNjcm9s
bGluZ0luZGljYXRvcigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWEu
Y3BwCmluZGV4IDczNzk2M2M4MDVmOWYwYWQzMTE2NTNjOTI2OTAwOWM5NTM5OGQzYzMuLmE3MGY5
OGIzYWIwMDgxNzQ2N2ViNWFhZTYwZDA0NWFiNzA3ODJlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yTmljb3NpYS5jcHAKQEAgLTk0LDEzICs5NCw4IEBAIHZvaWQgU2Nyb2xsaW5n
Q29vcmRpbmF0b3JOaWNvc2lhOjpjb21taXRUcmVlU3RhdGUoKQogICAgIGlmICghc2Nyb2xsaW5n
U3RhdGVUcmVlKCktPmhhc0NoYW5nZWRQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFJlZlB0cjxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+IHRocmVhZGVkU2Nyb2xsaW5nVHJlZSA9
IGRvd25jYXN0PFRocmVhZGVkU2Nyb2xsaW5nVHJlZT4oc2Nyb2xsaW5nVHJlZSgpKTsKLSAgICB0
aHJlYWRlZFNjcm9sbGluZ1RyZWUtPmluY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpOwotCi0g
ICAgYXV0byB0cmVlU3RhdGUgPSBzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+Y29tbWl0KExheWVyUmVw
cmVzZW50YXRpb246OlBsYXRmb3JtTGF5ZXJSZXByZXNlbnRhdGlvbik7Ci0gICAgU2Nyb2xsaW5n
VGhyZWFkOjpkaXNwYXRjaChbdGhyZWFkZWRTY3JvbGxpbmdUcmVlLCB0cmVlU3RhdGUgPSBXVEZN
b3ZlKHRyZWVTdGF0ZSldKCkgbXV0YWJsZSB7Ci0gICAgICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJl
ZS0+Y29tbWl0VHJlZVN0YXRlKFdURk1vdmUodHJlZVN0YXRlKSk7Ci0gICAgfSk7CisgICAgYXV0
byBzdGF0ZVRyZWUgPSBzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+Y29tbWl0KExheWVyUmVwcmVzZW50
YXRpb246OlBsYXRmb3JtTGF5ZXJSZXByZXNlbnRhdGlvbik7CisgICAgc2Nyb2xsaW5nVHJlZSgp
LT5jb21taXRUcmVlU3RhdGUoV1RGTW92ZShzdGF0ZVRyZWUpKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397591</attachid>
            <date>2020-04-25 15:19:09 -0700</date>
            <delta_ts>2020-04-25 18:24:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211026-20200425151909.patch</filename>
            <type>text/plain</type>
            <size>11335</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBmYzhjNWJhNjJmZTIz
NmQzN2I2ZTc1ZDgyZjkwYjY4MDdmN2NkZi4uZWJhYmY5ZTIxNDMxM2U2YzZlYjE2NmM5NjAwNmYy
MDU4MzFlYWE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTA0LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENvbW1pdCB0aGUg
c2Nyb2xsaW5nIHRyZWUgZnJvbSB0aGUgbWFpbiB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTAyNgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNjIzNzQ4NTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZUlmTmVlZGVkKCkgcGFz
c2VkIHRoZSBuZXcgc3RhdGUgdHJlZSB0bworICAgICAgICB0aGUgc2Nyb2xsaW5nIHRocmVhZCB3
aGljaCB0aGVuIGRpZCB0aGUgY29tbWl0ICh3aGljaCB1cGRhdGVzIHRoZSBzY3JvbGxpbmcgdHJl
ZQorICAgICAgICBmcm9tIHRoZSBzdGF0ZSB0cmVlKS4gSG93ZXZlciwgYXBwbHlMYXllclBvc2l0
aW9ucygpIGltbWVkaWF0ZWx5IHdhaXRlZCBmb3IgdGhhdAorICAgICAgICBjb21taXQgdG8gY29t
cGxldGUsIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZCBhbnl3YXkuCisKKyAgICAgICAgV2UgbWln
aHQgYXMgd2VsbCBqdXN0IGNvbW1pdCB0aGUgc2Nyb2xsaW5nIHRyZWUgb24gdGhlIG1haW4gdGhy
ZWFkLiBTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUoKQorICAgICAgICBsb2NrcyBtX3Ry
ZWVNdXRleCwgc28gdGhpcyBpcyBzdGlsbCBzYWZlLiBMb2NrIGNvbnRlbnRpb24gd2l0aCB0aGUg
c2Nyb2xsaW5nIG9yIGV2ZW50IGRpc3BhdGNoZXIKKyAgICAgICAgdGhyZWFkcyBzaG91bGQgYmUg
cmFyZTsgdGhvc2UgdGhyZWFkcyBhcmUgYm90aCBtb3N0bHkgcmVzcG9uc2l2ZS4KKworICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4
dCBjb25zdCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUpOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWU6OndhaXRGb3JTY3JvbGxpbmdUcmVlQ29tbWl0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjppbmNyZW1lbnRQZW5k
aW5nQ29tbWl0Q291bnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3Jv
bGxpbmdUcmVlOjpkZWNyZW1lbnRQZW5kaW5nQ29tbWl0Q291bnQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3YWl0Rm9yUGVuZGluZ0NvbW1pdHMp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3YWl0
Rm9yU2Nyb2xsaW5nVHJlZUNvbW1pdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpUaHJl
YWRlZFNjcm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMpOiBEZWxldGVkLgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21taXRUcmVlU3RhdGVJZk5lZWRlZCk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5p
Y29zaWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lh
Ojpjb21taXRUcmVlU3RhdGUpOgorCiAyMDIwLTA0LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHJlcGFyZSB0byByZW1vdmUgYXV0b21h
dGljIFVSTC0+U3RyaW5nIGNvbnZlcnNpb24gb3BlcmF0b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
CmluZGV4IGZmMjg1NjI1NjY0Y2JhZTVlMzZhNTM1NWQ5YTRkY2Q4MDEwMjc2MGUuLjg0MGVlYWJm
NTRkNzlmMmVhZjRhN2IzZmIxODQ0MzM0NzJjMzEzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
CkBAIC04NTMsNyArODUzLDYgQEAgU3RyaW5nIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNj
cm9sbGluZ1RyZWVBc1RleHQoU2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0QmUKICAgICBpZiAoIW1f
c2Nyb2xsaW5nVHJlZSkKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKLSAgICBtX3Nj
cm9sbGluZ1RyZWUtPndhaXRGb3JTY3JvbGxpbmdUcmVlQ29tbWl0KCk7CiAgICAgcmV0dXJuIG1f
c2Nyb2xsaW5nVHJlZS0+c2Nyb2xsaW5nVHJlZUFzVGV4dChiZWhhdmlvcik7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggNDY2
YzFjNTM1ODBkMTNkNWZmYTE2YWI1YmI1Mzc4NzAzNTgyYmE2ZS4uMTA0YzFjYzg5NWJmNWI4ZDg3
OGRhYmQwYTYwYmNiNzllNWRhMTY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbGlu
Z1RyZWU6Om1haW5GcmFtZVZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhjb25z
dCBGbG9hdFBvaQogICAgIG1fcm9vdE5vZGUtPndhc1Njcm9sbGVkQnlEZWxlZ2F0ZWRTY3JvbGxp
bmcoc2Nyb2xsUG9zaXRpb24sIGxheW91dFZpZXdwb3J0KTsKIH0KIAotdm9pZCBTY3JvbGxpbmdU
cmVlOjpjb21taXRUcmVlU3RhdGUoc3RkOjp1bmlxdWVfcHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4g
c2Nyb2xsaW5nU3RhdGVUcmVlKQordm9pZCBTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUo
c3RkOjp1bmlxdWVfcHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4mJiBzY3JvbGxpbmdTdGF0ZVRyZWUp
CiB7CiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gaW5Db21taXRUcmVlU3RhdGUobV9pbkNvbW1pdFRy
ZWVTdGF0ZSwgdHJ1ZSk7CiAgICAgTG9ja0hvbGRlciBsb2NrZXIobV90cmVlTXV0ZXgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCmluZGV4IGQzMGE3
YjA4MTgzOTVkZWU2ZDBmNWUyNmU2YmIzNTE5Y2RhMTAxZTEuLmUwMDBlMjg2NjA2MWRjOTAzMzZh
Y2UzMzZlZjY5YjAxMjMwZWRjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlLmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNT
Y3JvbGxTbmFwSW5Qcm9ncmVzcygpOwogCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKSB7
IH0KLSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgY29tbWl0VHJlZVN0YXRlKHN0ZDo6
dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0
dWFsIHZvaWQgY29tbWl0VHJlZVN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRy
ZWU+JiYpOwogICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBhcHBseUxheWVy
UG9zaXRpb25zKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseUxheWVyUG9zaXRpb25z
QWZ0ZXJDb21taXQoKTsKQEAgLTE3NCw4ICsxNzQsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGxvY2tMYXllcnNGb3JIaXRUZXN0aW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHVubG9j
a0xheWVyc0ZvckhpdFRlc3RpbmcoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCB3YWl0Rm9yU2Ny
b2xsaW5nVHJlZUNvbW1pdCgpIHsgfQotCiBwcm90ZWN0ZWQ6CiAgICAgRmxvYXRQb2ludCBtYWlu
RnJhbWVTY3JvbGxQb3NpdGlvbigpIGNvbnN0OwogICAgIHZvaWQgc2V0TWFpbkZyYW1lU2Nyb2xs
UG9zaXRpb24oRmxvYXRQb2ludCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAppbmRleCA5Mjk2ZDRiMjJjYzZiN2Uz
YTA5NGRhODQ1YTJlOWFkZjhkZjQ3NzE2Li5jY2VlN2U0ZWZkNGMxMTdlYmRjZjJmYzYxNWYxYjk5
NTMwMmZjMjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJl
YWRlZFNjcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTg1LDE0ICs4NSw2IEBAIHZvaWQgVGhyZWFk
ZWRTY3JvbGxpbmdUcmVlOjppbnZhbGlkYXRlKCkKICAgICB9KTsKIH0KIAotdm9pZCBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWU6OmNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5n
U3RhdGVUcmVlPiBzY3JvbGxpbmdTdGF0ZVRyZWUpCi17Ci0gICAgQVNTRVJUKFNjcm9sbGluZ1Ro
cmVhZDo6aXNDdXJyZW50VGhyZWFkKCkpOwotICAgIFNjcm9sbGluZ1RyZWU6OmNvbW1pdFRyZWVT
dGF0ZShXVEZNb3ZlKHNjcm9sbGluZ1N0YXRlVHJlZSkpOwotICAgIAotICAgIGRlY3JlbWVudFBl
bmRpbmdDb21taXRDb3VudCgpOwotfQotCiB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6cHJv
cGFnYXRlU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5n
Tm9kZUlEPiYgc3luY2hyb25vdXNTY3JvbGxpbmdOb2RlcykKIHsKICAgICBhdXRvIHByb3BhZ2F0
ZVN0YXRlVG9BbmNlc3RvcnMgPSBbJl0oU2Nyb2xsaW5nVHJlZU5vZGUmIG5vZGUpIHsKQEAgLTE2
MCw0MCArMTUyLDYgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OnJlcG9ydEV4cG9zZWRV
bmZpbGxlZEFyZWEoTW9ub3RvbmljVGltZSB0aW1lc3RhbXAsIHUKICAgICB9KTsKIH0KIAotdm9p
ZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmluY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpCi17
Ci0gICAgTG9ja0hvbGRlciBjb21taXRMb2NrZXIobV9wZW5kaW5nQ29tbWl0Q291bnRNdXRleCk7
Ci0gICAgKyttX3BlbmRpbmdDb21taXRDb3VudDsKLX0KLQotdm9pZCBUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OmRlY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpCi17Ci0gICAgTG9ja0hvbGRlciBj
b21taXRMb2NrZXIobV9wZW5kaW5nQ29tbWl0Q291bnRNdXRleCk7Ci0gICAgQVNTRVJUKG1fcGVu
ZGluZ0NvbW1pdENvdW50ID4gMCk7Ci0gICAgaWYgKCEtLW1fcGVuZGluZ0NvbW1pdENvdW50KQot
ICAgICAgICBtX2NvbW1pdENvbmRpdGlvbi5ub3RpZnlPbmUoKTsKLX0KLQotdm9pZCBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWU6OndhaXRGb3JQZW5kaW5nQ29tbWl0cygpCi17Ci0gICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKLQotICAgIExvY2tIb2xkZXIgY29tbWl0TG9ja2VyKG1fcGVuZGluZ0Nv
bW1pdENvdW50TXV0ZXgpOwotICAgIHdoaWxlIChtX3BlbmRpbmdDb21taXRDb3VudCkKLSAgICAg
ICAgbV9jb21taXRDb25kaXRpb24ud2FpdChtX3BlbmRpbmdDb21taXRDb3VudE11dGV4KTsKLX0K
LQotdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OndhaXRGb3JTY3JvbGxpbmdUcmVlQ29tbWl0
KCkKLXsKLSAgICB3YWl0Rm9yUGVuZGluZ0NvbW1pdHMoKTsKLX0KLQotdm9pZCBUaHJlYWRlZFNj
cm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMoKQotewotICAgIHdhaXRGb3JQZW5kaW5n
Q29tbWl0cygpOwotICAgIFNjcm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMoKTsKLX0K
LQogI2lmIFBMQVRGT1JNKENPQ09BKQogdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmN1cnJl
bnRTbmFwUG9pbnRJbmRpY2VzRGlkQ2hhbmdlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIHVuc2ln
bmVkIGhvcml6b250YWwsIHVuc2lnbmVkIHZlcnRpY2FsKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAppbmRleCA1MTM2
NTM2NDk1OTJhZDhiZmZlNGYwZjY1ZTI0NWY3YjQ1ODMwOGFjLi4wNjZhMDZlM2JhZWM5ZWY4Yzk5
YjVjMzM0YjYwMjQ4YTcwMjVmNDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAtNDQsOCArNDQsNiBAQCBjbGFz
cyBUaHJlYWRlZFNjcm9sbGluZ1RyZWUgOiBwdWJsaWMgU2Nyb2xsaW5nVHJlZSB7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+VGhyZWFkZWRTY3JvbGxpbmdUcmVlKCk7CiAKLSAgICB2b2lkIGNvbW1p
dFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPikgb3ZlcnJpZGU7
Ci0KICAgICBTY3JvbGxpbmdFdmVudFJlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRm
b3JtV2hlZWxFdmVudCYpIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FuIGJlIGNhbGxlZCBmcm9tIGFu
eSB0aHJlYWQuIFdpbGwgdHJ5IHRvIGhhbmRsZSB0aGUgd2hlZWwgZXZlbnQgb24gdGhlIHNjcm9s
bGluZyB0aHJlYWQuCkBAIC01NSw5ICs1Myw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW52YWxp
ZGF0ZSgpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBpbmNyZW1lbnRQZW5kaW5nQ29tbWl0Q291bnQo
KTsKLSAgICB2b2lkIGRlY3JlbWVudFBlbmRpbmdDb21taXRDb3VudCgpOwotCiBwcm90ZWN0ZWQ6
CiAgICAgZXhwbGljaXQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlKEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3ImKTsKIApAQCAtNzcsMTcgKzcyLDkgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAg
IGJvb2wgaXNUaHJlYWRlZFNjcm9sbGluZ1RyZWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9Ci0gICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zKCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCB3YWl0Rm9yU2Nyb2xsaW5nVHJlZUNvbW1pdCgpIG92ZXJyaWRlOwogICAgIHZvaWQgcHJvcGFn
YXRlU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9k
ZUlEPiYpIG92ZXJyaWRlOwogCiAgICAgUmVmUHRyPEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I+
IG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3I7Ci0KLSAgICB2b2lkIHdhaXRGb3JQZW5kaW5nQ29tbWl0
cygpOwotCi0gICAgTG9jayBtX3BlbmRpbmdDb21taXRDb3VudE11dGV4OwotICAgIHVuc2lnbmVk
IG1fcGVuZGluZ0NvbW1pdENvdW50IHsgMCB9OwotICAgIENvbmRpdGlvbiBtX2NvbW1pdENvbmRp
dGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5t
bQppbmRleCBkOGU1MWNhN2U2NGVkNGRiZjZjNjgwZWQxMTk2ZTgyNjgyOTNkZDZlLi45YzZjNzdm
ZGQwNTRlNWUyODEyMTI1NDUxYjUxNDdiMzA4Y2IwMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tCkBAIC05NywyMiArOTcsMTUgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29t
bWl0VHJlZVN0YXRlSWZOZWVkZWQoKQogewogICAgIHdpbGxDb21taXRUcmVlKCk7CiAKLSAgICBM
T0coU2Nyb2xsaW5nLCAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZSwg
aGFzIGNoYW5nZXMgJWQiLCBzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+aGFzQ2hhbmdlZFByb3BlcnRp
ZXMoKSk7CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxp
bmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlLCBoYXMgY2hhbmdlcyAiIDw8IHNjcm9s
bGluZ1N0YXRlVHJlZSgpLT5oYXNDaGFuZ2VkUHJvcGVydGllcygpKTsKIAogICAgIGlmICghc2Ny
b2xsaW5nU3RhdGVUcmVlKCktPmhhc0NoYW5nZWRQcm9wZXJ0aWVzKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIExPRyhTY3JvbGxpbmcsICIlcyIsIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dChT
Y3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvckRlYnVnKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgc2Nyb2xsaW5nU3RhdGVUcmVl
QXNUZXh0KFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yRGVidWcpKTsKIAotICAgIFJl
ZlB0cjxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+IHRocmVhZGVkU2Nyb2xsaW5nVHJlZSA9IGRvd25j
YXN0PFRocmVhZGVkU2Nyb2xsaW5nVHJlZT4oc2Nyb2xsaW5nVHJlZSgpKTsKLSAgICBTY3JvbGxp
bmdTdGF0ZVRyZWUqIHVucHJvdGVjdGVkVHJlZVN0YXRlID0gc2Nyb2xsaW5nU3RhdGVUcmVlKCkt
PmNvbW1pdChMYXllclJlcHJlc2VudGF0aW9uOjpQbGF0Zm9ybUxheWVyUmVwcmVzZW50YXRpb24p
LnJlbGVhc2UoKTsKLQotICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+aW5jcmVtZW50UGVuZGlu
Z0NvbW1pdENvdW50KCk7Ci0KLSAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFt0aHJlYWRl
ZFNjcm9sbGluZ1RyZWUsIHVucHJvdGVjdGVkVHJlZVN0YXRlXSB7Ci0gICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IHRyZWVTdGF0ZSh1bnByb3RlY3RlZFRyZWVTdGF0
ZSk7Ci0gICAgICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+Y29tbWl0VHJlZVN0YXRlKFdURk1v
dmUodHJlZVN0YXRlKSk7Ci0gICAgfSk7CisgICAgYXV0byBzdGF0ZVRyZWUgPSBzY3JvbGxpbmdT
dGF0ZVRyZWUoKS0+Y29tbWl0KExheWVyUmVwcmVzZW50YXRpb246OlBsYXRmb3JtTGF5ZXJSZXBy
ZXNlbnRhdGlvbik7CisgICAgc2Nyb2xsaW5nVHJlZSgpLT5jb21taXRUcmVlU3RhdGUoV1RGTW92
ZShzdGF0ZVRyZWUpKTsKIAogICAgIHVwZGF0ZVRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5jcHAKaW5kZXggNzM3OTYzYzgw
NWY5ZjBhZDMxMTY1M2M5MjY5MDA5Yzk1Mzk4ZDNjMy4uYTcwZjk4YjNhYjAwODE3NDY3ZWI1YWFl
NjBkMDQ1YWI3MDc4MmUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lh
LmNwcApAQCAtOTQsMTMgKzk0LDggQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWE6
OmNvbW1pdFRyZWVTdGF0ZSgpCiAgICAgaWYgKCFzY3JvbGxpbmdTdGF0ZVRyZWUoKS0+aGFzQ2hh
bmdlZFByb3BlcnRpZXMoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVmUHRyPFRocmVhZGVk
U2Nyb2xsaW5nVHJlZT4gdGhyZWFkZWRTY3JvbGxpbmdUcmVlID0gZG93bmNhc3Q8VGhyZWFkZWRT
Y3JvbGxpbmdUcmVlPihzY3JvbGxpbmdUcmVlKCkpOwotICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJl
ZS0+aW5jcmVtZW50UGVuZGluZ0NvbW1pdENvdW50KCk7Ci0KLSAgICBhdXRvIHRyZWVTdGF0ZSA9
IHNjcm9sbGluZ1N0YXRlVHJlZSgpLT5jb21taXQoTGF5ZXJSZXByZXNlbnRhdGlvbjo6UGxhdGZv
cm1MYXllclJlcHJlc2VudGF0aW9uKTsKLSAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFt0
aHJlYWRlZFNjcm9sbGluZ1RyZWUsIHRyZWVTdGF0ZSA9IFdURk1vdmUodHJlZVN0YXRlKV0oKSBt
dXRhYmxlIHsKLSAgICAgICAgdGhyZWFkZWRTY3JvbGxpbmdUcmVlLT5jb21taXRUcmVlU3RhdGUo
V1RGTW92ZSh0cmVlU3RhdGUpKTsKLSAgICB9KTsKKyAgICBhdXRvIHN0YXRlVHJlZSA9IHNjcm9s
bGluZ1N0YXRlVHJlZSgpLT5jb21taXQoTGF5ZXJSZXByZXNlbnRhdGlvbjo6UGxhdGZvcm1MYXll
clJlcHJlc2VudGF0aW9uKTsKKyAgICBzY3JvbGxpbmdUcmVlKCktPmNvbW1pdFRyZWVTdGF0ZShX
VEZNb3ZlKHN0YXRlVHJlZSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>