<?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>233811</bug_id>
          
          <creation_ts>2021-12-03 04:28:48 -0800</creation_ts>
          <short_desc>Add more logging for MomentumEventDispatcher</short_desc>
          <delta_ts>2021-12-03 13:11:26 -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>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820100</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-03 04:28:48 -0800</bug_when>
    <thetext>Add more logging for MomentumEventDispatcher</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820101</commentid>
    <comment_count>1</comment_count>
      <attachid>445842</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-03 04:29:48 -0800</bug_when>
    <thetext>Created attachment 445842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820102</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-03 04:30:03 -0800</bug_when>
    <thetext>I don&apos;t know if we actually want to land this, but it is handy to have!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820103</commentid>
    <comment_count>3</comment_count>
      <attachid>445843</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-03 04:31:18 -0800</bug_when>
    <thetext>Created attachment 445843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820241</commentid>
    <comment_count>4</comment_count>
      <attachid>445881</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-03 11:24:08 -0800</bug_when>
    <thetext>Created attachment 445881
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820285</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-03 13:10:08 -0800</bug_when>
    <thetext>Committed r286512 (244848@main): &lt;https://commits.webkit.org/244848@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445881.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820287</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-03 13:11:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/86031061&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445842</attachid>
            <date>2021-12-03 04:29:48 -0800</date>
            <delta_ts>2021-12-03 04:31:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233811-20211203042947.patch</filename>
            <type>text/plain</type>
            <size>15277</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmZWRiOWQ1NjY5ZDkxMmZi
ZjI3OWNiNGRjZTEyZmEzYTYwNjQ3ZjIuLmFlNTQ5YTYzNDZkNTBmMzQ4Nzk0M2RlYjUyNTc0ZmNj
MGFhZWMzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjEtMTItMDMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIG1vcmUgbG9nZ2lu
ZyBmb3IgTW9tZW50dW1FdmVudERpc3BhdGNoZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBvZmYtYnktZGVmYXVsdCBidXQgZW5hYmxlYWJs
ZS12aWEtTlNVc2VyRGVmYXVsdHMgZXZlbnQgbG9nCisgICAgICAgIHRvIE1vbWVudHVtRXZlbnRE
aXNwYXRjaGVyLCB0byBkZWJ1ZyBkZWx0YS9vZmZzZXQvY3VydmUgaXNzdWVzLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oOgorICAgICAgICAoV2ViS2l0
OjpFdmVudERpc3BhdGNoZXI6OnF1ZXVlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
TW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpNb21lbnR1bUV2
ZW50RGlzcGF0Y2hlcjo6TW9tZW50dW1FdmVudERpc3BhdGNoZXIpOgorICAgICAgICBSZWFkIGEg
ZGVmYXVsdCB0byBlbmFibGUgbG9nZ2luZy4gVGhpcyBpcyBxdWl0ZSBkaXJ0eSwgYW5kIGR5bmFt
aWMKKyAgICAgICAgY2hhbmdlcyB3b24ndCB3b3JrICh5b3UgaGF2ZSB0byByZXN0YXJ0IHRoZSBh
cHApLCBidXQgZm9yIHRlbXBvcmFyeSB1c2UKKyAgICAgICAgaXQgaXMgZmluZS4KKworICAgICAg
ICAoV2ViS2l0OjpNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6aGFuZGxlV2hlZWxFdmVudCk6Cisg
ICAgICAgIEFjY3VtdWxhdGUgZXZlbnQgZGVsdGFzLiBBbHNvIGFjY3VtdWxhdGUgZXZlbnQgZGVs
dGFzIGZvciB0aGUKKyAgICAgICAgZmluZ2Vycy1kb3duIHBoYXNlIGluIHRoZSAiZ2VuZXJhdGVk
IiBvZmZzZXQuIFN0b3JlIHRoZSBwaGFzZSBhbmQgCisgICAgICAgIG1vbWVudHVtIHBoYXNlIHNt
b29zaGVkIGludG8gYSBzaW5nbGUgZmllbGQuCisKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1F
dmVudERpc3BhdGNoZXI6OmRpc3BhdGNoU3ludGhldGljTW9tZW50dW1FdmVudCk6CisgICAgICAg
IEFjY3VtdWxhdGUgZ2VuZXJhdGVkIGRlbHRhcy4KKworICAgICAgICAoV2ViS2l0OjpNb21lbnR1
bUV2ZW50RGlzcGF0Y2hlcjo6ZGlkRW5kTW9tZW50dW1QaGFzZSk6CisgICAgICAgIEF0dGVtcHQg
dG8gZHVtcCB0aGUgbG9nIDEgc2Vjb25kIGFmdGVyIGVhY2ggbW9tZW50dW0gcGhhc2UuIFdlJ2xs
IHNraXAKKyAgICAgICAgaXQgaWYgYW5vdGhlciBzY3JvbGwgaGFzIHN0YXJ0ZWQgc2luY2UuCisK
KyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnNldFNjcm9sbGluZ0Fj
Y2VsZXJhdGlvbkN1cnZlKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNo
ZXI6OnN0YXJ0RGlzcGxheUxpbmspOgorICAgICAgICAoV2ViS2l0OjpNb21lbnR1bUV2ZW50RGlz
cGF0Y2hlcjo6c3RvcERpc3BsYXlMaW5rKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVu
dERpc3BhdGNoZXI6OmNvbnN1bWVEZWx0YUZvckN1cnJlbnRUaW1lKToKKyAgICAgICAgKFdlYktp
dDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERl
bHRhKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmNvbXB1dGVO
ZXh0RGVsdGEpOgorICAgICAgICBBZG9wdCBtb3JlIE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJf
VEVNUE9SQVJZX0xPR0dJTkcuIEVycm9yIGxvZ2dpbmcKKyAgICAgICAgd2UgbGVhdmUgb3V0c2lk
ZSBvZiB0aGlzLCBiZWNhdXNlIHRoYXQgd2UnbGwga2VlcCBhcm91bmQuCisKKyAgICAgICAgKFdl
YktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnB1c2hMb2dFbnRyeSk6CisgICAgICAgIChX
ZWJLaXQ6Ok1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpmbHVzaExvZyk6CisgICAgICAgIER1bXAg
dGhlIGV2ZW50IGxvZyBpbiBhbiBlYXN5LXRvLWNvcHktaW50by1hLUNTViBmb3JtYXQuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaDoKKwog
MjAyMS0xMi0wMyAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE5ldHdvcmsgcHJvY2VzcyBkb2VzIG5vdCBzZWVtIHRvIGluaXRpYWxpemUgbG9nZ2luZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRj
aGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIu
aAppbmRleCBlNDc3ZmI4NzNiODcxMTU3NzZlNzNjMTc2NjllZjVkNDliYzBhN2UxLi4yODg5OTRl
NDhhYzdlZjA5MjQ3OGQxMTFhNmM2NDA5N2JjNzhmOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaApAQCAtNjQsNiArNjQsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxFdmVudERpc3BhdGNoZXI+IGNyZWF0ZSgpOwogICAg
IH5FdmVudERpc3BhdGNoZXIoKTsKIAorICAgIFdvcmtRdWV1ZSYgcXVldWUoKSB7IHJldHVybiBt
X3F1ZXVlLmdldCgpOyB9CisKICNpZiBFTkFCTEUoU0NST0xMSU5HX1RIUkVBRCkKICAgICB2b2lk
IGFkZFNjcm9sbGluZ1RyZWVGb3JQYWdlKFdlYlBhZ2UqKTsKICAgICB2b2lkIHJlbW92ZVNjcm9s
bGluZ1RyZWVGb3JQYWdlKFdlYlBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcAppbmRleCA2
ODc5MTc0YWEwOTRhNWNiY2E2OTA3NTliYjExNmM3OGQ1ZjI4NTA2Li44MzA4ZDVlMDA0ODUwNDYx
NTcxZjQyY2RiZGRmYjNiNWEzYWUzNTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwCkBAIC00
Niw2ICs0Niw5IEBAIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpNb21lbnR1bUV2ZW50RGlzcGF0
Y2hlcihFdmVudERpc3BhdGNoZXImIGRpc3BhdGNoZXIpCiAgICAgOiBtX29ic2VydmVySUQoRGlz
cGxheUxpbmtPYnNlcnZlcklEOjpnZW5lcmF0ZSgpKQogICAgICwgbV9kaXNwYXRjaGVyKGRpc3Bh
dGNoZXIpCiB7CisjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZ
X0xPR0dJTkcpCisgICAgbV9lbmFibGVMb2cgPSBDRlByZWZlcmVuY2VzR2V0QXBwQm9vbGVhblZh
bHVlKENGU1RSKCJXZWJLaXRNb21lbnR1bUV2ZW50RGlzcGF0Y2hlckV4cGVuc2l2ZUxvZ2dpbmci
KSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24sIG51bGxwdHIpOworI2VuZGlmCiB9
CiAKIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjp+TW9tZW50dW1FdmVudERpc3BhdGNoZXIoKQpA
QCAtOTMsOCArOTYsMTAgQEAgYm9vbCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6aGFuZGxlV2hl
ZWxFdmVudChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSWRlbnQKICAgICBpZiAoZXZlbnQu
cGhhc2UoKSA9PSBXZWJXaGVlbEV2ZW50OjpQaGFzZUJlZ2FuIHx8IGV2ZW50LnBoYXNlKCkgPT0g
V2ViV2hlZWxFdmVudDo6UGhhc2VDaGFuZ2VkKSB7CiAgICAgICAgIGRpZFJlY2VpdmVTY3JvbGxF
dmVudChldmVudCk7CiAKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1Q
T1JBUllfTE9HR0lORykKICAgICAgICAgaWYgKGF1dG8gbGFzdEFjdGl2ZVBoYXNlRGVsdGEgPSBl
dmVudC5yYXdQbGF0Zm9ybURlbHRhKCkpCiAgICAgICAgICAgICBtX2xhc3RBY3RpdmVQaGFzZURl
bHRhID0gKmxhc3RBY3RpdmVQaGFzZURlbHRhOworI2VuZGlmCiAgICAgfQogCiAgICAgaWYgKGV2
ZW50LnBoYXNlKCkgPT0gV2ViV2hlZWxFdmVudDo6UGhhc2VFbmRlZCkKQEAgLTEwNSw5ICsxMTAs
MjIgQEAgYm9vbCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6aGFuZGxlV2hlZWxFdmVudChXZWJD
b3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSWRlbnQKIAogICAgIGJvb2wgaXNNb21lbnR1bUV2ZW50
RHVyaW5nU3ludGhldGljR2VzdHVyZSA9IGlzTW9tZW50dW1FdmVudCAmJiBtX2N1cnJlbnRHZXN0
dXJlLmFjdGl2ZTsKIAotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorI2lmIEVOQUJMRShNT01F
TlRVTV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQogICAgIGlmIChpc01vbWVu
dHVtRXZlbnREdXJpbmdTeW50aGV0aWNHZXN0dXJlKQogICAgICAgICBtX2N1cnJlbnRHZXN0dXJl
LmFjY3VtdWxhdGVkRXZlbnRPZmZzZXQgKz0gZXZlbnQuZGVsdGEoKTsKKworICAgIGlmIChtX2Vu
YWJsZUxvZykgeworICAgICAgICBhdXRvIGNvbWJpbmVkUGhhc2UgPSAoZXZlbnQucGhhc2UoKSA8
PCA4KSB8IChldmVudC5tb21lbnR1bVBoYXNlKCkpOworICAgICAgICBtX2N1cnJlbnRMb2dTdGF0
ZS5sYXRlc3RFdmVudFBoYXNlID0gY29tYmluZWRQaGFzZTsKKyAgICAgICAgbV9jdXJyZW50TG9n
U3RhdGUudG90YWxFdmVudE9mZnNldCArPSBldmVudC5kZWx0YSgpLmhlaWdodCgpOworICAgICAg
ICBpZiAoIWlzTW9tZW50dW1FdmVudER1cmluZ1N5bnRoZXRpY0dlc3R1cmUpIHsKKyAgICAgICAg
ICAgIC8vIExvZyBldmVudHMgdGhhdCB3ZSBkb24ndCBibG9jayB0byB0aGUgZ2VuZXJhdGVkIG9m
ZnNldHMgbG9nIGFzIHdlbGwsCisgICAgICAgICAgICAvLyBldmVuIHRob3VnaCB3ZSBkaWRuJ3Qg
dGVjaG5pY2FsbHkgZ2VuZXJhdGUgdGhlbSwganVzdCBwYXNzZWQgdGhlbSB0aHJvdWdoLgorICAg
ICAgICAgICAgbV9jdXJyZW50TG9nU3RhdGUubGF0ZXN0R2VuZXJhdGVkUGhhc2UgPSBjb21iaW5l
ZFBoYXNlOworICAgICAgICAgICAgbV9jdXJyZW50TG9nU3RhdGUudG90YWxHZW5lcmF0ZWRPZmZz
ZXQgKz0gZXZlbnQuZGVsdGEoKS5oZWlnaHQoKTsKKyAgICAgICAgfQorICAgICAgICBwdXNoTG9n
RW50cnkoKTsKKyAgICB9CiAjZW5kaWYKIAogICAgIC8vIENvbnN1bWUgYW55IG5vcm1hbCBtb21l
bnR1bSBldmVudHMgd2hpbGUgd2UncmUgaW5zaWRlIGEgc3ludGhldGljIG1vbWVudHVtIGdlc3R1
cmUuCkBAIC0xNTksNiArMTc3LDE0IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRp
c3BhdGNoU3ludGhldGljTW9tZW50dW1FdmVudChXZWJXaGVlbEV2ZW50OjpQaGFzCiAgICAgICAg
IHRpbWUsCiAgICAgICAgIHsgfSk7CiAgICAgbV9kaXNwYXRjaGVyLmludGVybmFsV2hlZWxFdmVu
dChtX2N1cnJlbnRHZXN0dXJlLnBhZ2VJZGVudGlmaWVyLCBzeW50aGV0aWNFdmVudCwgbV9sYXN0
UnViYmVyQmFuZGFibGVFZGdlcywgRXZlbnREaXNwYXRjaGVyOjpXaGVlbEV2ZW50T3JpZ2luOjpN
b21lbnR1bUV2ZW50RGlzcGF0Y2hlcik7CisKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElT
UEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKKyAgICBpZiAobV9lbmFibGVMb2cpIHsKKyAgICAg
ICAgbV9jdXJyZW50TG9nU3RhdGUubGF0ZXN0R2VuZXJhdGVkUGhhc2UgPSBwaGFzZTsKKyAgICAg
ICAgbV9jdXJyZW50TG9nU3RhdGUudG90YWxHZW5lcmF0ZWRPZmZzZXQgKz0gYXBwS2l0QWNjZWxl
cmF0ZWREZWx0YS5oZWlnaHQoKTsKKyAgICAgICAgcHVzaExvZ0VudHJ5KCk7CisgICAgfQorI2Vu
ZGlmCiB9CiAKIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRpZFN0YXJ0TW9tZW50dW1Q
aGFzZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSWRlbnRpZmllciwgY29uc3QgV2ViV2hl
ZWxFdmVudCYgZXZlbnQpCkBAIC0xOTQsNyArMjIwLDEyIEBAIHZvaWQgTW9tZW50dW1FdmVudERp
c3BhdGNoZXI6OmRpZEVuZE1vbWVudHVtUGhhc2UoKQogCiAgICAgZGlzcGF0Y2hTeW50aGV0aWNN
b21lbnR1bUV2ZW50KFdlYldoZWVsRXZlbnQ6OlBoYXNlRW5kZWQsIHsgfSk7CiAKKyNpZiBFTkFC
TEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKICAgICBSRUxF
QVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgc2F3IG1v
bWVudHVtIGVuZCBwaGFzZSB3aXRoIHRvdGFsIG9mZnNldCAlLjFmICUuMWYsIGR1cmF0aW9uICVm
IChldmVudCBvZmZzZXQgd291bGQgaGF2ZSBiZWVuICUuMWYgJS4xZikiLCBtX2N1cnJlbnRHZXN0
dXJlLmN1cnJlbnRPZmZzZXQud2lkdGgoKSwgbV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0
LmhlaWdodCgpLCAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2N1cnJlbnRHZXN0dXJlLnN0YXJ0
VGltZSkuc2Vjb25kcygpLCBtX2N1cnJlbnRHZXN0dXJlLmFjY3VtdWxhdGVkRXZlbnRPZmZzZXQu
d2lkdGgoKSwgbV9jdXJyZW50R2VzdHVyZS5hY2N1bXVsYXRlZEV2ZW50T2Zmc2V0LmhlaWdodCgp
KTsKKyAgICBtX2Rpc3BhdGNoZXIucXVldWUoKS5kaXNwYXRjaEFmdGVyKDFfcywgW3RoaXNdIHsK
KyAgICAgICAgZmx1c2hMb2coKTsKKyAgICB9KTsKKyNlbmRpZgogCiAgICAgc3RvcERpc3BsYXlM
aW5rKCk7CiAKQEAgLTIwNSw3ICsyMzYsNyBAQCB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVy
OjpzZXRTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZShXZWJDb3JlOjpQYWdlSWRlbnRpZgogewog
ICAgIG1fYWNjZWxlcmF0aW9uQ3VydmVzLnNldChwYWdlSWRlbnRpZmllciwgY3VydmUpOwogCi0j
aWYgVVNFX01PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZX0xPR0dJTkcKKyNpZiBF
TkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKICAgICBX
VEY6OlRleHRTdHJlYW0gc3RyZWFtKFdURjo6VGV4dFN0cmVhbTo6TGluZU1vZGU6OlNpbmdsZUxp
bmUpOwogICAgIHN0cmVhbSA8PCBjdXJ2ZTsKICAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRp
b25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgc2V0IGN1cnZlICVzIiwgc3RyZWFtLnJlbGVh
c2UoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTIzMSw3ICsyNjIsOSBAQCB2b2lkIE1vbWVudHVtRXZl
bnREaXNwYXRjaGVyOjpzdGFydERpc3BsYXlMaW5rKCkKIAogICAgIC8vIEZJWE1FOiBTd2l0Y2gg
ZG93biB0byBsb3dlci10aGFuLWZ1bGwtc3BlZWQgZnJhbWUgcmF0ZXMgZm9yIHRoZSB0YWlsIGVu
ZCBvZiB0aGUgY3VydmUuCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vz
c0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpTdGFydERpc3Bs
YXlMaW5rKG1fb2JzZXJ2ZXJJRCwgZGlzcGxheUlELCBXZWJDb3JlOjpGdWxsU3BlZWRGcmFtZXNQ
ZXJTZWNvbmQpLCAwKTsKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1Q
T1JBUllfTE9HR0lORykKICAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50
dW1FdmVudERpc3BhdGNoZXIgc3RhcnRpbmcgZGlzcGxheSBsaW5rIGZvciBkaXNwbGF5ICVkIiwg
ZGlzcGxheUlEKTsKKyNlbmRpZgogfQogCiB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpz
dG9wRGlzcGxheUxpbmsoKQpAQCAtMjQzLDcgKzI3Niw5IEBAIHZvaWQgTW9tZW50dW1FdmVudERp
c3BhdGNoZXI6OnN0b3BEaXNwbGF5TGluaygpCiAgICAgfQogCiAgICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJv
Y2Vzc1Byb3h5OjpTdG9wRGlzcGxheUxpbmsobV9vYnNlcnZlcklELCBkaXNwbGF5SUQpLCAwKTsK
KyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykK
ICAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNo
ZXIgc3RvcHBpbmcgZGlzcGxheSBsaW5rIGZvciBkaXNwbGF5ICVkIiwgZGlzcGxheUlEKTsKKyNl
bmRpZgogfQogCiB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpwYWdlU2NyZWVuRGlkQ2hh
bmdlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViQ29yZTo6UGxhdGZvcm1EaXNw
bGF5SUQgZGlzcGxheUlEKQpAQCAtMjYzLDcgKzI5OCw3IEBAIFdlYkNvcmU6OkZsb2F0U2l6ZSBN
b21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6Y29uc3VtZURlbHRhRm9yQ3VycmVudFRpbWUoKQogICAg
IGF1dG8gYW5pbWF0aW9uVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9jdXJyZW50R2Vz
dHVyZS5zdGFydFRpbWU7CiAgICAgYXV0byBkZXNpcmVkT2Zmc2V0ID0gb2Zmc2V0QXRUaW1lKGFu
aW1hdGlvblRpbWUpOwogCi0jaWYgIVVTRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BSRU1B
VFVSRV9ST1VORElORykKKyNpZiAhRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJF
TUFUVVJFX1JPVU5ESU5HKQogICAgIC8vIEludGVudGlvbmFsIGRlbHRhIHJvdW5kaW5nIChidXQg
YXQgdGhlIGVuZCEpLgogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBkZWx0YSA9IHJvdW5kZWRJbnRT
aXplKGRlc2lyZWRPZmZzZXQgLSBtX2N1cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQpOwogI2Vs
c2UKQEAgLTMyNiw3ICszNjEsNyBAQCB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpkaWRS
ZWNlaXZlU2Nyb2xsRXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYgZXZlbnQpCiAKIHZvaWQgTW9t
ZW50dW1FdmVudERpc3BhdGNoZXI6OmJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERlbHRhKFdl
YkNvcmU6OkZsb2F0U2l6ZSBpbml0aWFsVW5hY2NlbGVyYXRlZERlbHRhKQogewotI2lmIFVTRShN
T01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BSRU1BVFVSRV9ST1VORElORykKKyNpZiBFTkFCTEUo
TU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9QUkVNQVRVUkVfUk9VTkRJTkcpCiAgICAgbV9jdXJy
ZW50R2VzdHVyZS5jYXJyeU9mZnNldCA9IHsgfTsKICNlbmRpZgogICAgIG1fY3VycmVudEdlc3R1
cmUub2Zmc2V0VGFibGUuY2xlYXIoKTsKQEAgLTM0Miw3ICszNzcsOSBAQCB2b2lkIE1vbWVudHVt
RXZlbnREaXNwYXRjaGVyOjpidWlsZE9mZnNldFRhYmxlV2l0aEluaXRpYWxEZWx0YShXZWJDb3Jl
OjpGbG9hdFNpegogICAgICAgICBtX2N1cnJlbnRHZXN0dXJlLm9mZnNldFRhYmxlLmFwcGVuZChh
Y2N1bXVsYXRlZE9mZnNldCk7CiAgICAgfSB3aGlsZSAoc3RkOjphYnModW5hY2NlbGVyYXRlZERl
bHRhLndpZHRoKCkpID4gMC41IHx8IHN0ZDo6YWJzKHVuYWNjZWxlcmF0ZWREZWx0YS5oZWlnaHQo
KSkgPiAwLjUpOwogCisjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9S
QVJZX0xPR0dJTkcpCiAgICAgUkVMRUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywgIk1vbWVudHVt
RXZlbnREaXNwYXRjaGVyIGJ1aWx0IHRhYmxlIHdpdGggJWxkIGZyYW1lcywgaW5pdGlhbCBkZWx0
YSAlZiAlZiwgZGlzdGFuY2UgJWYgJWYgKGluaXRpYWwgZGVsdGEgZnJvbSBsYXN0IGNoYW5nZWQg
ZXZlbnQgJWYgJWYpIiwgbV9jdXJyZW50R2VzdHVyZS5vZmZzZXRUYWJsZS5zaXplKCksIGluaXRp
YWxVbmFjY2VsZXJhdGVkRGVsdGEud2lkdGgoKSwgaW5pdGlhbFVuYWNjZWxlcmF0ZWREZWx0YS5o
ZWlnaHQoKSwgYWNjdW11bGF0ZWRPZmZzZXQud2lkdGgoKSwgYWNjdW11bGF0ZWRPZmZzZXQuaGVp
Z2h0KCksIG1fbGFzdEFjdGl2ZVBoYXNlRGVsdGEud2lkdGgoKSwgbV9sYXN0QWN0aXZlUGhhc2VE
ZWx0YS5oZWlnaHQoKSk7CisjZW5kaWYKIH0KIAogc3RhdGljIGZsb2F0IGludGVycG9sYXRlKGZs
b2F0IGEsIGZsb2F0IGIsIGZsb2F0IHQpCkBAIC0zOTYsNyArNDMzLDcgQEAgc3RkOjpwYWlyPFdl
YkNvcmU6OkZsb2F0U2l6ZSwgV2ViQ29yZTo6RmxvYXRTaXplPiBNb21lbnR1bUV2ZW50RGlzcGF0
Y2hlcjo6Y29tcHUKIAogICAgIGF1dG8gcXVhbnRpemVkVW5hY2NlbGVyYXRlZERlbHRhID0gdW5h
Y2NlbGVyYXRlZERlbHRhOwogCi0jaWYgVVNFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJF
TUFUVVJFX1JPVU5ESU5HKQorI2lmIEVOQUJMRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BS
RU1BVFVSRV9ST1VORElORykKICAgICAvLyBSb3VuZCBhbmQgY2FycnkuCiAgICAgaW50MzJfdCBx
dWFudGl6ZWRYID0gc3RkOjpyb3VuZChxdWFudGl6ZWRVbmFjY2VsZXJhdGVkRGVsdGEud2lkdGgo
KSk7CiAgICAgaW50MzJfdCBxdWFudGl6ZWRZID0gc3RkOjpyb3VuZChxdWFudGl6ZWRVbmFjY2Vs
ZXJhdGVkRGVsdGEuaGVpZ2h0KCkpOwpAQCAtNDQxLDkgKzQ3OCwxMSBAQCBzdGQ6OnBhaXI8V2Vi
Q29yZTo6RmxvYXRTaXplLCBXZWJDb3JlOjpGbG9hdFNpemU+IE1vbWVudHVtRXZlbnREaXNwYXRj
aGVyOjpjb21wdQogICAgICAgICBmbG9hdCBhdmVyYWdlRnJhbWVJbnRlcnZhbE1TID0gYXZlcmFn
ZUZyYW1lSW50ZXJ2YWwubWlsbGlzZWNvbmRzKCk7CiAgICAgICAgIGZsb2F0IGF2ZXJhZ2VEZWx0
YSA9IHRvdGFsRGVsdGEgLyBjb3VudDsKIAotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAg
ICAgICBpZiAoIW1fY3VycmVudEdlc3R1cmUuZGlkTG9nSW5pdGlhbFF1ZXVlU3RhdGUpCisjaWYg
RU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZX0xPR0dJTkcpCisgICAg
ICAgIGlmICghbV9jdXJyZW50R2VzdHVyZS5kaWRMb2dJbml0aWFsUXVldWVTdGF0ZSkgewogICAg
ICAgICAgICAgUkVMRUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywgIk1vbWVudHVtRXZlbnREaXNw
YXRjaGVyIGluaXRpYWwgaGlzdG9yaWNhbCBkZWx0YXM6IGF2ZXJhZ2UgZGVsdGEgJWYsIGF2ZXJh
Z2UgdGltZSAlZm1zLCBldmVudCBjb3VudCAlZCIsIGF2ZXJhZ2VEZWx0YSwgYXZlcmFnZUZyYW1l
SW50ZXJ2YWxNUywgY291bnQpOworICAgICAgICAgICAgbV9jdXJyZW50R2VzdHVyZS5kaWRMb2dJ
bml0aWFsUXVldWVTdGF0ZSA9IHRydWU7CisgICAgICAgIH0KICNlbmRpZgogCiAgICAgICAgIGNv
bnN0ZXhwciBmbG9hdCB2ZWxvY2l0eUdhaW5BID0gZnJvbUZpeGVkUG9pbnQoMi5mKTsKQEAgLTQ2
NCwxMSArNTAzLDM2IEBAIHN0ZDo6cGFpcjxXZWJDb3JlOjpGbG9hdFNpemUsIFdlYkNvcmU6OkZs
b2F0U2l6ZT4gTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmNvbXB1CiAgICAgICAgIGFjY2VsZXJh
dGVBeGlzKG1fZGVsdGFIaXN0b3J5WSwgcXVhbnRpemVkVW5hY2NlbGVyYXRlZERlbHRhLmhlaWdo
dCgpKQogICAgICk7CiAKLSAgICBtX2N1cnJlbnRHZXN0dXJlLmRpZExvZ0luaXRpYWxRdWV1ZVN0
YXRlID0gdHJ1ZTsKLQogICAgIHJldHVybiB7IHVuYWNjZWxlcmF0ZWREZWx0YSwgYWNjZWxlcmF0
ZWREZWx0YSB9OwogfQogCisjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVN
UE9SQVJZX0xPR0dJTkcpCisKK3ZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnB1c2hMb2dF
bnRyeSgpCit7CisgICAgbV9jdXJyZW50TG9nU3RhdGUudGltZSA9IE1vbm90b25pY1RpbWU6Om5v
dygpOworICAgIG1fbG9nLmFwcGVuZChtX2N1cnJlbnRMb2dTdGF0ZSk7Cit9CisKK3ZvaWQgTW9t
ZW50dW1FdmVudERpc3BhdGNoZXI6OmZsdXNoTG9nKCkKK3sKKyAgICBpZiAoKE1vbm90b25pY1Rp
bWU6Om5vdygpIC0gbV9jdXJyZW50TG9nU3RhdGUudGltZSkgPCA1MDBfbXMpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChtX2xvZy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGF1dG8gc3RhcnRUaW1lID0gbV9sb2dbMF0udGltZTsKKyAgICBSRUxFQVNFX0xPRyhTY3JvbGxB
bmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgZXZlbnQgbG9nOiB0aW1lLGdlbmVy
YXRlZE9mZnNldCxnZW5lcmF0ZWRQaGFzZSxldmVudE9mZnNldCxldmVudFBoYXNlIik7CisgICAg
Zm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1fbG9nKQorICAgICAgICBSRUxFQVNFX0xPRyhTY3Jv
bGxBbmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgZXZlbnQgbG9nOiAlZiwlZiwl
ZCwlZiwlZCIsIChlbnRyeS50aW1lIC0gc3RhcnRUaW1lKS5zZWNvbmRzKCksIGVudHJ5LnRvdGFs
R2VuZXJhdGVkT2Zmc2V0LCBlbnRyeS5sYXRlc3RHZW5lcmF0ZWRQaGFzZSwgZW50cnkudG90YWxF
dmVudE9mZnNldCwgZW50cnkubGF0ZXN0RXZlbnRQaGFzZSk7CisKKyAgICBtX2xvZy5jbGVhcigp
OworICAgIG1fY3VycmVudExvZ1N0YXRlID0geyB9OworfQorCisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmgKaW5kZXggMTgzZDUzMjhk
ZGJmODlmYjg0MDVhYTZmNjlkMGVlOTZjYzgyYzMxYy4uNmY1MWRkMjlkNGVjYmYwNzJmMTc0NmQ3
OWI4ZGY1M2NiNDg0MTcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5oCkBAIC0yOCw4ICsyOCw4IEBA
CiAjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVIpCiAKIC8vIEZJWE1FOiBSZW1v
dmUgdGhpcyBvbmNlIHdlIGRlY2lkZSB3aGljaCB2ZXJzaW9uIHdlIHdhbnQuCi0jZGVmaW5lIFVT
RV9NT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BSRU1BVFVSRV9ST1VORElORyAwCi0jZGVmaW5l
IFVTRV9NT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HIDEKKyNkZWZp
bmUgRU5BQkxFX01PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJFTUFUVVJFX1JPVU5ESU5HIDAK
KyNkZWZpbmUgRU5BQkxFX01PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZX0xPR0dJ
TkcgMQogCiAjaW5jbHVkZSAiRGlzcGxheUxpbmtPYnNlcnZlcklELmgiCiAjaW5jbHVkZSAiU2Ny
b2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUuaCIKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL0Zsb2F0U2l6ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUlkZW50aWZpZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1JlY3RFZGdlcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVGltZXIu
aD4KICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8
d3RmL01vbm90b25pY1RpbWUuaD4KQEAgLTkwLDYgKzkxLDI2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBkaWRSZWNlaXZlU2Nyb2xsRXZlbnRXaXRoSW50ZXJ2YWwoV2ViQ29yZTo6RmxvYXRTaXplLCBT
ZWNvbmRzKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTY3JvbGxFdmVudChjb25zdCBXZWJXaGVlbEV2
ZW50Jik7CiAKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllf
TE9HR0lORykKKyAgICB2b2lkIHB1c2hMb2dFbnRyeSgpOworICAgIHZvaWQgZmx1c2hMb2coKTsK
KworICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX2xhc3RBY3RpdmVQaGFzZURlbHRhOworCisgICAg
c3RydWN0IExvZ0VudHJ5IHsKKyAgICAgICAgTW9ub3RvbmljVGltZSB0aW1lOworCisgICAgICAg
IGZsb2F0IHRvdGFsR2VuZXJhdGVkT2Zmc2V0IHsgMCB9OworICAgICAgICBmbG9hdCB0b3RhbEV2
ZW50T2Zmc2V0IHsgMCB9OworCisgICAgICAgIHVpbnQzMl90IGxhdGVzdEdlbmVyYXRlZFBoYXNl
IHsgMCB9OworICAgICAgICB1aW50MzJfdCBsYXRlc3RFdmVudFBoYXNlIHsgMCB9OworICAgIH07
CisgICAgTG9nRW50cnkgbV9jdXJyZW50TG9nU3RhdGU7CisgICAgVmVjdG9yPExvZ0VudHJ5PiBt
X2xvZzsKKyAgICBib29sIG1fZW5hYmxlTG9nIHsgZmFsc2UgfTsKKyNlbmRpZgorCiAgICAgc3Ry
dWN0IERlbHRhIHsKICAgICAgICAgZmxvYXQgcmF3UGxhdGZvcm1EZWx0YTsKICAgICAgICAgU2Vj
b25kcyBmcmFtZUludGVydmFsOwpAQCAtMTAzLDkgKzEyNCw2IEBAIHByaXZhdGU6CiAgICAgV2Fs
bFRpbWUgbV9sYXN0RW5kZWRFdmVudFRpbWVzdGFtcDsKICAgICBzdGQ6Om9wdGlvbmFsPFdlYldo
ZWVsRXZlbnQ+IG1fbGFzdEluY29taW5nRXZlbnQ7CiAgICAgV2ViQ29yZTo6UmVjdEVkZ2VzPGJv
b2w+IG1fbGFzdFJ1YmJlckJhbmRhYmxlRWRnZXM7Ci0jaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
Ci0gICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fbGFzdEFjdGl2ZVBoYXNlRGVsdGE7Ci0jZW5kaWYK
IAogICAgIHN0cnVjdCB7CiAgICAgICAgIGJvb2wgYWN0aXZlIHsgZmFsc2UgfTsKQEAgLTExOSwx
MiArMTM3LDEyIEBAIHByaXZhdGU6CiAKICAgICAgICAgVmVjdG9yPFdlYkNvcmU6OkZsb2F0U2l6
ZT4gb2Zmc2V0VGFibGU7CiAKLSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUo
TU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKICAgICAgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIGFjY3VtdWxhdGVkRXZlbnRPZmZzZXQ7CiAgICAgICAgIGJvb2wgZGlk
TG9nSW5pdGlhbFF1ZXVlU3RhdGUgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNpZiBVU0UoTU9NRU5U
VU1fRVZFTlRfRElTUEFUQ0hFUl9QUkVNQVRVUkVfUk9VTkRJTkcpCisjaWYgRU5BQkxFKE1PTUVO
VFVNX0VWRU5UX0RJU1BBVENIRVJfUFJFTUFUVVJFX1JPVU5ESU5HKQogICAgICAgICBXZWJDb3Jl
OjpGbG9hdFNpemUgY2FycnlPZmZzZXQ7CiAjZW5kaWYKICAgICB9IG1fY3VycmVudEdlc3R1cmU7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445843</attachid>
            <date>2021-12-03 04:31:18 -0800</date>
            <delta_ts>2021-12-03 11:24:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233811-20211203043117.patch</filename>
            <type>text/plain</type>
            <size>15055</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmZWRiOWQ1NjY5ZDkxMmZi
ZjI3OWNiNGRjZTEyZmEzYTYwNjQ3ZjIuLmFlNTQ5YTYzNDZkNTBmMzQ4Nzk0M2RlYjUyNTc0ZmNj
MGFhZWMzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjEtMTItMDMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIG1vcmUgbG9nZ2lu
ZyBmb3IgTW9tZW50dW1FdmVudERpc3BhdGNoZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBvZmYtYnktZGVmYXVsdCBidXQgZW5hYmxlYWJs
ZS12aWEtTlNVc2VyRGVmYXVsdHMgZXZlbnQgbG9nCisgICAgICAgIHRvIE1vbWVudHVtRXZlbnRE
aXNwYXRjaGVyLCB0byBkZWJ1ZyBkZWx0YS9vZmZzZXQvY3VydmUgaXNzdWVzLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oOgorICAgICAgICAoV2ViS2l0
OjpFdmVudERpc3BhdGNoZXI6OnF1ZXVlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
TW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpNb21lbnR1bUV2
ZW50RGlzcGF0Y2hlcjo6TW9tZW50dW1FdmVudERpc3BhdGNoZXIpOgorICAgICAgICBSZWFkIGEg
ZGVmYXVsdCB0byBlbmFibGUgbG9nZ2luZy4gVGhpcyBpcyBxdWl0ZSBkaXJ0eSwgYW5kIGR5bmFt
aWMKKyAgICAgICAgY2hhbmdlcyB3b24ndCB3b3JrICh5b3UgaGF2ZSB0byByZXN0YXJ0IHRoZSBh
cHApLCBidXQgZm9yIHRlbXBvcmFyeSB1c2UKKyAgICAgICAgaXQgaXMgZmluZS4KKworICAgICAg
ICAoV2ViS2l0OjpNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6aGFuZGxlV2hlZWxFdmVudCk6Cisg
ICAgICAgIEFjY3VtdWxhdGUgZXZlbnQgZGVsdGFzLiBBbHNvIGFjY3VtdWxhdGUgZXZlbnQgZGVs
dGFzIGZvciB0aGUKKyAgICAgICAgZmluZ2Vycy1kb3duIHBoYXNlIGluIHRoZSAiZ2VuZXJhdGVk
IiBvZmZzZXQuIFN0b3JlIHRoZSBwaGFzZSBhbmQgCisgICAgICAgIG1vbWVudHVtIHBoYXNlIHNt
b29zaGVkIGludG8gYSBzaW5nbGUgZmllbGQuCisKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1F
dmVudERpc3BhdGNoZXI6OmRpc3BhdGNoU3ludGhldGljTW9tZW50dW1FdmVudCk6CisgICAgICAg
IEFjY3VtdWxhdGUgZ2VuZXJhdGVkIGRlbHRhcy4KKworICAgICAgICAoV2ViS2l0OjpNb21lbnR1
bUV2ZW50RGlzcGF0Y2hlcjo6ZGlkRW5kTW9tZW50dW1QaGFzZSk6CisgICAgICAgIEF0dGVtcHQg
dG8gZHVtcCB0aGUgbG9nIDEgc2Vjb25kIGFmdGVyIGVhY2ggbW9tZW50dW0gcGhhc2UuIFdlJ2xs
IHNraXAKKyAgICAgICAgaXQgaWYgYW5vdGhlciBzY3JvbGwgaGFzIHN0YXJ0ZWQgc2luY2UuCisK
KyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnNldFNjcm9sbGluZ0Fj
Y2VsZXJhdGlvbkN1cnZlKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNo
ZXI6OnN0YXJ0RGlzcGxheUxpbmspOgorICAgICAgICAoV2ViS2l0OjpNb21lbnR1bUV2ZW50RGlz
cGF0Y2hlcjo6c3RvcERpc3BsYXlMaW5rKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVu
dERpc3BhdGNoZXI6OmNvbnN1bWVEZWx0YUZvckN1cnJlbnRUaW1lKToKKyAgICAgICAgKFdlYktp
dDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERl
bHRhKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmNvbXB1dGVO
ZXh0RGVsdGEpOgorICAgICAgICBBZG9wdCBtb3JlIE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJf
VEVNUE9SQVJZX0xPR0dJTkcuIEVycm9yIGxvZ2dpbmcKKyAgICAgICAgd2UgbGVhdmUgb3V0c2lk
ZSBvZiB0aGlzLCBiZWNhdXNlIHRoYXQgd2UnbGwga2VlcCBhcm91bmQuCisKKyAgICAgICAgKFdl
YktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnB1c2hMb2dFbnRyeSk6CisgICAgICAgIChX
ZWJLaXQ6Ok1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpmbHVzaExvZyk6CisgICAgICAgIER1bXAg
dGhlIGV2ZW50IGxvZyBpbiBhbiBlYXN5LXRvLWNvcHktaW50by1hLUNTViBmb3JtYXQuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaDoKKwog
MjAyMS0xMi0wMyAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE5ldHdvcmsgcHJvY2VzcyBkb2VzIG5vdCBzZWVtIHRvIGluaXRpYWxpemUgbG9nZ2luZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRj
aGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIu
aAppbmRleCBlNDc3ZmI4NzNiODcxMTU3NzZlNzNjMTc2NjllZjVkNDliYzBhN2UxLi4yODg5OTRl
NDhhYzdlZjA5MjQ3OGQxMTFhNmM2NDA5N2JjNzhmOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaApAQCAtNjQsNiArNjQsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxFdmVudERpc3BhdGNoZXI+IGNyZWF0ZSgpOwogICAg
IH5FdmVudERpc3BhdGNoZXIoKTsKIAorICAgIFdvcmtRdWV1ZSYgcXVldWUoKSB7IHJldHVybiBt
X3F1ZXVlLmdldCgpOyB9CisKICNpZiBFTkFCTEUoU0NST0xMSU5HX1RIUkVBRCkKICAgICB2b2lk
IGFkZFNjcm9sbGluZ1RyZWVGb3JQYWdlKFdlYlBhZ2UqKTsKICAgICB2b2lkIHJlbW92ZVNjcm9s
bGluZ1RyZWVGb3JQYWdlKFdlYlBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcAppbmRleCA2
ODc5MTc0YWEwOTRhNWNiY2E2OTA3NTliYjExNmM3OGQ1ZjI4NTA2Li44MzA4ZDVlMDA0ODUwNDYx
NTcxZjQyY2RiZGRmYjNiNWEzYWUzNTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwCkBAIC00
Niw2ICs0Niw5IEBAIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpNb21lbnR1bUV2ZW50RGlzcGF0
Y2hlcihFdmVudERpc3BhdGNoZXImIGRpc3BhdGNoZXIpCiAgICAgOiBtX29ic2VydmVySUQoRGlz
cGxheUxpbmtPYnNlcnZlcklEOjpnZW5lcmF0ZSgpKQogICAgICwgbV9kaXNwYXRjaGVyKGRpc3Bh
dGNoZXIpCiB7CisjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZ
X0xPR0dJTkcpCisgICAgbV9lbmFibGVMb2cgPSBDRlByZWZlcmVuY2VzR2V0QXBwQm9vbGVhblZh
bHVlKENGU1RSKCJXZWJLaXRNb21lbnR1bUV2ZW50RGlzcGF0Y2hlckV4cGVuc2l2ZUxvZ2dpbmci
KSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24sIG51bGxwdHIpOworI2VuZGlmCiB9
CiAKIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjp+TW9tZW50dW1FdmVudERpc3BhdGNoZXIoKQpA
QCAtOTMsOCArOTYsMTAgQEAgYm9vbCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6aGFuZGxlV2hl
ZWxFdmVudChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSWRlbnQKICAgICBpZiAoZXZlbnQu
cGhhc2UoKSA9PSBXZWJXaGVlbEV2ZW50OjpQaGFzZUJlZ2FuIHx8IGV2ZW50LnBoYXNlKCkgPT0g
V2ViV2hlZWxFdmVudDo6UGhhc2VDaGFuZ2VkKSB7CiAgICAgICAgIGRpZFJlY2VpdmVTY3JvbGxF
dmVudChldmVudCk7CiAKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1Q
T1JBUllfTE9HR0lORykKICAgICAgICAgaWYgKGF1dG8gbGFzdEFjdGl2ZVBoYXNlRGVsdGEgPSBl
dmVudC5yYXdQbGF0Zm9ybURlbHRhKCkpCiAgICAgICAgICAgICBtX2xhc3RBY3RpdmVQaGFzZURl
bHRhID0gKmxhc3RBY3RpdmVQaGFzZURlbHRhOworI2VuZGlmCiAgICAgfQogCiAgICAgaWYgKGV2
ZW50LnBoYXNlKCkgPT0gV2ViV2hlZWxFdmVudDo6UGhhc2VFbmRlZCkKQEAgLTEwNSw5ICsxMTAs
MjIgQEAgYm9vbCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6aGFuZGxlV2hlZWxFdmVudChXZWJD
b3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSWRlbnQKIAogICAgIGJvb2wgaXNNb21lbnR1bUV2ZW50
RHVyaW5nU3ludGhldGljR2VzdHVyZSA9IGlzTW9tZW50dW1FdmVudCAmJiBtX2N1cnJlbnRHZXN0
dXJlLmFjdGl2ZTsKIAotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorI2lmIEVOQUJMRShNT01F
TlRVTV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQogICAgIGlmIChpc01vbWVu
dHVtRXZlbnREdXJpbmdTeW50aGV0aWNHZXN0dXJlKQogICAgICAgICBtX2N1cnJlbnRHZXN0dXJl
LmFjY3VtdWxhdGVkRXZlbnRPZmZzZXQgKz0gZXZlbnQuZGVsdGEoKTsKKworICAgIGlmIChtX2Vu
YWJsZUxvZykgeworICAgICAgICBhdXRvIGNvbWJpbmVkUGhhc2UgPSAoZXZlbnQucGhhc2UoKSA8
PCA4KSB8IChldmVudC5tb21lbnR1bVBoYXNlKCkpOworICAgICAgICBtX2N1cnJlbnRMb2dTdGF0
ZS5sYXRlc3RFdmVudFBoYXNlID0gY29tYmluZWRQaGFzZTsKKyAgICAgICAgbV9jdXJyZW50TG9n
U3RhdGUudG90YWxFdmVudE9mZnNldCArPSBldmVudC5kZWx0YSgpLmhlaWdodCgpOworICAgICAg
ICBpZiAoIWlzTW9tZW50dW1FdmVudER1cmluZ1N5bnRoZXRpY0dlc3R1cmUpIHsKKyAgICAgICAg
ICAgIC8vIExvZyBldmVudHMgdGhhdCB3ZSBkb24ndCBibG9jayB0byB0aGUgZ2VuZXJhdGVkIG9m
ZnNldHMgbG9nIGFzIHdlbGwsCisgICAgICAgICAgICAvLyBldmVuIHRob3VnaCB3ZSBkaWRuJ3Qg
dGVjaG5pY2FsbHkgZ2VuZXJhdGUgdGhlbSwganVzdCBwYXNzZWQgdGhlbSB0aHJvdWdoLgorICAg
ICAgICAgICAgbV9jdXJyZW50TG9nU3RhdGUubGF0ZXN0R2VuZXJhdGVkUGhhc2UgPSBjb21iaW5l
ZFBoYXNlOworICAgICAgICAgICAgbV9jdXJyZW50TG9nU3RhdGUudG90YWxHZW5lcmF0ZWRPZmZz
ZXQgKz0gZXZlbnQuZGVsdGEoKS5oZWlnaHQoKTsKKyAgICAgICAgfQorICAgICAgICBwdXNoTG9n
RW50cnkoKTsKKyAgICB9CiAjZW5kaWYKIAogICAgIC8vIENvbnN1bWUgYW55IG5vcm1hbCBtb21l
bnR1bSBldmVudHMgd2hpbGUgd2UncmUgaW5zaWRlIGEgc3ludGhldGljIG1vbWVudHVtIGdlc3R1
cmUuCkBAIC0xNTksNiArMTc3LDE0IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRp
c3BhdGNoU3ludGhldGljTW9tZW50dW1FdmVudChXZWJXaGVlbEV2ZW50OjpQaGFzCiAgICAgICAg
IHRpbWUsCiAgICAgICAgIHsgfSk7CiAgICAgbV9kaXNwYXRjaGVyLmludGVybmFsV2hlZWxFdmVu
dChtX2N1cnJlbnRHZXN0dXJlLnBhZ2VJZGVudGlmaWVyLCBzeW50aGV0aWNFdmVudCwgbV9sYXN0
UnViYmVyQmFuZGFibGVFZGdlcywgRXZlbnREaXNwYXRjaGVyOjpXaGVlbEV2ZW50T3JpZ2luOjpN
b21lbnR1bUV2ZW50RGlzcGF0Y2hlcik7CisKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElT
UEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKKyAgICBpZiAobV9lbmFibGVMb2cpIHsKKyAgICAg
ICAgbV9jdXJyZW50TG9nU3RhdGUubGF0ZXN0R2VuZXJhdGVkUGhhc2UgPSBwaGFzZTsKKyAgICAg
ICAgbV9jdXJyZW50TG9nU3RhdGUudG90YWxHZW5lcmF0ZWRPZmZzZXQgKz0gYXBwS2l0QWNjZWxl
cmF0ZWREZWx0YS5oZWlnaHQoKTsKKyAgICAgICAgcHVzaExvZ0VudHJ5KCk7CisgICAgfQorI2Vu
ZGlmCiB9CiAKIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRpZFN0YXJ0TW9tZW50dW1Q
aGFzZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSWRlbnRpZmllciwgY29uc3QgV2ViV2hl
ZWxFdmVudCYgZXZlbnQpCkBAIC0xOTQsNyArMjIwLDEyIEBAIHZvaWQgTW9tZW50dW1FdmVudERp
c3BhdGNoZXI6OmRpZEVuZE1vbWVudHVtUGhhc2UoKQogCiAgICAgZGlzcGF0Y2hTeW50aGV0aWNN
b21lbnR1bUV2ZW50KFdlYldoZWVsRXZlbnQ6OlBoYXNlRW5kZWQsIHsgfSk7CiAKKyNpZiBFTkFC
TEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKICAgICBSRUxF
QVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgc2F3IG1v
bWVudHVtIGVuZCBwaGFzZSB3aXRoIHRvdGFsIG9mZnNldCAlLjFmICUuMWYsIGR1cmF0aW9uICVm
IChldmVudCBvZmZzZXQgd291bGQgaGF2ZSBiZWVuICUuMWYgJS4xZikiLCBtX2N1cnJlbnRHZXN0
dXJlLmN1cnJlbnRPZmZzZXQud2lkdGgoKSwgbV9jdXJyZW50R2VzdHVyZS5jdXJyZW50T2Zmc2V0
LmhlaWdodCgpLCAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2N1cnJlbnRHZXN0dXJlLnN0YXJ0
VGltZSkuc2Vjb25kcygpLCBtX2N1cnJlbnRHZXN0dXJlLmFjY3VtdWxhdGVkRXZlbnRPZmZzZXQu
d2lkdGgoKSwgbV9jdXJyZW50R2VzdHVyZS5hY2N1bXVsYXRlZEV2ZW50T2Zmc2V0LmhlaWdodCgp
KTsKKyAgICBtX2Rpc3BhdGNoZXIucXVldWUoKS5kaXNwYXRjaEFmdGVyKDFfcywgW3RoaXNdIHsK
KyAgICAgICAgZmx1c2hMb2coKTsKKyAgICB9KTsKKyNlbmRpZgogCiAgICAgc3RvcERpc3BsYXlM
aW5rKCk7CiAKQEAgLTIwNSw3ICsyMzYsNyBAQCB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVy
OjpzZXRTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZShXZWJDb3JlOjpQYWdlSWRlbnRpZgogewog
ICAgIG1fYWNjZWxlcmF0aW9uQ3VydmVzLnNldChwYWdlSWRlbnRpZmllciwgY3VydmUpOwogCi0j
aWYgVVNFX01PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZX0xPR0dJTkcKKyNpZiBF
TkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKICAgICBX
VEY6OlRleHRTdHJlYW0gc3RyZWFtKFdURjo6VGV4dFN0cmVhbTo6TGluZU1vZGU6OlNpbmdsZUxp
bmUpOwogICAgIHN0cmVhbSA8PCBjdXJ2ZTsKICAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRp
b25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgc2V0IGN1cnZlICVzIiwgc3RyZWFtLnJlbGVh
c2UoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTIzMSw3ICsyNjIsOSBAQCB2b2lkIE1vbWVudHVtRXZl
bnREaXNwYXRjaGVyOjpzdGFydERpc3BsYXlMaW5rKCkKIAogICAgIC8vIEZJWE1FOiBTd2l0Y2gg
ZG93biB0byBsb3dlci10aGFuLWZ1bGwtc3BlZWQgZnJhbWUgcmF0ZXMgZm9yIHRoZSB0YWlsIGVu
ZCBvZiB0aGUgY3VydmUuCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vz
c0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpTdGFydERpc3Bs
YXlMaW5rKG1fb2JzZXJ2ZXJJRCwgZGlzcGxheUlELCBXZWJDb3JlOjpGdWxsU3BlZWRGcmFtZXNQ
ZXJTZWNvbmQpLCAwKTsKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1Q
T1JBUllfTE9HR0lORykKICAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50
dW1FdmVudERpc3BhdGNoZXIgc3RhcnRpbmcgZGlzcGxheSBsaW5rIGZvciBkaXNwbGF5ICVkIiwg
ZGlzcGxheUlEKTsKKyNlbmRpZgogfQogCiB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpz
dG9wRGlzcGxheUxpbmsoKQpAQCAtMjQzLDcgKzI3Niw5IEBAIHZvaWQgTW9tZW50dW1FdmVudERp
c3BhdGNoZXI6OnN0b3BEaXNwbGF5TGluaygpCiAgICAgfQogCiAgICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJv
Y2Vzc1Byb3h5OjpTdG9wRGlzcGxheUxpbmsobV9vYnNlcnZlcklELCBkaXNwbGF5SUQpLCAwKTsK
KyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykK
ICAgICBSRUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNo
ZXIgc3RvcHBpbmcgZGlzcGxheSBsaW5rIGZvciBkaXNwbGF5ICVkIiwgZGlzcGxheUlEKTsKKyNl
bmRpZgogfQogCiB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpwYWdlU2NyZWVuRGlkQ2hh
bmdlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViQ29yZTo6UGxhdGZvcm1EaXNw
bGF5SUQgZGlzcGxheUlEKQpAQCAtMjYzLDcgKzI5OCw3IEBAIFdlYkNvcmU6OkZsb2F0U2l6ZSBN
b21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6Y29uc3VtZURlbHRhRm9yQ3VycmVudFRpbWUoKQogICAg
IGF1dG8gYW5pbWF0aW9uVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9jdXJyZW50R2Vz
dHVyZS5zdGFydFRpbWU7CiAgICAgYXV0byBkZXNpcmVkT2Zmc2V0ID0gb2Zmc2V0QXRUaW1lKGFu
aW1hdGlvblRpbWUpOwogCi0jaWYgIVVTRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BSRU1B
VFVSRV9ST1VORElORykKKyNpZiAhRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJF
TUFUVVJFX1JPVU5ESU5HKQogICAgIC8vIEludGVudGlvbmFsIGRlbHRhIHJvdW5kaW5nIChidXQg
YXQgdGhlIGVuZCEpLgogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBkZWx0YSA9IHJvdW5kZWRJbnRT
aXplKGRlc2lyZWRPZmZzZXQgLSBtX2N1cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQpOwogI2Vs
c2UKQEAgLTMyNiw3ICszNjEsNyBAQCB2b2lkIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpkaWRS
ZWNlaXZlU2Nyb2xsRXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYgZXZlbnQpCiAKIHZvaWQgTW9t
ZW50dW1FdmVudERpc3BhdGNoZXI6OmJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERlbHRhKFdl
YkNvcmU6OkZsb2F0U2l6ZSBpbml0aWFsVW5hY2NlbGVyYXRlZERlbHRhKQogewotI2lmIFVTRShN
T01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BSRU1BVFVSRV9ST1VORElORykKKyNpZiBFTkFCTEUo
TU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9QUkVNQVRVUkVfUk9VTkRJTkcpCiAgICAgbV9jdXJy
ZW50R2VzdHVyZS5jYXJyeU9mZnNldCA9IHsgfTsKICNlbmRpZgogICAgIG1fY3VycmVudEdlc3R1
cmUub2Zmc2V0VGFibGUuY2xlYXIoKTsKQEAgLTM0Miw3ICszNzcsOSBAQCB2b2lkIE1vbWVudHVt
RXZlbnREaXNwYXRjaGVyOjpidWlsZE9mZnNldFRhYmxlV2l0aEluaXRpYWxEZWx0YShXZWJDb3Jl
OjpGbG9hdFNpegogICAgICAgICBtX2N1cnJlbnRHZXN0dXJlLm9mZnNldFRhYmxlLmFwcGVuZChh
Y2N1bXVsYXRlZE9mZnNldCk7CiAgICAgfSB3aGlsZSAoc3RkOjphYnModW5hY2NlbGVyYXRlZERl
bHRhLndpZHRoKCkpID4gMC41IHx8IHN0ZDo6YWJzKHVuYWNjZWxlcmF0ZWREZWx0YS5oZWlnaHQo
KSkgPiAwLjUpOwogCisjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9S
QVJZX0xPR0dJTkcpCiAgICAgUkVMRUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywgIk1vbWVudHVt
RXZlbnREaXNwYXRjaGVyIGJ1aWx0IHRhYmxlIHdpdGggJWxkIGZyYW1lcywgaW5pdGlhbCBkZWx0
YSAlZiAlZiwgZGlzdGFuY2UgJWYgJWYgKGluaXRpYWwgZGVsdGEgZnJvbSBsYXN0IGNoYW5nZWQg
ZXZlbnQgJWYgJWYpIiwgbV9jdXJyZW50R2VzdHVyZS5vZmZzZXRUYWJsZS5zaXplKCksIGluaXRp
YWxVbmFjY2VsZXJhdGVkRGVsdGEud2lkdGgoKSwgaW5pdGlhbFVuYWNjZWxlcmF0ZWREZWx0YS5o
ZWlnaHQoKSwgYWNjdW11bGF0ZWRPZmZzZXQud2lkdGgoKSwgYWNjdW11bGF0ZWRPZmZzZXQuaGVp
Z2h0KCksIG1fbGFzdEFjdGl2ZVBoYXNlRGVsdGEud2lkdGgoKSwgbV9sYXN0QWN0aXZlUGhhc2VE
ZWx0YS5oZWlnaHQoKSk7CisjZW5kaWYKIH0KIAogc3RhdGljIGZsb2F0IGludGVycG9sYXRlKGZs
b2F0IGEsIGZsb2F0IGIsIGZsb2F0IHQpCkBAIC0zOTYsNyArNDMzLDcgQEAgc3RkOjpwYWlyPFdl
YkNvcmU6OkZsb2F0U2l6ZSwgV2ViQ29yZTo6RmxvYXRTaXplPiBNb21lbnR1bUV2ZW50RGlzcGF0
Y2hlcjo6Y29tcHUKIAogICAgIGF1dG8gcXVhbnRpemVkVW5hY2NlbGVyYXRlZERlbHRhID0gdW5h
Y2NlbGVyYXRlZERlbHRhOwogCi0jaWYgVVNFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJF
TUFUVVJFX1JPVU5ESU5HKQorI2lmIEVOQUJMRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BS
RU1BVFVSRV9ST1VORElORykKICAgICAvLyBSb3VuZCBhbmQgY2FycnkuCiAgICAgaW50MzJfdCBx
dWFudGl6ZWRYID0gc3RkOjpyb3VuZChxdWFudGl6ZWRVbmFjY2VsZXJhdGVkRGVsdGEud2lkdGgo
KSk7CiAgICAgaW50MzJfdCBxdWFudGl6ZWRZID0gc3RkOjpyb3VuZChxdWFudGl6ZWRVbmFjY2Vs
ZXJhdGVkRGVsdGEuaGVpZ2h0KCkpOwpAQCAtNDQxLDkgKzQ3OCwxMSBAQCBzdGQ6OnBhaXI8V2Vi
Q29yZTo6RmxvYXRTaXplLCBXZWJDb3JlOjpGbG9hdFNpemU+IE1vbWVudHVtRXZlbnREaXNwYXRj
aGVyOjpjb21wdQogICAgICAgICBmbG9hdCBhdmVyYWdlRnJhbWVJbnRlcnZhbE1TID0gYXZlcmFn
ZUZyYW1lSW50ZXJ2YWwubWlsbGlzZWNvbmRzKCk7CiAgICAgICAgIGZsb2F0IGF2ZXJhZ2VEZWx0
YSA9IHRvdGFsRGVsdGEgLyBjb3VudDsKIAotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAg
ICAgICBpZiAoIW1fY3VycmVudEdlc3R1cmUuZGlkTG9nSW5pdGlhbFF1ZXVlU3RhdGUpCisjaWYg
RU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZX0xPR0dJTkcpCisgICAg
ICAgIGlmICghbV9jdXJyZW50R2VzdHVyZS5kaWRMb2dJbml0aWFsUXVldWVTdGF0ZSkgewogICAg
ICAgICAgICAgUkVMRUFTRV9MT0coU2Nyb2xsQW5pbWF0aW9ucywgIk1vbWVudHVtRXZlbnREaXNw
YXRjaGVyIGluaXRpYWwgaGlzdG9yaWNhbCBkZWx0YXM6IGF2ZXJhZ2UgZGVsdGEgJWYsIGF2ZXJh
Z2UgdGltZSAlZm1zLCBldmVudCBjb3VudCAlZCIsIGF2ZXJhZ2VEZWx0YSwgYXZlcmFnZUZyYW1l
SW50ZXJ2YWxNUywgY291bnQpOworICAgICAgICAgICAgbV9jdXJyZW50R2VzdHVyZS5kaWRMb2dJ
bml0aWFsUXVldWVTdGF0ZSA9IHRydWU7CisgICAgICAgIH0KICNlbmRpZgogCiAgICAgICAgIGNv
bnN0ZXhwciBmbG9hdCB2ZWxvY2l0eUdhaW5BID0gZnJvbUZpeGVkUG9pbnQoMi5mKTsKQEAgLTQ2
NCwxMSArNTAzLDM2IEBAIHN0ZDo6cGFpcjxXZWJDb3JlOjpGbG9hdFNpemUsIFdlYkNvcmU6OkZs
b2F0U2l6ZT4gTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmNvbXB1CiAgICAgICAgIGFjY2VsZXJh
dGVBeGlzKG1fZGVsdGFIaXN0b3J5WSwgcXVhbnRpemVkVW5hY2NlbGVyYXRlZERlbHRhLmhlaWdo
dCgpKQogICAgICk7CiAKLSAgICBtX2N1cnJlbnRHZXN0dXJlLmRpZExvZ0luaXRpYWxRdWV1ZVN0
YXRlID0gdHJ1ZTsKLQogICAgIHJldHVybiB7IHVuYWNjZWxlcmF0ZWREZWx0YSwgYWNjZWxlcmF0
ZWREZWx0YSB9OwogfQogCisjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVN
UE9SQVJZX0xPR0dJTkcpCisKK3ZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnB1c2hMb2dF
bnRyeSgpCit7CisgICAgbV9jdXJyZW50TG9nU3RhdGUudGltZSA9IE1vbm90b25pY1RpbWU6Om5v
dygpOworICAgIG1fbG9nLmFwcGVuZChtX2N1cnJlbnRMb2dTdGF0ZSk7Cit9CisKK3ZvaWQgTW9t
ZW50dW1FdmVudERpc3BhdGNoZXI6OmZsdXNoTG9nKCkKK3sKKyAgICBpZiAoKE1vbm90b25pY1Rp
bWU6Om5vdygpIC0gbV9jdXJyZW50TG9nU3RhdGUudGltZSkgPCA1MDBfbXMpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChtX2xvZy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGF1dG8gc3RhcnRUaW1lID0gbV9sb2dbMF0udGltZTsKKyAgICBSRUxFQVNFX0xPRyhTY3JvbGxB
bmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgZXZlbnQgbG9nOiB0aW1lLGdlbmVy
YXRlZE9mZnNldCxnZW5lcmF0ZWRQaGFzZSxldmVudE9mZnNldCxldmVudFBoYXNlIik7CisgICAg
Zm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1fbG9nKQorICAgICAgICBSRUxFQVNFX0xPRyhTY3Jv
bGxBbmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgZXZlbnQgbG9nOiAlZiwlZiwl
ZCwlZiwlZCIsIChlbnRyeS50aW1lIC0gc3RhcnRUaW1lKS5zZWNvbmRzKCksIGVudHJ5LnRvdGFs
R2VuZXJhdGVkT2Zmc2V0LCBlbnRyeS5sYXRlc3RHZW5lcmF0ZWRQaGFzZSwgZW50cnkudG90YWxF
dmVudE9mZnNldCwgZW50cnkubGF0ZXN0RXZlbnRQaGFzZSk7CisKKyAgICBtX2xvZy5jbGVhcigp
OworICAgIG1fY3VycmVudExvZ1N0YXRlID0geyB9OworfQorCisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmgKaW5kZXggMTgzZDUzMjhk
ZGJmODlmYjg0MDVhYTZmNjlkMGVlOTZjYzgyYzMxYy4uYTI2ODIzZjFiN2U5OGE3ZGI5MTI4NjI0
ODI3YTQ4NjNhMjNmMGY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50RGlzcGF0Y2hlci5oCkBAIC0yOCw4ICsyOCw4IEBA
CiAjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVIpCiAKIC8vIEZJWE1FOiBSZW1v
dmUgdGhpcyBvbmNlIHdlIGRlY2lkZSB3aGljaCB2ZXJzaW9uIHdlIHdhbnQuCi0jZGVmaW5lIFVT
RV9NT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BSRU1BVFVSRV9ST1VORElORyAwCi0jZGVmaW5l
IFVTRV9NT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HIDEKKyNkZWZp
bmUgRU5BQkxFX01PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJFTUFUVVJFX1JPVU5ESU5HIDAK
KyNkZWZpbmUgRU5BQkxFX01PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZX0xPR0dJ
TkcgMQogCiAjaW5jbHVkZSAiRGlzcGxheUxpbmtPYnNlcnZlcklELmgiCiAjaW5jbHVkZSAiU2Ny
b2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUuaCIKQEAgLTkwLDYgKzkwLDI2IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRSZWNlaXZlU2Nyb2xsRXZlbnRXaXRoSW50ZXJ2YWwoV2ViQ29yZTo6RmxvYXRT
aXplLCBTZWNvbmRzKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTY3JvbGxFdmVudChjb25zdCBXZWJX
aGVlbEV2ZW50Jik7CiAKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1Q
T1JBUllfTE9HR0lORykKKyAgICB2b2lkIHB1c2hMb2dFbnRyeSgpOworICAgIHZvaWQgZmx1c2hM
b2coKTsKKworICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX2xhc3RBY3RpdmVQaGFzZURlbHRhOwor
CisgICAgc3RydWN0IExvZ0VudHJ5IHsKKyAgICAgICAgTW9ub3RvbmljVGltZSB0aW1lOworCisg
ICAgICAgIGZsb2F0IHRvdGFsR2VuZXJhdGVkT2Zmc2V0IHsgMCB9OworICAgICAgICBmbG9hdCB0
b3RhbEV2ZW50T2Zmc2V0IHsgMCB9OworCisgICAgICAgIHVpbnQzMl90IGxhdGVzdEdlbmVyYXRl
ZFBoYXNlIHsgMCB9OworICAgICAgICB1aW50MzJfdCBsYXRlc3RFdmVudFBoYXNlIHsgMCB9Owor
ICAgIH07CisgICAgTG9nRW50cnkgbV9jdXJyZW50TG9nU3RhdGU7CisgICAgVmVjdG9yPExvZ0Vu
dHJ5PiBtX2xvZzsKKyAgICBib29sIG1fZW5hYmxlTG9nIHsgZmFsc2UgfTsKKyNlbmRpZgorCiAg
ICAgc3RydWN0IERlbHRhIHsKICAgICAgICAgZmxvYXQgcmF3UGxhdGZvcm1EZWx0YTsKICAgICAg
ICAgU2Vjb25kcyBmcmFtZUludGVydmFsOwpAQCAtMTAzLDkgKzEyMyw2IEBAIHByaXZhdGU6CiAg
ICAgV2FsbFRpbWUgbV9sYXN0RW5kZWRFdmVudFRpbWVzdGFtcDsKICAgICBzdGQ6Om9wdGlvbmFs
PFdlYldoZWVsRXZlbnQ+IG1fbGFzdEluY29taW5nRXZlbnQ7CiAgICAgV2ViQ29yZTo6UmVjdEVk
Z2VzPGJvb2w+IG1fbGFzdFJ1YmJlckJhbmRhYmxlRWRnZXM7Ci0jaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECi0gICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fbGFzdEFjdGl2ZVBoYXNlRGVsdGE7Ci0j
ZW5kaWYKIAogICAgIHN0cnVjdCB7CiAgICAgICAgIGJvb2wgYWN0aXZlIHsgZmFsc2UgfTsKQEAg
LTExOSwxMiArMTM2LDEyIEBAIHByaXZhdGU6CiAKICAgICAgICAgVmVjdG9yPFdlYkNvcmU6OkZs
b2F0U2l6ZT4gb2Zmc2V0VGFibGU7CiAKLSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyNpZiBF
TkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKICAgICAg
ICAgV2ViQ29yZTo6RmxvYXRTaXplIGFjY3VtdWxhdGVkRXZlbnRPZmZzZXQ7CiAgICAgICAgIGJv
b2wgZGlkTG9nSW5pdGlhbFF1ZXVlU3RhdGUgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNpZiBVU0Uo
TU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9QUkVNQVRVUkVfUk9VTkRJTkcpCisjaWYgRU5BQkxF
KE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJFTUFUVVJFX1JPVU5ESU5HKQogICAgICAgICBX
ZWJDb3JlOjpGbG9hdFNpemUgY2FycnlPZmZzZXQ7CiAjZW5kaWYKICAgICB9IG1fY3VycmVudEdl
c3R1cmU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445881</attachid>
            <date>2021-12-03 11:24:08 -0800</date>
            <delta_ts>2021-12-03 13:10:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233811-20211203112407.patch</filename>
            <type>text/plain</type>
            <size>14148</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmZWRiOWQ1NjY5ZDkxMmZi
ZjI3OWNiNGRjZTEyZmEzYTYwNjQ3ZjIuLmE1NjY3Y2VlNjRhN2FiZDYyYTY1OWFiNjdmYjk3NTk4
OGRmZTZmYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjEtMTItMDMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIG1vcmUgbG9nZ2lu
ZyBmb3IgTW9tZW50dW1FdmVudERpc3BhdGNoZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KKworICAgICAgICBBZGQgYSB0ZW1wb3JhcnkgZXZlbnQgbG9nIHRvIE1vbWVudHVt
RXZlbnREaXNwYXRjaGVyLCB0byBkZWJ1ZyBkZWx0YS9vZmZzZXQvY3VydmUgaXNzdWVzLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oOgorICAgICAgICAo
V2ViS2l0OjpFdmVudERpc3BhdGNoZXI6OnF1ZXVlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpNb21l
bnR1bUV2ZW50RGlzcGF0Y2hlcjo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgIEFjY3VtdWxh
dGUgZXZlbnQgZGVsdGFzLiBBbHNvIGFjY3VtdWxhdGUgZXZlbnQgZGVsdGFzIGZvciB0aGUKKyAg
ICAgICAgZmluZ2Vycy1kb3duIHBoYXNlIGluIHRoZSAiZ2VuZXJhdGVkIiBvZmZzZXQuIFN0b3Jl
IHRoZSBwaGFzZSBhbmQgCisgICAgICAgIG1vbWVudHVtIHBoYXNlIHNtb29zaGVkIGludG8gYSBz
aW5nbGUgZmllbGQuCisKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6
OmRpc3BhdGNoU3ludGhldGljTW9tZW50dW1FdmVudCk6CisgICAgICAgIEFjY3VtdWxhdGUgZ2Vu
ZXJhdGVkIGRlbHRhcy4KKworICAgICAgICAoV2ViS2l0OjpNb21lbnR1bUV2ZW50RGlzcGF0Y2hl
cjo6ZGlkRW5kTW9tZW50dW1QaGFzZSk6CisgICAgICAgIEF0dGVtcHQgdG8gZHVtcCB0aGUgbG9n
IDEgc2Vjb25kIGFmdGVyIGVhY2ggbW9tZW50dW0gcGhhc2UuIFdlJ2xsIHNraXAKKyAgICAgICAg
aXQgaWYgYW5vdGhlciBzY3JvbGwgaGFzIHN0YXJ0ZWQgc2luY2UuCisKKyAgICAgICAgKFdlYktp
dDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnNldFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZl
KToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnN0YXJ0RGlzcGxh
eUxpbmspOgorICAgICAgICAoV2ViS2l0OjpNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6c3RvcERp
c3BsYXlMaW5rKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmNv
bnN1bWVEZWx0YUZvckN1cnJlbnRUaW1lKToKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1FdmVu
dERpc3BhdGNoZXI6OmJ1aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERlbHRhKToKKyAgICAgICAg
KFdlYktpdDo6TW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmNvbXB1dGVOZXh0RGVsdGEpOgorICAg
ICAgICBBZG9wdCBtb3JlIE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfVEVNUE9SQVJZX0xPR0dJ
TkcuIEVycm9yIGxvZ2dpbmcKKyAgICAgICAgd2UgbGVhdmUgb3V0c2lkZSBvZiB0aGlzLCBiZWNh
dXNlIHRoYXQgd2UnbGwga2VlcCBhcm91bmQuCisKKyAgICAgICAgKFdlYktpdDo6TW9tZW50dW1F
dmVudERpc3BhdGNoZXI6OnB1c2hMb2dFbnRyeSk6CisgICAgICAgIChXZWJLaXQ6Ok1vbWVudHVt
RXZlbnREaXNwYXRjaGVyOjpmbHVzaExvZyk6CisgICAgICAgIER1bXAgdGhlIGV2ZW50IGxvZyBp
biBhbiBlYXN5LXRvLWNvcHktaW50by1hLUNTViBmb3JtYXQuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuaDoKKwogMjAyMS0xMi0wMyAgS2lt
bW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIE5ldHdvcmsgcHJv
Y2VzcyBkb2VzIG5vdCBzZWVtIHRvIGluaXRpYWxpemUgbG9nZ2luZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaAppbmRleCBlNDc3ZmI4
NzNiODcxMTU3NzZlNzNjMTc2NjllZjVkNDliYzBhN2UxLi4yODg5OTRlNDhhYzdlZjA5MjQ3OGQx
MTFhNmM2NDA5N2JjNzhmOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaApAQCAtNjQsNiArNjQsOCBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxFdmVudERpc3BhdGNoZXI+IGNyZWF0ZSgpOwogICAgIH5FdmVudERpc3BhdGNo
ZXIoKTsKIAorICAgIFdvcmtRdWV1ZSYgcXVldWUoKSB7IHJldHVybiBtX3F1ZXVlLmdldCgpOyB9
CisKICNpZiBFTkFCTEUoU0NST0xMSU5HX1RIUkVBRCkKICAgICB2b2lkIGFkZFNjcm9sbGluZ1Ry
ZWVGb3JQYWdlKFdlYlBhZ2UqKTsKICAgICB2b2lkIHJlbW92ZVNjcm9sbGluZ1RyZWVGb3JQYWdl
KFdlYlBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL01vbWVudHVtRXZlbnREaXNwYXRjaGVyLmNwcAppbmRleCA2ODc5MTc0YWEwOTRhNWNi
Y2E2OTA3NTliYjExNmM3OGQ1ZjI4NTA2Li5iM2U1ODI5ZDMyOGJlY2VkNjAwMjc0NTY2MDlmYzUw
MGU5ZjEwYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9N
b21lbnR1bUV2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvTW9tZW50dW1FdmVudERpc3BhdGNoZXIuY3BwCkBAIC05Myw4ICs5MywxMCBAQCBi
b29sIE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpoYW5kbGVXaGVlbEV2ZW50KFdlYkNvcmU6OlBh
Z2VJZGVudGlmaWVyIHBhZ2VJZGVudAogICAgIGlmIChldmVudC5waGFzZSgpID09IFdlYldoZWVs
RXZlbnQ6OlBoYXNlQmVnYW4gfHwgZXZlbnQucGhhc2UoKSA9PSBXZWJXaGVlbEV2ZW50OjpQaGFz
ZUNoYW5nZWQpIHsKICAgICAgICAgZGlkUmVjZWl2ZVNjcm9sbEV2ZW50KGV2ZW50KTsKIAorI2lm
IEVOQUJMRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQogICAg
ICAgICBpZiAoYXV0byBsYXN0QWN0aXZlUGhhc2VEZWx0YSA9IGV2ZW50LnJhd1BsYXRmb3JtRGVs
dGEoKSkKICAgICAgICAgICAgIG1fbGFzdEFjdGl2ZVBoYXNlRGVsdGEgPSAqbGFzdEFjdGl2ZVBo
YXNlRGVsdGE7CisjZW5kaWYKICAgICB9CiAKICAgICBpZiAoZXZlbnQucGhhc2UoKSA9PSBXZWJX
aGVlbEV2ZW50OjpQaGFzZUVuZGVkKQpAQCAtMTA1LDkgKzEwNywyMCBAQCBib29sIE1vbWVudHVt
RXZlbnREaXNwYXRjaGVyOjpoYW5kbGVXaGVlbEV2ZW50KFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
IHBhZ2VJZGVudAogCiAgICAgYm9vbCBpc01vbWVudHVtRXZlbnREdXJpbmdTeW50aGV0aWNHZXN0
dXJlID0gaXNNb21lbnR1bUV2ZW50ICYmIG1fY3VycmVudEdlc3R1cmUuYWN0aXZlOwogCi0jaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENI
RVJfVEVNUE9SQVJZX0xPR0dJTkcpCiAgICAgaWYgKGlzTW9tZW50dW1FdmVudER1cmluZ1N5bnRo
ZXRpY0dlc3R1cmUpCiAgICAgICAgIG1fY3VycmVudEdlc3R1cmUuYWNjdW11bGF0ZWRFdmVudE9m
ZnNldCArPSBldmVudC5kZWx0YSgpOworCisgICAgYXV0byBjb21iaW5lZFBoYXNlID0gKGV2ZW50
LnBoYXNlKCkgPDwgOCkgfCAoZXZlbnQubW9tZW50dW1QaGFzZSgpKTsKKyAgICBtX2N1cnJlbnRM
b2dTdGF0ZS5sYXRlc3RFdmVudFBoYXNlID0gY29tYmluZWRQaGFzZTsKKyAgICBtX2N1cnJlbnRM
b2dTdGF0ZS50b3RhbEV2ZW50T2Zmc2V0ICs9IGV2ZW50LmRlbHRhKCkuaGVpZ2h0KCk7CisgICAg
aWYgKCFpc01vbWVudHVtRXZlbnREdXJpbmdTeW50aGV0aWNHZXN0dXJlKSB7CisgICAgICAgIC8v
IExvZyBldmVudHMgdGhhdCB3ZSBkb24ndCBibG9jayB0byB0aGUgZ2VuZXJhdGVkIG9mZnNldHMg
bG9nIGFzIHdlbGwsCisgICAgICAgIC8vIGV2ZW4gdGhvdWdoIHdlIGRpZG4ndCB0ZWNobmljYWxs
eSBnZW5lcmF0ZSB0aGVtLCBqdXN0IHBhc3NlZCB0aGVtIHRocm91Z2guCisgICAgICAgIG1fY3Vy
cmVudExvZ1N0YXRlLmxhdGVzdEdlbmVyYXRlZFBoYXNlID0gY29tYmluZWRQaGFzZTsKKyAgICAg
ICAgbV9jdXJyZW50TG9nU3RhdGUudG90YWxHZW5lcmF0ZWRPZmZzZXQgKz0gZXZlbnQuZGVsdGEo
KS5oZWlnaHQoKTsKKyAgICB9CisgICAgcHVzaExvZ0VudHJ5KCk7CiAjZW5kaWYKIAogICAgIC8v
IENvbnN1bWUgYW55IG5vcm1hbCBtb21lbnR1bSBldmVudHMgd2hpbGUgd2UncmUgaW5zaWRlIGEg
c3ludGhldGljIG1vbWVudHVtIGdlc3R1cmUuCkBAIC0xNTksNiArMTcyLDEyIEBAIHZvaWQgTW9t
ZW50dW1FdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoU3ludGhldGljTW9tZW50dW1FdmVudChXZWJX
aGVlbEV2ZW50OjpQaGFzCiAgICAgICAgIHRpbWUsCiAgICAgICAgIHsgfSk7CiAgICAgbV9kaXNw
YXRjaGVyLmludGVybmFsV2hlZWxFdmVudChtX2N1cnJlbnRHZXN0dXJlLnBhZ2VJZGVudGlmaWVy
LCBzeW50aGV0aWNFdmVudCwgbV9sYXN0UnViYmVyQmFuZGFibGVFZGdlcywgRXZlbnREaXNwYXRj
aGVyOjpXaGVlbEV2ZW50T3JpZ2luOjpNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcik7CisKKyNpZiBF
TkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKKyAgICBt
X2N1cnJlbnRMb2dTdGF0ZS5sYXRlc3RHZW5lcmF0ZWRQaGFzZSA9IHBoYXNlOworICAgIG1fY3Vy
cmVudExvZ1N0YXRlLnRvdGFsR2VuZXJhdGVkT2Zmc2V0ICs9IGFwcEtpdEFjY2VsZXJhdGVkRGVs
dGEuaGVpZ2h0KCk7CisgICAgcHVzaExvZ0VudHJ5KCk7CisjZW5kaWYKIH0KIAogdm9pZCBNb21l
bnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlkU3RhcnRNb21lbnR1bVBoYXNlKFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyIHBhZ2VJZGVudGlmaWVyLCBjb25zdCBXZWJXaGVlbEV2ZW50JiBldmVudCkKQEAg
LTE5NCw3ICsyMTMsMTIgQEAgdm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6ZGlkRW5kTW9t
ZW50dW1QaGFzZSgpCiAKICAgICBkaXNwYXRjaFN5bnRoZXRpY01vbWVudHVtRXZlbnQoV2ViV2hl
ZWxFdmVudDo6UGhhc2VFbmRlZCwgeyB9KTsKIAorI2lmIEVOQUJMRShNT01FTlRVTV9FVkVOVF9E
SVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQogICAgIFJFTEVBU0VfTE9HKFNjcm9sbEFuaW1h
dGlvbnMsICJNb21lbnR1bUV2ZW50RGlzcGF0Y2hlciBzYXcgbW9tZW50dW0gZW5kIHBoYXNlIHdp
dGggdG90YWwgb2Zmc2V0ICUuMWYgJS4xZiwgZHVyYXRpb24gJWYgKGV2ZW50IG9mZnNldCB3b3Vs
ZCBoYXZlIGJlZW4gJS4xZiAlLjFmKSIsIG1fY3VycmVudEdlc3R1cmUuY3VycmVudE9mZnNldC53
aWR0aCgpLCBtX2N1cnJlbnRHZXN0dXJlLmN1cnJlbnRPZmZzZXQuaGVpZ2h0KCksIChNb25vdG9u
aWNUaW1lOjpub3coKSAtIG1fY3VycmVudEdlc3R1cmUuc3RhcnRUaW1lKS5zZWNvbmRzKCksIG1f
Y3VycmVudEdlc3R1cmUuYWNjdW11bGF0ZWRFdmVudE9mZnNldC53aWR0aCgpLCBtX2N1cnJlbnRH
ZXN0dXJlLmFjY3VtdWxhdGVkRXZlbnRPZmZzZXQuaGVpZ2h0KCkpOworICAgIG1fZGlzcGF0Y2hl
ci5xdWV1ZSgpLmRpc3BhdGNoQWZ0ZXIoMV9zLCBbdGhpc10geworICAgICAgICBmbHVzaExvZygp
OworICAgIH0pOworI2VuZGlmCiAKICAgICBzdG9wRGlzcGxheUxpbmsoKTsKIApAQCAtMjA1LDcg
KzIyOSw3IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnNldFNjcm9sbGluZ0FjY2Vs
ZXJhdGlvbkN1cnZlKFdlYkNvcmU6OlBhZ2VJZGVudGlmCiB7CiAgICAgbV9hY2NlbGVyYXRpb25D
dXJ2ZXMuc2V0KHBhZ2VJZGVudGlmaWVyLCBjdXJ2ZSk7CiAKLSNpZiBVU0VfTU9NRU5UVU1fRVZF
TlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORworI2lmIEVOQUJMRShNT01FTlRVTV9FVkVO
VF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQogICAgIFdURjo6VGV4dFN0cmVhbSBzdHJl
YW0oV1RGOjpUZXh0U3RyZWFtOjpMaW5lTW9kZTo6U2luZ2xlTGluZSk7CiAgICAgc3RyZWFtIDw8
IGN1cnZlOwogICAgIFJFTEVBU0VfTE9HKFNjcm9sbEFuaW1hdGlvbnMsICJNb21lbnR1bUV2ZW50
RGlzcGF0Y2hlciBzZXQgY3VydmUgJXMiLCBzdHJlYW0ucmVsZWFzZSgpLnV0ZjgoKS5kYXRhKCkp
OwpAQCAtMjMxLDcgKzI1NSw5IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnN0YXJ0
RGlzcGxheUxpbmsoKQogCiAgICAgLy8gRklYTUU6IFN3aXRjaCBkb3duIHRvIGxvd2VyLXRoYW4t
ZnVsbC1zcGVlZCBmcmFtZSByYXRlcyBmb3IgdGhlIHRhaWwgZW5kIG9mIHRoZSBjdXJ2ZS4KICAg
ICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlN0YXJ0RGlzcGxheUxpbmsobV9vYnNlcnZlcklE
LCBkaXNwbGF5SUQsIFdlYkNvcmU6OkZ1bGxTcGVlZEZyYW1lc1BlclNlY29uZCksIDApOworI2lm
IEVOQUJMRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQogICAg
IFJFTEVBU0VfTE9HKFNjcm9sbEFuaW1hdGlvbnMsICJNb21lbnR1bUV2ZW50RGlzcGF0Y2hlciBz
dGFydGluZyBkaXNwbGF5IGxpbmsgZm9yIGRpc3BsYXkgJWQiLCBkaXNwbGF5SUQpOworI2VuZGlm
CiB9CiAKIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OnN0b3BEaXNwbGF5TGluaygpCkBA
IC0yNDMsNyArMjY5LDkgQEAgdm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6c3RvcERpc3Bs
YXlMaW5rKCkKICAgICB9CiAKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlN0b3BEaXNw
bGF5TGluayhtX29ic2VydmVySUQsIGRpc3BsYXlJRCksIDApOworI2lmIEVOQUJMRShNT01FTlRV
TV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQogICAgIFJFTEVBU0VfTE9HKFNj
cm9sbEFuaW1hdGlvbnMsICJNb21lbnR1bUV2ZW50RGlzcGF0Y2hlciBzdG9wcGluZyBkaXNwbGF5
IGxpbmsgZm9yIGRpc3BsYXkgJWQiLCBkaXNwbGF5SUQpOworI2VuZGlmCiB9CiAKIHZvaWQgTW9t
ZW50dW1FdmVudERpc3BhdGNoZXI6OnBhZ2VTY3JlZW5EaWRDaGFuZ2UoV2ViQ29yZTo6UGFnZUlk
ZW50aWZpZXIgcGFnZUlELCBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCkBA
IC0yNjMsNyArMjkxLDcgQEAgV2ViQ29yZTo6RmxvYXRTaXplIE1vbWVudHVtRXZlbnREaXNwYXRj
aGVyOjpjb25zdW1lRGVsdGFGb3JDdXJyZW50VGltZSgpCiAgICAgYXV0byBhbmltYXRpb25UaW1l
ID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2N1cnJlbnRHZXN0dXJlLnN0YXJ0VGltZTsKICAg
ICBhdXRvIGRlc2lyZWRPZmZzZXQgPSBvZmZzZXRBdFRpbWUoYW5pbWF0aW9uVGltZSk7CiAKLSNp
ZiAhVVNFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJFTUFUVVJFX1JPVU5ESU5HKQorI2lm
ICFFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9QUkVNQVRVUkVfUk9VTkRJTkcpCiAg
ICAgLy8gSW50ZW50aW9uYWwgZGVsdGEgcm91bmRpbmcgKGJ1dCBhdCB0aGUgZW5kISkuCiAgICAg
V2ViQ29yZTo6RmxvYXRTaXplIGRlbHRhID0gcm91bmRlZEludFNpemUoZGVzaXJlZE9mZnNldCAt
IG1fY3VycmVudEdlc3R1cmUuY3VycmVudE9mZnNldCk7CiAjZWxzZQpAQCAtMzI2LDcgKzM1NCw3
IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmRpZFJlY2VpdmVTY3JvbGxFdmVudChj
b25zdCBXZWJXaGVlbEV2ZW50JiBldmVudCkKIAogdm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hl
cjo6YnVpbGRPZmZzZXRUYWJsZVdpdGhJbml0aWFsRGVsdGEoV2ViQ29yZTo6RmxvYXRTaXplIGlu
aXRpYWxVbmFjY2VsZXJhdGVkRGVsdGEpCiB7Ci0jaWYgVVNFKE1PTUVOVFVNX0VWRU5UX0RJU1BB
VENIRVJfUFJFTUFUVVJFX1JPVU5ESU5HKQorI2lmIEVOQUJMRShNT01FTlRVTV9FVkVOVF9ESVNQ
QVRDSEVSX1BSRU1BVFVSRV9ST1VORElORykKICAgICBtX2N1cnJlbnRHZXN0dXJlLmNhcnJ5T2Zm
c2V0ID0geyB9OwogI2VuZGlmCiAgICAgbV9jdXJyZW50R2VzdHVyZS5vZmZzZXRUYWJsZS5jbGVh
cigpOwpAQCAtMzQyLDcgKzM3MCw5IEBAIHZvaWQgTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmJ1
aWxkT2Zmc2V0VGFibGVXaXRoSW5pdGlhbERlbHRhKFdlYkNvcmU6OkZsb2F0U2l6CiAgICAgICAg
IG1fY3VycmVudEdlc3R1cmUub2Zmc2V0VGFibGUuYXBwZW5kKGFjY3VtdWxhdGVkT2Zmc2V0KTsK
ICAgICB9IHdoaWxlIChzdGQ6OmFicyh1bmFjY2VsZXJhdGVkRGVsdGEud2lkdGgoKSkgPiAwLjUg
fHwgc3RkOjphYnModW5hY2NlbGVyYXRlZERlbHRhLmhlaWdodCgpKSA+IDAuNSk7CiAKKyNpZiBF
TkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKICAgICBS
RUxFQVNFX0xPRyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgYnVp
bHQgdGFibGUgd2l0aCAlbGQgZnJhbWVzLCBpbml0aWFsIGRlbHRhICVmICVmLCBkaXN0YW5jZSAl
ZiAlZiAoaW5pdGlhbCBkZWx0YSBmcm9tIGxhc3QgY2hhbmdlZCBldmVudCAlZiAlZikiLCBtX2N1
cnJlbnRHZXN0dXJlLm9mZnNldFRhYmxlLnNpemUoKSwgaW5pdGlhbFVuYWNjZWxlcmF0ZWREZWx0
YS53aWR0aCgpLCBpbml0aWFsVW5hY2NlbGVyYXRlZERlbHRhLmhlaWdodCgpLCBhY2N1bXVsYXRl
ZE9mZnNldC53aWR0aCgpLCBhY2N1bXVsYXRlZE9mZnNldC5oZWlnaHQoKSwgbV9sYXN0QWN0aXZl
UGhhc2VEZWx0YS53aWR0aCgpLCBtX2xhc3RBY3RpdmVQaGFzZURlbHRhLmhlaWdodCgpKTsKKyNl
bmRpZgogfQogCiBzdGF0aWMgZmxvYXQgaW50ZXJwb2xhdGUoZmxvYXQgYSwgZmxvYXQgYiwgZmxv
YXQgdCkKQEAgLTM5Niw3ICs0MjYsNyBAQCBzdGQ6OnBhaXI8V2ViQ29yZTo6RmxvYXRTaXplLCBX
ZWJDb3JlOjpGbG9hdFNpemU+IE1vbWVudHVtRXZlbnREaXNwYXRjaGVyOjpjb21wdQogCiAgICAg
YXV0byBxdWFudGl6ZWRVbmFjY2VsZXJhdGVkRGVsdGEgPSB1bmFjY2VsZXJhdGVkRGVsdGE7CiAK
LSNpZiBVU0UoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9QUkVNQVRVUkVfUk9VTkRJTkcpCisj
aWYgRU5BQkxFKE1PTUVOVFVNX0VWRU5UX0RJU1BBVENIRVJfUFJFTUFUVVJFX1JPVU5ESU5HKQog
ICAgIC8vIFJvdW5kIGFuZCBjYXJyeS4KICAgICBpbnQzMl90IHF1YW50aXplZFggPSBzdGQ6OnJv
dW5kKHF1YW50aXplZFVuYWNjZWxlcmF0ZWREZWx0YS53aWR0aCgpKTsKICAgICBpbnQzMl90IHF1
YW50aXplZFkgPSBzdGQ6OnJvdW5kKHF1YW50aXplZFVuYWNjZWxlcmF0ZWREZWx0YS5oZWlnaHQo
KSk7CkBAIC00NDEsOSArNDcxLDExIEBAIHN0ZDo6cGFpcjxXZWJDb3JlOjpGbG9hdFNpemUsIFdl
YkNvcmU6OkZsb2F0U2l6ZT4gTW9tZW50dW1FdmVudERpc3BhdGNoZXI6OmNvbXB1CiAgICAgICAg
IGZsb2F0IGF2ZXJhZ2VGcmFtZUludGVydmFsTVMgPSBhdmVyYWdlRnJhbWVJbnRlcnZhbC5taWxs
aXNlY29uZHMoKTsKICAgICAgICAgZmxvYXQgYXZlcmFnZURlbHRhID0gdG90YWxEZWx0YSAvIGNv
dW50OwogCi0jaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgICAgIGlmICghbV9jdXJyZW50
R2VzdHVyZS5kaWRMb2dJbml0aWFsUXVldWVTdGF0ZSkKKyNpZiBFTkFCTEUoTU9NRU5UVU1fRVZF
TlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKKyAgICAgICAgaWYgKCFtX2N1cnJlbnRH
ZXN0dXJlLmRpZExvZ0luaXRpYWxRdWV1ZVN0YXRlKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xP
RyhTY3JvbGxBbmltYXRpb25zLCAiTW9tZW50dW1FdmVudERpc3BhdGNoZXIgaW5pdGlhbCBoaXN0
b3JpY2FsIGRlbHRhczogYXZlcmFnZSBkZWx0YSAlZiwgYXZlcmFnZSB0aW1lICVmbXMsIGV2ZW50
IGNvdW50ICVkIiwgYXZlcmFnZURlbHRhLCBhdmVyYWdlRnJhbWVJbnRlcnZhbE1TLCBjb3VudCk7
CisgICAgICAgICAgICBtX2N1cnJlbnRHZXN0dXJlLmRpZExvZ0luaXRpYWxRdWV1ZVN0YXRlID0g
dHJ1ZTsKKyAgICAgICAgfQogI2VuZGlmCiAKICAgICAgICAgY29uc3RleHByIGZsb2F0IHZlbG9j
aXR5R2FpbkEgPSBmcm9tRml4ZWRQb2ludCgyLmYpOwpAQCAtNDY0LDExICs0OTYsMzYgQEAgc3Rk
OjpwYWlyPFdlYkNvcmU6OkZsb2F0U2l6ZSwgV2ViQ29yZTo6RmxvYXRTaXplPiBNb21lbnR1bUV2
ZW50RGlzcGF0Y2hlcjo6Y29tcHUKICAgICAgICAgYWNjZWxlcmF0ZUF4aXMobV9kZWx0YUhpc3Rv
cnlZLCBxdWFudGl6ZWRVbmFjY2VsZXJhdGVkRGVsdGEuaGVpZ2h0KCkpCiAgICAgKTsKIAotICAg
IG1fY3VycmVudEdlc3R1cmUuZGlkTG9nSW5pdGlhbFF1ZXVlU3RhdGUgPSB0cnVlOwotCiAgICAg
cmV0dXJuIHsgdW5hY2NlbGVyYXRlZERlbHRhLCBhY2NlbGVyYXRlZERlbHRhIH07CiB9CiAKKyNp
ZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORykKKwor
dm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hlcjo6cHVzaExvZ0VudHJ5KCkKK3sKKyAgICBtX2N1
cnJlbnRMb2dTdGF0ZS50aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgbV9sb2cuYXBw
ZW5kKG1fY3VycmVudExvZ1N0YXRlKTsKK30KKwordm9pZCBNb21lbnR1bUV2ZW50RGlzcGF0Y2hl
cjo6Zmx1c2hMb2coKQoreworICAgIGlmICgoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2N1cnJl
bnRMb2dTdGF0ZS50aW1lKSA8IDUwMF9tcykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1f
bG9nLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBzdGFydFRpbWUgPSBt
X2xvZ1swXS50aW1lOworICAgIFJFTEVBU0VfTE9HKFNjcm9sbEFuaW1hdGlvbnMsICJNb21lbnR1
bUV2ZW50RGlzcGF0Y2hlciBldmVudCBsb2c6IHRpbWUsZ2VuZXJhdGVkT2Zmc2V0LGdlbmVyYXRl
ZFBoYXNlLGV2ZW50T2Zmc2V0LGV2ZW50UGhhc2UiKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGVu
dHJ5IDogbV9sb2cpCisgICAgICAgIFJFTEVBU0VfTE9HKFNjcm9sbEFuaW1hdGlvbnMsICJNb21l
bnR1bUV2ZW50RGlzcGF0Y2hlciBldmVudCBsb2c6ICVmLCVmLCVkLCVmLCVkIiwgKGVudHJ5LnRp
bWUgLSBzdGFydFRpbWUpLnNlY29uZHMoKSwgZW50cnkudG90YWxHZW5lcmF0ZWRPZmZzZXQsIGVu
dHJ5LmxhdGVzdEdlbmVyYXRlZFBoYXNlLCBlbnRyeS50b3RhbEV2ZW50T2Zmc2V0LCBlbnRyeS5s
YXRlc3RFdmVudFBoYXNlKTsKKworICAgIG1fbG9nLmNsZWFyKCk7CisgICAgbV9jdXJyZW50TG9n
U3RhdGUgPSB7IH07Cit9CisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Nb21lbnR1
bUV2ZW50RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvTW9t
ZW50dW1FdmVudERpc3BhdGNoZXIuaAppbmRleCAxODNkNTMyOGRkYmY4OWZiODQwNWFhNmY2OWQw
ZWU5NmNjODJjMzFjLi5lOTljNjAwYTFkMjgxZjBiNWQ1OWU5OWFhMzAyMDBhMjdiMjUyNGMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Nb21lbnR1bUV2ZW50
RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL01vbWVu
dHVtRXZlbnREaXNwYXRjaGVyLmgKQEAgLTI4LDggKzI4LDggQEAKICNpZiBFTkFCTEUoTU9NRU5U
VU1fRVZFTlRfRElTUEFUQ0hFUikKIAogLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2Ugd2UgZGVj
aWRlIHdoaWNoIHZlcnNpb24gd2Ugd2FudC4KLSNkZWZpbmUgVVNFX01PTUVOVFVNX0VWRU5UX0RJ
U1BBVENIRVJfUFJFTUFUVVJFX1JPVU5ESU5HIDAKLSNkZWZpbmUgVVNFX01PTUVOVFVNX0VWRU5U
X0RJU1BBVENIRVJfVEVNUE9SQVJZX0xPR0dJTkcgMQorI2RlZmluZSBFTkFCTEVfTU9NRU5UVU1f
RVZFTlRfRElTUEFUQ0hFUl9QUkVNQVRVUkVfUk9VTkRJTkcgMAorI2RlZmluZSBFTkFCTEVfTU9N
RU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9URU1QT1JBUllfTE9HR0lORyAxCiAKICNpbmNsdWRlICJE
aXNwbGF5TGlua09ic2VydmVySUQuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdBY2NlbGVyYXRpb25D
dXJ2ZS5oIgpAQCAtOTAsNiArOTAsMjUgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVT
Y3JvbGxFdmVudFdpdGhJbnRlcnZhbChXZWJDb3JlOjpGbG9hdFNpemUsIFNlY29uZHMpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZVNjcm9sbEV2ZW50KGNvbnN0IFdlYldoZWVsRXZlbnQmKTsKIAorI2lm
IEVOQUJMRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQorICAg
IHZvaWQgcHVzaExvZ0VudHJ5KCk7CisgICAgdm9pZCBmbHVzaExvZygpOworCisgICAgV2ViQ29y
ZTo6RmxvYXRTaXplIG1fbGFzdEFjdGl2ZVBoYXNlRGVsdGE7CisKKyAgICBzdHJ1Y3QgTG9nRW50
cnkgeworICAgICAgICBNb25vdG9uaWNUaW1lIHRpbWU7CisKKyAgICAgICAgZmxvYXQgdG90YWxH
ZW5lcmF0ZWRPZmZzZXQgeyAwIH07CisgICAgICAgIGZsb2F0IHRvdGFsRXZlbnRPZmZzZXQgeyAw
IH07CisKKyAgICAgICAgdWludDMyX3QgbGF0ZXN0R2VuZXJhdGVkUGhhc2UgeyAwIH07CisgICAg
ICAgIHVpbnQzMl90IGxhdGVzdEV2ZW50UGhhc2UgeyAwIH07CisgICAgfTsKKyAgICBMb2dFbnRy
eSBtX2N1cnJlbnRMb2dTdGF0ZTsKKyAgICBWZWN0b3I8TG9nRW50cnk+IG1fbG9nOworI2VuZGlm
CisKICAgICBzdHJ1Y3QgRGVsdGEgewogICAgICAgICBmbG9hdCByYXdQbGF0Zm9ybURlbHRhOwog
ICAgICAgICBTZWNvbmRzIGZyYW1lSW50ZXJ2YWw7CkBAIC0xMDMsOSArMTIyLDYgQEAgcHJpdmF0
ZToKICAgICBXYWxsVGltZSBtX2xhc3RFbmRlZEV2ZW50VGltZXN0YW1wOwogICAgIHN0ZDo6b3B0
aW9uYWw8V2ViV2hlZWxFdmVudD4gbV9sYXN0SW5jb21pbmdFdmVudDsKICAgICBXZWJDb3JlOjpS
ZWN0RWRnZXM8Ym9vbD4gbV9sYXN0UnViYmVyQmFuZGFibGVFZGdlczsKLSNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKLSAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9sYXN0QWN0aXZlUGhhc2VEZWx0
YTsKLSNlbmRpZgogCiAgICAgc3RydWN0IHsKICAgICAgICAgYm9vbCBhY3RpdmUgeyBmYWxzZSB9
OwpAQCAtMTE5LDEyICsxMzUsMTIgQEAgcHJpdmF0ZToKIAogICAgICAgICBWZWN0b3I8V2ViQ29y
ZTo6RmxvYXRTaXplPiBvZmZzZXRUYWJsZTsKIAotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
I2lmIEVOQUJMRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1RFTVBPUkFSWV9MT0dHSU5HKQog
ICAgICAgICBXZWJDb3JlOjpGbG9hdFNpemUgYWNjdW11bGF0ZWRFdmVudE9mZnNldDsKICAgICAg
ICAgYm9vbCBkaWRMb2dJbml0aWFsUXVldWVTdGF0ZSB7IGZhbHNlIH07CiAjZW5kaWYKIAotI2lm
IFVTRShNT01FTlRVTV9FVkVOVF9ESVNQQVRDSEVSX1BSRU1BVFVSRV9ST1VORElORykKKyNpZiBF
TkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUl9QUkVNQVRVUkVfUk9VTkRJTkcpCiAgICAg
ICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBjYXJyeU9mZnNldDsKICNlbmRpZgogICAgIH0gbV9jdXJy
ZW50R2VzdHVyZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>