<?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>233245</bug_id>
          
          <creation_ts>2021-11-17 00:09:22 -0800</creation_ts>
          <short_desc>Momentum animator sometimes starts the animation at a very high velocity</short_desc>
          <delta_ts>2021-11-17 14:23:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1815846</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 00:09:22 -0800</bug_when>
    <thetext>Momentum animator sometimes starts the animation at a very high velocity</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815849</commentid>
    <comment_count>1</comment_count>
      <attachid>444490</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 00:13:49 -0800</bug_when>
    <thetext>Created attachment 444490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815850</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 00:14:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/85307115&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815851</commentid>
    <comment_count>3</comment_count>
      <attachid>444491</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 00:24:56 -0800</bug_when>
    <thetext>Created attachment 444491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816016</commentid>
    <comment_count>4</comment_count>
      <attachid>444491</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-17 10:55:28 -0800</bug_when>
    <thetext>Comment on attachment 444491
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:110
&gt; +            platformWheelEvent = m_recentWheelEventDeltaFilter-&gt;eventCopyWithVelocity(platformWheelEvent);

Is this going to put non-zero velocity on Ended events?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816026</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 11:21:31 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #4)
&gt; Comment on attachment 444491 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444491&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:110
&gt; &gt; +            platformWheelEvent = m_recentWheelEventDeltaFilter-&gt;eventCopyWithVelocity(platformWheelEvent);
&gt; 
&gt; Is this going to put non-zero velocity on Ended events?

Good point, maybe we should be more restrictive (it&apos;s a little funny because you&apos;d think velocity would be non-zero for the `end` before a `momentum start` but I know that&apos;s historically not true).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816032</commentid>
    <comment_count>6</comment_count>
      <attachid>444543</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 11:35:29 -0800</bug_when>
    <thetext>Created attachment 444543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816090</commentid>
    <comment_count>7</comment_count>
      <attachid>444564</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 13:35:58 -0800</bug_when>
    <thetext>Created attachment 444564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816092</commentid>
    <comment_count>8</comment_count>
      <attachid>444565</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 13:42:24 -0800</bug_when>
    <thetext>Created attachment 444565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816120</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-17 14:22:06 -0800</bug_when>
    <thetext>Committed r285953 (244354@main): &lt;https://commits.webkit.org/244354@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444565.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816123</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-17 14:23:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/85520965&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444490</attachid>
            <date>2021-11-17 00:13:49 -0800</date>
            <delta_ts>2021-11-17 00:32:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233245-20211117001348.patch</filename>
            <type>text/plain</type>
            <size>13614</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZiNzNhYTgyYTEyMWVi
ZWUyYzlmZWFiZDdjN2FkMzEwMWQ3ZTU0Mi4uNWExYTdiNWJmOTdjOGQ3MDlkMDJmODgzOTllMzQw
ZDMxZDU4MDIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTExLTE3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIE1vbWVudHVtIGFu
aW1hdG9yIHNvbWV0aW1lcyBzdGFydHMgdGhlIGFuaW1hdGlvbiBhdCBhIHZlcnkgaGlnaCB2ZWxv
Y2l0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTMwNzExNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudERlbHRhRmls
dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnREZWx0YUZpbHRlcjo6ZXZlbnRD
b3B5V2l0aFZlbG9jaXR5IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnREZWx0YUZp
bHRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojpjb3B5V2l0aFZlbG9jaXR5IGNvbnN0KToK
KyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBhc2sgdGhlIGRlbHRhIGZpbHRlciB0byBvbmx5
IGFkZCB2ZWxvY2l0eSBkYXRhIHdpdGhvdXQgZmlsdGVyaW5nIGRlbHRhcy4KKyAgICAgICAgV2Ug
c2hvdWxkIGxhdGVyIG1ha2UgU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIgdGFsayBkaXJlY3Rs
eSB0byB0aGUKKyAgICAgICAgV2hlZWxFdmVudERlbHRhRmlsdGVyIHRvIGdldCB0aGUgdmVsb2Np
dHksIGJ1dCB0aGF0IHJlcXVpcmVzIGEgZ3JlYXQKKyAgICAgICAgZGVhbCBvZiBzY3JvbGxpbmcg
dGhyZWFkIHBsdW1iaW5nLgorCisgICAgICAgICogcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmls
dGVyTWFjLmg6CisgICAgICAgICogcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9t
RXZlbnQpOgorICAgICAgICBGYWN0b3IgdXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50IG91
dC4KKyAgICAgICAgVXBkYXRlIHRoZSBjdXJyZW50IHZlbG9jaXR5IGZvciBtb21lbnR1bSBiZWdp
biBwaGFzZSBldmVudHMgYXMgd2VsbC4KKworICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudERl
bHRhRmlsdGVyTWFjOjp1cGRhdGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQpOgorCisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAg
IFN0YXJ0IHRoZSBtb21lbnR1bSBhbmltYXRpb24gd2l0aCB0aGUgdmVsb2NpdHkgcHJvdmlkZWQg
YnkgdGhlIG1vbWVudHVtCisgICAgICAgIGJlZ2luIHBoYXNlLCBpbnN0ZWFkIG9mIGEgcG90ZW50
aWFsbHkgaW5jb3JyZWN0IGRlbHRhIGZyb20gYW4gZWFybGllciBjaGFuZ2UgcGhhc2UuCisKIDIw
MjEtMTEtMTYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZS1hZGQg
J3N0eWxlJyB0byBjb250YWluOnN0cmljdCBhbmQgY29udGFpbjpjb250ZW50IENTUyBwcm9wZXJ0
aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGM4NjQ0NGExODk4ZWQ2ODZiYmYxZGNmZjFmZDQ4NWI1YWFlNmYzOTMu
LmVkZGQxZTVlMDcwYWNkYmZmNDVlYTBiNWM1OTI4NmQ2M2M3MDBjYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgTW9tZW50dW0gYW5pbWF0b3Igc29tZXRpbWVzIHN0YXJ0cyB0aGUg
YW5pbWF0aW9uIGF0IGEgdmVyeSBoaWdoIHZlbG9jaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzg1MzA3MTE1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkV2ZW50RGlzcGF0Y2hlcjo6d2hlZWxFdmVudCk6CisgICAgICAgIEVuc3VyZSB0aGF0
IHdoZWVsIGV2ZW50cyBhbHdheXMgaGF2ZSB2ZWxvY2l0aWVzIGF0dGFjaGVkLCBldmVuIGZvcgor
ICAgICAgICBldmVudHMgdGhhdCBkb24ndCBnbyB0aHJvdWdoIHRoZSBkZWx0YSBmaWx0ZXIuCisK
IDIwMjEtMTEtMTYgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGZpeCBXaW5DYWlybyBidWlsZCBmb2xsb3dpbmcgcjI4NTg4MS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNwcAppbmRleCA4
MzkzMjI4MTE0NjAzY2M0YTA5MTQ4ZjlmMjNkYTBmMzY1MjE3YjZiLi42N2FiYWI5NDA2OWQ5YWM0
NDgwNDU5OTc2MjJlOGNmYzVkMGViYWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnREZWx0YUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVl
bEV2ZW50RGVsdGFGaWx0ZXIuY3BwCkBAIC02Nyw2ICs2NywxMSBAQCBQbGF0Zm9ybVdoZWVsRXZl
bnQgV2hlZWxFdmVudERlbHRhRmlsdGVyOjpldmVudENvcHlXaXRoRmlsdGVyZWREZWx0YXMoY29u
c3QgUGxhdAogICAgIHJldHVybiBldmVudC5jb3B5V2l0aERlbHRhQW5kVmVsb2NpdHkobV9jdXJy
ZW50RmlsdGVyZWREZWx0YSwgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eSk7CiB9CiAKK1BsYXRm
b3JtV2hlZWxFdmVudCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29weVdpdGhWZWxvY2l0
eShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KSBjb25zdAoreworICAgIHJldHVybiBl
dmVudC5jb3B5V2l0aFZlbG9jaXR5KGV2ZW50LmRlbHRhKCksIG1fY3VycmVudEZpbHRlcmVkVmVs
b2NpdHkpOworfQorCiBGbG9hdFNpemUgV2hlZWxFdmVudERlbHRhRmlsdGVyOjpmaWx0ZXJlZERl
bHRhKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9jdXJyZW50RmlsdGVyZWREZWx0YTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnREZWx0YUZpbHRlci5oCmluZGV4IGIwMWU1NTVjMTE1
ZjViZjdkNTY2ZWQyMTFkZTk1MGE2ZWYwNWMwZWUuLjUwYjAyNTdhZDkxYmQ3Y2RhNDM1NjkwZDU3
YTU3N2RmZThiMTQ1NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVu
dERlbHRhRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50RGVsdGFG
aWx0ZXIuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCB2b2lkIHVwZGF0ZUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSA9IDA7
CiAKICAgICBXRUJDT1JFX0VYUE9SVCBQbGF0Zm9ybVdoZWVsRXZlbnQgZXZlbnRDb3B5V2l0aEZp
bHRlcmVkRGVsdGFzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGNvbnN0OworICAgIFdFQkNP
UkVfRVhQT1JUIFBsYXRmb3JtV2hlZWxFdmVudCBldmVudENvcHlXaXRoVmVsb2NpdHkoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3Q7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBGbG9hdFNp
emUgZmlsdGVyZWRWZWxvY2l0eSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0U2l6
ZSBmaWx0ZXJlZERlbHRhKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5oCmluZGV4IDljYmI1Y2RmNWNkMjQ1MzMyYWQ2NjUy
NDYwYjkwMGJlYTNiNjVmY2IuLjdhM2E3MjNlNDc1MDY3ODQyNTNmM2IyNWY0MDk1ZDliMmViMjc0
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZp
bHRlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZp
bHRlck1hYy5oCkBAIC00NSw2ICs0NSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBy
ZXNldCgpOwogCisgICAgdm9pZCB1cGRhdGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50Jik7CisKICAgICBSZXRhaW5QdHI8X05TU2Nyb2xsaW5nUHJlZG9t
aW5hbnRBeGlzRmlsdGVyPiBtX3ByZWRvbWluYW50QXhpc0ZpbHRlcjsKICAgICBXYWxsVGltZSBt
X2luaXRpYWxXYWxsVGltZTsKICAgICBXYWxsVGltZSBtX2xhc3RJT0hJREV2ZW50VGltZXN0YW1w
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmls
dGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVy
TWFjLm1tCmluZGV4IDU4ZGQwZWViODAyMmMwN2Y0ZjNiOTBjOGJjOTdlZDZjMjRiNDJkNjIuLmEx
MWJkNWVhZjkzMjAyMzkyNzJmMWE5OTk2MTA0MjY4YzZiZWY4OWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0KQEAgLTQ1LDEz
ICs0NSwxMiBAQCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWM6OldoZWVsRXZlbnREZWx0YUZpbHRl
ck1hYygpCiB2b2lkIFdoZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2ZW50KGNv
bnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZlbnQpCiB7CiAgICAgaWYgKGV2ZW50Lm1vbWVudHVt
UGhhc2UoKSAhPSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZSkgeworICAgICAgICBpZiAo
ZXZlbnQubW9tZW50dW1QaGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpCZWdhbikK
KyAgICAgICAgICAgIHVwZGF0ZUN1cnJlbnRWZWxvY2l0eUZyb21FdmVudChldmVudCk7CiAgICAg
ICAgIG1fbGFzdElPSElERXZlbnRUaW1lc3RhbXAgPSBldmVudC5pb0hJREV2ZW50VGltZXN0YW1w
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBUaGUgYWJzb2x1dGUgdmFsdWUg
b2YgdGltZXN0YW1wIGRvZXNuJ3QgbWF0dGVyOyB0aGUgZmlsdGVyIGxvb2tzIGF0IGRlbHRhcyBm
cm9tIHRoZSBwcmV2aW91cyBldmVudC4KLSAgICBhdXRvIHRpbWVzdGFtcCA9IGV2ZW50LnRpbWVz
dGFtcCgpIC0gbV9pbml0aWFsV2FsbFRpbWU7Ci0KICAgICBzd2l0Y2ggKGV2ZW50LnBoYXNlKCkp
IHsKICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpOb25lOgogICAgIGNhc2UgUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2U6OkVuZGVkOgpAQCAtNTksMjkgKzU4LDEzIEBAIHZvaWQgV2hl
ZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVl
bEV2ZW50JiBldmVudCkKIAogICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2Fu
OgogICAgICAgICByZXNldCgpOwotICAgICAgICBGQUxMVEhST1VHSDsKLSAgICBjYXNlIFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlOjpDaGFuZ2VkOiB7Ci0gICAgICAgIE5TUG9pbnQgZmlsdGVyZWRE
ZWx0YVJlc3VsdDsKLSAgICAgICAgTlNQb2ludCBmaWx0ZXJlZFZlbG9jaXR5UmVzdWx0OwotCi0g
ICAgICAgIFttX3ByZWRvbWluYW50QXhpc0ZpbHRlciBmaWx0ZXJJbnB1dERlbHRhOnRvRmxvYXRQ
b2ludChldmVudC5kZWx0YSgpKSB0aW1lc3RhbXA6dGltZXN0YW1wLnNlY29uZHMoKSBvdXRwdXRE
ZWx0YTomZmlsdGVyZWREZWx0YVJlc3VsdCB2ZWxvY2l0eTomZmlsdGVyZWRWZWxvY2l0eVJlc3Vs
dF07Ci0gICAgICAgIGF1dG8gYXhpc0ZpbHRlcmVkVmVsb2NpdHkgPSB0b0Zsb2F0U2l6ZShmaWx0
ZXJlZFZlbG9jaXR5UmVzdWx0KTsKLSAgICAgICAgbV9jdXJyZW50RmlsdGVyZWREZWx0YSA9IHRv
RmxvYXRTaXplKGZpbHRlcmVkRGVsdGFSZXN1bHQpOwotCi0gICAgICAgIC8vIFVzZSBhIDFtcyBt
aW5pbXVtIHRvIGF2b2lkIGRpdmlkZSBieSB6ZXJvLiBUaGUgdXN1YWwgY2FkZW5jZSBvZiB0aGVz
ZSBldmVudHMgbWF0Y2hlcyBzY3JlZW4gcmVmcmVzaCByYXRlLgotICAgICAgICBhdXRvIGRlbHRh
RnJvbUxhc3RFdmVudCA9IHN0ZDo6bWF4KGV2ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKSAtIG1f
bGFzdElPSElERXZlbnRUaW1lc3RhbXAsIDFfbXMpOwotICAgICAgICBtX2N1cnJlbnRGaWx0ZXJl
ZFZlbG9jaXR5ID0gZXZlbnQuZGVsdGEoKSAvIGRlbHRhRnJvbUxhc3RFdmVudC5zZWNvbmRzKCk7
Ci0KLSAgICAgICAgLy8gQXBwbHkgdGhlIGF4aXMtbG9ja2luZyB0aGF0IG1fcHJlZG9taW5hbnRB
eGlzRmlsdGVyIGRvZXMuCi0gICAgICAgIGlmICghYXhpc0ZpbHRlcmVkVmVsb2NpdHkud2lkdGgo
KSkKLSAgICAgICAgICAgIG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkuc2V0V2lkdGgoMCk7Ci0g
ICAgICAgIGlmICghYXhpc0ZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpCi0gICAgICAgICAgICBt
X2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LnNldEhlaWdodCgwKTsKLQotICAgICAgICBMT0coU2Ny
b2xsQW5pbWF0aW9ucywgIldoZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2ZW50
OiBfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4aXNGaWx0ZXIgdmVsb2NpdHkgJS4yZiwgJTJmLCBJ
T0hJREV2ZW50IHZlbG9jaXR5ICUuMmYsJS4yZiIsCi0gICAgICAgICAgICBheGlzRmlsdGVyZWRW
ZWxvY2l0eS53aWR0aCgpLCBheGlzRmlsdGVyZWRWZWxvY2l0eS5oZWlnaHQoKSwgbV9jdXJyZW50
RmlsdGVyZWRWZWxvY2l0eS53aWR0aCgpLCBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LmhlaWdo
dCgpKTsKKyAgICAgICAgdXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KGV2ZW50KTsKICAg
ICAgICAgYnJlYWs7Ci0gICAgfQorCisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6
Q2hhbmdlZDoKKyAgICAgICAgdXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KGV2ZW50KTsK
KyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpNYXlC
ZWdpbjoKICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDYW5jZWxsZWQ6CiAgICAg
Y2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6U3RhdGlvbmFyeToKQEAgLTkyLDYgKzc1LDMy
IEBAIHZvaWQgV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkKICAgICBtX2xhc3RJT0hJREV2ZW50VGltZXN0YW1w
ID0gZXZlbnQuaW9ISURFdmVudFRpbWVzdGFtcCgpOwogfQogCit2b2lkIFdoZWVsRXZlbnREZWx0
YUZpbHRlck1hYzo6dXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KGNvbnN0IFBsYXRmb3Jt
V2hlZWxFdmVudCYgZXZlbnQpCit7CisgICAgLy8gVGhlIGFic29sdXRlIHZhbHVlIG9mIHRpbWVz
dGFtcCBkb2Vzbid0IG1hdHRlcjsgdGhlIGZpbHRlciBsb29rcyBhdCBkZWx0YXMgZnJvbSB0aGUg
cHJldmlvdXMgZXZlbnQuCisgICAgYXV0byB0aW1lc3RhbXAgPSBldmVudC50aW1lc3RhbXAoKSAt
IG1faW5pdGlhbFdhbGxUaW1lOworCisgICAgTlNQb2ludCBmaWx0ZXJlZERlbHRhUmVzdWx0Owor
ICAgIE5TUG9pbnQgZmlsdGVyZWRWZWxvY2l0eVJlc3VsdDsKKworICAgIFttX3ByZWRvbWluYW50
QXhpc0ZpbHRlciBmaWx0ZXJJbnB1dERlbHRhOnRvRmxvYXRQb2ludChldmVudC5kZWx0YSgpKSB0
aW1lc3RhbXA6dGltZXN0YW1wLnNlY29uZHMoKSBvdXRwdXREZWx0YTomZmlsdGVyZWREZWx0YVJl
c3VsdCB2ZWxvY2l0eTomZmlsdGVyZWRWZWxvY2l0eVJlc3VsdF07CisgICAgYXV0byBheGlzRmls
dGVyZWRWZWxvY2l0eSA9IHRvRmxvYXRTaXplKGZpbHRlcmVkVmVsb2NpdHlSZXN1bHQpOworICAg
IG1fY3VycmVudEZpbHRlcmVkRGVsdGEgPSB0b0Zsb2F0U2l6ZShmaWx0ZXJlZERlbHRhUmVzdWx0
KTsKKworICAgIC8vIFVzZSBhIDFtcyBtaW5pbXVtIHRvIGF2b2lkIGRpdmlkZSBieSB6ZXJvLiBU
aGUgdXN1YWwgY2FkZW5jZSBvZiB0aGVzZSBldmVudHMgbWF0Y2hlcyBzY3JlZW4gcmVmcmVzaCBy
YXRlLgorICAgIGF1dG8gZGVsdGFGcm9tTGFzdEV2ZW50ID0gc3RkOjptYXgoZXZlbnQuaW9ISURF
dmVudFRpbWVzdGFtcCgpIC0gbV9sYXN0SU9ISURFdmVudFRpbWVzdGFtcCwgMV9tcyk7CisgICAg
bV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eSA9IGV2ZW50LmRlbHRhKCkgLyBkZWx0YUZyb21MYXN0
RXZlbnQuc2Vjb25kcygpOworCisgICAgLy8gQXBwbHkgdGhlIGF4aXMtbG9ja2luZyB0aGF0IG1f
cHJlZG9taW5hbnRBeGlzRmlsdGVyIGRvZXMuCisgICAgaWYgKCFheGlzRmlsdGVyZWRWZWxvY2l0
eS53aWR0aCgpKQorICAgICAgICBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LnNldFdpZHRoKDAp
OworICAgIGlmICghYXhpc0ZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpCisgICAgICAgIG1fY3Vy
cmVudEZpbHRlcmVkVmVsb2NpdHkuc2V0SGVpZ2h0KDApOworCisgICAgTE9HKFNjcm9sbEFuaW1h
dGlvbnMsICJXaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWM6OnVwZGF0ZUZyb21FdmVudDogX05TU2Ny
b2xsaW5nUHJlZG9taW5hbnRBeGlzRmlsdGVyIHZlbG9jaXR5ICUuMmYsICUyZiwgSU9ISURFdmVu
dCB2ZWxvY2l0eSAlLjJmLCUuMmYiLAorICAgICAgICBheGlzRmlsdGVyZWRWZWxvY2l0eS53aWR0
aCgpLCBheGlzRmlsdGVyZWRWZWxvY2l0eS5oZWlnaHQoKSwgbV9jdXJyZW50RmlsdGVyZWRWZWxv
Y2l0eS53aWR0aCgpLCBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LmhlaWdodCgpKTsKK30KKwog
dm9pZCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWM6OnJlc2V0KCkKIHsKICAgICBbbV9wcmVkb21p
bmFudEF4aXNGaWx0ZXIgcmVzZXRdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1XaGVlbEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bVdoZWVsRXZlbnQuaAppbmRleCAzMmNlNzMzNTViYjRmOTk1ZTc4MzRmMDA0NjUxMTEzYzVmZTE2
ODQ0Li43MzcyZjNiZmJlY2QxZWFkNjc4ZWEyMmIyMzFiOWE1MWI5MjQzOTE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaApAQCAtMTI5LDYgKzEyOSwx
MyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBjb3B5OwogICAgIH0KIAorICAgIFBsYXRmb3Jt
V2hlZWxFdmVudCBjb3B5V2l0aFZlbG9jaXR5KEZsb2F0U2l6ZSB2ZWxvY2l0eSkgY29uc3QKKyAg
ICB7CisgICAgICAgIFBsYXRmb3JtV2hlZWxFdmVudCBjb3B5ID0gKnRoaXM7CisgICAgICAgIGNv
cHkubV9zY3JvbGxpbmdWZWxvY2l0eSA9IHZlbG9jaXR5OworICAgICAgICByZXR1cm4gY29weTsK
KyAgICB9CisKICAgICBjb25zdCBJbnRQb2ludCYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBt
X3Bvc2l0aW9uOyB9IC8vIFBsYXRmb3JtV2luZG93IGNvb3JkaW5hdGVzLgogICAgIGNvbnN0IElu
dFBvaW50JiBnbG9iYWxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsUG9zaXRpb247
IH0gLy8gU2NyZWVuIGNvb3JkaW5hdGVzLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaAppbmRleCAzYzcwZjQwMTAxOWIyMTIz
MTBmMzczOGRmOWU3ZTkwNWE1YTg5OGNjLi4zYjY1OWJhZmZlMjhlODhkYTAwNjJhMWIwMmY0MTlj
MDEzZTA3NTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdF
ZmZlY3RzQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGlu
Z0VmZmVjdHNDb250cm9sbGVyLmgKQEAgLTI2MCw3ICsyNjAsNiBAQCBwcml2YXRlOgogICAgIEZs
b2F0U2l6ZSBtX3N0cmV0Y2hTY3JvbGxGb3JjZTsKICAgICBGbG9hdFNpemUgbV9tb21lbnR1bVZl
bG9jaXR5OwogCi0gICAgRmxvYXRTaXplIG1fc2Nyb2xsaW5nVmVsb2NpdHlGb3JNb21lbnR1bUFu
aW1hdGlvbjsgLy8gRG8gd2UgbmVlZCBib3RoIHRoaXMsIG1fc2Nyb2xsaW5nVmVsb2NpdHlGb3JT
Y3JvbGxTbmFwIGFuZCBtX21vbWVudHVtVmVsb2NpdHk/CiAgICAgRmxvYXRTaXplIG1fc2Nyb2xs
aW5nVmVsb2NpdHlGb3JTY3JvbGxTbmFwOwogI2lmICFMT0dfRElTQUJMRUQKICAgICBGbG9hdFBv
aW50IG1fZXZlbnREcml2ZW5TY3JvbGxNb21lbnR1bVN0YXJ0T2Zmc2V0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVy
Lm1tCmluZGV4IDA5ZWNmNjg2OWUxYjMxNTI3ODZlYjk3OTZjY2E2ZTNkNzk4MTdmNjUuLmNhYzNj
NmM0Y2M0NTJmMmJlM2Q2YWRkM2VhN2YwYzk3ZDU3MjYxMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0K
QEAgLTEyOSw5ICsxMjksNiBAQCBzdGF0aWMgY29uc3QgY2hhciogcGhhc2VUb1N0cmluZyhQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFzZSkKIAogYm9vbCBTY3JvbGxpbmdFZmZlY3RzQ29udHJv
bGxlcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZl
bnQpCiB7Ci0gICAgaWYgKFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6c2hvdWxkQXBwbHlGaWx0ZXJp
bmdGb3JFdmVudCh3aGVlbEV2ZW50KSkKLSAgICAgICAgbV9zY3JvbGxpbmdWZWxvY2l0eUZvck1v
bWVudHVtQW5pbWF0aW9uID0gLXdoZWVsRXZlbnQuc2Nyb2xsaW5nVmVsb2NpdHkoKTsgLy8gTm90
ZSB0aGF0IGV2ZW50IGRlbHRhIGlzIHJldmVyc2VkIGZyb20gc2Nyb2xsIGRpcmVjdGlvbi4KLQog
ICAgIGlmIChwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAod2hlZWxFdmVudCkpCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCkBAIC0yMjgsNyArMjI1LDcgQEAgYm9vbCBTY3JvbGxpbmdFZmZl
Y3RzQ29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
IHdoZWUKICAgICBpZiAoIW1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzICYmIChtb21lbnR1bVBo
YXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpCZWdhbiB8fCBtb21lbnR1bVBoYXNlID09
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDaGFuZ2VkKSkgewogICAgICAgICBtX21vbWVudHVt
U2Nyb2xsSW5Qcm9ncmVzcyA9IHRydWU7CiAgICAgICAgIGlmIChtb21lbnR1bVNjcm9sbGluZ0Fu
aW1hdG9yRW5hYmxlZCgpKSB7Ci0gICAgICAgICAgICBzdGFydE1vbWVudHVtU2Nyb2xsV2l0aElu
aXRpYWxWZWxvY2l0eShtX2NsaWVudC5zY3JvbGxPZmZzZXQoKSwgbV9zY3JvbGxpbmdWZWxvY2l0
eUZvck1vbWVudHVtQW5pbWF0aW9uLCAtd2hlZWxFdmVudC5kZWx0YSgpLCBbXShjb25zdCBGbG9h
dFBvaW50JiB0YXJnZXRPZmZzZXQpIHsgcmV0dXJuIHRhcmdldE9mZnNldDsgfSk7CisgICAgICAg
ICAgICBzdGFydE1vbWVudHVtU2Nyb2xsV2l0aEluaXRpYWxWZWxvY2l0eShtX2NsaWVudC5zY3Jv
bGxPZmZzZXQoKSwgLXdoZWVsRXZlbnQuc2Nyb2xsaW5nVmVsb2NpdHkoKSwgLXdoZWVsRXZlbnQu
ZGVsdGEoKSwgW10oY29uc3QgRmxvYXRQb2ludCYgdGFyZ2V0T2Zmc2V0KSB7IHJldHVybiB0YXJn
ZXRPZmZzZXQ7IH0pOwogI2lmICFMT0dfRElTQUJMRUQKICAgICAgICAgICAgIG1fZXZlbnREcml2
ZW5TY3JvbGxPZmZzZXQgPSBtX2NsaWVudC5zY3JvbGxPZmZzZXQoKTsKICAgICAgICAgICAgIG1f
ZXZlbnREcml2ZW5TY3JvbGxNb21lbnR1bVN0YXJ0T2Zmc2V0ID0gbV9ldmVudERyaXZlblNjcm9s
bE9mZnNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2
ZW50RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVu
dERpc3BhdGNoZXIuY3BwCmluZGV4IDIxNTY0YmI1MjRkNDQ2MTMyNTFiZWRmMGEyZGU0ZDY1NGZi
NjQ1ZDcuLjRiM2U1YjAyZmNhNDUwY2QxNDgxM2JlYzUzMDg3NmI5NGRjMWFiNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNw
cApAQCAtMTA2LDYgKzEwNiw4IEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjp3aGVlbEV2ZW50KFBh
Z2VJZGVudGlmaWVyIHBhZ2VJRCwgY29uc3QgV2ViV2hlZWxFdmVudCYgd2hlCiAgICAgICAgIG1f
cmVjZW50V2hlZWxFdmVudERlbHRhRmlsdGVyLT51cGRhdGVGcm9tRXZlbnQocGxhdGZvcm1XaGVl
bEV2ZW50KTsKICAgICAgICAgaWYgKFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6c2hvdWxkQXBwbHlG
aWx0ZXJpbmdGb3JFdmVudChwbGF0Zm9ybVdoZWVsRXZlbnQpKQogICAgICAgICAgICAgcGxhdGZv
cm1XaGVlbEV2ZW50ID0gbV9yZWNlbnRXaGVlbEV2ZW50RGVsdGFGaWx0ZXItPmV2ZW50Q29weVdp
dGhGaWx0ZXJlZERlbHRhcyhwbGF0Zm9ybVdoZWVsRXZlbnQpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBwbGF0Zm9ybVdoZWVsRXZlbnQgPSBtX3JlY2VudFdoZWVsRXZlbnREZWx0YUZpbHRl
ci0+ZXZlbnRDb3B5V2l0aFZlbG9jaXR5KHBsYXRmb3JtV2hlZWxFdmVudCk7CiAjZW5kaWYKIAog
ICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9zY3JvbGxpbmdUcmVlc0xvY2sgfTsK
</data>
<flag name="commit-queue"
          id="469518"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444491</attachid>
            <date>2021-11-17 00:24:56 -0800</date>
            <delta_ts>2021-11-17 11:35:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233245-20211117002454.patch</filename>
            <type>text/plain</type>
            <size>13599</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZiNzNhYTgyYTEyMWVi
ZWUyYzlmZWFiZDdjN2FkMzEwMWQ3ZTU0Mi4uNWExYTdiNWJmOTdjOGQ3MDlkMDJmODgzOTllMzQw
ZDMxZDU4MDIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTExLTE3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIE1vbWVudHVtIGFu
aW1hdG9yIHNvbWV0aW1lcyBzdGFydHMgdGhlIGFuaW1hdGlvbiBhdCBhIHZlcnkgaGlnaCB2ZWxv
Y2l0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTMwNzExNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudERlbHRhRmls
dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnREZWx0YUZpbHRlcjo6ZXZlbnRD
b3B5V2l0aFZlbG9jaXR5IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnREZWx0YUZp
bHRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojpjb3B5V2l0aFZlbG9jaXR5IGNvbnN0KToK
KyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBhc2sgdGhlIGRlbHRhIGZpbHRlciB0byBvbmx5
IGFkZCB2ZWxvY2l0eSBkYXRhIHdpdGhvdXQgZmlsdGVyaW5nIGRlbHRhcy4KKyAgICAgICAgV2Ug
c2hvdWxkIGxhdGVyIG1ha2UgU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIgdGFsayBkaXJlY3Rs
eSB0byB0aGUKKyAgICAgICAgV2hlZWxFdmVudERlbHRhRmlsdGVyIHRvIGdldCB0aGUgdmVsb2Np
dHksIGJ1dCB0aGF0IHJlcXVpcmVzIGEgZ3JlYXQKKyAgICAgICAgZGVhbCBvZiBzY3JvbGxpbmcg
dGhyZWFkIHBsdW1iaW5nLgorCisgICAgICAgICogcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmls
dGVyTWFjLmg6CisgICAgICAgICogcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9t
RXZlbnQpOgorICAgICAgICBGYWN0b3IgdXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50IG91
dC4KKyAgICAgICAgVXBkYXRlIHRoZSBjdXJyZW50IHZlbG9jaXR5IGZvciBtb21lbnR1bSBiZWdp
biBwaGFzZSBldmVudHMgYXMgd2VsbC4KKworICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudERl
bHRhRmlsdGVyTWFjOjp1cGRhdGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQpOgorCisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAg
IFN0YXJ0IHRoZSBtb21lbnR1bSBhbmltYXRpb24gd2l0aCB0aGUgdmVsb2NpdHkgcHJvdmlkZWQg
YnkgdGhlIG1vbWVudHVtCisgICAgICAgIGJlZ2luIHBoYXNlLCBpbnN0ZWFkIG9mIGEgcG90ZW50
aWFsbHkgaW5jb3JyZWN0IGRlbHRhIGZyb20gYW4gZWFybGllciBjaGFuZ2UgcGhhc2UuCisKIDIw
MjEtMTEtMTYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZS1hZGQg
J3N0eWxlJyB0byBjb250YWluOnN0cmljdCBhbmQgY29udGFpbjpjb250ZW50IENTUyBwcm9wZXJ0
aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGM4NjQ0NGExODk4ZWQ2ODZiYmYxZGNmZjFmZDQ4NWI1YWFlNmYzOTMu
LmVkZGQxZTVlMDcwYWNkYmZmNDVlYTBiNWM1OTI4NmQ2M2M3MDBjYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgTW9tZW50dW0gYW5pbWF0b3Igc29tZXRpbWVzIHN0YXJ0cyB0aGUg
YW5pbWF0aW9uIGF0IGEgdmVyeSBoaWdoIHZlbG9jaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzg1MzA3MTE1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkV2ZW50RGlzcGF0Y2hlcjo6d2hlZWxFdmVudCk6CisgICAgICAgIEVuc3VyZSB0aGF0
IHdoZWVsIGV2ZW50cyBhbHdheXMgaGF2ZSB2ZWxvY2l0aWVzIGF0dGFjaGVkLCBldmVuIGZvcgor
ICAgICAgICBldmVudHMgdGhhdCBkb24ndCBnbyB0aHJvdWdoIHRoZSBkZWx0YSBmaWx0ZXIuCisK
IDIwMjEtMTEtMTYgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGZpeCBXaW5DYWlybyBidWlsZCBmb2xsb3dpbmcgcjI4NTg4MS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNwcAppbmRleCA4
MzkzMjI4MTE0NjAzY2M0YTA5MTQ4ZjlmMjNkYTBmMzY1MjE3YjZiLi43NDc2ZDk1M2FjYmM2NWU3
N2FlM2JkN2FiMWYzYmFlZGExOWQ2MzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnREZWx0YUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVl
bEV2ZW50RGVsdGFGaWx0ZXIuY3BwCkBAIC02Nyw2ICs2NywxMSBAQCBQbGF0Zm9ybVdoZWVsRXZl
bnQgV2hlZWxFdmVudERlbHRhRmlsdGVyOjpldmVudENvcHlXaXRoRmlsdGVyZWREZWx0YXMoY29u
c3QgUGxhdAogICAgIHJldHVybiBldmVudC5jb3B5V2l0aERlbHRhQW5kVmVsb2NpdHkobV9jdXJy
ZW50RmlsdGVyZWREZWx0YSwgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eSk7CiB9CiAKK1BsYXRm
b3JtV2hlZWxFdmVudCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29weVdpdGhWZWxvY2l0
eShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KSBjb25zdAoreworICAgIHJldHVybiBl
dmVudC5jb3B5V2l0aFZlbG9jaXR5KG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkpOworfQorCiBG
bG9hdFNpemUgV2hlZWxFdmVudERlbHRhRmlsdGVyOjpmaWx0ZXJlZERlbHRhKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9jdXJyZW50RmlsdGVyZWREZWx0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnREZWx0YUZpbHRlci5oCmluZGV4IGIwMWU1NTVjMTE1ZjViZjdkNTY2ZWQyMTFk
ZTk1MGE2ZWYwNWMwZWUuLjUwYjAyNTdhZDkxYmQ3Y2RhNDM1NjkwZDU3YTU3N2RmZThiMTQ1Nzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaApAQCAtNDMs
NiArNDMsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHVwZGF0
ZUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSA9IDA7CiAKICAgICBXRUJDT1JF
X0VYUE9SVCBQbGF0Zm9ybVdoZWVsRXZlbnQgZXZlbnRDb3B5V2l0aEZpbHRlcmVkRGVsdGFzKGNv
bnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIFBsYXRm
b3JtV2hlZWxFdmVudCBldmVudENvcHlXaXRoVmVsb2NpdHkoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JikgY29uc3Q7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBGbG9hdFNpemUgZmlsdGVyZWRWZWxv
Y2l0eSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0U2l6ZSBmaWx0ZXJlZERlbHRh
KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50
RGVsdGFGaWx0ZXJNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0
YUZpbHRlck1hYy5oCmluZGV4IDljYmI1Y2RmNWNkMjQ1MzMyYWQ2NjUyNDYwYjkwMGJlYTNiNjVm
Y2IuLjdhM2E3MjNlNDc1MDY3ODQyNTNmM2IyNWY0MDk1ZDliMmViMjc0ZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5oCkBAIC00
NSw2ICs0NSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCByZXNldCgpOwogCisgICAg
dm9pZCB1cGRhdGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50Jik7CisKICAgICBSZXRhaW5QdHI8X05TU2Nyb2xsaW5nUHJlZG9taW5hbnRBeGlzRmlsdGVy
PiBtX3ByZWRvbWluYW50QXhpc0ZpbHRlcjsKICAgICBXYWxsVGltZSBtX2luaXRpYWxXYWxsVGlt
ZTsKICAgICBXYWxsVGltZSBtX2xhc3RJT0hJREV2ZW50VGltZXN0YW1wOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLm1tCmluZGV4IDU4
ZGQwZWViODAyMmMwN2Y0ZjNiOTBjOGJjOTdlZDZjMjRiNDJkNjIuLmExMWJkNWVhZjkzMjAyMzky
NzJmMWE5OTk2MTA0MjY4YzZiZWY4OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0KQEAgLTQ1LDEzICs0NSwxMiBAQCBXaGVl
bEV2ZW50RGVsdGFGaWx0ZXJNYWM6OldoZWVsRXZlbnREZWx0YUZpbHRlck1hYygpCiB2b2lkIFdo
ZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgZXZlbnQpCiB7CiAgICAgaWYgKGV2ZW50Lm1vbWVudHVtUGhhc2UoKSAhPSBQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZSkgeworICAgICAgICBpZiAoZXZlbnQubW9tZW50dW1Q
aGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpCZWdhbikKKyAgICAgICAgICAgIHVw
ZGF0ZUN1cnJlbnRWZWxvY2l0eUZyb21FdmVudChldmVudCk7CiAgICAgICAgIG1fbGFzdElPSElE
RXZlbnRUaW1lc3RhbXAgPSBldmVudC5pb0hJREV2ZW50VGltZXN0YW1wKCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICAvLyBUaGUgYWJzb2x1dGUgdmFsdWUgb2YgdGltZXN0YW1wIGRv
ZXNuJ3QgbWF0dGVyOyB0aGUgZmlsdGVyIGxvb2tzIGF0IGRlbHRhcyBmcm9tIHRoZSBwcmV2aW91
cyBldmVudC4KLSAgICBhdXRvIHRpbWVzdGFtcCA9IGV2ZW50LnRpbWVzdGFtcCgpIC0gbV9pbml0
aWFsV2FsbFRpbWU7Ci0KICAgICBzd2l0Y2ggKGV2ZW50LnBoYXNlKCkpIHsKICAgICBjYXNlIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlOjpOb25lOgogICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2U6OkVuZGVkOgpAQCAtNTksMjkgKzU4LDEzIEBAIHZvaWQgV2hlZWxFdmVudERlbHRhRmls
dGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkK
IAogICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuOgogICAgICAgICByZXNl
dCgpOwotICAgICAgICBGQUxMVEhST1VHSDsKLSAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlOjpDaGFuZ2VkOiB7Ci0gICAgICAgIE5TUG9pbnQgZmlsdGVyZWREZWx0YVJlc3VsdDsKLSAg
ICAgICAgTlNQb2ludCBmaWx0ZXJlZFZlbG9jaXR5UmVzdWx0OwotCi0gICAgICAgIFttX3ByZWRv
bWluYW50QXhpc0ZpbHRlciBmaWx0ZXJJbnB1dERlbHRhOnRvRmxvYXRQb2ludChldmVudC5kZWx0
YSgpKSB0aW1lc3RhbXA6dGltZXN0YW1wLnNlY29uZHMoKSBvdXRwdXREZWx0YTomZmlsdGVyZWRE
ZWx0YVJlc3VsdCB2ZWxvY2l0eTomZmlsdGVyZWRWZWxvY2l0eVJlc3VsdF07Ci0gICAgICAgIGF1
dG8gYXhpc0ZpbHRlcmVkVmVsb2NpdHkgPSB0b0Zsb2F0U2l6ZShmaWx0ZXJlZFZlbG9jaXR5UmVz
dWx0KTsKLSAgICAgICAgbV9jdXJyZW50RmlsdGVyZWREZWx0YSA9IHRvRmxvYXRTaXplKGZpbHRl
cmVkRGVsdGFSZXN1bHQpOwotCi0gICAgICAgIC8vIFVzZSBhIDFtcyBtaW5pbXVtIHRvIGF2b2lk
IGRpdmlkZSBieSB6ZXJvLiBUaGUgdXN1YWwgY2FkZW5jZSBvZiB0aGVzZSBldmVudHMgbWF0Y2hl
cyBzY3JlZW4gcmVmcmVzaCByYXRlLgotICAgICAgICBhdXRvIGRlbHRhRnJvbUxhc3RFdmVudCA9
IHN0ZDo6bWF4KGV2ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKSAtIG1fbGFzdElPSElERXZlbnRU
aW1lc3RhbXAsIDFfbXMpOwotICAgICAgICBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5ID0gZXZl
bnQuZGVsdGEoKSAvIGRlbHRhRnJvbUxhc3RFdmVudC5zZWNvbmRzKCk7Ci0KLSAgICAgICAgLy8g
QXBwbHkgdGhlIGF4aXMtbG9ja2luZyB0aGF0IG1fcHJlZG9taW5hbnRBeGlzRmlsdGVyIGRvZXMu
Ci0gICAgICAgIGlmICghYXhpc0ZpbHRlcmVkVmVsb2NpdHkud2lkdGgoKSkKLSAgICAgICAgICAg
IG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkuc2V0V2lkdGgoMCk7Ci0gICAgICAgIGlmICghYXhp
c0ZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpCi0gICAgICAgICAgICBtX2N1cnJlbnRGaWx0ZXJl
ZFZlbG9jaXR5LnNldEhlaWdodCgwKTsKLQotICAgICAgICBMT0coU2Nyb2xsQW5pbWF0aW9ucywg
IldoZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2ZW50OiBfTlNTY3JvbGxpbmdQ
cmVkb21pbmFudEF4aXNGaWx0ZXIgdmVsb2NpdHkgJS4yZiwgJTJmLCBJT0hJREV2ZW50IHZlbG9j
aXR5ICUuMmYsJS4yZiIsCi0gICAgICAgICAgICBheGlzRmlsdGVyZWRWZWxvY2l0eS53aWR0aCgp
LCBheGlzRmlsdGVyZWRWZWxvY2l0eS5oZWlnaHQoKSwgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0
eS53aWR0aCgpLCBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LmhlaWdodCgpKTsKKyAgICAgICAg
dXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KGV2ZW50KTsKICAgICAgICAgYnJlYWs7Ci0g
ICAgfQorCisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Q2hhbmdlZDoKKyAgICAg
ICAgdXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KGV2ZW50KTsKKyAgICAgICAgYnJlYWs7
CisKICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpNYXlCZWdpbjoKICAgICBjYXNl
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDYW5jZWxsZWQ6CiAgICAgY2FzZSBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZTo6U3RhdGlvbmFyeToKQEAgLTkyLDYgKzc1LDMyIEBAIHZvaWQgV2hlZWxF
dmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JiBldmVudCkKICAgICBtX2xhc3RJT0hJREV2ZW50VGltZXN0YW1wID0gZXZlbnQuaW9ISURF
dmVudFRpbWVzdGFtcCgpOwogfQogCit2b2lkIFdoZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6dXBk
YXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZl
bnQpCit7CisgICAgLy8gVGhlIGFic29sdXRlIHZhbHVlIG9mIHRpbWVzdGFtcCBkb2Vzbid0IG1h
dHRlcjsgdGhlIGZpbHRlciBsb29rcyBhdCBkZWx0YXMgZnJvbSB0aGUgcHJldmlvdXMgZXZlbnQu
CisgICAgYXV0byB0aW1lc3RhbXAgPSBldmVudC50aW1lc3RhbXAoKSAtIG1faW5pdGlhbFdhbGxU
aW1lOworCisgICAgTlNQb2ludCBmaWx0ZXJlZERlbHRhUmVzdWx0OworICAgIE5TUG9pbnQgZmls
dGVyZWRWZWxvY2l0eVJlc3VsdDsKKworICAgIFttX3ByZWRvbWluYW50QXhpc0ZpbHRlciBmaWx0
ZXJJbnB1dERlbHRhOnRvRmxvYXRQb2ludChldmVudC5kZWx0YSgpKSB0aW1lc3RhbXA6dGltZXN0
YW1wLnNlY29uZHMoKSBvdXRwdXREZWx0YTomZmlsdGVyZWREZWx0YVJlc3VsdCB2ZWxvY2l0eTom
ZmlsdGVyZWRWZWxvY2l0eVJlc3VsdF07CisgICAgYXV0byBheGlzRmlsdGVyZWRWZWxvY2l0eSA9
IHRvRmxvYXRTaXplKGZpbHRlcmVkVmVsb2NpdHlSZXN1bHQpOworICAgIG1fY3VycmVudEZpbHRl
cmVkRGVsdGEgPSB0b0Zsb2F0U2l6ZShmaWx0ZXJlZERlbHRhUmVzdWx0KTsKKworICAgIC8vIFVz
ZSBhIDFtcyBtaW5pbXVtIHRvIGF2b2lkIGRpdmlkZSBieSB6ZXJvLiBUaGUgdXN1YWwgY2FkZW5j
ZSBvZiB0aGVzZSBldmVudHMgbWF0Y2hlcyBzY3JlZW4gcmVmcmVzaCByYXRlLgorICAgIGF1dG8g
ZGVsdGFGcm9tTGFzdEV2ZW50ID0gc3RkOjptYXgoZXZlbnQuaW9ISURFdmVudFRpbWVzdGFtcCgp
IC0gbV9sYXN0SU9ISURFdmVudFRpbWVzdGFtcCwgMV9tcyk7CisgICAgbV9jdXJyZW50RmlsdGVy
ZWRWZWxvY2l0eSA9IGV2ZW50LmRlbHRhKCkgLyBkZWx0YUZyb21MYXN0RXZlbnQuc2Vjb25kcygp
OworCisgICAgLy8gQXBwbHkgdGhlIGF4aXMtbG9ja2luZyB0aGF0IG1fcHJlZG9taW5hbnRBeGlz
RmlsdGVyIGRvZXMuCisgICAgaWYgKCFheGlzRmlsdGVyZWRWZWxvY2l0eS53aWR0aCgpKQorICAg
ICAgICBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LnNldFdpZHRoKDApOworICAgIGlmICghYXhp
c0ZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpCisgICAgICAgIG1fY3VycmVudEZpbHRlcmVkVmVs
b2NpdHkuc2V0SGVpZ2h0KDApOworCisgICAgTE9HKFNjcm9sbEFuaW1hdGlvbnMsICJXaGVlbEV2
ZW50RGVsdGFGaWx0ZXJNYWM6OnVwZGF0ZUZyb21FdmVudDogX05TU2Nyb2xsaW5nUHJlZG9taW5h
bnRBeGlzRmlsdGVyIHZlbG9jaXR5ICUuMmYsICUyZiwgSU9ISURFdmVudCB2ZWxvY2l0eSAlLjJm
LCUuMmYiLAorICAgICAgICBheGlzRmlsdGVyZWRWZWxvY2l0eS53aWR0aCgpLCBheGlzRmlsdGVy
ZWRWZWxvY2l0eS5oZWlnaHQoKSwgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eS53aWR0aCgpLCBt
X2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LmhlaWdodCgpKTsKK30KKwogdm9pZCBXaGVlbEV2ZW50
RGVsdGFGaWx0ZXJNYWM6OnJlc2V0KCkKIHsKICAgICBbbV9wcmVkb21pbmFudEF4aXNGaWx0ZXIg
cmVzZXRdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVl
bEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaApp
bmRleCAzMmNlNzMzNTViYjRmOTk1ZTc4MzRmMDA0NjUxMTEzYzVmZTE2ODQ0Li43MzcyZjNiZmJl
Y2QxZWFkNjc4ZWEyMmIyMzFiOWE1MWI5MjQzOTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaApAQCAtMTI5LDYgKzEyOSwxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBjb3B5OwogICAgIH0KIAorICAgIFBsYXRmb3JtV2hlZWxFdmVudCBjb3B5
V2l0aFZlbG9jaXR5KEZsb2F0U2l6ZSB2ZWxvY2l0eSkgY29uc3QKKyAgICB7CisgICAgICAgIFBs
YXRmb3JtV2hlZWxFdmVudCBjb3B5ID0gKnRoaXM7CisgICAgICAgIGNvcHkubV9zY3JvbGxpbmdW
ZWxvY2l0eSA9IHZlbG9jaXR5OworICAgICAgICByZXR1cm4gY29weTsKKyAgICB9CisKICAgICBj
b25zdCBJbnRQb2ludCYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9IC8v
IFBsYXRmb3JtV2luZG93IGNvb3JkaW5hdGVzLgogICAgIGNvbnN0IEludFBvaW50JiBnbG9iYWxQ
b3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsUG9zaXRpb247IH0gLy8gU2NyZWVuIGNv
b3JkaW5hdGVzLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxp
bmdFZmZlY3RzQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5n
RWZmZWN0c0NvbnRyb2xsZXIuaAppbmRleCAzYzcwZjQwMTAxOWIyMTIzMTBmMzczOGRmOWU3ZTkw
NWE1YTg5OGNjLi4zYjY1OWJhZmZlMjhlODhkYTAwNjJhMWIwMmY0MTljMDEzZTA3NTk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250cm9s
bGVyLmgKQEAgLTI2MCw3ICsyNjAsNiBAQCBwcml2YXRlOgogICAgIEZsb2F0U2l6ZSBtX3N0cmV0
Y2hTY3JvbGxGb3JjZTsKICAgICBGbG9hdFNpemUgbV9tb21lbnR1bVZlbG9jaXR5OwogCi0gICAg
RmxvYXRTaXplIG1fc2Nyb2xsaW5nVmVsb2NpdHlGb3JNb21lbnR1bUFuaW1hdGlvbjsgLy8gRG8g
d2UgbmVlZCBib3RoIHRoaXMsIG1fc2Nyb2xsaW5nVmVsb2NpdHlGb3JTY3JvbGxTbmFwIGFuZCBt
X21vbWVudHVtVmVsb2NpdHk/CiAgICAgRmxvYXRTaXplIG1fc2Nyb2xsaW5nVmVsb2NpdHlGb3JT
Y3JvbGxTbmFwOwogI2lmICFMT0dfRElTQUJMRUQKICAgICBGbG9hdFBvaW50IG1fZXZlbnREcml2
ZW5TY3JvbGxNb21lbnR1bVN0YXJ0T2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tCmluZGV4IDA5ZWNm
Njg2OWUxYjMxNTI3ODZlYjk3OTZjY2E2ZTNkNzk4MTdmNjUuLmNhYzNjNmM0Y2M0NTJmMmJlM2Q2
YWRkM2VhN2YwYzk3ZDU3MjYxMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0KQEAgLTEyOSw5ICsxMjks
NiBAQCBzdGF0aWMgY29uc3QgY2hhciogcGhhc2VUb1N0cmluZyhQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZSBwaGFzZSkKIAogYm9vbCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6aGFuZGxlV2hl
ZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCiB7Ci0gICAgaWYg
KFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6c2hvdWxkQXBwbHlGaWx0ZXJpbmdGb3JFdmVudCh3aGVl
bEV2ZW50KSkKLSAgICAgICAgbV9zY3JvbGxpbmdWZWxvY2l0eUZvck1vbWVudHVtQW5pbWF0aW9u
ID0gLXdoZWVsRXZlbnQuc2Nyb2xsaW5nVmVsb2NpdHkoKTsgLy8gTm90ZSB0aGF0IGV2ZW50IGRl
bHRhIGlzIHJldmVyc2VkIGZyb20gc2Nyb2xsIGRpcmVjdGlvbi4KLQogICAgIGlmIChwcm9jZXNz
V2hlZWxFdmVudEZvclNjcm9sbFNuYXAod2hlZWxFdmVudCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCkBAIC0yMjgsNyArMjI1LDcgQEAgYm9vbCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6
aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWUKICAgICBpZiAo
IW1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzICYmIChtb21lbnR1bVBoYXNlID09IFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlOjpCZWdhbiB8fCBtb21lbnR1bVBoYXNlID09IFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlOjpDaGFuZ2VkKSkgewogICAgICAgICBtX21vbWVudHVtU2Nyb2xsSW5Qcm9ncmVz
cyA9IHRydWU7CiAgICAgICAgIGlmIChtb21lbnR1bVNjcm9sbGluZ0FuaW1hdG9yRW5hYmxlZCgp
KSB7Ci0gICAgICAgICAgICBzdGFydE1vbWVudHVtU2Nyb2xsV2l0aEluaXRpYWxWZWxvY2l0eSht
X2NsaWVudC5zY3JvbGxPZmZzZXQoKSwgbV9zY3JvbGxpbmdWZWxvY2l0eUZvck1vbWVudHVtQW5p
bWF0aW9uLCAtd2hlZWxFdmVudC5kZWx0YSgpLCBbXShjb25zdCBGbG9hdFBvaW50JiB0YXJnZXRP
ZmZzZXQpIHsgcmV0dXJuIHRhcmdldE9mZnNldDsgfSk7CisgICAgICAgICAgICBzdGFydE1vbWVu
dHVtU2Nyb2xsV2l0aEluaXRpYWxWZWxvY2l0eShtX2NsaWVudC5zY3JvbGxPZmZzZXQoKSwgLXdo
ZWVsRXZlbnQuc2Nyb2xsaW5nVmVsb2NpdHkoKSwgLXdoZWVsRXZlbnQuZGVsdGEoKSwgW10oY29u
c3QgRmxvYXRQb2ludCYgdGFyZ2V0T2Zmc2V0KSB7IHJldHVybiB0YXJnZXRPZmZzZXQ7IH0pOwog
I2lmICFMT0dfRElTQUJMRUQKICAgICAgICAgICAgIG1fZXZlbnREcml2ZW5TY3JvbGxPZmZzZXQg
PSBtX2NsaWVudC5zY3JvbGxPZmZzZXQoKTsKICAgICAgICAgICAgIG1fZXZlbnREcml2ZW5TY3Jv
bGxNb21lbnR1bVN0YXJ0T2Zmc2V0ID0gbV9ldmVudERyaXZlblNjcm9sbE9mZnNldDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3Bw
CmluZGV4IDIxNTY0YmI1MjRkNDQ2MTMyNTFiZWRmMGEyZGU0ZDY1NGZiNjQ1ZDcuLjRiM2U1YjAy
ZmNhNDUwY2QxNDgxM2JlYzUzMDg3NmI5NGRjMWFiNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcApAQCAtMTA2LDYgKzEw
Niw4IEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjp3aGVlbEV2ZW50KFBhZ2VJZGVudGlmaWVyIHBh
Z2VJRCwgY29uc3QgV2ViV2hlZWxFdmVudCYgd2hlCiAgICAgICAgIG1fcmVjZW50V2hlZWxFdmVu
dERlbHRhRmlsdGVyLT51cGRhdGVGcm9tRXZlbnQocGxhdGZvcm1XaGVlbEV2ZW50KTsKICAgICAg
ICAgaWYgKFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6c2hvdWxkQXBwbHlGaWx0ZXJpbmdGb3JFdmVu
dChwbGF0Zm9ybVdoZWVsRXZlbnQpKQogICAgICAgICAgICAgcGxhdGZvcm1XaGVlbEV2ZW50ID0g
bV9yZWNlbnRXaGVlbEV2ZW50RGVsdGFGaWx0ZXItPmV2ZW50Q29weVdpdGhGaWx0ZXJlZERlbHRh
cyhwbGF0Zm9ybVdoZWVsRXZlbnQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBwbGF0Zm9y
bVdoZWVsRXZlbnQgPSBtX3JlY2VudFdoZWVsRXZlbnREZWx0YUZpbHRlci0+ZXZlbnRDb3B5V2l0
aFZlbG9jaXR5KHBsYXRmb3JtV2hlZWxFdmVudCk7CiAjZW5kaWYKIAogICAgICAgICBMb2NrZXIg
bG9ja2VyIHsgbV9zY3JvbGxpbmdUcmVlc0xvY2sgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444543</attachid>
            <date>2021-11-17 11:35:29 -0800</date>
            <delta_ts>2021-11-17 13:35:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233245-20211117113529.patch</filename>
            <type>text/plain</type>
            <size>14369</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZiNzNhYTgyYTEyMWVi
ZWUyYzlmZWFiZDdjN2FkMzEwMWQ3ZTU0Mi4uNWExYTdiNWJmOTdjOGQ3MDlkMDJmODgzOTllMzQw
ZDMxZDU4MDIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTExLTE3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIE1vbWVudHVtIGFu
aW1hdG9yIHNvbWV0aW1lcyBzdGFydHMgdGhlIGFuaW1hdGlvbiBhdCBhIHZlcnkgaGlnaCB2ZWxv
Y2l0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTMwNzExNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudERlbHRhRmls
dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnREZWx0YUZpbHRlcjo6ZXZlbnRD
b3B5V2l0aFZlbG9jaXR5IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnREZWx0YUZp
bHRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojpjb3B5V2l0aFZlbG9jaXR5IGNvbnN0KToK
KyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBhc2sgdGhlIGRlbHRhIGZpbHRlciB0byBvbmx5
IGFkZCB2ZWxvY2l0eSBkYXRhIHdpdGhvdXQgZmlsdGVyaW5nIGRlbHRhcy4KKyAgICAgICAgV2Ug
c2hvdWxkIGxhdGVyIG1ha2UgU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIgdGFsayBkaXJlY3Rs
eSB0byB0aGUKKyAgICAgICAgV2hlZWxFdmVudERlbHRhRmlsdGVyIHRvIGdldCB0aGUgdmVsb2Np
dHksIGJ1dCB0aGF0IHJlcXVpcmVzIGEgZ3JlYXQKKyAgICAgICAgZGVhbCBvZiBzY3JvbGxpbmcg
dGhyZWFkIHBsdW1iaW5nLgorCisgICAgICAgICogcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmls
dGVyTWFjLmg6CisgICAgICAgICogcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9t
RXZlbnQpOgorICAgICAgICBGYWN0b3IgdXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50IG91
dC4KKyAgICAgICAgVXBkYXRlIHRoZSBjdXJyZW50IHZlbG9jaXR5IGZvciBtb21lbnR1bSBiZWdp
biBwaGFzZSBldmVudHMgYXMgd2VsbC4KKworICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudERl
bHRhRmlsdGVyTWFjOjp1cGRhdGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQpOgorCisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAg
IFN0YXJ0IHRoZSBtb21lbnR1bSBhbmltYXRpb24gd2l0aCB0aGUgdmVsb2NpdHkgcHJvdmlkZWQg
YnkgdGhlIG1vbWVudHVtCisgICAgICAgIGJlZ2luIHBoYXNlLCBpbnN0ZWFkIG9mIGEgcG90ZW50
aWFsbHkgaW5jb3JyZWN0IGRlbHRhIGZyb20gYW4gZWFybGllciBjaGFuZ2UgcGhhc2UuCisKIDIw
MjEtMTEtMTYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZS1hZGQg
J3N0eWxlJyB0byBjb250YWluOnN0cmljdCBhbmQgY29udGFpbjpjb250ZW50IENTUyBwcm9wZXJ0
aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGM4NjQ0NGExODk4ZWQ2ODZiYmYxZGNmZjFmZDQ4NWI1YWFlNmYzOTMu
LmVkZGQxZTVlMDcwYWNkYmZmNDVlYTBiNWM1OTI4NmQ2M2M3MDBjYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgTW9tZW50dW0gYW5pbWF0b3Igc29tZXRpbWVzIHN0YXJ0cyB0aGUg
YW5pbWF0aW9uIGF0IGEgdmVyeSBoaWdoIHZlbG9jaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzg1MzA3MTE1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkV2ZW50RGlzcGF0Y2hlcjo6d2hlZWxFdmVudCk6CisgICAgICAgIEVuc3VyZSB0aGF0
IHdoZWVsIGV2ZW50cyBhbHdheXMgaGF2ZSB2ZWxvY2l0aWVzIGF0dGFjaGVkLCBldmVuIGZvcgor
ICAgICAgICBldmVudHMgdGhhdCBkb24ndCBnbyB0aHJvdWdoIHRoZSBkZWx0YSBmaWx0ZXIuCisK
IDIwMjEtMTEtMTYgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGZpeCBXaW5DYWlybyBidWlsZCBmb2xsb3dpbmcgcjI4NTg4MS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNwcAppbmRleCA4
MzkzMjI4MTE0NjAzY2M0YTA5MTQ4ZjlmMjNkYTBmMzY1MjE3YjZiLi5hMDU0OTQ1NThhYTYwMGQw
MGE3NjA5MjQ5MzIyMzMyOWNhMWRjZGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnREZWx0YUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVl
bEV2ZW50RGVsdGFGaWx0ZXIuY3BwCkBAIC02MiwxMSArNjIsMjQgQEAgYm9vbCBXaGVlbEV2ZW50
RGVsdGFGaWx0ZXI6OnNob3VsZEFwcGx5RmlsdGVyaW5nRm9yRXZlbnQoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW4KICNlbmRpZgogfQogCitib29sIFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6c2hvdWxk
SW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkK
K3sKKyAgICAvLyBJbmNsdWRlIHZlbG9jaXR5IG9uIG1vbWVudHVtLWJlZ2FuIHBoYXNlcyBzbyB0
aGF0IHRoZSBtb21lbnR1bSBhbmltYXRvciBjYW4gdXNlIGl0LgorICAgIGlmIChldmVudC5tb21l
bnR1bVBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gc2hvdWxkQXBwbHlGaWx0ZXJpbmdGb3JFdmVudChldmVu
dCk7Cit9CisKIFBsYXRmb3JtV2hlZWxFdmVudCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50
Q29weVdpdGhGaWx0ZXJlZERlbHRhcyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KSBj
b25zdAogewogICAgIHJldHVybiBldmVudC5jb3B5V2l0aERlbHRhQW5kVmVsb2NpdHkobV9jdXJy
ZW50RmlsdGVyZWREZWx0YSwgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eSk7CiB9CiAKK1BsYXRm
b3JtV2hlZWxFdmVudCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29weVdpdGhWZWxvY2l0
eShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KSBjb25zdAoreworICAgIHJldHVybiBl
dmVudC5jb3B5V2l0aFZlbG9jaXR5KG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkpOworfQorCiBG
bG9hdFNpemUgV2hlZWxFdmVudERlbHRhRmlsdGVyOjpmaWx0ZXJlZERlbHRhKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9jdXJyZW50RmlsdGVyZWREZWx0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnREZWx0YUZpbHRlci5oCmluZGV4IGIwMWU1NTVjMTE1ZjViZjdkNTY2ZWQyMTFk
ZTk1MGE2ZWYwNWMwZWUuLjExNDQwZDI0NmM5N2Q2ZjIyODQ1ZDZmNjE3NzA0YmU5M2RlMGY4ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaApAQCAtNDMs
MTEgKzQzLDEzIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgdXBk
YXRlRnJvbUV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpID0gMDsKIAogICAgIFdFQkNP
UkVfRVhQT1JUIFBsYXRmb3JtV2hlZWxFdmVudCBldmVudENvcHlXaXRoRmlsdGVyZWREZWx0YXMo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgUGxh
dGZvcm1XaGVlbEV2ZW50IGV2ZW50Q29weVdpdGhWZWxvY2l0eShjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0U2l6ZSBmaWx0ZXJlZFZl
bG9jaXR5KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRTaXplIGZpbHRlcmVkRGVs
dGEoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHNob3VsZEFwcGx5
RmlsdGVyaW5nRm9yRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIGJvb2wgc2hvdWxkSW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAKIHByb3RlY3RlZDoKICAgICBGbG9hdFNpemUgbV9jdXJy
ZW50RmlsdGVyZWREZWx0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1do
ZWVsRXZlbnREZWx0YUZpbHRlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxF
dmVudERlbHRhRmlsdGVyTWFjLmgKaW5kZXggOWNiYjVjZGY1Y2QyNDUzMzJhZDY2NTI0NjBiOTAw
YmVhM2I2NWZjYi4uN2EzYTcyM2U0NzUwNjc4NDI1M2YzYjI1ZjQwOTVkOWIyZWIyNzRlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFj
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFj
LmgKQEAgLTQ1LDYgKzQ1LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIHJlc2V0KCk7
CiAKKyAgICB2b2lkIHVwZGF0ZUN1cnJlbnRWZWxvY2l0eUZyb21FdmVudChjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKTsKKwogICAgIFJldGFpblB0cjxfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4
aXNGaWx0ZXI+IG1fcHJlZG9taW5hbnRBeGlzRmlsdGVyOwogICAgIFdhbGxUaW1lIG1faW5pdGlh
bFdhbGxUaW1lOwogICAgIFdhbGxUaW1lIG1fbGFzdElPSElERXZlbnRUaW1lc3RhbXA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0K
aW5kZXggNThkZDBlZWI4MDIyYzA3ZjRmM2I5MGM4YmM5N2VkNmMyNGI0MmQ2Mi4uYTExYmQ1ZWFm
OTMyMDIzOTI3MmYxYTk5OTYxMDQyNjhjNmJlZjg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5tbQpAQCAtNDUsMTMgKzQ1LDEy
IEBAIFdoZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6V2hlZWxFdmVudERlbHRhRmlsdGVyTWFjKCkK
IHZvaWQgV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoZXZlbnQubW9tZW50dW1QaGFzZSgp
ICE9IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpOb25lKSB7CisgICAgICAgIGlmIChldmVudC5t
b21lbnR1bVBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuKQorICAgICAg
ICAgICAgdXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KGV2ZW50KTsKICAgICAgICAgbV9s
YXN0SU9ISURFdmVudFRpbWVzdGFtcCA9IGV2ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aW1l
c3RhbXAgZG9lc24ndCBtYXR0ZXI7IHRoZSBmaWx0ZXIgbG9va3MgYXQgZGVsdGFzIGZyb20gdGhl
IHByZXZpb3VzIGV2ZW50LgotICAgIGF1dG8gdGltZXN0YW1wID0gZXZlbnQudGltZXN0YW1wKCkg
LSBtX2luaXRpYWxXYWxsVGltZTsKLQogICAgIHN3aXRjaCAoZXZlbnQucGhhc2UoKSkgewogICAg
IGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmU6CiAgICAgY2FzZSBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZTo6RW5kZWQ6CkBAIC01OSwyOSArNTgsMTMgQEAgdm9pZCBXaGVlbEV2ZW50
RGVsdGFGaWx0ZXJNYWM6OnVwZGF0ZUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
IGV2ZW50KQogCiAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6QmVnYW46CiAgICAg
ICAgIHJlc2V0KCk7Ci0gICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNhc2UgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2U6OkNoYW5nZWQ6IHsKLSAgICAgICAgTlNQb2ludCBmaWx0ZXJlZERlbHRhUmVz
dWx0OwotICAgICAgICBOU1BvaW50IGZpbHRlcmVkVmVsb2NpdHlSZXN1bHQ7Ci0KLSAgICAgICAg
W21fcHJlZG9taW5hbnRBeGlzRmlsdGVyIGZpbHRlcklucHV0RGVsdGE6dG9GbG9hdFBvaW50KGV2
ZW50LmRlbHRhKCkpIHRpbWVzdGFtcDp0aW1lc3RhbXAuc2Vjb25kcygpIG91dHB1dERlbHRhOiZm
aWx0ZXJlZERlbHRhUmVzdWx0IHZlbG9jaXR5OiZmaWx0ZXJlZFZlbG9jaXR5UmVzdWx0XTsKLSAg
ICAgICAgYXV0byBheGlzRmlsdGVyZWRWZWxvY2l0eSA9IHRvRmxvYXRTaXplKGZpbHRlcmVkVmVs
b2NpdHlSZXN1bHQpOwotICAgICAgICBtX2N1cnJlbnRGaWx0ZXJlZERlbHRhID0gdG9GbG9hdFNp
emUoZmlsdGVyZWREZWx0YVJlc3VsdCk7Ci0KLSAgICAgICAgLy8gVXNlIGEgMW1zIG1pbmltdW0g
dG8gYXZvaWQgZGl2aWRlIGJ5IHplcm8uIFRoZSB1c3VhbCBjYWRlbmNlIG9mIHRoZXNlIGV2ZW50
cyBtYXRjaGVzIHNjcmVlbiByZWZyZXNoIHJhdGUuCi0gICAgICAgIGF1dG8gZGVsdGFGcm9tTGFz
dEV2ZW50ID0gc3RkOjptYXgoZXZlbnQuaW9ISURFdmVudFRpbWVzdGFtcCgpIC0gbV9sYXN0SU9I
SURFdmVudFRpbWVzdGFtcCwgMV9tcyk7Ci0gICAgICAgIG1fY3VycmVudEZpbHRlcmVkVmVsb2Np
dHkgPSBldmVudC5kZWx0YSgpIC8gZGVsdGFGcm9tTGFzdEV2ZW50LnNlY29uZHMoKTsKLQotICAg
ICAgICAvLyBBcHBseSB0aGUgYXhpcy1sb2NraW5nIHRoYXQgbV9wcmVkb21pbmFudEF4aXNGaWx0
ZXIgZG9lcy4KLSAgICAgICAgaWYgKCFheGlzRmlsdGVyZWRWZWxvY2l0eS53aWR0aCgpKQotICAg
ICAgICAgICAgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eS5zZXRXaWR0aCgwKTsKLSAgICAgICAg
aWYgKCFheGlzRmlsdGVyZWRWZWxvY2l0eS5oZWlnaHQoKSkKLSAgICAgICAgICAgIG1fY3VycmVu
dEZpbHRlcmVkVmVsb2NpdHkuc2V0SGVpZ2h0KDApOwotCi0gICAgICAgIExPRyhTY3JvbGxBbmlt
YXRpb25zLCAiV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQ6IF9OU1Nj
cm9sbGluZ1ByZWRvbWluYW50QXhpc0ZpbHRlciB2ZWxvY2l0eSAlLjJmLCAlMmYsIElPSElERXZl
bnQgdmVsb2NpdHkgJS4yZiwlLjJmIiwKLSAgICAgICAgICAgIGF4aXNGaWx0ZXJlZFZlbG9jaXR5
LndpZHRoKCksIGF4aXNGaWx0ZXJlZFZlbG9jaXR5LmhlaWdodCgpLCBtX2N1cnJlbnRGaWx0ZXJl
ZFZlbG9jaXR5LndpZHRoKCksIG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpOwor
ICAgICAgICB1cGRhdGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoZXZlbnQpOwogICAgICAgICBi
cmVhazsKLSAgICB9CisKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDaGFuZ2Vk
OgorICAgICAgICB1cGRhdGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoZXZlbnQpOworICAgICAg
ICBicmVhazsKKwogICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJlZ2luOgog
ICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkNhbmNlbGxlZDoKICAgICBjYXNlIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlOjpTdGF0aW9uYXJ5OgpAQCAtOTIsNiArNzUsMzIgQEAgdm9p
ZCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWM6OnVwZGF0ZUZyb21FdmVudChjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmIGV2ZW50KQogICAgIG1fbGFzdElPSElERXZlbnRUaW1lc3RhbXAgPSBldmVu
dC5pb0hJREV2ZW50VGltZXN0YW1wKCk7CiB9CiAKK3ZvaWQgV2hlZWxFdmVudERlbHRhRmlsdGVy
TWFjOjp1cGRhdGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JiBldmVudCkKK3sKKyAgICAvLyBUaGUgYWJzb2x1dGUgdmFsdWUgb2YgdGltZXN0YW1wIGRv
ZXNuJ3QgbWF0dGVyOyB0aGUgZmlsdGVyIGxvb2tzIGF0IGRlbHRhcyBmcm9tIHRoZSBwcmV2aW91
cyBldmVudC4KKyAgICBhdXRvIHRpbWVzdGFtcCA9IGV2ZW50LnRpbWVzdGFtcCgpIC0gbV9pbml0
aWFsV2FsbFRpbWU7CisKKyAgICBOU1BvaW50IGZpbHRlcmVkRGVsdGFSZXN1bHQ7CisgICAgTlNQ
b2ludCBmaWx0ZXJlZFZlbG9jaXR5UmVzdWx0OworCisgICAgW21fcHJlZG9taW5hbnRBeGlzRmls
dGVyIGZpbHRlcklucHV0RGVsdGE6dG9GbG9hdFBvaW50KGV2ZW50LmRlbHRhKCkpIHRpbWVzdGFt
cDp0aW1lc3RhbXAuc2Vjb25kcygpIG91dHB1dERlbHRhOiZmaWx0ZXJlZERlbHRhUmVzdWx0IHZl
bG9jaXR5OiZmaWx0ZXJlZFZlbG9jaXR5UmVzdWx0XTsKKyAgICBhdXRvIGF4aXNGaWx0ZXJlZFZl
bG9jaXR5ID0gdG9GbG9hdFNpemUoZmlsdGVyZWRWZWxvY2l0eVJlc3VsdCk7CisgICAgbV9jdXJy
ZW50RmlsdGVyZWREZWx0YSA9IHRvRmxvYXRTaXplKGZpbHRlcmVkRGVsdGFSZXN1bHQpOworCisg
ICAgLy8gVXNlIGEgMW1zIG1pbmltdW0gdG8gYXZvaWQgZGl2aWRlIGJ5IHplcm8uIFRoZSB1c3Vh
bCBjYWRlbmNlIG9mIHRoZXNlIGV2ZW50cyBtYXRjaGVzIHNjcmVlbiByZWZyZXNoIHJhdGUuCisg
ICAgYXV0byBkZWx0YUZyb21MYXN0RXZlbnQgPSBzdGQ6Om1heChldmVudC5pb0hJREV2ZW50VGlt
ZXN0YW1wKCkgLSBtX2xhc3RJT0hJREV2ZW50VGltZXN0YW1wLCAxX21zKTsKKyAgICBtX2N1cnJl
bnRGaWx0ZXJlZFZlbG9jaXR5ID0gZXZlbnQuZGVsdGEoKSAvIGRlbHRhRnJvbUxhc3RFdmVudC5z
ZWNvbmRzKCk7CisKKyAgICAvLyBBcHBseSB0aGUgYXhpcy1sb2NraW5nIHRoYXQgbV9wcmVkb21p
bmFudEF4aXNGaWx0ZXIgZG9lcy4KKyAgICBpZiAoIWF4aXNGaWx0ZXJlZFZlbG9jaXR5LndpZHRo
KCkpCisgICAgICAgIG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkuc2V0V2lkdGgoMCk7CisgICAg
aWYgKCFheGlzRmlsdGVyZWRWZWxvY2l0eS5oZWlnaHQoKSkKKyAgICAgICAgbV9jdXJyZW50Rmls
dGVyZWRWZWxvY2l0eS5zZXRIZWlnaHQoMCk7CisKKyAgICBMT0coU2Nyb2xsQW5pbWF0aW9ucywg
IldoZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2ZW50OiBfTlNTY3JvbGxpbmdQ
cmVkb21pbmFudEF4aXNGaWx0ZXIgdmVsb2NpdHkgJS4yZiwgJTJmLCBJT0hJREV2ZW50IHZlbG9j
aXR5ICUuMmYsJS4yZiIsCisgICAgICAgIGF4aXNGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCksIGF4
aXNGaWx0ZXJlZFZlbG9jaXR5LmhlaWdodCgpLCBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5Lndp
ZHRoKCksIG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpOworfQorCiB2b2lkIFdo
ZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6cmVzZXQoKQogewogICAgIFttX3ByZWRvbWluYW50QXhp
c0ZpbHRlciByZXNldF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVdoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxF
dmVudC5oCmluZGV4IDMyY2U3MzM1NWJiNGY5OTVlNzgzNGYwMDQ2NTExMTNjNWZlMTY4NDQuLjcz
NzJmM2JmYmVjZDFlYWQ2NzhlYTIyYjIzMWI5YTUxYjkyNDM5MTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCkBAIC0xMjksNiArMTI5LDEzIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGNvcHk7CiAgICAgfQogCisgICAgUGxhdGZvcm1XaGVlbEV2
ZW50IGNvcHlXaXRoVmVsb2NpdHkoRmxvYXRTaXplIHZlbG9jaXR5KSBjb25zdAorICAgIHsKKyAg
ICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50IGNvcHkgPSAqdGhpczsKKyAgICAgICAgY29weS5tX3Nj
cm9sbGluZ1ZlbG9jaXR5ID0gdmVsb2NpdHk7CisgICAgICAgIHJldHVybiBjb3B5OworICAgIH0K
KwogICAgIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRp
b247IH0gLy8gUGxhdGZvcm1XaW5kb3cgY29vcmRpbmF0ZXMuCiAgICAgY29uc3QgSW50UG9pbnQm
IGdsb2JhbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxQb3NpdGlvbjsgfSAvLyBT
Y3JlZW4gY29vcmRpbmF0ZXMuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5oCmluZGV4IDNjNzBmNDAxMDE5YjIxMjMxMGYzNzM4
ZGY5ZTdlOTA1YTVhODk4Y2MuLjNiNjU5YmFmZmUyOGU4OGRhMDA2MmExYjAyZjQxOWMwMTNlMDc1
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHND
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0
c0NvbnRyb2xsZXIuaApAQCAtMjYwLDcgKzI2MCw2IEBAIHByaXZhdGU6CiAgICAgRmxvYXRTaXpl
IG1fc3RyZXRjaFNjcm9sbEZvcmNlOwogICAgIEZsb2F0U2l6ZSBtX21vbWVudHVtVmVsb2NpdHk7
CiAKLSAgICBGbG9hdFNpemUgbV9zY3JvbGxpbmdWZWxvY2l0eUZvck1vbWVudHVtQW5pbWF0aW9u
OyAvLyBEbyB3ZSBuZWVkIGJvdGggdGhpcywgbV9zY3JvbGxpbmdWZWxvY2l0eUZvclNjcm9sbFNu
YXAgYW5kIG1fbW9tZW50dW1WZWxvY2l0eT8KICAgICBGbG9hdFNpemUgbV9zY3JvbGxpbmdWZWxv
Y2l0eUZvclNjcm9sbFNuYXA7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIEZsb2F0UG9pbnQgbV9l
dmVudERyaXZlblNjcm9sbE1vbWVudHVtU3RhcnRPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0KaW5k
ZXggMDllY2Y2ODY5ZTFiMzE1Mjc4NmViOTc5NmNjYTZlM2Q3OTgxN2Y2NS4uY2FjM2M2YzRjYzQ1
MmYyYmUzZDZhZGQzZWE3ZjBjOTdkNTcyNjEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbQpAQCAtMTI5
LDkgKzEyOSw2IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBwaGFzZVRvU3RyaW5nKFBsYXRmb3JtV2hl
ZWxFdmVudFBoYXNlIHBoYXNlKQogCiBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpo
YW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsK
LSAgICBpZiAoV2hlZWxFdmVudERlbHRhRmlsdGVyOjpzaG91bGRBcHBseUZpbHRlcmluZ0ZvckV2
ZW50KHdoZWVsRXZlbnQpKQotICAgICAgICBtX3Njcm9sbGluZ1ZlbG9jaXR5Rm9yTW9tZW50dW1B
bmltYXRpb24gPSAtd2hlZWxFdmVudC5zY3JvbGxpbmdWZWxvY2l0eSgpOyAvLyBOb3RlIHRoYXQg
ZXZlbnQgZGVsdGEgaXMgcmV2ZXJzZWQgZnJvbSBzY3JvbGwgZGlyZWN0aW9uLgotCiAgICAgaWYg
KHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0
dXJuIHRydWU7CiAKQEAgLTIyOCw3ICsyMjUsNyBAQCBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250
cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZQog
ICAgIGlmICghbV9tb21lbnR1bVNjcm9sbEluUHJvZ3Jlc3MgJiYgKG1vbWVudHVtUGhhc2UgPT0g
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuIHx8IG1vbWVudHVtUGhhc2UgPT0gUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2U6OkNoYW5nZWQpKSB7CiAgICAgICAgIG1fbW9tZW50dW1TY3JvbGxJ
blByb2dyZXNzID0gdHJ1ZTsKICAgICAgICAgaWYgKG1vbWVudHVtU2Nyb2xsaW5nQW5pbWF0b3JF
bmFibGVkKCkpIHsKLSAgICAgICAgICAgIHN0YXJ0TW9tZW50dW1TY3JvbGxXaXRoSW5pdGlhbFZl
bG9jaXR5KG1fY2xpZW50LnNjcm9sbE9mZnNldCgpLCBtX3Njcm9sbGluZ1ZlbG9jaXR5Rm9yTW9t
ZW50dW1BbmltYXRpb24sIC13aGVlbEV2ZW50LmRlbHRhKCksIFtdKGNvbnN0IEZsb2F0UG9pbnQm
IHRhcmdldE9mZnNldCkgeyByZXR1cm4gdGFyZ2V0T2Zmc2V0OyB9KTsKKyAgICAgICAgICAgIHN0
YXJ0TW9tZW50dW1TY3JvbGxXaXRoSW5pdGlhbFZlbG9jaXR5KG1fY2xpZW50LnNjcm9sbE9mZnNl
dCgpLCAtd2hlZWxFdmVudC5zY3JvbGxpbmdWZWxvY2l0eSgpLCAtd2hlZWxFdmVudC5kZWx0YSgp
LCBbXShjb25zdCBGbG9hdFBvaW50JiB0YXJnZXRPZmZzZXQpIHsgcmV0dXJuIHRhcmdldE9mZnNl
dDsgfSk7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgICAgICAgICAgbV9ldmVudERyaXZlblNjcm9s
bE9mZnNldCA9IG1fY2xpZW50LnNjcm9sbE9mZnNldCgpOwogICAgICAgICAgICAgbV9ldmVudERy
aXZlblNjcm9sbE1vbWVudHVtU3RhcnRPZmZzZXQgPSBtX2V2ZW50RHJpdmVuU2Nyb2xsT2Zmc2V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNw
YXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0
Y2hlci5jcHAKaW5kZXggMjE1NjRiYjUyNGQ0NDYxMzI1MWJlZGYwYTJkZTRkNjU0ZmI2NDVkNy4u
YjY5ZThmZjgwMjdiMjhhMmIwZmE3MDM3ODVmYWU1YzgwMjI0MTU4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC0x
MDYsNiArMTA2LDggQEAgdm9pZCBFdmVudERpc3BhdGNoZXI6OndoZWVsRXZlbnQoUGFnZUlkZW50
aWZpZXIgcGFnZUlELCBjb25zdCBXZWJXaGVlbEV2ZW50JiB3aGUKICAgICAgICAgbV9yZWNlbnRX
aGVlbEV2ZW50RGVsdGFGaWx0ZXItPnVwZGF0ZUZyb21FdmVudChwbGF0Zm9ybVdoZWVsRXZlbnQp
OwogICAgICAgICBpZiAoV2hlZWxFdmVudERlbHRhRmlsdGVyOjpzaG91bGRBcHBseUZpbHRlcmlu
Z0ZvckV2ZW50KHBsYXRmb3JtV2hlZWxFdmVudCkpCiAgICAgICAgICAgICBwbGF0Zm9ybVdoZWVs
RXZlbnQgPSBtX3JlY2VudFdoZWVsRXZlbnREZWx0YUZpbHRlci0+ZXZlbnRDb3B5V2l0aEZpbHRl
cmVkRGVsdGFzKHBsYXRmb3JtV2hlZWxFdmVudCk7CisgICAgICAgIGVsc2UgaWYgKFdoZWVsRXZl
bnREZWx0YUZpbHRlcjo6c2hvdWxkSW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQocGxhdGZvcm1XaGVl
bEV2ZW50KSkKKyAgICAgICAgICAgIHBsYXRmb3JtV2hlZWxFdmVudCA9IG1fcmVjZW50V2hlZWxF
dmVudERlbHRhRmlsdGVyLT5ldmVudENvcHlXaXRoVmVsb2NpdHkocGxhdGZvcm1XaGVlbEV2ZW50
KTsKICNlbmRpZgogCiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3Njcm9sbGluZ1RyZWVzTG9j
ayB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444564</attachid>
            <date>2021-11-17 13:35:58 -0800</date>
            <delta_ts>2021-11-17 13:42:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233245-20211117133557.patch</filename>
            <type>text/plain</type>
            <size>14411</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQzYjE2OTYxNWI4M2E0
ZDg1ZDhkMDMwNzRlYmYxZmJkMDUzMzc5MS4uOWFiN2ZiYTM1MGQ0YmZlNTY4Y2FjMGRlOGU0OTBm
YTI0OTE2NDM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTExLTE3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIE1vbWVudHVtIGFu
aW1hdG9yIHNvbWV0aW1lcyBzdGFydHMgdGhlIGFuaW1hdGlvbiBhdCBhIHZlcnkgaGlnaCB2ZWxv
Y2l0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTMwNzExNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnREZWx0YUZpbHRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29w
eVdpdGhWZWxvY2l0eSBjb25zdCk6CisgICAgICAgICogcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6Y29weVdpdGhWZWxvY2l0eSBjb25zdCk6Cisg
ICAgICAgIE1ha2UgaXQgcG9zc2libGUgdG8gYXNrIHRoZSBkZWx0YSBmaWx0ZXIgdG8gb25seSBh
ZGQgdmVsb2NpdHkgZGF0YSB3aXRob3V0IGZpbHRlcmluZyBkZWx0YXMuCisgICAgICAgIFdlIHNo
b3VsZCBsYXRlciBtYWtlIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyIHRhbGsgZGlyZWN0bHkg
dG8gdGhlCisgICAgICAgIFdoZWVsRXZlbnREZWx0YUZpbHRlciB0byBnZXQgdGhlIHZlbG9jaXR5
LCBidXQgdGhhdCByZXF1aXJlcyBhIGdyZWF0CisgICAgICAgIGRlYWwgb2Ygc2Nyb2xsaW5nIHRo
cmVhZCBwbHVtYmluZy4KKworICAgICAgICAqIHBhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRl
ck1hYy5oOgorICAgICAgICAqIHBhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2
ZW50KToKKyAgICAgICAgRmFjdG9yIHVwZGF0ZUN1cnJlbnRWZWxvY2l0eUZyb21FdmVudCBvdXQu
CisgICAgICAgIFVwZGF0ZSB0aGUgY3VycmVudCB2ZWxvY2l0eSBmb3IgbW9tZW50dW0gYmVnaW4g
cGhhc2UgZXZlbnRzIGFzIHdlbGwuCisKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnREZWx0
YUZpbHRlck1hYzo6dXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KToKKworICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICBT
dGFydCB0aGUgbW9tZW50dW0gYW5pbWF0aW9uIHdpdGggdGhlIHZlbG9jaXR5IHByb3ZpZGVkIGJ5
IHRoZSBtb21lbnR1bQorICAgICAgICBiZWdpbiBwaGFzZSwgaW5zdGVhZCBvZiBhIHBvdGVudGlh
bGx5IGluY29ycmVjdCBkZWx0YSBmcm9tIGFuIGVhcmxpZXIgY2hhbmdlIHBoYXNlLgorCiAyMDIx
LTExLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBhIGhlbHBlciBjbGFzcyB0byBjb29yZGluYXRlIGJhdGNoIGFuYWx5c2lzIG9mIGltYWdl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCBmOWMzYzVhODM0OGU4MWE4ZDY1N2JhMDczZTM3ZmRjZGE1MWZiNzRmLi40
ZjkzNmE3MzIxN2Y4NmI1NDU3NTU5Y2VkOTRiN2MzMDc4MTMzNDU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDIxLTExLTE3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIE1vbWVudHVtIGFuaW1hdG9yIHNvbWV0aW1lcyBzdGFydHMgdGhlIGFu
aW1hdGlvbiBhdCBhIHZlcnkgaGlnaCB2ZWxvY2l0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
NTMwNzExNT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RXZlbnREaXNwYXRjaGVyOjp3aGVlbEV2ZW50KToKKyAgICAgICAgRW5zdXJlIHRoYXQgd2hl
ZWwgZXZlbnRzIGFsd2F5cyBoYXZlIHZlbG9jaXRpZXMgYXR0YWNoZWQsIGV2ZW4gZm9yCisgICAg
ICAgIGV2ZW50cyB0aGF0IGRvbid0IGdvIHRocm91Z2ggdGhlIGRlbHRhIGZpbHRlci4KKwogMjAy
MS0xMS0xNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgYSBoZWxwZXIgY2xhc3MgdG8gY29vcmRpbmF0ZSBiYXRjaCBhbmFseXNpcyBvZiBpbWFn
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNwcAppbmRl
eCA4MzkzMjI4MTE0NjAzY2M0YTA5MTQ4ZjlmMjNkYTBmMzY1MjE3YjZiLi44ZTc1MDBjMDAyNDRl
NDIwMDY1NTcwZWE3ZDYxN2Q3NjgyOWM4ZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1doZWVsRXZlbnREZWx0YUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9X
aGVlbEV2ZW50RGVsdGFGaWx0ZXIuY3BwCkBAIC02MiwxMSArNjIsMjYgQEAgYm9vbCBXaGVlbEV2
ZW50RGVsdGFGaWx0ZXI6OnNob3VsZEFwcGx5RmlsdGVyaW5nRm9yRXZlbnQoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW4KICNlbmRpZgogfQogCitib29sIFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6c2hv
dWxkSW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVu
dCkKK3sKKyNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCisgICAgLy8gSW5jbHVkZSB2ZWxv
Y2l0eSBvbiBtb21lbnR1bS1iZWdhbiBwaGFzZXMgc28gdGhhdCB0aGUgbW9tZW50dW0gYW5pbWF0
b3IgY2FuIHVzZSBpdC4KKyAgICBpZiAoZXZlbnQubW9tZW50dW1QaGFzZSgpID09IFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlOjpCZWdhbikKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKyAg
ICByZXR1cm4gc2hvdWxkQXBwbHlGaWx0ZXJpbmdGb3JFdmVudChldmVudCk7Cit9CisKIFBsYXRm
b3JtV2hlZWxFdmVudCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29weVdpdGhGaWx0ZXJl
ZERlbHRhcyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KSBjb25zdAogewogICAgIHJl
dHVybiBldmVudC5jb3B5V2l0aERlbHRhQW5kVmVsb2NpdHkobV9jdXJyZW50RmlsdGVyZWREZWx0
YSwgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eSk7CiB9CiAKK1BsYXRmb3JtV2hlZWxFdmVudCBX
aGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29weVdpdGhWZWxvY2l0eShjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmIGV2ZW50KSBjb25zdAoreworICAgIHJldHVybiBldmVudC5jb3B5V2l0aFZl
bG9jaXR5KG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkpOworfQorCiBGbG9hdFNpemUgV2hlZWxF
dmVudERlbHRhRmlsdGVyOjpmaWx0ZXJlZERlbHRhKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9j
dXJyZW50RmlsdGVyZWREZWx0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hl
ZWxFdmVudERlbHRhRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnREZWx0
YUZpbHRlci5oCmluZGV4IGIwMWU1NTVjMTE1ZjViZjdkNTY2ZWQyMTFkZTk1MGE2ZWYwNWMwZWUu
LjExNDQwZDI0NmM5N2Q2ZjIyODQ1ZDZmNjE3NzA0YmU5M2RlMGY4ZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaApAQCAtNDMsMTEgKzQzLDEzIEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUV2ZW50KGNv
bnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpID0gMDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFBsYXRm
b3JtV2hlZWxFdmVudCBldmVudENvcHlXaXRoRmlsdGVyZWREZWx0YXMoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgUGxhdGZvcm1XaGVlbEV2ZW50
IGV2ZW50Q29weVdpdGhWZWxvY2l0eShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0U2l6ZSBmaWx0ZXJlZFZlbG9jaXR5KCkgY29uc3Q7
CiAgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRTaXplIGZpbHRlcmVkRGVsdGEoKSBjb25zdDsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHNob3VsZEFwcGx5RmlsdGVyaW5nRm9yRXZl
bnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IGJvb2wgc2hvdWxkSW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50Jik7CiAKIHByb3RlY3RlZDoKICAgICBGbG9hdFNpemUgbV9jdXJyZW50RmlsdGVyZWREZWx0
YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZp
bHRlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVy
TWFjLmgKaW5kZXggOWNiYjVjZGY1Y2QyNDUzMzJhZDY2NTI0NjBiOTAwYmVhM2I2NWZjYi4uN2Ez
YTcyM2U0NzUwNjc4NDI1M2YzYjI1ZjQwOTVkOWIyZWIyNzRlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKQEAgLTQ1LDYgKzQ1
LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIHJlc2V0KCk7CiAKKyAgICB2b2lkIHVw
ZGF0ZUN1cnJlbnRWZWxvY2l0eUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsK
KwogICAgIFJldGFpblB0cjxfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4aXNGaWx0ZXI+IG1fcHJl
ZG9taW5hbnRBeGlzRmlsdGVyOwogICAgIFdhbGxUaW1lIG1faW5pdGlhbFdhbGxUaW1lOwogICAg
IFdhbGxUaW1lIG1fbGFzdElPSElERXZlbnRUaW1lc3RhbXA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0KaW5kZXggNThkZDBlZWI4
MDIyYzA3ZjRmM2I5MGM4YmM5N2VkNmMyNGI0MmQ2Mi4uYTExYmQ1ZWFmOTMyMDIzOTI3MmYxYTk5
OTYxMDQyNjhjNmJlZjg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hl
ZWxFdmVudERlbHRhRmlsdGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1do
ZWVsRXZlbnREZWx0YUZpbHRlck1hYy5tbQpAQCAtNDUsMTMgKzQ1LDEyIEBAIFdoZWVsRXZlbnRE
ZWx0YUZpbHRlck1hYzo6V2hlZWxFdmVudERlbHRhRmlsdGVyTWFjKCkKIHZvaWQgV2hlZWxFdmVu
dERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JiBldmVudCkKIHsKICAgICBpZiAoZXZlbnQubW9tZW50dW1QaGFzZSgpICE9IFBsYXRmb3JtV2hl
ZWxFdmVudFBoYXNlOjpOb25lKSB7CisgICAgICAgIGlmIChldmVudC5tb21lbnR1bVBoYXNlKCkg
PT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuKQorICAgICAgICAgICAgdXBkYXRlQ3Vy
cmVudFZlbG9jaXR5RnJvbUV2ZW50KGV2ZW50KTsKICAgICAgICAgbV9sYXN0SU9ISURFdmVudFRp
bWVzdGFtcCA9IGV2ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIC8vIFRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aW1lc3RhbXAgZG9lc24ndCBt
YXR0ZXI7IHRoZSBmaWx0ZXIgbG9va3MgYXQgZGVsdGFzIGZyb20gdGhlIHByZXZpb3VzIGV2ZW50
LgotICAgIGF1dG8gdGltZXN0YW1wID0gZXZlbnQudGltZXN0YW1wKCkgLSBtX2luaXRpYWxXYWxs
VGltZTsKLQogICAgIHN3aXRjaCAoZXZlbnQucGhhc2UoKSkgewogICAgIGNhc2UgUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2U6Ok5vbmU6CiAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6
RW5kZWQ6CkBAIC01OSwyOSArNTgsMTMgQEAgdm9pZCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWM6
OnVwZGF0ZUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KQogCiAgICAg
Y2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6QmVnYW46CiAgICAgICAgIHJlc2V0KCk7Ci0g
ICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkNo
YW5nZWQ6IHsKLSAgICAgICAgTlNQb2ludCBmaWx0ZXJlZERlbHRhUmVzdWx0OwotICAgICAgICBO
U1BvaW50IGZpbHRlcmVkVmVsb2NpdHlSZXN1bHQ7Ci0KLSAgICAgICAgW21fcHJlZG9taW5hbnRB
eGlzRmlsdGVyIGZpbHRlcklucHV0RGVsdGE6dG9GbG9hdFBvaW50KGV2ZW50LmRlbHRhKCkpIHRp
bWVzdGFtcDp0aW1lc3RhbXAuc2Vjb25kcygpIG91dHB1dERlbHRhOiZmaWx0ZXJlZERlbHRhUmVz
dWx0IHZlbG9jaXR5OiZmaWx0ZXJlZFZlbG9jaXR5UmVzdWx0XTsKLSAgICAgICAgYXV0byBheGlz
RmlsdGVyZWRWZWxvY2l0eSA9IHRvRmxvYXRTaXplKGZpbHRlcmVkVmVsb2NpdHlSZXN1bHQpOwot
ICAgICAgICBtX2N1cnJlbnRGaWx0ZXJlZERlbHRhID0gdG9GbG9hdFNpemUoZmlsdGVyZWREZWx0
YVJlc3VsdCk7Ci0KLSAgICAgICAgLy8gVXNlIGEgMW1zIG1pbmltdW0gdG8gYXZvaWQgZGl2aWRl
IGJ5IHplcm8uIFRoZSB1c3VhbCBjYWRlbmNlIG9mIHRoZXNlIGV2ZW50cyBtYXRjaGVzIHNjcmVl
biByZWZyZXNoIHJhdGUuCi0gICAgICAgIGF1dG8gZGVsdGFGcm9tTGFzdEV2ZW50ID0gc3RkOjpt
YXgoZXZlbnQuaW9ISURFdmVudFRpbWVzdGFtcCgpIC0gbV9sYXN0SU9ISURFdmVudFRpbWVzdGFt
cCwgMV9tcyk7Ci0gICAgICAgIG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkgPSBldmVudC5kZWx0
YSgpIC8gZGVsdGFGcm9tTGFzdEV2ZW50LnNlY29uZHMoKTsKLQotICAgICAgICAvLyBBcHBseSB0
aGUgYXhpcy1sb2NraW5nIHRoYXQgbV9wcmVkb21pbmFudEF4aXNGaWx0ZXIgZG9lcy4KLSAgICAg
ICAgaWYgKCFheGlzRmlsdGVyZWRWZWxvY2l0eS53aWR0aCgpKQotICAgICAgICAgICAgbV9jdXJy
ZW50RmlsdGVyZWRWZWxvY2l0eS5zZXRXaWR0aCgwKTsKLSAgICAgICAgaWYgKCFheGlzRmlsdGVy
ZWRWZWxvY2l0eS5oZWlnaHQoKSkKLSAgICAgICAgICAgIG1fY3VycmVudEZpbHRlcmVkVmVsb2Np
dHkuc2V0SGVpZ2h0KDApOwotCi0gICAgICAgIExPRyhTY3JvbGxBbmltYXRpb25zLCAiV2hlZWxF
dmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQ6IF9OU1Njcm9sbGluZ1ByZWRvbWlu
YW50QXhpc0ZpbHRlciB2ZWxvY2l0eSAlLjJmLCAlMmYsIElPSElERXZlbnQgdmVsb2NpdHkgJS4y
ZiwlLjJmIiwKLSAgICAgICAgICAgIGF4aXNGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCksIGF4aXNG
aWx0ZXJlZFZlbG9jaXR5LmhlaWdodCgpLCBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LndpZHRo
KCksIG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpOworICAgICAgICB1cGRhdGVD
dXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoZXZlbnQpOwogICAgICAgICBicmVhazsKLSAgICB9CisK
KyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDaGFuZ2VkOgorICAgICAgICB1cGRh
dGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoZXZlbnQpOworICAgICAgICBicmVhazsKKwogICAg
IGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJlZ2luOgogICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2U6OkNhbmNlbGxlZDoKICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlOjpTdGF0aW9uYXJ5OgpAQCAtOTIsNiArNzUsMzIgQEAgdm9pZCBXaGVlbEV2ZW50RGVs
dGFGaWx0ZXJNYWM6OnVwZGF0ZUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2
ZW50KQogICAgIG1fbGFzdElPSElERXZlbnRUaW1lc3RhbXAgPSBldmVudC5pb0hJREV2ZW50VGlt
ZXN0YW1wKCk7CiB9CiAKK3ZvaWQgV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVDdXJy
ZW50VmVsb2NpdHlGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkKK3sK
KyAgICAvLyBUaGUgYWJzb2x1dGUgdmFsdWUgb2YgdGltZXN0YW1wIGRvZXNuJ3QgbWF0dGVyOyB0
aGUgZmlsdGVyIGxvb2tzIGF0IGRlbHRhcyBmcm9tIHRoZSBwcmV2aW91cyBldmVudC4KKyAgICBh
dXRvIHRpbWVzdGFtcCA9IGV2ZW50LnRpbWVzdGFtcCgpIC0gbV9pbml0aWFsV2FsbFRpbWU7CisK
KyAgICBOU1BvaW50IGZpbHRlcmVkRGVsdGFSZXN1bHQ7CisgICAgTlNQb2ludCBmaWx0ZXJlZFZl
bG9jaXR5UmVzdWx0OworCisgICAgW21fcHJlZG9taW5hbnRBeGlzRmlsdGVyIGZpbHRlcklucHV0
RGVsdGE6dG9GbG9hdFBvaW50KGV2ZW50LmRlbHRhKCkpIHRpbWVzdGFtcDp0aW1lc3RhbXAuc2Vj
b25kcygpIG91dHB1dERlbHRhOiZmaWx0ZXJlZERlbHRhUmVzdWx0IHZlbG9jaXR5OiZmaWx0ZXJl
ZFZlbG9jaXR5UmVzdWx0XTsKKyAgICBhdXRvIGF4aXNGaWx0ZXJlZFZlbG9jaXR5ID0gdG9GbG9h
dFNpemUoZmlsdGVyZWRWZWxvY2l0eVJlc3VsdCk7CisgICAgbV9jdXJyZW50RmlsdGVyZWREZWx0
YSA9IHRvRmxvYXRTaXplKGZpbHRlcmVkRGVsdGFSZXN1bHQpOworCisgICAgLy8gVXNlIGEgMW1z
IG1pbmltdW0gdG8gYXZvaWQgZGl2aWRlIGJ5IHplcm8uIFRoZSB1c3VhbCBjYWRlbmNlIG9mIHRo
ZXNlIGV2ZW50cyBtYXRjaGVzIHNjcmVlbiByZWZyZXNoIHJhdGUuCisgICAgYXV0byBkZWx0YUZy
b21MYXN0RXZlbnQgPSBzdGQ6Om1heChldmVudC5pb0hJREV2ZW50VGltZXN0YW1wKCkgLSBtX2xh
c3RJT0hJREV2ZW50VGltZXN0YW1wLCAxX21zKTsKKyAgICBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9j
aXR5ID0gZXZlbnQuZGVsdGEoKSAvIGRlbHRhRnJvbUxhc3RFdmVudC5zZWNvbmRzKCk7CisKKyAg
ICAvLyBBcHBseSB0aGUgYXhpcy1sb2NraW5nIHRoYXQgbV9wcmVkb21pbmFudEF4aXNGaWx0ZXIg
ZG9lcy4KKyAgICBpZiAoIWF4aXNGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCkpCisgICAgICAgIG1f
Y3VycmVudEZpbHRlcmVkVmVsb2NpdHkuc2V0V2lkdGgoMCk7CisgICAgaWYgKCFheGlzRmlsdGVy
ZWRWZWxvY2l0eS5oZWlnaHQoKSkKKyAgICAgICAgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eS5z
ZXRIZWlnaHQoMCk7CisKKyAgICBMT0coU2Nyb2xsQW5pbWF0aW9ucywgIldoZWVsRXZlbnREZWx0
YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2ZW50OiBfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4aXNG
aWx0ZXIgdmVsb2NpdHkgJS4yZiwgJTJmLCBJT0hJREV2ZW50IHZlbG9jaXR5ICUuMmYsJS4yZiIs
CisgICAgICAgIGF4aXNGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCksIGF4aXNGaWx0ZXJlZFZlbG9j
aXR5LmhlaWdodCgpLCBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCksIG1fY3VycmVu
dEZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpOworfQorCiB2b2lkIFdoZWVsRXZlbnREZWx0YUZp
bHRlck1hYzo6cmVzZXQoKQogewogICAgIFttX3ByZWRvbWluYW50QXhpc0ZpbHRlciByZXNldF07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCmluZGV4IDMy
Y2U3MzM1NWJiNGY5OTVlNzgzNGYwMDQ2NTExMTNjNWZlMTY4NDQuLjczNzJmM2JmYmVjZDFlYWQ2
NzhlYTIyYjIzMWI5YTUxYjkyNDM5MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bs
YXRmb3JtV2hlZWxFdmVudC5oCkBAIC0xMjksNiArMTI5LDEzIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIGNvcHk7CiAgICAgfQogCisgICAgUGxhdGZvcm1XaGVlbEV2ZW50IGNvcHlXaXRoVmVs
b2NpdHkoRmxvYXRTaXplIHZlbG9jaXR5KSBjb25zdAorICAgIHsKKyAgICAgICAgUGxhdGZvcm1X
aGVlbEV2ZW50IGNvcHkgPSAqdGhpczsKKyAgICAgICAgY29weS5tX3Njcm9sbGluZ1ZlbG9jaXR5
ID0gdmVsb2NpdHk7CisgICAgICAgIHJldHVybiBjb3B5OworICAgIH0KKwogICAgIGNvbnN0IElu
dFBvaW50JiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb247IH0gLy8gUGxhdGZv
cm1XaW5kb3cgY29vcmRpbmF0ZXMuCiAgICAgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxQb3NpdGlvbjsgfSAvLyBTY3JlZW4gY29vcmRpbmF0
ZXMuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVj
dHNDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3Rz
Q29udHJvbGxlci5oCmluZGV4IDNjNzBmNDAxMDE5YjIxMjMxMGYzNzM4ZGY5ZTdlOTA1YTVhODk4
Y2MuLjNiNjU5YmFmZmUyOGU4OGRhMDA2MmExYjAyZjQxOWMwMTNlMDc1OTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaApA
QCAtMjYwLDcgKzI2MCw2IEBAIHByaXZhdGU6CiAgICAgRmxvYXRTaXplIG1fc3RyZXRjaFNjcm9s
bEZvcmNlOwogICAgIEZsb2F0U2l6ZSBtX21vbWVudHVtVmVsb2NpdHk7CiAKLSAgICBGbG9hdFNp
emUgbV9zY3JvbGxpbmdWZWxvY2l0eUZvck1vbWVudHVtQW5pbWF0aW9uOyAvLyBEbyB3ZSBuZWVk
IGJvdGggdGhpcywgbV9zY3JvbGxpbmdWZWxvY2l0eUZvclNjcm9sbFNuYXAgYW5kIG1fbW9tZW50
dW1WZWxvY2l0eT8KICAgICBGbG9hdFNpemUgbV9zY3JvbGxpbmdWZWxvY2l0eUZvclNjcm9sbFNu
YXA7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIEZsb2F0UG9pbnQgbV9ldmVudERyaXZlblNjcm9s
bE1vbWVudHVtU3RhcnRPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0KaW5kZXggMDllY2Y2ODY5ZTFi
MzE1Mjc4NmViOTc5NmNjYTZlM2Q3OTgxN2Y2NS4uY2FjM2M2YzRjYzQ1MmYyYmUzZDZhZGQzZWE3
ZjBjOTdkNTcyNjEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbQpAQCAtMTI5LDkgKzEyOSw2IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBwaGFzZVRvU3RyaW5nKFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBo
YXNlKQogCiBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsKLSAgICBpZiAoV2hlZWxF
dmVudERlbHRhRmlsdGVyOjpzaG91bGRBcHBseUZpbHRlcmluZ0ZvckV2ZW50KHdoZWVsRXZlbnQp
KQotICAgICAgICBtX3Njcm9sbGluZ1ZlbG9jaXR5Rm9yTW9tZW50dW1BbmltYXRpb24gPSAtd2hl
ZWxFdmVudC5zY3JvbGxpbmdWZWxvY2l0eSgpOyAvLyBOb3RlIHRoYXQgZXZlbnQgZGVsdGEgaXMg
cmV2ZXJzZWQgZnJvbSBzY3JvbGwgZGlyZWN0aW9uLgotCiAgICAgaWYgKHByb2Nlc3NXaGVlbEV2
ZW50Rm9yU2Nyb2xsU25hcCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAg
LTIyOCw3ICsyMjUsNyBAQCBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpoYW5kbGVX
aGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZQogICAgIGlmICghbV9tb21l
bnR1bVNjcm9sbEluUHJvZ3Jlc3MgJiYgKG1vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2U6OkJlZ2FuIHx8IG1vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2U6OkNoYW5nZWQpKSB7CiAgICAgICAgIG1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzID0gdHJ1
ZTsKICAgICAgICAgaWYgKG1vbWVudHVtU2Nyb2xsaW5nQW5pbWF0b3JFbmFibGVkKCkpIHsKLSAg
ICAgICAgICAgIHN0YXJ0TW9tZW50dW1TY3JvbGxXaXRoSW5pdGlhbFZlbG9jaXR5KG1fY2xpZW50
LnNjcm9sbE9mZnNldCgpLCBtX3Njcm9sbGluZ1ZlbG9jaXR5Rm9yTW9tZW50dW1BbmltYXRpb24s
IC13aGVlbEV2ZW50LmRlbHRhKCksIFtdKGNvbnN0IEZsb2F0UG9pbnQmIHRhcmdldE9mZnNldCkg
eyByZXR1cm4gdGFyZ2V0T2Zmc2V0OyB9KTsKKyAgICAgICAgICAgIHN0YXJ0TW9tZW50dW1TY3Jv
bGxXaXRoSW5pdGlhbFZlbG9jaXR5KG1fY2xpZW50LnNjcm9sbE9mZnNldCgpLCAtd2hlZWxFdmVu
dC5zY3JvbGxpbmdWZWxvY2l0eSgpLCAtd2hlZWxFdmVudC5kZWx0YSgpLCBbXShjb25zdCBGbG9h
dFBvaW50JiB0YXJnZXRPZmZzZXQpIHsgcmV0dXJuIHRhcmdldE9mZnNldDsgfSk7CiAjaWYgIUxP
R19ESVNBQkxFRAogICAgICAgICAgICAgbV9ldmVudERyaXZlblNjcm9sbE9mZnNldCA9IG1fY2xp
ZW50LnNjcm9sbE9mZnNldCgpOwogICAgICAgICAgICAgbV9ldmVudERyaXZlblNjcm9sbE1vbWVu
dHVtU3RhcnRPZmZzZXQgPSBtX2V2ZW50RHJpdmVuU2Nyb2xsT2Zmc2V0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHAKaW5kZXgg
MjE1NjRiYjUyNGQ0NDYxMzI1MWJlZGYwYTJkZTRkNjU0ZmI2NDVkNy4uYjY5ZThmZjgwMjdiMjhh
MmIwZmE3MDM3ODVmYWU1YzgwMjI0MTU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC0xMDYsNiArMTA2LDggQEAg
dm9pZCBFdmVudERpc3BhdGNoZXI6OndoZWVsRXZlbnQoUGFnZUlkZW50aWZpZXIgcGFnZUlELCBj
b25zdCBXZWJXaGVlbEV2ZW50JiB3aGUKICAgICAgICAgbV9yZWNlbnRXaGVlbEV2ZW50RGVsdGFG
aWx0ZXItPnVwZGF0ZUZyb21FdmVudChwbGF0Zm9ybVdoZWVsRXZlbnQpOwogICAgICAgICBpZiAo
V2hlZWxFdmVudERlbHRhRmlsdGVyOjpzaG91bGRBcHBseUZpbHRlcmluZ0ZvckV2ZW50KHBsYXRm
b3JtV2hlZWxFdmVudCkpCiAgICAgICAgICAgICBwbGF0Zm9ybVdoZWVsRXZlbnQgPSBtX3JlY2Vu
dFdoZWVsRXZlbnREZWx0YUZpbHRlci0+ZXZlbnRDb3B5V2l0aEZpbHRlcmVkRGVsdGFzKHBsYXRm
b3JtV2hlZWxFdmVudCk7CisgICAgICAgIGVsc2UgaWYgKFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6
c2hvdWxkSW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQocGxhdGZvcm1XaGVlbEV2ZW50KSkKKyAgICAg
ICAgICAgIHBsYXRmb3JtV2hlZWxFdmVudCA9IG1fcmVjZW50V2hlZWxFdmVudERlbHRhRmlsdGVy
LT5ldmVudENvcHlXaXRoVmVsb2NpdHkocGxhdGZvcm1XaGVlbEV2ZW50KTsKICNlbmRpZgogCiAg
ICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3Njcm9sbGluZ1RyZWVzTG9jayB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444565</attachid>
            <date>2021-11-17 13:42:24 -0800</date>
            <delta_ts>2021-11-17 14:22:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233245-20211117134223.patch</filename>
            <type>text/plain</type>
            <size>14411</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQzYjE2OTYxNWI4M2E0
ZDg1ZDhkMDMwNzRlYmYxZmJkMDUzMzc5MS4uOWFiN2ZiYTM1MGQ0YmZlNTY4Y2FjMGRlOGU0OTBm
YTI0OTE2NDM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTExLTE3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIE1vbWVudHVtIGFu
aW1hdG9yIHNvbWV0aW1lcyBzdGFydHMgdGhlIGFuaW1hdGlvbiBhdCBhIHZlcnkgaGlnaCB2ZWxv
Y2l0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTMwNzExNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnREZWx0YUZpbHRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29w
eVdpdGhWZWxvY2l0eSBjb25zdCk6CisgICAgICAgICogcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6Y29weVdpdGhWZWxvY2l0eSBjb25zdCk6Cisg
ICAgICAgIE1ha2UgaXQgcG9zc2libGUgdG8gYXNrIHRoZSBkZWx0YSBmaWx0ZXIgdG8gb25seSBh
ZGQgdmVsb2NpdHkgZGF0YSB3aXRob3V0IGZpbHRlcmluZyBkZWx0YXMuCisgICAgICAgIFdlIHNo
b3VsZCBsYXRlciBtYWtlIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyIHRhbGsgZGlyZWN0bHkg
dG8gdGhlCisgICAgICAgIFdoZWVsRXZlbnREZWx0YUZpbHRlciB0byBnZXQgdGhlIHZlbG9jaXR5
LCBidXQgdGhhdCByZXF1aXJlcyBhIGdyZWF0CisgICAgICAgIGRlYWwgb2Ygc2Nyb2xsaW5nIHRo
cmVhZCBwbHVtYmluZy4KKworICAgICAgICAqIHBhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRl
ck1hYy5oOgorICAgICAgICAqIHBhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnREZWx0YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2
ZW50KToKKyAgICAgICAgRmFjdG9yIHVwZGF0ZUN1cnJlbnRWZWxvY2l0eUZyb21FdmVudCBvdXQu
CisgICAgICAgIFVwZGF0ZSB0aGUgY3VycmVudCB2ZWxvY2l0eSBmb3IgbW9tZW50dW0gYmVnaW4g
cGhhc2UgZXZlbnRzIGFzIHdlbGwuCisKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnREZWx0
YUZpbHRlck1hYzo6dXBkYXRlQ3VycmVudFZlbG9jaXR5RnJvbUV2ZW50KToKKworICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICBT
dGFydCB0aGUgbW9tZW50dW0gYW5pbWF0aW9uIHdpdGggdGhlIHZlbG9jaXR5IHByb3ZpZGVkIGJ5
IHRoZSBtb21lbnR1bQorICAgICAgICBiZWdpbiBwaGFzZSwgaW5zdGVhZCBvZiBhIHBvdGVudGlh
bGx5IGluY29ycmVjdCBkZWx0YSBmcm9tIGFuIGVhcmxpZXIgY2hhbmdlIHBoYXNlLgorCiAyMDIx
LTExLTE3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBhIGhlbHBlciBjbGFzcyB0byBjb29yZGluYXRlIGJhdGNoIGFuYWx5c2lzIG9mIGltYWdl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCBmOWMzYzVhODM0OGU4MWE4ZDY1N2JhMDczZTM3ZmRjZGE1MWZiNzRmLi40
ZjkzNmE3MzIxN2Y4NmI1NDU3NTU5Y2VkOTRiN2MzMDc4MTMzNDU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDIxLTExLTE3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIE1vbWVudHVtIGFuaW1hdG9yIHNvbWV0aW1lcyBzdGFydHMgdGhlIGFu
aW1hdGlvbiBhdCBhIHZlcnkgaGlnaCB2ZWxvY2l0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
NTMwNzExNT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RXZlbnREaXNwYXRjaGVyOjp3aGVlbEV2ZW50KToKKyAgICAgICAgRW5zdXJlIHRoYXQgd2hl
ZWwgZXZlbnRzIGFsd2F5cyBoYXZlIHZlbG9jaXRpZXMgYXR0YWNoZWQsIGV2ZW4gZm9yCisgICAg
ICAgIGV2ZW50cyB0aGF0IGRvbid0IGdvIHRocm91Z2ggdGhlIGRlbHRhIGZpbHRlci4KKwogMjAy
MS0xMS0xNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgYSBoZWxwZXIgY2xhc3MgdG8gY29vcmRpbmF0ZSBiYXRjaCBhbmFseXNpcyBvZiBpbWFn
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmNwcAppbmRl
eCA4MzkzMjI4MTE0NjAzY2M0YTA5MTQ4ZjlmMjNkYTBmMzY1MjE3YjZiLi44ZTc1MDBjMDAyNDRl
NDIwMDY1NTcwZWE3ZDYxN2Q3NjgyOWM4ZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1doZWVsRXZlbnREZWx0YUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9X
aGVlbEV2ZW50RGVsdGFGaWx0ZXIuY3BwCkBAIC02MiwxMSArNjIsMjYgQEAgYm9vbCBXaGVlbEV2
ZW50RGVsdGFGaWx0ZXI6OnNob3VsZEFwcGx5RmlsdGVyaW5nRm9yRXZlbnQoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW4KICNlbmRpZgogfQogCitib29sIFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6c2hv
dWxkSW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVu
dCkKK3sKKyNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCisgICAgLy8gSW5jbHVkZSB2ZWxv
Y2l0eSBvbiBtb21lbnR1bS1iZWdhbiBwaGFzZXMgc28gdGhhdCB0aGUgbW9tZW50dW0gYW5pbWF0
b3IgY2FuIHVzZSBpdC4KKyAgICBpZiAoZXZlbnQubW9tZW50dW1QaGFzZSgpID09IFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlOjpCZWdhbikKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKyAg
ICByZXR1cm4gc2hvdWxkQXBwbHlGaWx0ZXJpbmdGb3JFdmVudChldmVudCk7Cit9CisKIFBsYXRm
b3JtV2hlZWxFdmVudCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29weVdpdGhGaWx0ZXJl
ZERlbHRhcyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KSBjb25zdAogewogICAgIHJl
dHVybiBldmVudC5jb3B5V2l0aERlbHRhQW5kVmVsb2NpdHkobV9jdXJyZW50RmlsdGVyZWREZWx0
YSwgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eSk7CiB9CiAKK1BsYXRmb3JtV2hlZWxFdmVudCBX
aGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmV2ZW50Q29weVdpdGhWZWxvY2l0eShjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmIGV2ZW50KSBjb25zdAoreworICAgIHJldHVybiBldmVudC5jb3B5V2l0aFZl
bG9jaXR5KG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkpOworfQorCiBGbG9hdFNpemUgV2hlZWxF
dmVudERlbHRhRmlsdGVyOjpmaWx0ZXJlZERlbHRhKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9j
dXJyZW50RmlsdGVyZWREZWx0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hl
ZWxFdmVudERlbHRhRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnREZWx0
YUZpbHRlci5oCmluZGV4IGIwMWU1NTVjMTE1ZjViZjdkNTY2ZWQyMTFkZTk1MGE2ZWYwNWMwZWUu
LjExNDQwZDI0NmM5N2Q2ZjIyODQ1ZDZmNjE3NzA0YmU5M2RlMGY4ZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhRmlsdGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9XaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaApAQCAtNDMsMTEgKzQzLDEzIEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUV2ZW50KGNv
bnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpID0gMDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFBsYXRm
b3JtV2hlZWxFdmVudCBldmVudENvcHlXaXRoRmlsdGVyZWREZWx0YXMoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgUGxhdGZvcm1XaGVlbEV2ZW50
IGV2ZW50Q29weVdpdGhWZWxvY2l0eShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0U2l6ZSBmaWx0ZXJlZFZlbG9jaXR5KCkgY29uc3Q7
CiAgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRTaXplIGZpbHRlcmVkRGVsdGEoKSBjb25zdDsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHNob3VsZEFwcGx5RmlsdGVyaW5nRm9yRXZl
bnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IGJvb2wgc2hvdWxkSW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50Jik7CiAKIHByb3RlY3RlZDoKICAgICBGbG9hdFNpemUgbV9jdXJyZW50RmlsdGVyZWREZWx0
YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZp
bHRlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVy
TWFjLmgKaW5kZXggOWNiYjVjZGY1Y2QyNDUzMzJhZDY2NTI0NjBiOTAwYmVhM2I2NWZjYi4uN2Ez
YTcyM2U0NzUwNjc4NDI1M2YzYjI1ZjQwOTVkOWIyZWIyNzRlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKQEAgLTQ1LDYgKzQ1
LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIHJlc2V0KCk7CiAKKyAgICB2b2lkIHVw
ZGF0ZUN1cnJlbnRWZWxvY2l0eUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsK
KwogICAgIFJldGFpblB0cjxfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4aXNGaWx0ZXI+IG1fcHJl
ZG9taW5hbnRBeGlzRmlsdGVyOwogICAgIFdhbGxUaW1lIG1faW5pdGlhbFdhbGxUaW1lOwogICAg
IFdhbGxUaW1lIG1fbGFzdElPSElERXZlbnRUaW1lc3RhbXA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0KaW5kZXggNThkZDBlZWI4
MDIyYzA3ZjRmM2I5MGM4YmM5N2VkNmMyNGI0MmQ2Mi4uYTExYmQ1ZWFmOTMyMDIzOTI3MmYxYTk5
OTYxMDQyNjhjNmJlZjg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hl
ZWxFdmVudERlbHRhRmlsdGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1do
ZWVsRXZlbnREZWx0YUZpbHRlck1hYy5tbQpAQCAtNDUsMTMgKzQ1LDEyIEBAIFdoZWVsRXZlbnRE
ZWx0YUZpbHRlck1hYzo6V2hlZWxFdmVudERlbHRhRmlsdGVyTWFjKCkKIHZvaWQgV2hlZWxFdmVu
dERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JiBldmVudCkKIHsKICAgICBpZiAoZXZlbnQubW9tZW50dW1QaGFzZSgpICE9IFBsYXRmb3JtV2hl
ZWxFdmVudFBoYXNlOjpOb25lKSB7CisgICAgICAgIGlmIChldmVudC5tb21lbnR1bVBoYXNlKCkg
PT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuKQorICAgICAgICAgICAgdXBkYXRlQ3Vy
cmVudFZlbG9jaXR5RnJvbUV2ZW50KGV2ZW50KTsKICAgICAgICAgbV9sYXN0SU9ISURFdmVudFRp
bWVzdGFtcCA9IGV2ZW50LmlvSElERXZlbnRUaW1lc3RhbXAoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIC8vIFRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aW1lc3RhbXAgZG9lc24ndCBt
YXR0ZXI7IHRoZSBmaWx0ZXIgbG9va3MgYXQgZGVsdGFzIGZyb20gdGhlIHByZXZpb3VzIGV2ZW50
LgotICAgIGF1dG8gdGltZXN0YW1wID0gZXZlbnQudGltZXN0YW1wKCkgLSBtX2luaXRpYWxXYWxs
VGltZTsKLQogICAgIHN3aXRjaCAoZXZlbnQucGhhc2UoKSkgewogICAgIGNhc2UgUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2U6Ok5vbmU6CiAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6
RW5kZWQ6CkBAIC01OSwyOSArNTgsMTMgQEAgdm9pZCBXaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWM6
OnVwZGF0ZUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KQogCiAgICAg
Y2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6QmVnYW46CiAgICAgICAgIHJlc2V0KCk7Ci0g
ICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkNo
YW5nZWQ6IHsKLSAgICAgICAgTlNQb2ludCBmaWx0ZXJlZERlbHRhUmVzdWx0OwotICAgICAgICBO
U1BvaW50IGZpbHRlcmVkVmVsb2NpdHlSZXN1bHQ7Ci0KLSAgICAgICAgW21fcHJlZG9taW5hbnRB
eGlzRmlsdGVyIGZpbHRlcklucHV0RGVsdGE6dG9GbG9hdFBvaW50KGV2ZW50LmRlbHRhKCkpIHRp
bWVzdGFtcDp0aW1lc3RhbXAuc2Vjb25kcygpIG91dHB1dERlbHRhOiZmaWx0ZXJlZERlbHRhUmVz
dWx0IHZlbG9jaXR5OiZmaWx0ZXJlZFZlbG9jaXR5UmVzdWx0XTsKLSAgICAgICAgYXV0byBheGlz
RmlsdGVyZWRWZWxvY2l0eSA9IHRvRmxvYXRTaXplKGZpbHRlcmVkVmVsb2NpdHlSZXN1bHQpOwot
ICAgICAgICBtX2N1cnJlbnRGaWx0ZXJlZERlbHRhID0gdG9GbG9hdFNpemUoZmlsdGVyZWREZWx0
YVJlc3VsdCk7Ci0KLSAgICAgICAgLy8gVXNlIGEgMW1zIG1pbmltdW0gdG8gYXZvaWQgZGl2aWRl
IGJ5IHplcm8uIFRoZSB1c3VhbCBjYWRlbmNlIG9mIHRoZXNlIGV2ZW50cyBtYXRjaGVzIHNjcmVl
biByZWZyZXNoIHJhdGUuCi0gICAgICAgIGF1dG8gZGVsdGFGcm9tTGFzdEV2ZW50ID0gc3RkOjpt
YXgoZXZlbnQuaW9ISURFdmVudFRpbWVzdGFtcCgpIC0gbV9sYXN0SU9ISURFdmVudFRpbWVzdGFt
cCwgMV9tcyk7Ci0gICAgICAgIG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkgPSBldmVudC5kZWx0
YSgpIC8gZGVsdGFGcm9tTGFzdEV2ZW50LnNlY29uZHMoKTsKLQotICAgICAgICAvLyBBcHBseSB0
aGUgYXhpcy1sb2NraW5nIHRoYXQgbV9wcmVkb21pbmFudEF4aXNGaWx0ZXIgZG9lcy4KLSAgICAg
ICAgaWYgKCFheGlzRmlsdGVyZWRWZWxvY2l0eS53aWR0aCgpKQotICAgICAgICAgICAgbV9jdXJy
ZW50RmlsdGVyZWRWZWxvY2l0eS5zZXRXaWR0aCgwKTsKLSAgICAgICAgaWYgKCFheGlzRmlsdGVy
ZWRWZWxvY2l0eS5oZWlnaHQoKSkKLSAgICAgICAgICAgIG1fY3VycmVudEZpbHRlcmVkVmVsb2Np
dHkuc2V0SGVpZ2h0KDApOwotCi0gICAgICAgIExPRyhTY3JvbGxBbmltYXRpb25zLCAiV2hlZWxF
dmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVGcm9tRXZlbnQ6IF9OU1Njcm9sbGluZ1ByZWRvbWlu
YW50QXhpc0ZpbHRlciB2ZWxvY2l0eSAlLjJmLCAlMmYsIElPSElERXZlbnQgdmVsb2NpdHkgJS4y
ZiwlLjJmIiwKLSAgICAgICAgICAgIGF4aXNGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCksIGF4aXNG
aWx0ZXJlZFZlbG9jaXR5LmhlaWdodCgpLCBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LndpZHRo
KCksIG1fY3VycmVudEZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpOworICAgICAgICB1cGRhdGVD
dXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoZXZlbnQpOwogICAgICAgICBicmVhazsKLSAgICB9CisK
KyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDaGFuZ2VkOgorICAgICAgICB1cGRh
dGVDdXJyZW50VmVsb2NpdHlGcm9tRXZlbnQoZXZlbnQpOworICAgICAgICBicmVhazsKKwogICAg
IGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJlZ2luOgogICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2U6OkNhbmNlbGxlZDoKICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlOjpTdGF0aW9uYXJ5OgpAQCAtOTIsNiArNzUsMzIgQEAgdm9pZCBXaGVlbEV2ZW50RGVs
dGFGaWx0ZXJNYWM6OnVwZGF0ZUZyb21FdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2
ZW50KQogICAgIG1fbGFzdElPSElERXZlbnRUaW1lc3RhbXAgPSBldmVudC5pb0hJREV2ZW50VGlt
ZXN0YW1wKCk7CiB9CiAKK3ZvaWQgV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjOjp1cGRhdGVDdXJy
ZW50VmVsb2NpdHlGcm9tRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkKK3sK
KyAgICAvLyBUaGUgYWJzb2x1dGUgdmFsdWUgb2YgdGltZXN0YW1wIGRvZXNuJ3QgbWF0dGVyOyB0
aGUgZmlsdGVyIGxvb2tzIGF0IGRlbHRhcyBmcm9tIHRoZSBwcmV2aW91cyBldmVudC4KKyAgICBh
dXRvIHRpbWVzdGFtcCA9IGV2ZW50LnRpbWVzdGFtcCgpIC0gbV9pbml0aWFsV2FsbFRpbWU7CisK
KyAgICBOU1BvaW50IGZpbHRlcmVkRGVsdGFSZXN1bHQ7CisgICAgTlNQb2ludCBmaWx0ZXJlZFZl
bG9jaXR5UmVzdWx0OworCisgICAgW21fcHJlZG9taW5hbnRBeGlzRmlsdGVyIGZpbHRlcklucHV0
RGVsdGE6dG9GbG9hdFBvaW50KGV2ZW50LmRlbHRhKCkpIHRpbWVzdGFtcDp0aW1lc3RhbXAuc2Vj
b25kcygpIG91dHB1dERlbHRhOiZmaWx0ZXJlZERlbHRhUmVzdWx0IHZlbG9jaXR5OiZmaWx0ZXJl
ZFZlbG9jaXR5UmVzdWx0XTsKKyAgICBhdXRvIGF4aXNGaWx0ZXJlZFZlbG9jaXR5ID0gdG9GbG9h
dFNpemUoZmlsdGVyZWRWZWxvY2l0eVJlc3VsdCk7CisgICAgbV9jdXJyZW50RmlsdGVyZWREZWx0
YSA9IHRvRmxvYXRTaXplKGZpbHRlcmVkRGVsdGFSZXN1bHQpOworCisgICAgLy8gVXNlIGEgMW1z
IG1pbmltdW0gdG8gYXZvaWQgZGl2aWRlIGJ5IHplcm8uIFRoZSB1c3VhbCBjYWRlbmNlIG9mIHRo
ZXNlIGV2ZW50cyBtYXRjaGVzIHNjcmVlbiByZWZyZXNoIHJhdGUuCisgICAgYXV0byBkZWx0YUZy
b21MYXN0RXZlbnQgPSBzdGQ6Om1heChldmVudC5pb0hJREV2ZW50VGltZXN0YW1wKCkgLSBtX2xh
c3RJT0hJREV2ZW50VGltZXN0YW1wLCAxX21zKTsKKyAgICBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9j
aXR5ID0gZXZlbnQuZGVsdGEoKSAvIGRlbHRhRnJvbUxhc3RFdmVudC5zZWNvbmRzKCk7CisKKyAg
ICAvLyBBcHBseSB0aGUgYXhpcy1sb2NraW5nIHRoYXQgbV9wcmVkb21pbmFudEF4aXNGaWx0ZXIg
ZG9lcy4KKyAgICBpZiAoIWF4aXNGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCkpCisgICAgICAgIG1f
Y3VycmVudEZpbHRlcmVkVmVsb2NpdHkuc2V0V2lkdGgoMCk7CisgICAgaWYgKCFheGlzRmlsdGVy
ZWRWZWxvY2l0eS5oZWlnaHQoKSkKKyAgICAgICAgbV9jdXJyZW50RmlsdGVyZWRWZWxvY2l0eS5z
ZXRIZWlnaHQoMCk7CisKKyAgICBMT0coU2Nyb2xsQW5pbWF0aW9ucywgIldoZWVsRXZlbnREZWx0
YUZpbHRlck1hYzo6dXBkYXRlRnJvbUV2ZW50OiBfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4aXNG
aWx0ZXIgdmVsb2NpdHkgJS4yZiwgJTJmLCBJT0hJREV2ZW50IHZlbG9jaXR5ICUuMmYsJS4yZiIs
CisgICAgICAgIGF4aXNGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCksIGF4aXNGaWx0ZXJlZFZlbG9j
aXR5LmhlaWdodCgpLCBtX2N1cnJlbnRGaWx0ZXJlZFZlbG9jaXR5LndpZHRoKCksIG1fY3VycmVu
dEZpbHRlcmVkVmVsb2NpdHkuaGVpZ2h0KCkpOworfQorCiB2b2lkIFdoZWVsRXZlbnREZWx0YUZp
bHRlck1hYzo6cmVzZXQoKQogewogICAgIFttX3ByZWRvbWluYW50QXhpc0ZpbHRlciByZXNldF07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCmluZGV4IDMy
Y2U3MzM1NWJiNGY5OTVlNzgzNGYwMDQ2NTExMTNjNWZlMTY4NDQuLjczNzJmM2JmYmVjZDFlYWQ2
NzhlYTIyYjIzMWI5YTUxYjkyNDM5MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bs
YXRmb3JtV2hlZWxFdmVudC5oCkBAIC0xMjksNiArMTI5LDEzIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIGNvcHk7CiAgICAgfQogCisgICAgUGxhdGZvcm1XaGVlbEV2ZW50IGNvcHlXaXRoVmVs
b2NpdHkoRmxvYXRTaXplIHZlbG9jaXR5KSBjb25zdAorICAgIHsKKyAgICAgICAgUGxhdGZvcm1X
aGVlbEV2ZW50IGNvcHkgPSAqdGhpczsKKyAgICAgICAgY29weS5tX3Njcm9sbGluZ1ZlbG9jaXR5
ID0gdmVsb2NpdHk7CisgICAgICAgIHJldHVybiBjb3B5OworICAgIH0KKwogICAgIGNvbnN0IElu
dFBvaW50JiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb247IH0gLy8gUGxhdGZv
cm1XaW5kb3cgY29vcmRpbmF0ZXMuCiAgICAgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxQb3NpdGlvbjsgfSAvLyBTY3JlZW4gY29vcmRpbmF0
ZXMuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVj
dHNDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3Rz
Q29udHJvbGxlci5oCmluZGV4IDNjNzBmNDAxMDE5YjIxMjMxMGYzNzM4ZGY5ZTdlOTA1YTVhODk4
Y2MuLjNiNjU5YmFmZmUyOGU4OGRhMDA2MmExYjAyZjQxOWMwMTNlMDc1OTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaApA
QCAtMjYwLDcgKzI2MCw2IEBAIHByaXZhdGU6CiAgICAgRmxvYXRTaXplIG1fc3RyZXRjaFNjcm9s
bEZvcmNlOwogICAgIEZsb2F0U2l6ZSBtX21vbWVudHVtVmVsb2NpdHk7CiAKLSAgICBGbG9hdFNp
emUgbV9zY3JvbGxpbmdWZWxvY2l0eUZvck1vbWVudHVtQW5pbWF0aW9uOyAvLyBEbyB3ZSBuZWVk
IGJvdGggdGhpcywgbV9zY3JvbGxpbmdWZWxvY2l0eUZvclNjcm9sbFNuYXAgYW5kIG1fbW9tZW50
dW1WZWxvY2l0eT8KICAgICBGbG9hdFNpemUgbV9zY3JvbGxpbmdWZWxvY2l0eUZvclNjcm9sbFNu
YXA7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIEZsb2F0UG9pbnQgbV9ldmVudERyaXZlblNjcm9s
bE1vbWVudHVtU3RhcnRPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIubW0KaW5kZXggMDllY2Y2ODY5ZTFi
MzE1Mjc4NmViOTc5NmNjYTZlM2Q3OTgxN2Y2NS4uY2FjM2M2YzRjYzQ1MmYyYmUzZDZhZGQzZWE3
ZjBjOTdkNTcyNjEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5tbQpAQCAtMTI5LDkgKzEyOSw2IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBwaGFzZVRvU3RyaW5nKFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBo
YXNlKQogCiBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsKLSAgICBpZiAoV2hlZWxF
dmVudERlbHRhRmlsdGVyOjpzaG91bGRBcHBseUZpbHRlcmluZ0ZvckV2ZW50KHdoZWVsRXZlbnQp
KQotICAgICAgICBtX3Njcm9sbGluZ1ZlbG9jaXR5Rm9yTW9tZW50dW1BbmltYXRpb24gPSAtd2hl
ZWxFdmVudC5zY3JvbGxpbmdWZWxvY2l0eSgpOyAvLyBOb3RlIHRoYXQgZXZlbnQgZGVsdGEgaXMg
cmV2ZXJzZWQgZnJvbSBzY3JvbGwgZGlyZWN0aW9uLgotCiAgICAgaWYgKHByb2Nlc3NXaGVlbEV2
ZW50Rm9yU2Nyb2xsU25hcCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAg
LTIyOCw3ICsyMjUsNyBAQCBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpoYW5kbGVX
aGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZQogICAgIGlmICghbV9tb21l
bnR1bVNjcm9sbEluUHJvZ3Jlc3MgJiYgKG1vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2U6OkJlZ2FuIHx8IG1vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2U6OkNoYW5nZWQpKSB7CiAgICAgICAgIG1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzID0gdHJ1
ZTsKICAgICAgICAgaWYgKG1vbWVudHVtU2Nyb2xsaW5nQW5pbWF0b3JFbmFibGVkKCkpIHsKLSAg
ICAgICAgICAgIHN0YXJ0TW9tZW50dW1TY3JvbGxXaXRoSW5pdGlhbFZlbG9jaXR5KG1fY2xpZW50
LnNjcm9sbE9mZnNldCgpLCBtX3Njcm9sbGluZ1ZlbG9jaXR5Rm9yTW9tZW50dW1BbmltYXRpb24s
IC13aGVlbEV2ZW50LmRlbHRhKCksIFtdKGNvbnN0IEZsb2F0UG9pbnQmIHRhcmdldE9mZnNldCkg
eyByZXR1cm4gdGFyZ2V0T2Zmc2V0OyB9KTsKKyAgICAgICAgICAgIHN0YXJ0TW9tZW50dW1TY3Jv
bGxXaXRoSW5pdGlhbFZlbG9jaXR5KG1fY2xpZW50LnNjcm9sbE9mZnNldCgpLCAtd2hlZWxFdmVu
dC5zY3JvbGxpbmdWZWxvY2l0eSgpLCAtd2hlZWxFdmVudC5kZWx0YSgpLCBbXShjb25zdCBGbG9h
dFBvaW50JiB0YXJnZXRPZmZzZXQpIHsgcmV0dXJuIHRhcmdldE9mZnNldDsgfSk7CiAjaWYgIUxP
R19ESVNBQkxFRAogICAgICAgICAgICAgbV9ldmVudERyaXZlblNjcm9sbE9mZnNldCA9IG1fY2xp
ZW50LnNjcm9sbE9mZnNldCgpOwogICAgICAgICAgICAgbV9ldmVudERyaXZlblNjcm9sbE1vbWVu
dHVtU3RhcnRPZmZzZXQgPSBtX2V2ZW50RHJpdmVuU2Nyb2xsT2Zmc2V0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHAKaW5kZXgg
MjE1NjRiYjUyNGQ0NDYxMzI1MWJlZGYwYTJkZTRkNjU0ZmI2NDVkNy4uYjY5ZThmZjgwMjdiMjhh
MmIwZmE3MDM3ODVmYWU1YzgwMjI0MTU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC0xMDYsNiArMTA2LDggQEAg
dm9pZCBFdmVudERpc3BhdGNoZXI6OndoZWVsRXZlbnQoUGFnZUlkZW50aWZpZXIgcGFnZUlELCBj
b25zdCBXZWJXaGVlbEV2ZW50JiB3aGUKICAgICAgICAgbV9yZWNlbnRXaGVlbEV2ZW50RGVsdGFG
aWx0ZXItPnVwZGF0ZUZyb21FdmVudChwbGF0Zm9ybVdoZWVsRXZlbnQpOwogICAgICAgICBpZiAo
V2hlZWxFdmVudERlbHRhRmlsdGVyOjpzaG91bGRBcHBseUZpbHRlcmluZ0ZvckV2ZW50KHBsYXRm
b3JtV2hlZWxFdmVudCkpCiAgICAgICAgICAgICBwbGF0Zm9ybVdoZWVsRXZlbnQgPSBtX3JlY2Vu
dFdoZWVsRXZlbnREZWx0YUZpbHRlci0+ZXZlbnRDb3B5V2l0aEZpbHRlcmVkRGVsdGFzKHBsYXRm
b3JtV2hlZWxFdmVudCk7CisgICAgICAgIGVsc2UgaWYgKFdoZWVsRXZlbnREZWx0YUZpbHRlcjo6
c2hvdWxkSW5jbHVkZVZlbG9jaXR5Rm9yRXZlbnQocGxhdGZvcm1XaGVlbEV2ZW50KSkKKyAgICAg
ICAgICAgIHBsYXRmb3JtV2hlZWxFdmVudCA9IG1fcmVjZW50V2hlZWxFdmVudERlbHRhRmlsdGVy
LT5ldmVudENvcHlXaXRoVmVsb2NpdHkocGxhdGZvcm1XaGVlbEV2ZW50KTsKICNlbmRpZgogCiAg
ICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3Njcm9sbGluZ1RyZWVzTG9jayB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>