<?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>236292</bug_id>
          
          <creation_ts>2022-02-08 02:31:56 -0800</creation_ts>
          <short_desc>Settling of a fetch promise should be delayed in case page is entering page cache</short_desc>
          <delta_ts>2022-02-10 07:46:29 -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>WebCore Misc.</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1838582</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-08 02:31:56 -0800</bug_when>
    <thetext>&lt;rdar://88452971&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838587</commentid>
    <comment_count>1</comment_count>
      <attachid>451227</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-08 02:49:00 -0800</bug_when>
    <thetext>Created attachment 451227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838633</commentid>
    <comment_count>2</comment_count>
      <attachid>451239</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-08 06:10:59 -0800</bug_when>
    <thetext>Created attachment 451239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838655</commentid>
    <comment_count>3</comment_count>
      <attachid>451244</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-08 07:34:46 -0800</bug_when>
    <thetext>Created attachment 451244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838677</commentid>
    <comment_count>4</comment_count>
      <attachid>451250</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-08 08:13:44 -0800</bug_when>
    <thetext>Created attachment 451250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838807</commentid>
    <comment_count>5</comment_count>
      <attachid>451250</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-08 11:38:50 -0800</bug_when>
    <thetext>Comment on attachment 451250
Patch

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

r=me

&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:352
&gt; +        responseCallback(Ref { m_response });

Why the Ref { }?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839652</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-10 07:39:39 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; Comment on attachment 451250 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451250&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:352
&gt; &gt; +        responseCallback(Ref { m_response });
&gt; 
&gt; Why the Ref { }?

responseCallback takes an ExceptionOr&lt;Ref&lt;&gt;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839656</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-10 07:46:24 -0800</bug_when>
    <thetext>Committed r289533 (247064@main): &lt;https://commits.webkit.org/247064@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451250.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451227</attachid>
            <date>2022-02-08 02:49:00 -0800</date>
            <delta_ts>2022-02-08 06:10:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236292-20220208114858.patch</filename>
            <type>text/plain</type>
            <size>11944</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY4MGUwMjFhYWUxZWY4
ZTQ4ZThhNDZmNmI4YTA5M2QyYzIyY2ViMy4uY2YzZDVkNmY1MDViMjI3NGFkNzg1YTQzMGI2Y2Fh
ZGFlOWZjZGRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAyLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXR0bGluZyBvZiBhIGZl
dGNoIHByb21pc2Ugc2hvdWxkIGJlIGRlbGF5ZWQgaW4gY2FzZSBwYWdlIGlzIGVudGVyaW5nIHBh
Z2UgY2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNjI5MgorICAgICAgICA8cmRhcjovLzg4NDUyOTcxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBlbnF1ZXVlIGEgdGFzayBi
ZWZvcmUgcmVzb2x2aW5nIGZldGNoIHByb21pc2UgYXMgb3RoZXJ3aXNlLCBwYWdlIG1pZ2h0IGNv
bnRpbnVlIHJ1bm5pbmcgSmF2YVNjcmlwdC4KKyAgICAgICAgRG8gdGhpcyBmb3Igd29ya2VyIGFz
IHdlbGwgZm9yIGdvb2QgbWVhc3VyZS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL25hdmln
YXRpb24vZmV0Y2gtcGFnZWNhY2hlLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvY2FjaGUvRE9N
Q2FjaGUuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHA6Cisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxl
cy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmNwcDoKKwogMjAyMi0wMi0wNCAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgdG8gcXVlcnkgY2Ft
ZXJhIGFuZCBtaWNyb3Bob25lIHBlcm1pc3Npb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvRE9NQ2FjaGUuY3BwCmluZGV4IGMxZDBmYzhhZjMzYTA5N2Q4ZTgyZDgzYTVmOTQ2NjY3NzEz
N2I2YzQuLmVlYjdmNzlmODM2NTM5Y2JkMDA3NTRhZDEyOWEzMDA2ZGM2MzQwYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuY3BwCkBAIC0yNTksNyArMjU5LDcgQEAg
dm9pZCBET01DYWNoZTo6YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiBpbmZvcywgRE9NUHJv
bWlzZURlZmVycmVkPHZvaWQ+JiYgcHIKIAogICAgIGZvciAoYXV0byYgcmVxdWVzdCA6IHJlcXVl
c3RzKSB7CiAgICAgICAgIGF1dG8mIHJlcXVlc3RSZWZlcmVuY2UgPSByZXF1ZXN0LmdldCgpOwot
ICAgICAgICBGZXRjaFJlc3BvbnNlOjpmZXRjaCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBy
ZXF1ZXN0UmVmZXJlbmNlLCBbdGhpcywgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIHRhc2tI
YW5kbGVyXShFeGNlcHRpb25PcjxGZXRjaFJlc3BvbnNlJj4mJiByZXN1bHQpIG11dGFibGUgewor
ICAgICAgICBGZXRjaFJlc3BvbnNlOjpmZXRjaCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBy
ZXF1ZXN0UmVmZXJlbmNlLCBbdGhpcywgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIHRhc2tI
YW5kbGVyXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKIAogICAgICAgICAgICAgaWYgKHRhc2tI
YW5kbGVyLT5pc0RvbmUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0yNjksNyArMjY5
LDggQEAgdm9pZCBET01DYWNoZTo6YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiBpbmZvcywg
RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHIKICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGF1dG8mIHJlc3BvbnNlID0gcmVzdWx0LnJlbGVh
c2VSZXR1cm5WYWx1ZSgpOworICAgICAgICAgICAgYXV0byBwcm90ZWN0ZWRSZXNwb25zZSA9IHJl
c3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgICAgIGF1dG8mIHJlc3BvbnNlID0g
cHJvdGVjdGVkUmVzcG9uc2UuZ2V0KCk7CiAKICAgICAgICAgICAgIGlmICghcmVzcG9uc2Uub2so
KSkgewogICAgICAgICAgICAgICAgIHRhc2tIYW5kbGVyLT5lcnJvcihFeGNlcHRpb24geyBUeXBl
RXJyb3IsICJSZXNwb25zZSBpcyBub3QgT0siX3MgfSk7CkBAIC0yOTUsNyArMjk2LDcgQEAgdm9p
ZCBET01DYWNoZTo6YWRkQWxsKFZlY3RvcjxSZXF1ZXN0SW5mbz4mJiBpbmZvcywgRE9NUHJvbWlz
ZURlZmVycmVkPHZvaWQ+JiYgcHIKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNpemVfdCBy
ZWNvcmRQb3NpdGlvbiA9IHRhc2tIYW5kbGVyLT5hZGRSZWNvcmQodG9Db25uZWN0aW9uUmVjb3Jk
KHJlcXVlc3QuZ2V0KCksIHJlc3BvbnNlLCBudWxscHRyKSk7CiAKLSAgICAgICAgICAgIHJlc3Bv
bnNlLmNvbnN1bWVCb2R5UmVjZWl2ZWRCeUNodW5rKFt0YXNrSGFuZGxlciA9IFdURk1vdmUodGFz
a0hhbmRsZXIpLCByZWNvcmRQb3NpdGlvbiwgZGF0YSA9IFNoYXJlZEJ1ZmZlckJ1aWxkZXIoKSwg
cmVzcG9uc2UgPSBSZWYgeyByZXNwb25zZSB9XSAoYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7Cisg
ICAgICAgICAgICByZXNwb25zZS5jb25zdW1lQm9keVJlY2VpdmVkQnlDaHVuayhbdGFza0hhbmRs
ZXIgPSBXVEZNb3ZlKHRhc2tIYW5kbGVyKSwgcmVjb3JkUG9zaXRpb24sIGRhdGEgPSBTaGFyZWRC
dWZmZXJCdWlsZGVyKCksIHJlc3BvbnNlID0gV1RGTW92ZShwcm90ZWN0ZWRSZXNwb25zZSldIChh
dXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBpZiAodGFza0hhbmRsZXIt
PmlzRG9uZSgpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmluZGV4IGNlMWY3ZDU5N2FkYzdj
ZGRlNDdiYjcwZWZiYTM0MTUzOWI2M2MzNTcuLjI0OGY1ZDMwNzNkMzNhNWE1MDZkYmMxOTc1NzE2
MzE3NjdjYjRmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmNwcApAQCAtMzU1LDcgKzM1NSw3IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Qm9keUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc291CiAg
ICAgbV9yZXNwb25zZS51cGRhdGVDb250ZW50VHlwZSgpOwogCiAgICAgaWYgKGF1dG8gcmVzcG9u
c2VDYWxsYmFjayA9IFdURk1vdmUobV9yZXNwb25zZUNhbGxiYWNrKSkKLSAgICAgICAgcmVzcG9u
c2VDYWxsYmFjayhtX3Jlc3BvbnNlKTsKKyAgICAgICAgcmVzcG9uc2VDYWxsYmFjayhSZWYgeyBt
X3Jlc3BvbnNlIH0pOwogfQogCiB2b2lkIEZldGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZFJl
Y2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAppbmRleCBlZmNjMGMzMTNkOWEwNGJmZTM1M2Jl
MGNhMmJkYmYwZjFkMWU1MjgzLi4zMWM1NDcwYTFhYTg3OWM3NTlkYWJkNmNjMDhlYTI5ZjkwZWI0
NTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApA
QCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxGZXRjaFJlc3BvbnNlPiBl
cnJvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJl
ZjxGZXRjaFJlc3BvbnNlPj4gcmVkaXJlY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0
IFN0cmluZyYgdXJsLCBpbnQgc3RhdHVzKTsKIAotICAgIHVzaW5nIE5vdGlmaWNhdGlvbkNhbGxi
YWNrID0gRnVuY3Rpb248dm9pZChFeGNlcHRpb25PcjxGZXRjaFJlc3BvbnNlJj4mJik+OworICAg
IHVzaW5nIE5vdGlmaWNhdGlvbkNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChFeGNlcHRpb25PcjxS
ZWY8RmV0Y2hSZXNwb25zZT4+JiYpPjsKICAgICBzdGF0aWMgdm9pZCBmZXRjaChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgRmV0Y2hSZXF1ZXN0JiwgTm90aWZpY2F0aW9uQ2FsbGJhY2smJiwgY29u
c3QgU3RyaW5nJiBpbml0aWF0b3IpOwogCiAgICAgdm9pZCBzdGFydENvbnN1bWluZ1N0cmVhbSh1
bnNpZ25lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKaW5kZXggOTkwMDljYmE0Yjgx
ZDZhNTUwNTc0ZDY4YTJjZDg5MTBlNmFiYzQyZS4uOGUzNDRlYzIwYmI3YzA0NDhkYmFiYmIwMGFk
MzNiNWJkYzAxMzk4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9X
aW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcApAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuaCIKICNp
bmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkV2
ZW50TG9vcC5oIgogI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIKICNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTRmV0Y2hSZXNwb25zZS5oIgpAQCAtMzksNDYg
KzQwLDM0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgRmV0Y2hSZXNwb25zZVByb21p
c2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPEZldGNoUmVzcG9uc2U+PjsKIAot
dm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKERPTVdpbmRvdyYgd2lu
ZG93LCBGZXRjaFJlcXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5p
dCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBkZWZlcnJlZCkKK3N0YXRpYyB2b2lkIGRvRmV0Y2go
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NvcGUsIEZldGNoUmVxdWVzdDo6SW5mbyYmIGlucHV0
LCBGZXRjaFJlcXVlc3Q6OkluaXQmJiBpbml0LCBGZXRjaFJlc3BvbnNlUHJvbWlzZSYmIHByb21p
c2UpCiB7Ci0gICAgRmV0Y2hSZXNwb25zZVByb21pc2UgcHJvbWlzZSA9IFdURk1vdmUoZGVmZXJy
ZWQpOwotCi0gICAgYXV0byogZG9jdW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQoKTsKLSAgICBpZiAo
IWRvY3VtZW50KSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEludmFsaWRTdGF0ZUVycm9yKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8gcmVxdWVzdCA9IEZldGNoUmVxdWVz
dDo6Y3JlYXRlKCpkb2N1bWVudCwgV1RGTW92ZShpbnB1dCksIFdURk1vdmUoaW5pdCkpOworICAg
IGF1dG8gcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKHNjb3BlLCBXVEZNb3ZlKGlucHV0
KSwgV1RGTW92ZShpbml0KSk7CiAgICAgaWYgKHJlcXVlc3QuaGFzRXhjZXB0aW9uKCkpIHsKICAg
ICAgICAgcHJvbWlzZS5yZWplY3QocmVxdWVzdC5yZWxlYXNlRXhjZXB0aW9uKCkpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goKmRvY3VtZW50LCBy
ZXF1ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSks
IHVzZXJHZXN0dXJlVG9rZW4gPSBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVudFVzZXJHZXN0
dXJlKCldKEV4Y2VwdGlvbk9yPEZldGNoUmVzcG9uc2UmPiYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0g
ICAgICAgIGlmICghdXNlckdlc3R1cmVUb2tlbiB8fCB1c2VyR2VzdHVyZVRva2VuLT5oYXNFeHBp
cmVkKFVzZXJHZXN0dXJlVG9rZW46Om1heGltdW1JbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2Fy
ZGluZ0ZvckZldGNoKCkpIHx8ICF1c2VyR2VzdHVyZVRva2VuLT5wcm9jZXNzaW5nVXNlckdlc3R1
cmUoKSkgeworICAgIEZldGNoUmVzcG9uc2U6OmZldGNoKHNjb3BlLCByZXF1ZXN0LnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLmdldCgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHNjb3BlID0g
UmVmIHsgc2NvcGUgfV0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIHNjb3BlLT5l
dmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3Byb21pc2UgPSBX
VEZNb3ZlKHByb21pc2UpLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCldKCkgbXV0YWJsZSB7CiAg
ICAgICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOwotICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVy
ZUluZGljYXRvcih1c2VyR2VzdHVyZVRva2VuLCBVc2VyR2VzdHVyZVRva2VuOjpHZXN0dXJlU2Nv
cGU6Ok1lZGlhT25seSwgVXNlckdlc3R1cmVUb2tlbjo6SXNQcm9wYWdhdGVkRnJvbUZldGNoOjpZ
ZXMpOwotICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAgICAgICB9
KTsKICAgICB9LCBjYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzKCkuZmV0Y2gpOwogfQog
Ci12b2lkIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaDo6ZmV0Y2goV29ya2VyR2xvYmFs
U2NvcGUmIHNjb3BlLCBGZXRjaFJlcXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJ
bml0JiYgaW5pdCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBkZWZlcnJlZCkKK3ZvaWQgV2luZG93
T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoOjpmZXRjaChET01XaW5kb3cmIHdpbmRvdywgRmV0Y2hS
ZXF1ZXN0OjpJbmZvJiYgaW5wdXQsIEZldGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKLSAgICBGZXRjaFJlc3BvbnNlUHJvbWlzZSBwcm9t
aXNlID0gV1RGTW92ZShkZWZlcnJlZCk7Ci0KLSAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVl
c3Q6OmNyZWF0ZShzY29wZSwgV1RGTW92ZShpbnB1dCksIFdURk1vdmUoaW5pdCkpOwotICAgIGlm
IChyZXF1ZXN0Lmhhc0V4Y2VwdGlvbigpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KHJlcXVl
c3QucmVsZWFzZUV4Y2VwdGlvbigpKTsKKyAgICBhdXRvKiBkb2N1bWVudCA9IHdpbmRvdy5kb2N1
bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KElu
dmFsaWRTdGF0ZUVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBkb0ZldGNoKCpk
b2N1bWVudCwgV1RGTW92ZShpbnB1dCksIFdURk1vdmUoaW5pdCksIFdURk1vdmUocHJvbWlzZSkp
OworfQogCi0gICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goc2NvcGUsIHJlcXVlc3QucmVsZWFzZVJl
dHVyblZhbHVlKCkuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oRXhjZXB0aW9u
T3I8RmV0Y2hSZXNwb25zZSY+JiYgcmVzdWx0KSBtdXRhYmxlIHsKLSAgICAgICAgcHJvbWlzZS5z
ZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKLSAgICB9LCBjYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0
aWF0b3JzKCkuZmV0Y2gpOwordm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZl
dGNoKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRmV0Y2hSZXF1ZXN0OjpJbmZvJiYgaW5wdXQs
IEZldGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlz
ZSkKK3sKKyAgICBkb0ZldGNoKHNjb3BlLCBXVEZNb3ZlKGlucHV0KSwgV1RGTW92ZShpbml0KSwg
V1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MDAzYTc4YzkzYTVhYWU1ODliMDMw
YzQ0ZTc2NjJjNTYwY2NlY2JmLi4zMWZiNjQwOWVmZmEzY2FmM2RmOWMzOTVjNDFiZTFlZDExZGIw
ZjUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDItMDggIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNldHRsaW5nIG9mIGEgZmV0Y2ggcHJvbWlzZSBz
aG91bGQgYmUgZGVsYXllZCBpbiBjYXNlIHBhZ2UgaXMgZW50ZXJpbmcgcGFnZSBjYWNoZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MjkyCisgICAg
ICAgIDxyZGFyOi8vODg0NTI5NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vZmV0Y2gtcGFnZWNhY2hlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZldGNo
LXBhZ2VjYWNoZS5odG1sOiBBZGRlZC4KKwogMjAyMi0wMi0wNCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTGliV2ViUlRDQ29kZWNzIFNoYXJlZFZpZGVvRnJh
bWVXcml0ZXJzIGNhbiBkZWFkbG9jayBpbiBjYXNlIG9mIEdQVVByb2Nlc3MgY3Jhc2gKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9mZXRjaC1wYWdlY2FjaGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZldGNoLXBh
Z2VjYWNoZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE2M2EwMmY4MGUxZTZiZTVhZjhhN2My
N2RkNjc2NDIyNWM4ZjExMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9mZXRjaC1wYWdlY2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQg
QEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBsb2FkaW5nIFhNTEh0dHBSZXF1ZXN0IGdvZXMg
aW50byB0aGUgcGFnZSBjYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3Bh
Z2VzaG93IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2Vz
aG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZy
b20gdGhlIHBhZ2UgY2FjaGUKK1BBU1MgZmV0Y2ggcHJvbWlzZSByZXNvbHZlZCBhZnRlciBwYWdl
IHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2ZldGNoLXBhZ2VjYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2ZldGNoLXBhZ2VjYWNoZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkZDI0
YTYwNDY5YWY3YjRmZGYwZGYwMTgwYmM4ZDExNjYyNDJkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZmV0Y2gtcGFnZWNhY2hlLmh0bWwKQEAg
LTAsMCArMSw1MiBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBk
dW1wSlNDb25zb2xlTG9nSW5TdGRFcnI9dHJ1ZSBVc2VzQmFja0ZvcndhcmRDYWNoZT10cnVlIF0g
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rl
c3RzIHRoYXQgYSBwYWdlIHdpdGggYSBsb2FkaW5nIFhNTEh0dHBSZXF1ZXN0IGdvZXMgaW50byB0
aGUgcGFnZSBjYWNoZS4nKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIHJl
c3RvcmVkRnJvbVBhZ2VDYWNoZSA9IGZhbHNlOworCitmdW5jdGlvbiBkb0ZldGNoVGVzdCgpCit7
CisgICAgaWYgKHJlc3RvcmVkRnJvbVBhZ2VDYWNoZSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJm
ZXRjaCBwcm9taXNlIHJlc29sdmVkIGFmdGVyIHBhZ2Ugd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBh
Z2UgY2FjaGUiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgZmV0Y2goIi9yZXNvdXJjZXMvbG9hZC1hbmQtc3RhbGwuY2dpP25hbWU9bG9hZC1h
bmQtc3RhbGwuY2dpJnN0YWxsRm9yPTMmc3RhbGxBdD0wJm1pbWVUeXBlPXRleHQvcGxhaW4iKS50
aGVuKGRvRmV0Y2hUZXN0LCBkb0ZldGNoVGVzdCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0g
IiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisg
ICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBl
bnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgcmVz
dG9yZWRGcm9tUGFnZUNhY2hlID0gdHJ1ZTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWco
InBhZ2VoaWRlIC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJp
bmcgY2FjaGUiKTsKKyAgICBpZiAoIWV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFp
bGVkKCJQYWdlIGRpZCBub3QgZW50ZXIgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgIH0KKyAgICBkb0ZldGNoVGVzdCgpOworfSwgZmFsc2UpOworCit3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAgIC8vIFRoaXMgbmVl
ZHMgdG8gaGFwcGVuIGluIGEgc2V0VGltZW91dCBiZWNhdXNlIGEgbmF2aWdhdGlvbiBpbnNpZGUg
dGhlIG9ubG9hZCBoYW5kbGVyIHdvdWxkCisgICAgLy8gbm90IGNyZWF0ZSBhIGhpc3RvcnkgZW50
cnkuCisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgIC8vIEZvcmNlIGEgYmFjayBu
YXZpZ2F0aW9uIGJhY2sgdG8gdGhpcyBwYWdlLgorICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYg
PSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwiOworICAgIH0sIDApOworfSwgZmFs
c2UpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451239</attachid>
            <date>2022-02-08 06:10:59 -0800</date>
            <delta_ts>2022-02-08 08:13:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236292-20220208151057.patch</filename>
            <type>text/plain</type>
            <size>13047</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RiNzU1NjZlZGFjODZm
YjAyMmIyZjYxODM5MmM0NzVmMjIyMWYzNS4uYTFjNzE3Nzc2MDQzMzliNmJkMDllY2I5ZGEzNTVh
MjkyODRkNzg1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAyLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXR0bGluZyBvZiBhIGZl
dGNoIHByb21pc2Ugc2hvdWxkIGJlIGRlbGF5ZWQgaW4gY2FzZSBwYWdlIGlzIGVudGVyaW5nIHBh
Z2UgY2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNjI5MgorICAgICAgICA8cmRhcjovLzg4NDUyOTcxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBlbnF1ZXVlIGEgdGFzayBi
ZWZvcmUgcmVzb2x2aW5nIGZldGNoIHByb21pc2UgYXMgb3RoZXJ3aXNlLCBwYWdlIG1pZ2h0IGNv
bnRpbnVlIHJ1bm5pbmcgSmF2YVNjcmlwdC4KKyAgICAgICAgRG8gdGhpcyBmb3Igd29ya2VyIGFz
IHdlbGwgZm9yIGdvb2QgbWVhc3VyZS4KKyAgICAgICAgV2UgbW92ZSBzb21lIG9mIHRoZSBjb2Rl
IGZyb20gRmV0Y2hSZXNwb25zZTo6ZmV0Y2ggdG8gdGhlIGRvRmV0Y2ggcm91dGluZSB0byBrZWVw
IHJlamVjdGluZyBlYXJseSBpbiBjYXNlIHRoZSBzaWduYWwgaXMgYWJvcnRlZC4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL25hdmlnYXRpb24vZmV0Y2gtcGFnZWNhY2hlLmh0bWwKKworICAg
ICAgICAqIE1vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
RmV0Y2guY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmNwcDoKKwog
MjAyMi0wMi0wOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2Egcm90YXRpb24gc2Vzc2lvbiBzaG91bGQg
bm90IHVzZSBJT1N1cmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvRE9NQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5j
cHAKaW5kZXggYzFkMGZjOGFmMzNhMDk3ZDhlODJkODNhNWY5NDY2Njc3MTM3YjZjNC4uZWViN2Y3
OWY4MzY1MzljYmQwMDc1NGFkMTI5YTMwMDZkYzYzNDBiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jYWNoZS9ET01DYWNoZS5jcHAKQEAgLTI1OSw3ICsyNTksNyBAQCB2b2lkIERPTUNhY2hl
OjphZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmIGluZm9zLCBET01Qcm9taXNlRGVmZXJyZWQ8
dm9pZD4mJiBwcgogCiAgICAgZm9yIChhdXRvJiByZXF1ZXN0IDogcmVxdWVzdHMpIHsKICAgICAg
ICAgYXV0byYgcmVxdWVzdFJlZmVyZW5jZSA9IHJlcXVlc3QuZ2V0KCk7Ci0gICAgICAgIEZldGNo
UmVzcG9uc2U6OmZldGNoKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHJlcXVlc3RSZWZlcmVu
Y2UsIFt0aGlzLCByZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgdGFza0hhbmRsZXJdKEV4Y2Vw
dGlvbk9yPEZldGNoUmVzcG9uc2UmPiYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIEZldGNo
UmVzcG9uc2U6OmZldGNoKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHJlcXVlc3RSZWZlcmVu
Y2UsIFt0aGlzLCByZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgdGFza0hhbmRsZXJdKGF1dG8m
JiByZXN1bHQpIG11dGFibGUgewogCiAgICAgICAgICAgICBpZiAodGFza0hhbmRsZXItPmlzRG9u
ZSgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTI2OSw3ICsyNjksOCBAQCB2b2lkIERP
TUNhY2hlOjphZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmIGluZm9zLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJiBwcgogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgYXV0byYgcmVzcG9uc2UgPSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVl
KCk7CisgICAgICAgICAgICBhdXRvIHByb3RlY3RlZFJlc3BvbnNlID0gcmVzdWx0LnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpOworICAgICAgICAgICAgYXV0byYgcmVzcG9uc2UgPSBwcm90ZWN0ZWRSZXNw
b25zZS5nZXQoKTsKIAogICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaygpKSB7CiAgICAgICAg
ICAgICAgICAgdGFza0hhbmRsZXItPmVycm9yKEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgIlJlc3Bv
bnNlIGlzIG5vdCBPSyJfcyB9KTsKQEAgLTI5NSw3ICsyOTYsNyBAQCB2b2lkIERPTUNhY2hlOjph
ZGRBbGwoVmVjdG9yPFJlcXVlc3RJbmZvPiYmIGluZm9zLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9p
ZD4mJiBwcgogICAgICAgICAgICAgfQogICAgICAgICAgICAgc2l6ZV90IHJlY29yZFBvc2l0aW9u
ID0gdGFza0hhbmRsZXItPmFkZFJlY29yZCh0b0Nvbm5lY3Rpb25SZWNvcmQocmVxdWVzdC5nZXQo
KSwgcmVzcG9uc2UsIG51bGxwdHIpKTsKIAotICAgICAgICAgICAgcmVzcG9uc2UuY29uc3VtZUJv
ZHlSZWNlaXZlZEJ5Q2h1bmsoW3Rhc2tIYW5kbGVyID0gV1RGTW92ZSh0YXNrSGFuZGxlciksIHJl
Y29yZFBvc2l0aW9uLCBkYXRhID0gU2hhcmVkQnVmZmVyQnVpbGRlcigpLCByZXNwb25zZSA9IFJl
ZiB7IHJlc3BvbnNlIH1dIChhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHJl
c3BvbnNlLmNvbnN1bWVCb2R5UmVjZWl2ZWRCeUNodW5rKFt0YXNrSGFuZGxlciA9IFdURk1vdmUo
dGFza0hhbmRsZXIpLCByZWNvcmRQb3NpdGlvbiwgZGF0YSA9IFNoYXJlZEJ1ZmZlckJ1aWxkZXIo
KSwgcmVzcG9uc2UgPSBXVEZNb3ZlKHByb3RlY3RlZFJlc3BvbnNlKV0gKGF1dG8mJiByZXN1bHQp
IG11dGFibGUgewogICAgICAgICAgICAgICAgIGlmICh0YXNrSGFuZGxlci0+aXNEb25lKCkpCiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKaW5kZXggY2UxZjdkNTk3YWRjN2NkZGU0N2JiNzBlZmJh
MzQxNTM5YjYzYzM1Ny4uOTM1MmY0NTc2N2ZlN2I1MzAzMzM4OTVmZTM0YjVjZDU4MmViMTZlZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBA
IC0yMzcsMTIgKzIzNyw2IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6YWRkQWJvcnRTdGVwcyhSZWY8
QWJvcnRTaWduYWw+JiYgc2lnbmFsKQogCiB2b2lkIEZldGNoUmVzcG9uc2U6OmZldGNoKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgTm90aWZp
Y2F0aW9uQ2FsbGJhY2smJiByZXNwb25zZUNhbGxiYWNrLCBjb25zdCBTdHJpbmcmIGluaXRpYXRv
cikKIHsKLSAgICBpZiAocmVxdWVzdC5zaWduYWwoKS5hYm9ydGVkKCkpIHsKLSAgICAgICAgcmVz
cG9uc2VDYWxsYmFjayhFeGNlcHRpb24geyBBYm9ydEVycm9yLCAiUmVxdWVzdCBzaWduYWwgaXMg
YWJvcnRlZCJfcyB9KTsKLSAgICAgICAgLy8gRklYTUU6IENhbmNlbCByZXF1ZXN0IGJvZHkgaWYg
aXQgaXMgYSBzdHJlYW0uCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBpZiAocmVxdWVz
dC5pc1JlYWRhYmxlU3RyZWFtQm9keSgpKSB7CiAgICAgICAgIHJlc3BvbnNlQ2FsbGJhY2soRXhj
ZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsICJSZWFkYWJsZVN0cmVhbSB1cGxvYWRpbmcgaXMg
bm90IHN1cHBvcnRlZCJfcyB9KTsKICAgICAgICAgcmV0dXJuOwpAQCAtMzU1LDcgKzM0OSw3IEBA
IHZvaWQgRmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc291CiAgICAgbV9yZXNwb25zZS51cGRhdGVDb250ZW50VHlw
ZSgpOwogCiAgICAgaWYgKGF1dG8gcmVzcG9uc2VDYWxsYmFjayA9IFdURk1vdmUobV9yZXNwb25z
ZUNhbGxiYWNrKSkKLSAgICAgICAgcmVzcG9uc2VDYWxsYmFjayhtX3Jlc3BvbnNlKTsKKyAgICAg
ICAgcmVzcG9uc2VDYWxsYmFjayhSZWYgeyBtX3Jlc3BvbnNlIH0pOwogfQogCiB2b2lkIEZldGNo
UmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYg
YnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApp
bmRleCBlZmNjMGMzMTNkOWEwNGJmZTM1M2JlMGNhMmJkYmYwZjFkMWU1MjgzLi4zMWM1NDcwYTFh
YTg3OWM3NTlkYWJkNmNjMDhlYTI5ZjkwZWI0NTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxGZXRjaFJlc3BvbnNlPiBlcnJvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7
CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlc3BvbnNlPj4gcmVkaXJlY3QoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgc3RhdHVzKTsKIAot
ICAgIHVzaW5nIE5vdGlmaWNhdGlvbkNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChFeGNlcHRpb25P
cjxGZXRjaFJlc3BvbnNlJj4mJik+OworICAgIHVzaW5nIE5vdGlmaWNhdGlvbkNhbGxiYWNrID0g
RnVuY3Rpb248dm9pZChFeGNlcHRpb25PcjxSZWY8RmV0Y2hSZXNwb25zZT4+JiYpPjsKICAgICBz
dGF0aWMgdm9pZCBmZXRjaChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRmV0Y2hSZXF1ZXN0Jiwg
Tm90aWZpY2F0aW9uQ2FsbGJhY2smJiwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IpOwogCiAgICAg
dm9pZCBzdGFydENvbnN1bWluZ1N0cmVhbSh1bnNpZ25lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVG
ZXRjaC5jcHAKaW5kZXggOTkwMDljYmE0YjgxZDZhNTUwNTc0ZDY4YTJjZDg5MTBlNmFiYzQyZS4u
YjJlYWNlNDFiMWI4MzhlMjkxMGMwMjFmOTEzYWRhM2FmMjU5NjUyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZUZldGNoLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlUmVxdWVzdEluaXRpYXRvcnMuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkZldGNoUmVz
cG9uc2UuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpT
RmV0Y2hSZXNwb25zZS5oIgpAQCAtMzksNDYgKzQwLDQxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdXNpbmcgRmV0Y2hSZXNwb25zZVByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50
ZXJmYWNlPEZldGNoUmVzcG9uc2U+PjsKIAotdm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
RmV0Y2g6OmZldGNoKERPTVdpbmRvdyYgd2luZG93LCBGZXRjaFJlcXVlc3Q6OkluZm8mJiBpbnB1
dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5pdCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBkZWZl
cnJlZCkKKy8vIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNkb20tZ2xvYmFsLWZldGNo
CitzdGF0aWMgdm9pZCBkb0ZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjb3BlLCBGZXRj
aFJlcXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5pdCwgRmV0Y2hS
ZXNwb25zZVByb21pc2UmJiBwcm9taXNlKQogewotICAgIEZldGNoUmVzcG9uc2VQcm9taXNlIHBy
b21pc2UgPSBXVEZNb3ZlKGRlZmVycmVkKTsKLQotICAgIGF1dG8qIGRvY3VtZW50ID0gd2luZG93
LmRvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCkgewotICAgICAgICBwcm9taXNlLnJlamVj
dChJbnZhbGlkU3RhdGVFcnJvcik7CisgICAgYXV0byByZXF1ZXN0T3JFeGNlcHRpb24gPSBGZXRj
aFJlcXVlc3Q6OmNyZWF0ZShzY29wZSwgV1RGTW92ZShpbnB1dCksIFdURk1vdmUoaW5pdCkpOwor
ICAgIGlmIChyZXF1ZXN0T3JFeGNlcHRpb24uaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QocmVxdWVzdE9yRXhjZXB0aW9uLnJlbGVhc2VFeGNlcHRpb24oKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIHJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNy
ZWF0ZSgqZG9jdW1lbnQsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpKTsKLSAgICBpZiAo
cmVxdWVzdC5oYXNFeGNlcHRpb24oKSkgewotICAgICAgICBwcm9taXNlLnJlamVjdChyZXF1ZXN0
LnJlbGVhc2VFeGNlcHRpb24oKSk7CisgICAgYXV0byByZXF1ZXN0ID0gcmVxdWVzdE9yRXhjZXB0
aW9uLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworICAgIGlmIChyZXF1ZXN0LT5zaWduYWwoKS5hYm9y
dGVkKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgQWJvcnRFcnJvciwg
IlJlcXVlc3Qgc2lnbmFsIGlzIGFib3J0ZWQiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBGZXRjaFJlc3BvbnNlOjpmZXRjaCgqZG9jdW1lbnQsIHJlcXVlc3QucmVsZWFzZVJl
dHVyblZhbHVlKCksIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgdXNlckdlc3R1cmVUb2tl
biA9IFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKV0oRXhjZXB0aW9u
T3I8RmV0Y2hSZXNwb25zZSY+JiYgcmVzdWx0KSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKCF1c2Vy
R2VzdHVyZVRva2VuIHx8IHVzZXJHZXN0dXJlVG9rZW4tPmhhc0V4cGlyZWQoVXNlckdlc3R1cmVU
b2tlbjo6bWF4aW11bUludGVydmFsRm9yVXNlckdlc3R1cmVGb3J3YXJkaW5nRm9yRmV0Y2goKSkg
fHwgIXVzZXJHZXN0dXJlVG9rZW4tPnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7CisgICAgRmV0
Y2hSZXNwb25zZTo6ZmV0Y2goc2NvcGUsIHJlcXVlc3QuZ2V0KCksIFtwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKSwgc2NvcGUgPSBSZWYgeyBzY29wZSB9XShhdXRvJiYgcmVzdWx0KSBtdXRhYmxl
IHsKKyAgICAgICAgc2NvcGUtPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpOZXR3
b3JraW5nLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlc3VsdCA9IFdURk1vdmUocmVz
dWx0KV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21pc2Uuc2V0dGxlKFdURk1vdmUocmVz
dWx0KSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBVc2VyR2Vz
dHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0dXJlVG9rZW4sIFVzZXJHZXN0
dXJlVG9rZW46Okdlc3R1cmVTY29wZTo6TWVkaWFPbmx5LCBVc2VyR2VzdHVyZVRva2VuOjpJc1By
b3BhZ2F0ZWRGcm9tRmV0Y2g6Olllcyk7Ci0gICAgICAgIHByb21pc2Uuc2V0dGxlKFdURk1vdmUo
cmVzdWx0KSk7CisgICAgICAgIH0pOwogICAgIH0sIGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRp
YXRvcnMoKS5mZXRjaCk7CiB9CiAKLXZvaWQgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNo
OjpmZXRjaChXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUsIEZldGNoUmVxdWVzdDo6SW5mbyYmIGlu
cHV0LCBGZXRjaFJlcXVlc3Q6OkluaXQmJiBpbml0LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIGRl
ZmVycmVkKQordm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNoKERPTVdp
bmRvdyYgd2luZG93LCBGZXRjaFJlcXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJ
bml0JiYgaW5pdCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIEZldGNo
UmVzcG9uc2VQcm9taXNlIHByb21pc2UgPSBXVEZNb3ZlKGRlZmVycmVkKTsKLQotICAgIGF1dG8g
cmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKHNjb3BlLCBXVEZNb3ZlKGlucHV0KSwgV1RG
TW92ZShpbml0KSk7Ci0gICAgaWYgKHJlcXVlc3QuaGFzRXhjZXB0aW9uKCkpIHsKLSAgICAgICAg
cHJvbWlzZS5yZWplY3QocmVxdWVzdC5yZWxlYXNlRXhjZXB0aW9uKCkpOworICAgIGF1dG8qIGRv
Y3VtZW50ID0gd2luZG93LmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkgeworICAgICAg
ICBwcm9taXNlLT5yZWplY3QoSW52YWxpZFN0YXRlRXJyb3IpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQorICAgIGRvRmV0Y2goKmRvY3VtZW50LCBXVEZNb3ZlKGlucHV0KSwgV1RGTW92ZShpbml0
KSwgV1RGTW92ZShwcm9taXNlKSk7Cit9CiAKLSAgICBGZXRjaFJlc3BvbnNlOjpmZXRjaChzY29w
ZSwgcmVxdWVzdC5yZWxlYXNlUmV0dXJuVmFsdWUoKS5nZXQoKSwgW3Byb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpXShFeGNlcHRpb25PcjxGZXRjaFJlc3BvbnNlJj4mJiByZXN1bHQpIG11dGFibGUg
ewotICAgICAgICBwcm9taXNlLnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOwotICAgIH0sIGNhY2hl
ZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMoKS5mZXRjaCk7Cit2b2lkIFdpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGVGZXRjaDo6ZmV0Y2goV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlLCBGZXRjaFJl
cXVlc3Q6OkluZm8mJiBpbnB1dCwgRmV0Y2hSZXF1ZXN0OjpJbml0JiYgaW5pdCwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIGRvRmV0Y2goc2NvcGUsIFdURk1vdmUoaW5w
dXQpLCBXVEZNb3ZlKGluaXQpLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNl
OTFlYWVmZTNlZGUwZGY2MzI1MjAyZGU2YjAxNjdjMDFlY2ViOGUuLmQzOGI5ODFkYTY3YmIwNzJj
NDYwYjFhZGU4MDE0NzFjODYwZmJjOGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMi0w
OCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2V0dGxpbmcg
b2YgYSBmZXRjaCBwcm9taXNlIHNob3VsZCBiZSBkZWxheWVkIGluIGNhc2UgcGFnZSBpcyBlbnRl
cmluZyBwYWdlIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzYyOTIKKyAgICAgICAgPHJkYXI6Ly84ODQ1Mjk3MT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9mZXRjaC1wYWdlY2FjaGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL25hdmlnYXRpb24vZmV0Y2gtcGFnZWNhY2hlLmh0bWw6IEFkZGVkLgorCiAyMDIyLTAyLTA4
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBMaWJXZWJSVEND
b2RlY3MgU2hhcmVkVmlkZW9GcmFtZVdyaXRlcnMgY2FuIGRlYWRsb2NrIGluIGNhc2Ugb2YgR1BV
UHJvY2VzcyBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2ZldGNoLXBhZ2VjYWNoZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vZmV0Y2gtcGFnZWNhY2hlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTYz
YTAyZjgwZTFlNmJlNWFmOGE3YzI3ZGQ2NzY0MjI1YzhmMTEzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZldGNoLXBhZ2VjYWNoZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGxvYWRpbmcg
WE1MSHR0cFJlcXVlc3QgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQorcGFnZWhpZGUgLSBl
bnRlcmluZyBjYWNoZQorcGFnZXNob3cgLSBmcm9tIGNhY2hlCitQQVNTIFBhZ2UgZGlkIGVudGVy
IGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZQorUEFTUyBmZXRjaCBwcm9taXNl
IHJlc29sdmVkIGFmdGVyIHBhZ2Ugd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZmV0Y2gtcGFnZWNhY2hlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZmV0Y2gtcGFnZWNhY2hlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNWRkMjRhNjA0NjlhZjdiNGZkZjBkZjAxODBiYzhkMTE2NjI0MmRmMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9mZXRj
aC1wYWdlY2FjaGUuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IWRvY3R5cGUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGR1bXBKU0NvbnNvbGVMb2dJblN0ZEVycj10cnVlIFVzZXNCYWNr
Rm9yd2FyZENhY2hlPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGxvYWRpbmcgWE1MSHR0
cFJlcXVlc3QgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOword2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOworCit2YXIgcmVzdG9yZWRGcm9tUGFnZUNhY2hlID0gZmFsc2U7CisKK2Z1bmN0
aW9uIGRvRmV0Y2hUZXN0KCkKK3sKKyAgICBpZiAocmVzdG9yZWRGcm9tUGFnZUNhY2hlKSB7Cisg
ICAgICAgIHRlc3RQYXNzZWQoImZldGNoIHByb21pc2UgcmVzb2x2ZWQgYWZ0ZXIgcGFnZSB3YXMg
cmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBmZXRjaCgiL3Jlc291cmNlcy9sb2FkLWFuZC1z
dGFsbC5jZ2k/bmFtZT1sb2FkLWFuZC1zdGFsbC5jZ2kmc3RhbGxGb3I9MyZzdGFsbEF0PTAmbWlt
ZVR5cGU9dGV4dC9wbGFpbiIpLnRoZW4oZG9GZXRjaFRlc3QsIGRvRmV0Y2hUZXN0KTsKK30KKwor
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAg
ICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSAr
ICJmcm9tIGNhY2hlIik7CisKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRl
c3RQYXNzZWQoIlBhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBj
YWNoZSIpOworICAgICAgICByZXN0b3JlZEZyb21QYWdlQ2FjaGUgPSB0cnVlOworICAgIH0KK30s
IGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24o
ZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZWhpZGUgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIi
IDogIm5vdCAiKSArICJlbnRlcmluZyBjYWNoZSIpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVk
KSB7CisgICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgZGlkIG5vdCBlbnRlciB0aGUgcGFnZSBjYWNo
ZS4iKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorICAgIGRvRmV0Y2hUZXN0KCk7
Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24o
KSB7CisgICAgLy8gVGhpcyBuZWVkcyB0byBoYXBwZW4gaW4gYSBzZXRUaW1lb3V0IGJlY2F1c2Ug
YSBuYXZpZ2F0aW9uIGluc2lkZSB0aGUgb25sb2FkIGhhbmRsZXIgd291bGQKKyAgICAvLyBub3Qg
Y3JlYXRlIGEgaGlzdG9yeSBlbnRyeS4KKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAg
ICAgLy8gRm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBhZ2UuCisgICAgICB3
aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJjZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbCI7
CisgICAgfSwgMCk7Cit9LCBmYWxzZSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451244</attachid>
            <date>2022-02-08 07:34:46 -0800</date>
            <delta_ts>2022-02-08 07:50:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236292-20220208163442.patch</filename>
            <type>text/plain</type>
            <size>72714</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTFjNzE3Nzc2MDQzMzli
NmJkMDllY2I5ZGEzNTVhMjkyODRkNzg1YS4uOGRlODVhYWUyYzA5MDM1NWIyNWE0MzBkNTkwNDA5
ZTA0ZDI5NmZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCB0byBx
dWVyeSBjYW1lcmEgYW5kIG1pY3JvcGhvbmUgcGVybWlzc2lvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjEzOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBVcGRhdGUgcXVlcnlQZXJtaXNzaW9uIHRvIGJl
IGFzeW5jIGFzIGl0IG1heSByZXF1aXJlIHRvIGNoZWNrIHRvIFVJUHJvY2Vzcy4KKyAgICAgICAg
Q292ZXJlZCBieSBBUEkgdGVzdC4KKworICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmNwcDoKKwogMjAyMi0wMi0wOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgU2V0dGxpbmcgb2YgYSBmZXRjaCBwcm9taXNlIHNob3VsZCBiZSBkZWxh
eWVkIGluIGNhc2UgcGFnZSBpcyBlbnRlcmluZyBwYWdlIGNhY2hlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlhN2Vm
NzY3YzkxY2RlODM3NWQ1Y2IyMzZhYWQ5OGQ3NjM1MmI2NWIuLjdhMWJiNmE4MjM1NjNjN2Y1Yjlj
ZTg3OTZjNGRlYzQyNWZiY2JiODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjItMDIt
MDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBw
b3J0IHRvIHF1ZXJ5IGNhbWVyYSBhbmQgbWljcm9waG9uZSBwZXJtaXNzaW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MTM4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEFkZCBuZXcgU1BJIHRvIHF1ZXJ5
IGZvciBwZXJtaXNzaW9uICh3aXRob3V0IHJlcXVlc3RpbmcgYW55dGhpbmcgdG8gdXNlcikuCisg
ICAgICAgIFVzZSB0aGlzIHRvIGltcGxlbWVudCBjYW1lcmEvbWljcm9waG9uZSBwZXJtaXNzaW9u
LgorICAgICAgICBJbiBjYXNlIG9mIHBlcm1pc3NzaW9uIHBlcnNpc3RlbnRseSBkZW5pZWQsIG9u
bHkgZXhwb3NlIGl0IGlmIHdlYiBwYWdlIGFscmVhZHkgY2FsbGVkIGdldFVzZXJNZWRpYS4KKyAg
ICAgICAgSW4gY2FzZSBvZiBwZXJtaXNzaW9uIG5vdCBwZXJzaXN0ZW50bHkgc2V0LCBjb21wdXRl
IHRoZSBwZXJtaXNzaW9uIHN0YXRlIGFjY29yZGluZyBwYXN0IGdldFVzZXJNZWRpYSByZXF1ZXN0
cy4KKyAgICAgICAgQWxzbyBhZGQgZ2VvbG9jYXRpb24gbWFwcGluZyBhcyBhcHBsaWNhdGlvbnMg
bWlnaHQgd2FudCB0byBzdXBwb3J0IGl0IGFuZCBpdCBtYWtlcyBleGlzdGluZyBXUFQgdGVzdHMg
aGFwcHkuCisgICAgICAgIEFkZCBDIEFQSSBhcyB3ZWxsIHNvIHRoYXQgV1RSIGNhbiBjb250cm9s
IHBlcm1pc3Npb24gcXVlcnlpbmcuCisKKyAgICAgICAgQ292ZXJlZCBieSBBUEkgdGVzdC4KKwor
ICAgICAgICAqIFNoYXJlZC9BUEkvQVBJT2JqZWN0Lmg6CisgICAgICAgICogU2hhcmVkL0FQSS9j
L1dLQmFzZS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VT
ZXRQYWdlVUlDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVu
dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1NwZWVjaFJlY29nbml0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKiBVSVByb2Nl
c3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlzc2lvbkNvbnRy
b2xsZXIuaDoKKwogMjAyMi0wMi0wOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgTGliV2ViUlRDQ29kZWNzIFNoYXJlZFZpZGVvRnJhbWVXcml0ZXJzIGNhbiBk
ZWFkbG9jayBpbiBjYXNlIG9mIEdQVVByb2Nlc3MgY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbkNvbnRyb2xsZXIuaAppbmRl
eCA4MjVmODBmOGFlZjNhMzczOWE4MGMwZWFjMGE4MGM0OWRhODEwZWRiLi44YjY5YjM1YmYxMTJh
M2U4NGM5YTY1YmI2YWM4YTVmZTgwYTI4YmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9uQ29udHJvbGxlci5oCkBAIC0zOCw4
ICszOCw3IEBAIHN0cnVjdCBQZXJtaXNzaW9uRGVzY3JpcHRvcjsKIGNsYXNzIFBlcm1pc3Npb25D
b250cm9sbGVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFBlcm1pc3Npb25Db250cm9s
bGVyPiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UGVybWlzc2lvbkNvbnRyb2xsZXIoKSA9IGRl
ZmF1bHQ7Ci0gICAgdmlydHVhbCBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50T3JpZ2luJiYs
IFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdChD
bGllbnRPcmlnaW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChQZXJtaXNzaW9uU3RhdGUpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHF1ZXJ5KFdl
YkNvcmU6OkNsaWVudE9yaWdpbiYmLCBQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvblN0YXRlPik+JiYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgYWRkT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCByZW1vdmVPYnNlcnZlcihQZXJtaXNzaW9uT2JzZXJ2ZXImKSA9IDA7CiBw
cm90ZWN0ZWQ6CkBAIC01MSw4ICs1MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPER1bW15
UGVybWlzc2lvbkNvbnRyb2xsZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRHVt
bXlQZXJtaXNzaW9uQ29udHJvbGxlcik7IH0KIHByaXZhdGU6CiAgICAgRHVtbXlQZXJtaXNzaW9u
Q29udHJvbGxlcigpID0gZGVmYXVsdDsKLSAgICBQZXJtaXNzaW9uU3RhdGUgcXVlcnkoQ2xpZW50
T3JpZ2luJiYsIFBlcm1pc3Npb25EZXNjcmlwdG9yJiYpIGZpbmFsIHsgcmV0dXJuIFBlcm1pc3Np
b25TdGF0ZTo6RGVuaWVkOyB9Ci0gICAgdm9pZCByZXF1ZXN0KENsaWVudE9yaWdpbiYmLCBQZXJt
aXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFBlcm1pc3Npb25TdGF0
ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsIHsgY29tcGxldGlvbkhhbmRsZXIoUGVybWlz
c2lvblN0YXRlOjpEZW5pZWQpOyB9CisgICAgdm9pZCBxdWVyeShXZWJDb3JlOjpDbGllbnRPcmln
aW4mJiwgUGVybWlzc2lvbkRlc2NyaXB0b3ImJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6
Om9wdGlvbmFsPFBlcm1pc3Npb25TdGF0ZT4pPiYmIGNhbGxiYWNrKSBmaW5hbCB7IGNhbGxiYWNr
KHsgfSk7IH0KICAgICB2b2lkIGFkZE9ic2VydmVyKFBlcm1pc3Npb25PYnNlcnZlciYpIGZpbmFs
IHsgfQogICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoUGVybWlzc2lvbk9ic2VydmVyJikgZmluYWwg
eyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9Q
ZXJtaXNzaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1p
c3Npb25zLmNwcAppbmRleCAyMTMzYjJhNzBiYjg4MjVjZjNjYzRkYzYxMjA4OTIzNDk1Yjk4YTBi
Li5hZjU4ZjczNTg2N2RhNThmNzljOWI3OWIxNDhmNWM2ZjZlZDg4ZGEwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25zLmNwcApAQCAtODks
OCArODksMTkgQEAgdm9pZCBQZXJtaXNzaW9uczo6cXVlcnkoSlNDOjpTdHJvbmc8SlNDOjpKU09i
amVjdD4gcGVybWlzc2lvbkRlc2NyaXB0b3JWYWx1ZSwgRE8KIAogICAgIGF1dG8qIG9yaWdpbiA9
IGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCk7CiAgICAgYXV0byBvcmlnaW5EYXRhID0gb3JpZ2lu
ID8gb3JpZ2luLT5kYXRhKCkgOiBTZWN1cml0eU9yaWdpbkRhdGEgeyB9OwotICAgIGF1dG8gcGVy
bWlzc2lvblN0YXRlID0gbV9jb250cm9sbGVyLT5xdWVyeShDbGllbnRPcmlnaW4geyBjb250ZXh0
LT50b3BPcmlnaW4oKS5kYXRhKCksIG9yaWdpbkRhdGEgfSwgUGVybWlzc2lvbkRlc2NyaXB0b3Ig
eyBwYXJhbWV0ZXJEZXNjcmlwdG9yIH0pOwotICAgIHByb21pc2UucmVzb2x2ZShQZXJtaXNzaW9u
U3RhdHVzOjpjcmVhdGUoKmNvbnRleHQsIHBlcm1pc3Npb25TdGF0ZSwgcGFyYW1ldGVyRGVzY3Jp
cHRvcikpOworICAgIG1fY29udHJvbGxlci0+cXVlcnkoQ2xpZW50T3JpZ2luIHsgY29udGV4dC0+
dG9wT3JpZ2luKCkuZGF0YSgpLCBvcmlnaW5EYXRhIH0sIFBlcm1pc3Npb25EZXNjcmlwdG9yIHsg
cGFyYW1ldGVyRGVzY3JpcHRvciB9LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlz
IH0sIHBhcmFtZXRlckRlc2NyaXB0b3IsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRv
IHBlcm1pc3Npb25TdGF0ZSkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gY29udGV4dCA9IG1fbmF2
aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6IG51bGxwdHI7
CisgICAgICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+Z2xvYmFsT2JqZWN0KCkpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgY29udGV4dC0+cG9zdFRhc2soW3BhcmFtZXRlckRl
c2NyaXB0b3IsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCAgcGVybWlzc2lvblN0YXRlID0g
V1RGTW92ZShwZXJtaXNzaW9uU3RhdGUpXShhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgIGlmICghcGVybWlzc2lvblN0YXRlKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfSk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKFBlcm1p
c3Npb25TdGF0dXM6OmNyZWF0ZShjb250ZXh0LCAqcGVybWlzc2lvblN0YXRlLCBwYXJhbWV0ZXJE
ZXNjcmlwdG9yKSk7CisgICAgICAgIH0pOworICAgIH0pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKaW5kZXggMjBiZTc4NjgxOGJl
OGExNTI4OTNlOTJmMGE4ZDQ1M2RjZGFkOTAzMC4uNTNhZjEwYTg2ZTEyOWExOWVkMTA1MTNhMTYw
ZDlkYTA5N2ZlNWM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmplY3QuaApAQCAtMTg3
LDYgKzE4Nyw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgICAgIE1lZGlhS2V5U3lzdGVtUGVy
bWlzc2lvbkNhbGxiYWNrLAorICAgICAgICBRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjaywK
IAogICAgICAgICAvLyBCdW5kbGUgdHlwZXMKICAgICAgICAgQnVuZGxlLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tCYXNlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUEkvYy9XS0Jhc2UuaAppbmRleCA3YzhiZDIzOTI0YzRhYjcxMTU0ZjVjYWM3ZTczY2M3M2Qz
OTQ1OGMwLi5jY2I3MjExNDU5OTZhMTEzMmI5ZDNiNmI4ZjJjOWNmMWQ1MzVlODYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUEkvYy9XS0Jhc2UuaApAQCAtMTQ0LDYgKzE0NCw3IEBAIHR5cGVkZWYgY29u
c3Qgc3RydWN0IE9wYXF1ZVdLV2luZG93RmVhdHVyZXMqIFdLV2luZG93RmVhdHVyZXNSZWY7CiB0
eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1NwZWVjaFJlY29nbml0aW9uUGVybWlzc2lvbkNh
bGxiYWNrKiBXS1NwZWVjaFJlY29nbml0aW9uUGVybWlzc2lvbkNhbGxiYWNrUmVmOwogdHlwZWRl
ZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tNZWRpYUtleVN5c3RlbVBlcm1pc3Npb25SZXF1ZXN0KiBX
S01lZGlhS2V5U3lzdGVtUGVybWlzc2lvblJlcXVlc3RSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVj
dCBPcGFxdWVXS01lZGlhS2V5U3lzdGVtUGVybWlzc2lvbkNhbGxiYWNrKiBXS01lZGlhS2V5U3lz
dGVtUGVybWlzc2lvbkNhbGxiYWNrUmVmOwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tR
dWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjayogV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxs
YmFja1JlZjsKIAogLyogV2ViS2l0MiBCdW5kbGUgdHlwZXMgKi8KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXgg
NGYwYTIzNTQ0MWIyZTFjMGNjY2MxNDBkY2M1MGYyNmYwMDQ0M2NhMC4uOGZmMmM5ZWJlZGM2N2Rl
MjBhMjlkZGFkNjFhMjBlNGM2MzgyYjIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC01MjAsNiArNTIwLDcg
QEAgVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKIFVJUHJvY2Vzcy9B
UEkvQy9XS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcAogVUlQcm9jZXNzL0FQSS9D
L1dLT3BlblBhbmVsUGFyYW1ldGVyc1JlZi5jcHAKIFVJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5l
bFJlc3VsdExpc3RlbmVyLmNwcAorVUlQcm9jZXNzL0FQSS9DL1dLUXVlcnlQZXJtaXNzaW9uUmVz
dWx0Q2FsbGJhY2suY3BwCiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAogVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZUNvbmZpZ3VyYXRpb25SZWYuY3BwCiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlR3Jv
dXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IDk2
ODUwNTQ5MjljZmRjMzVlOThhMTVmMDU0Zjc4MzllMWRmNGFlMDguLmZiY2U5NDVlNDU4NmYyZGY3
ZTc1MGZhOTgwNzY2NDQ4N2RlMjg0NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElVSUNsaWVudC5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWVD
b25zZW50RGVjaXNpb25SZXN1bHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTW9kYWxDb250YWluZXJUeXBlcy5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvUGVybWlzc2lvblN0YXRlLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+
CiAKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTIyMiw2ICsyMjMsOCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5Rm9yTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uUmVx
dWVzdChXZWJLaXQ6OldlYlBhZ2VQcm94eSYgcGFnZSwgQVBJOjpTZWN1cml0eU9yaWdpbiYgb3Jp
Z2luLCBjb25zdCBXVEY6OlN0cmluZyYga2V5U3lzdGVtLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IHBhZ2UucmVxdWVzdE1lZGlhS2V5U3lzdGVt
UGVybWlzc2lvbkJ5RGVmYXVsdEFjdGlvbihvcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcXVlcnlQZXJtaXNz
aW9uKGNvbnN0IFdURjo6U3RyaW5nJiBwZXJtaXNzaW9uTmFtZSwgQVBJOjpTZWN1cml0eU9yaWdp
biYgb3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
UGVybWlzc2lvblN0YXRlPik+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRs
ZXIoeyB9KTsgfQorCiAjaWYgRU5BQkxFKFdFQlhSKSAmJiBQTEFURk9STShDT0NPQSkKICAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb25PblhSU2Vzc2lvbkZlYXR1cmVzKFdlYktpdDo6
V2ViUGFnZVByb3h5JiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiwgUGxhdGZv
cm1YUjo6U2Vzc2lvbk1vZGUsIGNvbnN0IFBsYXRmb3JtWFI6OkRldmljZTo6RmVhdHVyZUxpc3Qm
IGdyYW50ZWQsIGNvbnN0IFBsYXRmb3JtWFI6OkRldmljZTo6RmVhdHVyZUxpc3QmIC8qIGNvbnNl
bnRSZXF1aXJlZCAqLywgY29uc3QgUGxhdGZvcm1YUjo6RGV2aWNlOjpGZWF0dXJlTGlzdCYgLyog
Y29uc2VudE9wdGlvbmFsICovLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8
UGxhdGZvcm1YUjo6RGV2aWNlOjpGZWF0dXJlTGlzdD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
IHsgY29tcGxldGlvbkhhbmRsZXIoZ3JhbnRlZCk7IH0gICAgCiAgICAgdmlydHVhbCB2b2lkIHN0
YXJ0WFJTZXNzaW9uKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChSZXRhaW5QdHI8aWQ+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxl
cihuaWwpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQ
SUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCmluZGV4
IDU2ZTA4NDQ4ODcyOTllODBhYzY5NTViMGU5MzJjYWE1MGY1ZDRhOTEuLjhiOWI2MGEwMDJjNTBj
YWVhMmMxZDQwNzdjYmViNjJkOTZmOTE4YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLQVBJQ2FzdC5oCkBAIC03OSw2ICs3OSw3IEBAIGNsYXNzIERvd25sb2FkUHJveHk7CiBj
bGFzcyBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0OwogY2xhc3MgTWVkaWFLZXlTeXN0ZW1Q
ZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDsK
K2NsYXNzIFF1ZXJ5UGVybWlzc2lvblJlc3VsdENhbGxiYWNrOwogY2xhc3MgU3BlZWNoUmVjb2du
aXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiBjbGFzcyBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQ
cm94eTsKIGNsYXNzIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk7CkBAIC0xMzYsNiAr
MTM3LDcgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLSGl0VGVzdFJlc3VsdFJlZiwgQVBJOjpIaXRU
ZXN0UmVzdWx0KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLSWNvbkRhdGFiYXNlUmVmLCBXZWJJY29u
RGF0YWJhc2UpCiBXS19BRERfQVBJX01BUFBJTkcoV0tJbnNwZWN0b3JSZWYsIFdlYkluc3BlY3Rv
clVJUHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tNZWRpYUtleVN5c3RlbVBlcm1pc3Npb25D
YWxsYmFja1JlZiwgTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uQ2FsbGJhY2spCitXS19BRERfQVBJ
X01BUFBJTkcoV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFja1JlZiwgUXVlcnlQZXJtaXNz
aW9uUmVzdWx0Q2FsbGJhY2spCiBXS19BRERfQVBJX01BUFBJTkcoV0tNZXNzYWdlTGlzdGVuZXJS
ZWYsIEFQSTo6TWVzc2FnZUxpc3RlbmVyKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTmF2aWdhdGlv
bkFjdGlvblJlZiwgQVBJOjpOYXZpZ2F0aW9uQWN0aW9uKQogV0tfQUREX0FQSV9NQVBQSU5HKFdL
TmF2aWdhdGlvbkRhdGFSZWYsIEFQSTo6TmF2aWdhdGlvbkRhdGEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCAyMGExZTMwMmRkYmQyYTYxZTNjNWEyY2Q1ZWYx
MWQzNWM5NGJmZmJhLi5kYzYzM2M2NDU3YmRjMjYwMzA5ZmVkM2NiNTM0MTRlNzRlYmI5NjI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTY1LDYgKzY1LDcg
QEAKICNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJQcmludEluZm8uaCIKKyNpbmNsdWRlICJRdWVyeVBl
cm1pc3Npb25SZXN1bHRDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uUGVy
bWlzc2lvblJlcXVlc3QuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXS1Bh
Z2VQb2xpY3lDbGllbnRJbnRlcm5hbC5oIgpAQCAtMTE4LDcgKzExOSw3IEBAIHRlbXBsYXRlPD4g
c3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VQb2xpY3lDbGllbnRCYXNlPiB7CiB9OwogCiB0ZW1w
bGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnRCYXNlPiB7Ci0gICAgdHlw
ZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJQ2xpZW50VjEsIFdLUGFn
ZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjMsIFdLUGFnZVVJQ2xpZW50VjQsIFdLUGFnZVVJ
Q2xpZW50VjUsIFdLUGFnZVVJQ2xpZW50VjYsIFdLUGFnZVVJQ2xpZW50VjcsIFdLUGFnZVVJQ2xp
ZW50VjgsIFdLUGFnZVVJQ2xpZW50VjksIFdLUGFnZVVJQ2xpZW50VjEwLCBXS1BhZ2VVSUNsaWVu
dFYxMSwgV0tQYWdlVUlDbGllbnRWMTIsIFdLUGFnZVVJQ2xpZW50VjEzLCBXS1BhZ2VVSUNsaWVu
dFYxNCwgV0tQYWdlVUlDbGllbnRWMTUsIFdLUGFnZVVJQ2xpZW50VjE2LCBXS1BhZ2VVSUNsaWVu
dFYxNz4gVmVyc2lvbnM7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAs
IFdLUGFnZVVJQ2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjMsIFdL
UGFnZVVJQ2xpZW50VjQsIFdLUGFnZVVJQ2xpZW50VjUsIFdLUGFnZVVJQ2xpZW50VjYsIFdLUGFn
ZVVJQ2xpZW50VjcsIFdLUGFnZVVJQ2xpZW50VjgsIFdLUGFnZVVJQ2xpZW50VjksIFdLUGFnZVVJ
Q2xpZW50VjEwLCBXS1BhZ2VVSUNsaWVudFYxMSwgV0tQYWdlVUlDbGllbnRWMTIsIFdLUGFnZVVJ
Q2xpZW50VjEzLCBXS1BhZ2VVSUNsaWVudFYxNCwgV0tQYWdlVUlDbGllbnRWMTUsIFdLUGFnZVVJ
Q2xpZW50VjE2LCBXS1BhZ2VVSUNsaWVudFYxNywgV0tQYWdlVUlDbGllbnRWMTg+IFZlcnNpb25z
OwogfTsKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpAQCAtMjE5MCw2ICsyMTkxLDE4IEBA
IHZvaWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1Bh
Z2VVSUNsaWVudEJhc2UqIHdrQ2xpZW50CiAKICAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBv
bGljeUZvck1lZGlhS2V5U3lzdGVtUGVybWlzc2lvblJlcXVlc3QodG9BUEkoJnBhZ2UpLCB0b0FQ
SSgmb3JpZ2luKSwgdG9BUEkoQVBJOjpTdHJpbmc6OmNyZWF0ZShrZXlTeXN0ZW0pLnB0cigpKSwg
dG9BUEkoTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uQ2FsbGJhY2s6OmNyZWF0ZShXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSkucHRyKCkpKTsKICAgICAgICAgfQorCisgICAgICAgIHZvaWQgcXVl
cnlQZXJtaXNzaW9uKGNvbnN0IFdURjo6U3RyaW5nJiBwZXJtaXNzaW9uTmFtZSwgQVBJOjpTZWN1
cml0eU9yaWdpbiYgb3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPik+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAicGFnZSBjbGllbnQgcXVlcnlQ
ZXJtaXNzaW9uMVxuIik7CisKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQucXVlcnlQZXJtaXNz
aW9uKSB7CisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgInBhZ2UgY2xpZW50IHF1ZXJ5UGVybWlzc2lvbjJcbiIpOworICAgICAgICAgICAgbV9jbGll
bnQucXVlcnlQZXJtaXNzaW9uKHRvQVBJKEFQSTo6U3RyaW5nOjpjcmVhdGUocGVybWlzc2lvbk5h
bWUpLnB0cigpKSwgdG9BUEkoJm9yaWdpbiksIHRvQVBJKFF1ZXJ5UGVybWlzc2lvblJlc3VsdENh
bGxiYWNrOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpLnB0cigpKSk7CisgICAg
ICAgIH0KICAgICB9OwogCiAgICAgdG9JbXBsKHBhZ2VSZWYpLT5zZXRVSUNsaWVudChtYWtlVW5p
cXVlPFVJQ2xpZW50Pih3a0NsaWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZVVJQ2xpZW50LmgKaW5kZXggNjZmYTdmOTQ4YmRjMzU2NjlmYTdkYjVhMDE1MzUz
MzNiZWZhNTVlYy4uZTMzMTg3NDc3ZDNkNmU3NjE0Yjg5MThkNDY3YjMwODQ3Zjk0Mzg2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCkBAIC0x
NDAsNyArMTQwLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tQYWdlUmVxdWVzdFdlYkF1dGhlbnRpY2F0
aW9uTm9HZXN0dXJlQ2FsbGJhY2spKCk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xp
Y3lGb3JTcGVlY2hSZWNvZ25pdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2spKFdLUGFnZVJl
ZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHRvcE9yaWdpbiwgV0tTcGVlY2hSZWNvZ25pdGlv
blBlcm1pc3Npb25DYWxsYmFja1JlZiBjYWxsYmFjayk7CiAKIHR5cGVkZWYgdm9pZCAoKldLUGFn
ZURlY2lkZVBvbGljeUZvck1lZGlhS2V5U3lzdGVtUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayko
V0tQYWdlUmVmIHBhZ2UsIFdLU2VjdXJpdHlPcmlnaW5SZWYgdG9wT3JpZ2luLCBXS1N0cmluZ1Jl
ZiBrZXlTeXN0ZW0sIFdLTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uQ2FsbGJhY2tSZWYgY2FsbGJh
Y2spOwotCit0eXBlZGVmIHZvaWQgKCpXS1F1ZXJ5UGVybWlzc2lvbkNhbGxiYWNrKShXS1N0cmlu
Z1JlZiBwZXJtaXNzaW9uTmFtZSwgV0tTZWN1cml0eU9yaWdpblJlZiB0b3BPcmlnaW4sIFdLUXVl
cnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2tSZWYgY2FsbGJhY2spOwogLy8gRGVwcmVjYXRlZAog
dHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywg
V0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRv
biwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgICAgICAoKldLUGFnZU1v
dXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQ
YWdlUmVmIHBhZ2UsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS1R5cGVSZWYgdXNlckRh
dGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtMTY5Niw5ICsxNjk2LDEyNyBAQCB0eXBl
ZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFYxNyB7CiAKICAgICAvLyBWZXJzaW9uIDE3LgogICAg
IFdLUGFnZVJlcXVlc3RXZWJBdXRoZW50aWNhdGlvbk5vR2VzdHVyZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdFdlYkF1dGhlbnRpY2F0aW9uTm9HZXN0dXJlOwotCiB9IFdLUGFn
ZVVJQ2xpZW50VjE3OwogCit0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFYxOCB7CisgICAg
V0tQYWdlVUlDbGllbnRCYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBiYXNlOworCisgICAgLy8gVmVyc2lvbiAwLgorICAgIFdLUGFnZUNyZWF0ZU5l
d1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICAgICAgICAgY3Jl
YXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVVJQ2xpZW50Q2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1Bh
Z2U7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjbG9zZTsKKyAgICBXS1BhZ2VUYWtlRm9jdXNDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VGb2N1czsKKyAg
ICBXS1BhZ2VGb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZvY3VzOworICAgIFdLUGFnZVVuZm9jdXNDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5mb2N1czsKKyAgICBXS1BhZ2VS
dW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAg
ICAgIHJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFn
ZVJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAg
ICAgICAgcnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBX
S1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAg
ICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAg
ICBXS1BhZ2VTZXRTdGF0dXNUZXh0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNldFN0YXR1c1RleHQ7CisgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVs
ZW1lbnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICBtb3VzZURpZE1vdmVP
dmVyRWxlbWVudF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZU1pc3NpbmdQbHVn
aW5CdXR0b25DbGlja2VkQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgbWlzc2lu
Z1BsdWdpbkJ1dHRvbkNsaWNrZWRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VE
aWROb3RIYW5kbGVLZXlFdmVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRpZE5vdEhhbmRsZUtleUV2ZW50OworICAgIFdLUGFnZURpZE5vdEhhbmRsZVdoZWVsRXZl
bnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTm90SGFuZGxlV2hl
ZWxFdmVudDsKKyAgICBXS1BhZ2VHZXRUb29sYmFyc0FyZVZpc2libGVDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xiYXJzQXJlVmlzaWJsZTsKKyAgICBXS1BhZ2VT
ZXRUb29sYmFyc0FyZVZpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNldFRvb2xiYXJzQXJlVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRNZW51QmFySXNWaXNpYmxl
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVCYXJJc1Zpc2li
bGU7CisgICAgV0tQYWdlU2V0TWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZXRNZW51QmFySXNWaXNpYmxlOworICAgIFdLUGFnZUdldFN0
YXR1c0JhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdHVzQmFySXNWaXNpYmxlOworICAgIFdLUGFnZVNldFN0YXR1c0JhcklzVmlzaWJsZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdHVzQmFySXNWaXNpYmxl
OworICAgIFdLUGFnZUdldElzUmVzaXphYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaXNSZXNpemFibGU7CisgICAgV0tQYWdlU2V0SXNSZXNpemFibGVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJc1Jlc2l6
YWJsZTsKKyAgICBXS1BhZ2VHZXRXaW5kb3dGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdldFdpbmRvd0ZyYW1lOworICAgIFdLUGFnZVNldFdpbmRv
d0ZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
V2luZG93RnJhbWU7CisgICAgV0tQYWdlUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsQ2FsbGJh
Y2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNiAgICBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxf
ZGVwcmVjYXRlZEZvclVzZVdpdGhWNjsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZERyYXc7CisgICAgV0tQ
YWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYWdlRGlkU2Nyb2xsOworICAgIFdLUGFnZUV4Y2VlZGVkRGF0YWJhc2VRdW90YUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZWVkZWREYXRhYmFzZVF1
b3RhOworICAgIFdLUGFnZVJ1bk9wZW5QYW5lbENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcnVuT3BlblBhbmVsOworICAgIFdLUGFnZURlY2lkZVBvbGlj
eUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAgICAgICAgZGVjaWRl
UG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdDsKKyAgICBXS1BhZ2VIZWFkZXJI
ZWlnaHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
YWRlckhlaWdodDsKKyAgICBXS1BhZ2VGb290ZXJIZWlnaHRDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvb3RlckhlaWdodDsKKyAgICBXS1BhZ2VEcmF3
SGVhZGVyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRyYXdIZWFkZXI7CisgICAgV0tQYWdlRHJhd0Zvb3RlckNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3Rm9vdGVyOworICAgIFdLUGFnZVByaW50
RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHJpbnRGcmFtZTsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1vZGFsOworICAgIHZvaWQqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51
c2VkMTsgLy8gVXNlZCB0byBiZSBkaWRDb21wbGV0ZVJ1YmJlckJhbmRGb3JNYWluRnJhbWUKKyAg
ICBXS1BhZ2VTYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXI7CisgICAgdm9pZCog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0X3VuYXZhaWxhYmxlOworCisgICAgLy8gVmVy
c2lvbiAxLgorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFYxICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0
aFYxOworICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7CisgICAgV0tQYWdl
RGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAg
ICAgICBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDsKKyAgICBX
S1BhZ2VVbmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19kZXByZWNhdGVkRm9y
VXNlV2l0aFYxIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNl
V2l0aFYxOworCisgICAgLy8gVmVyc2lvbiAyLgorICAgIFdLUGFnZVNob3dDb2xvclBpY2tlckNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbG9yUGlj
a2VyOworICAgIFdLUGFnZUhpZGVDb2xvclBpY2tlckNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGlkZUNvbG9yUGlja2VyOworICAgIFdLUGFnZVVuYXZhaWxh
YmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdW5h
dmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkOworCisgICAgLy8gVmVyc2lvbiAzLgorICAgIFdL
UGFnZVBpbm5lZFN0YXRlRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGlubmVkU3RhdGVEaWRDaGFuZ2U7CisKKyAgICAvLyBWZXJzaW9uIDQuCisgICAg
dm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnVzZWQyOyAvLyBVc2VkIHRvIGJlIGRpZEJlZ2luVHJhY2tpbmdQb3RlbnRp
YWxMb25nTW91c2VQcmVzcy4KKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDM7IC8vIFVzZWQgdG8gYmUg
ZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MuCisgICAgdm9pZCogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQ0OyAvLyBV
c2VkIHRvIGJlIGRpZENhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MuCisgICAg
V0tQYWdlSXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpc1BsYXlpbmdBdWRpb0RpZENoYW5nZTsKKworICAgIC8vIFZlcnNpb24gNS4K
KyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdENhbGxi
YWNrICAgICAgICAgICAgIGRlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
OworICAgIFdLUGFnZURpZENsaWNrQXV0b0ZpbGxCdXR0b25DYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbjsKKyAgICBXS1BhZ2VSdW5K
YXZhU2NyaXB0QWxlcnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICAg
IHJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdLUGFnZVJ1
bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAg
ICAgcnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAgICBXS1Bh
Z2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAg
ICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWNTsKKyAgICB2
b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVudXNlZDU7IC8vIFVzZWQgdG8gYmUgbWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRD
aGFuZ2UuCisKKyAgICAvLyBWZXJzaW9uIDYuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdl
OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0OworICAgIFdLUGFnZVJ1bkphdmFT
Y3JpcHRDb25maXJtQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVu
SmF2YVNjcmlwdENvbmZpcm07CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0Owor
ICAgIFdLQ2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2luOworCisgICAg
Ly8gVmVyc2lvbiA3LgorICAgIFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVs
OworICAgIFdLRnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lOworCisgICAgLy8g
VmVyc2lvbiA4LgorICAgIFdLUmVxdWVzdFBvaW50ZXJMb2NrQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBvaW50ZXJMb2NrOworICAgIFdLRGlk
TG9zZVBvaW50ZXJMb2NrQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkTG9zZVBvaW50ZXJMb2NrOworCisgICAgLy8gVmVyc2lvbiA5LgorICAgIFdLSGFu
ZGxlQXV0b3BsYXlFdmVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGFuZGxlQXV0b3BsYXlFdmVudDsKKworICAgIC8vIFZlcnNpb24gMTAuCisgICAgV0tI
YXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZTsKKyAgICBXS0RpZEV4
Y2VlZEJhY2tncm91bmRSZXNvdXJjZUxpbWl0V2hpbGVJbkZvcmVncm91bmRDYWxsYmFjayAgICAg
ICAgIGRpZEV4Y2VlZEJhY2tncm91bmRSZXNvdXJjZUxpbWl0V2hpbGVJbkZvcmVncm91bmQ7CisK
KyAgICAvLyBWZXJzaW9uIDExLgorICAgIFdLUGFnZURpZFJlc2lnbklucHV0RWxlbWVudFN0cm9u
Z1Bhc3N3b3JkQXBwZWFyYW5jZUNhbGxiYWNrICAgICAgICAgZGlkUmVzaWduSW5wdXRFbGVtZW50
U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlOworCisgICAgLy8gVmVyc2lvbiAxMi4KKyAgICBXS1Bh
Z2VSZXF1ZXN0U3RvcmFnZUFjY2Vzc0NvbmZpcm1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3RTdG9yYWdlQWNjZXNzQ29uZmlybTsKKworICAgIC8vIFZlcnNpb24gMTMu
CisgICAgV0tQYWdlU2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0Nh
bGxiYWNrICAgICAgICAgICBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNj
ZXNzOworCisgICAgLy8gVmVyc2lvbiAxNC4KKyAgICBXS1BhZ2VSdW5XZWJBdXRoZW50aWNhdGlv
blBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bldlYkF1dGhlbnRp
Y2F0aW9uUGFuZWw7CisKKyAgICAvLyBWZXJzaW9uIDE1LgorICAgIFdLUGFnZURlY2lkZVBvbGlj
eUZvclNwZWVjaFJlY29nbml0aW9uUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAgZGVjaWRl
UG9saWN5Rm9yU3BlZWNoUmVjb2duaXRpb25QZXJtaXNzaW9uUmVxdWVzdDsKKworICAgIC8vIFZl
cnNpb24gMTYuCisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yTWVkaWFLZXlTeXN0ZW1QZXJtaXNz
aW9uUmVxdWVzdENhbGxiYWNrICAgICAgICBkZWNpZGVQb2xpY3lGb3JNZWRpYUtleVN5c3RlbVBl
cm1pc3Npb25SZXF1ZXN0OworCisgICAgLy8gVmVyc2lvbiAxNy4KKyAgICBXS1BhZ2VSZXF1ZXN0
V2ViQXV0aGVudGljYXRpb25Ob0dlc3R1cmVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgIHJl
cXVlc3RXZWJBdXRoZW50aWNhdGlvbk5vR2VzdHVyZTsKKworICAgIC8vIFZlcnNpb24gMTguCisg
ICAgV0tRdWVyeVBlcm1pc3Npb25DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBxdWVyeVBlcm1pc3Npb247Cit9IFdLUGFnZVVJQ2xpZW50VjE4OworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjay5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1F1ZXJ5UGVybWlzc2lvblJlc3VsdENhbGxiYWNr
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNGI4YmY0NDE2NjE4Y2Y0ZDg2ZDQyZGQwZmExMmJlMWYxY2FhOTkx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tRdWVy
eVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjay5jcHAKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXS1F1ZXJ5UGVybWlzc2lvblJlc3Vs
dENhbGxiYWNrLmgiCisKKyNpbmNsdWRlICJRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjay5o
IgorI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitX
S1R5cGVJRCBXS1F1ZXJ5UGVybWlzc2lvblJlc3VsdENhbGxiYWNrR2V0VHlwZUlEKCkKK3sKKyAg
ICByZXR1cm4gdG9BUEkoUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2s6OkFQSVR5cGUpOwor
fQorCit2b2lkIFdLUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2tDb21wbGV0ZVdpdGhEZW5p
ZWQoV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFja1JlZiBjYWxsYmFjaykKK3sKKyAgICBy
ZXR1cm4gdG9JbXBsKGNhbGxiYWNrKS0+c2V0UGVybWlzc2lvbihXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGU6OkRlbmllZCk7Cit9CisKK3ZvaWQgV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFj
a0NvbXBsZXRlV2l0aEdyYW50ZWQoV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFja1JlZiBj
YWxsYmFjaykKK3sKKyAgICByZXR1cm4gdG9JbXBsKGNhbGxiYWNrKS0+c2V0UGVybWlzc2lvbihX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OkdyYW50ZWQpOworfQorCit2b2lkIFdLUXVlcnlQZXJt
aXNzaW9uUmVzdWx0Q2FsbGJhY2tDb21wbGV0ZVdpdGhQcm9tcHQoV0tRdWVyeVBlcm1pc3Npb25S
ZXN1bHRDYWxsYmFja1JlZiBjYWxsYmFjaykKK3sKKyAgICByZXR1cm4gdG9JbXBsKGNhbGxiYWNr
KS0+c2V0UGVybWlzc2lvbihXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdCk7Cit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1F1ZXJ5UGVybWlzc2lv
blJlc3VsdENhbGxiYWNrLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1F1ZXJ5
UGVybWlzc2lvblJlc3VsdENhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIyOGU3MTM2MDBlMzkwYzYy
NjZhZTU4Zjc4YjRlMGJlNzBjZGQ5ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2suaApAQCAtMCww
ICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJLaXQv
V0tCYXNlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cyAKK2V4dGVybiAiQyIgeworI2VuZGlmCisK
K1dLX0VYUE9SVCBXS1R5cGVJRCBXS1F1ZXJ5UGVybWlzc2lvblJlc3VsdENhbGxiYWNrR2V0VHlw
ZUlEKHZvaWQpOworCitXS19FWFBPUlQgdm9pZCBXS1F1ZXJ5UGVybWlzc2lvblJlc3VsdENhbGxi
YWNrQ29tcGxldGVXaXRoRGVuaWVkKFdLUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2tSZWYg
Y2FsbGJhY2spOworV0tfRVhQT1JUIHZvaWQgV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFj
a0NvbXBsZXRlV2l0aEdyYW50ZWQoV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFja1JlZiBj
YWxsYmFjayk7CitXS19FWFBPUlQgdm9pZCBXS1F1ZXJ5UGVybWlzc2lvblJlc3VsdENhbGxiYWNr
Q29tcGxldGVXaXRoUHJvbXB0KFdLUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2tSZWYgY2Fs
bGJhY2spOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tTcGVlY2hSZWNvZ25pdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tTcGVlY2hSZWNvZ25p
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oCmluZGV4IGI4YWVhZmM2OTg0YmE5NmY1NDg5MmU3MzJh
ZmVhM2EwNjNjOWM3MmQuLmI1MjY0OGZlNTkzNjgwODU0N2VkMjAxYTJhYzE3OTE3NDY0MDBhNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLU3BlZWNoUmVjb2du
aXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1NwZWVjaFJlY29nbml0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgKQEAgLTI3LDcgKzI3
LDcgQEAKIAogI2luY2x1ZGUgPFdlYktpdC9XS0Jhc2UuaD4KIAotI2lmZGVmIF9fY3BsdXNwbHVz
CisjaWZkZWYgX19jcGx1c3BsdXMgCiBleHRlcm4gIkMiIHsKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUu
aAppbmRleCBkNmE3YWI2ODBhYzdhZWM3YzgzMGVlZDc1NzEyYmIxNjVhZjVjY2FhLi4wZDg2Nzhm
YTY5YzM5ZDVlYTQ4OTA3OTcyYmFjZTU0ZWNlNGRlOWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTE2
MSw3ICsxNjEsNyBAQCBzdHJ1Y3QgVUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmll
d0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uIGZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2
aWdhdGlvbkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24gd2luZG93RmVhdHVyZXM6KFdLV2luZG93
RmVhdHVyZXMgKil3aW5kb3dGZWF0dXJlcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoV0tX
ZWJWaWV3ICp3ZWJWaWV3KSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzKSwgaW9zKDExLjApKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lOihXS0ZyYW1lSW5mbyAqKWZy
YW1lIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBhbGxvd2VkKSlkZWNpc2lvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKIC0gKHZvaWQp
X3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lv
bkZvck9yaWdpbjooV0tTZWN1cml0eU9yaWdpbiopb3JpZ2luIGluaXRpYXRlZEJ5RnJhbWU6KFdL
RnJhbWVJbmZvICopZnJhbWUgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS1Blcm1pc3Npb25E
ZWNpc2lvbiBkZWNpc2lvbikpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
MTIuMCksIGlvcygxNS4wKSk7Ci0KKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgcXVlcnlQZXJtaXNzaW9uOihOU1N0cmluZyopbmFtZSBmb3JPcmlnaW46KFdLU2VjdXJpdHlP
cmlnaW4qKW9yaWdpbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoV0tQZXJtaXNzaW9uRGVj
aXNpb24gcGVybWlzc2lvblN0YXRlKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVzc2Fn
ZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopZnJh
bWUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgcmVzdWx0KSljb21wbGV0aW9uSGFu
ZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzKSwgaW9zKDExLjApKTsKIC0gKHZvaWQp
X3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZWRpdG9yU3RhdGVEaWRDaGFuZ2U6KE5TRGlj
dGlvbmFyeSAqKWVkaXRvclN0YXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMuNCksIGlv
cygxMS4zKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApp
bmRleCAzZDFlNjRjMjE1YTIyM2ZiNzE2OGZmZDQyYmUzNTg0ODhmNTI1NGIxLi5mNWNhMWQ1NWNm
NzQ1N2E4MTc0ZDc3ZDEzMTBiY2EzNWYxZGIzOWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC0xNzMsNiArMTczLDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgdm9pZCByZXF1ZXN0V2ViQXV0aGVudGljYXRpb25Ob0dlc3R1cmUoQVBJOjpTZWN1cml0eU9y
aWdpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogI2VuZGlmCiAg
ICAgICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yU3BlZWNoUmVjb2duaXRpb25QZXJtaXNzaW9uUmVx
dWVzdChXZWJQYWdlUHJveHkmLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJikgZmluYWw7CisgICAgICAgIHZvaWQgcXVlcnlQZXJtaXNzaW9uKGNv
bnN0IFN0cmluZyYsIEFQSTo6U2VjdXJpdHlPcmlnaW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPik+JiYpIGZpbmFsOwogICAg
ICAgICB2b2lkIGRpZEVuYWJsZUluc3BlY3RvckJyb3dzZXJEb21haW4oV2ViUGFnZVByb3h5Jikg
ZmluYWw7CiAgICAgICAgIHZvaWQgZGlkRGlzYWJsZUluc3BlY3RvckJyb3dzZXJEb21haW4oV2Vi
UGFnZVByb3h5JikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLm1tCmluZGV4IGY5ZDYzMTM5YzAzZjgxNWE2ZTcwMGU5YjNjYzkxOTNhN2Q0ZWQ2NGMu
LjdlNTlhYzcwNzdiYWYzNzU5MjQ3NmE2MzUyNmQwY2Q3NTU1ZGUyNDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMTc0Miw2ICsxNzQyLDQzIEBA
IHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRlY2lkZVBvbGljeUZvclNwZWVjaFJlY29nbml0
aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViCiAgICAgfSkuZ2V0KCldOwogfQogCit2b2lkIFVJRGVs
ZWdhdGU6OlVJQ2xpZW50OjpxdWVyeVBlcm1pc3Npb24oY29uc3QgU3RyaW5nJiBwZXJtaXNzaW9u
TmFtZSwgQVBJOjpTZWN1cml0eU9yaWdpbiYgb3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPik+JiYgY2FsbGJhY2spCit7
CisgICAgaWYgKCFtX3VpRGVsZWdhdGUpIHsKKyAgICAgICAgY2FsbGJhY2soV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlOjpQcm9tcHQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0
byBkZWxlZ2F0ZSA9IChpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pbV91aURlbGVnYXRlLT5tX2Rl
bGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpIHsKKyAgICAgICAgY2FsbGJhY2soV2Vi
Q29yZTo6UGVybWlzc2lvblN0YXRlOjpQcm9tcHQpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKCFbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmll
dzpxdWVyeVBlcm1pc3Npb246Zm9yT3JpZ2luOmNvbXBsZXRpb25IYW5kbGVyOildKSB7CisgICAg
ICAgIGNhbGxiYWNrKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0KTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2Fs
bENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZSwgQHNlbGVjdG9yKF93ZWJWaWV3OnF1ZXJ5UGVybWlz
c2lvbjpmb3JPcmlnaW46Y29tcGxldGlvbkhhbmRsZXI6KSk7CisgICAgW2RlbGVnYXRlIF93ZWJW
aWV3Om1fdWlEZWxlZ2F0ZS0+bV93ZWJWaWV3LmdldCgpLmdldCgpIHF1ZXJ5UGVybWlzc2lvbjpw
ZXJtaXNzaW9uTmFtZSBmb3JPcmlnaW46d3JhcHBlcihvcmlnaW4pIGNvbXBsZXRpb25IYW5kbGVy
Om1ha2VCbG9ja1B0cihbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgY2hlY2tlciA9IFdU
Rk1vdmUoY2hlY2tlcildKFdLUGVybWlzc2lvbkRlY2lzaW9uIHBlcm1pc3Npb25TdGF0ZSkgbXV0
YWJsZSB7CisgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxs
ZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY2hlY2tlci0+ZGlkQ2FsbENvbXBs
ZXRpb25IYW5kbGVyKCk7CisgICAgICAgIHN3aXRjaCAocGVybWlzc2lvblN0YXRlKSB7CisgICAg
ICAgIGNhc2UgV0tQZXJtaXNzaW9uRGVjaXNpb25Qcm9tcHQ6CisgICAgICAgICAgICBjYWxsYmFj
ayhXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU6OlByb21wdCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBXS1Blcm1pc3Npb25EZWNpc2lvbkdyYW50OgorICAgICAgICAgICAgY2Fs
bGJhY2soV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlOjpHcmFudGVkKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIFdLUGVybWlzc2lvbkRlY2lzaW9uRGVueToKKyAgICAgICAgICAg
IGNhbGxiYWNrKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfSkuZ2V0KCldOworfQorCiB2b2lkIFVJRGVsZWdhdGU6
OlVJQ2xpZW50OjpkaWRFbmFibGVJbnNwZWN0b3JCcm93c2VyRG9tYWluKFdlYlBhZ2VQcm94eSYp
CiB7CiAgICAgaWYgKCFtX3VpRGVsZWdhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9RdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjay5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGVl
YmI2ZTkzMzNkMDg5MmMzMDkzNGVkNDNlZGU1MWQ4NDhhMGY2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2suaApA
QCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJB
UElPYmplY3QuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25TdGF0ZS5oPgorI2luY2x1
ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xh
c3MgUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2sgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBs
PEFQSTo6T2JqZWN0OjpUeXBlOjpRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjaz4geworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8UXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2s+IGNyZWF0
ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGVybWlzc2lv
blN0YXRlPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjayhXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSkpOworICAgIH0KKyAgICB+UXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2so
KQorICAgIHsKKyAgICAgICAgaWYgKG1fY29tcGxldGlvbkhhbmRsZXIpCisgICAgICAgICAgICBt
X2NvbXBsZXRpb25IYW5kbGVyKHsgfSk7CisgICAgfQorICAgIHZvaWQgc2V0UGVybWlzc2lvbihX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgcGVybWlzc2lvbikgeyBtX2NvbXBsZXRpb25IYW5kbGVy
KHBlcm1pc3Npb24pOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUXVlcnlQZXJtaXNzaW9u
UmVzdWx0Q2FsbGJhY2soQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlBlcm1pc3Npb25TdGF0ZT4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICA6IG1f
Y29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpCisgICAgeyB9CisK
KyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGVybWlz
c2lvblN0YXRlPik+IG1fY29tcGxldGlvbkhhbmRsZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAppbmRleCA5ZjM2MzEwMTll
OGE0Yzk1Y2M1NzJmYWVhY2U0NjFlNjRhOTYzMjU1Li43ZWY2OTdjZTQxNzJlOTUyNTY4MDFlZDMz
NzUyNmFjMzEyNDAwNTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCkBA
IC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiQVBJVUlDbGllbnQuaCIKICNpbmNsdWRlICJEZXZp
Y2VJZEhhc2hTYWx0U3RvcmFnZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJN
ZWRpYVBlcm1pc3Npb25VdGlsaXRpZXMuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5oIgog
I2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uLmgiCkBAIC0zMzksNyArMzQwLDcgQEAgY29u
c3QgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSogVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHk6OnMKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAo
IWdyYW50ZWRSZXF1ZXN0LT50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4oKS5pc1NhbWVT
Y2hlbWVIb3N0UG9ydCh0b3BMZXZlbERvY3VtZW50T3JpZ2luKSkKICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICBpZiAoZ3JhbnRlZFJlcXVlc3QtPmZyYW1lSUQoKSAhPSBmcmFtZUlEKQor
ICAgICAgICBpZiAoZnJhbWVJRCAmJiBncmFudGVkUmVxdWVzdC0+ZnJhbWVJRCgpICE9IGZyYW1l
SUQpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBpZiAoZ3JhbnRlZFJlcXVlc3Qt
PnJlcXVpcmVzVmlkZW9DYXB0dXJlKCkpCkBAIC02NzEsNiArNjcyLDM1IEBAIHZvaWQgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmNoZWNrVXNlck1lZGlhUGVybWlzc2lv
bkZvclNwZWVjaFJlCiAgICAgbV9wYWdlLnVpQ2xpZW50KCkuZGVjaWRlUG9saWN5Rm9yVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3QobV9wYWdlLCAqZnJhbWUsIFdURk1vdmUoYXBpUmVxdWVzdGlu
Z09yaWdpbiksIFdURk1vdmUoYXBpVG9wT3JpZ2luKSwgcmVxdWVzdC5nZXQoKSk7CiB9CiAKK2Jv
b2wgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnNob3VsZENoYW5nZURl
bmllZFRvUHJvbXB0Rm9yQ2FtZXJhKGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2luKSBjb25zdAor
eworICAgIGlmICghU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcobV9wYWdlLnBhZ2VM
b2FkU3RhdGUoKS5hY3RpdmVVUkwoKSktPmlzU2FtZVNjaGVtZUhvc3RQb3J0KG9yaWdpbi50b3BP
cmlnaW4uc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSkpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgcmV0dXJuICFhbnlPZihtX2RlbmllZFJlcXVlc3RzLCBbXShhdXRvJiByZXF1ZXN0KSB7IHJl
dHVybiByZXF1ZXN0LmlzVmlkZW9EZW5pZWQ7IH0pCisgICAgICAgICYmICFhbnlPZihtX3ByZWdy
YW50ZWRSZXF1ZXN0cywgW10oYXV0byYgcmVxdWVzdCkgeyByZXR1cm4gcmVxdWVzdC0+cmVxdWly
ZXNWaWRlb0NhcHR1cmUoKTsgfSkKKyAgICAgICAgJiYgIWFueU9mKG1fZ3JhbnRlZFJlcXVlc3Rz
LCBbXShhdXRvJiByZXF1ZXN0KSB7IHJldHVybiByZXF1ZXN0LT5yZXF1aXJlc1ZpZGVvQ2FwdHVy
ZSgpOyB9KTsKK30KKworYm9vbCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94
eTo6c2hvdWxkQ2hhbmdlRGVuaWVkVG9Qcm9tcHRGb3JNaWNyb3Bob25lKGNvbnN0IENsaWVudE9y
aWdpbiYgb3JpZ2luKSBjb25zdAoreworICAgIGlmICghU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZy
b21TdHJpbmcobV9wYWdlLnBhZ2VMb2FkU3RhdGUoKS5hY3RpdmVVUkwoKSktPmlzU2FtZVNjaGVt
ZUhvc3RQb3J0KG9yaWdpbi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuICFhbnlPZihtX2RlbmllZFJlcXVlc3RzLCBb
XShhdXRvJiByZXF1ZXN0KSB7IHJldHVybiByZXF1ZXN0LmlzQXVkaW9EZW5pZWQ7IH0pCisgICAg
ICAgICYmICFhbnlPZihtX3ByZWdyYW50ZWRSZXF1ZXN0cywgW10oYXV0byYgcmVxdWVzdCkgeyBy
ZXR1cm4gcmVxdWVzdC0+cmVxdWlyZXNBdWRpb0NhcHR1cmUoKTsgfSkKKyAgICAgICAgJiYgIWFu
eU9mKG1fZ3JhbnRlZFJlcXVlc3RzLCBbXShhdXRvJiByZXF1ZXN0KSB7IHJldHVybiByZXF1ZXN0
LT5yZXF1aXJlc0F1ZGlvQ2FwdHVyZSgpOyB9KTsKK30KKworYm9vbCBVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c2hvdWxkQ2hhbmdlUHJvbXB0VG9HcmFudEZvckNhbWVy
YShjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbikgY29uc3QKK3sKKyAgICByZXR1cm4gc2VhcmNo
Rm9yR3JhbnRlZFJlcXVlc3QoeyB9LCBvcmlnaW4uY2xpZW50T3JpZ2luLnNlY3VyaXR5T3JpZ2lu
KCkuZ2V0KCksIG9yaWdpbi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgZmFsc2Us
IHRydWUpOworfQorCitib29sIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
OjpzaG91bGRDaGFuZ2VQcm9tcHRUb0dyYW50Rm9yTWljcm9waG9uZShjb25zdCBDbGllbnRPcmln
aW4mIG9yaWdpbikgY29uc3QKK3sKKyAgICByZXR1cm4gc2VhcmNoRm9yR3JhbnRlZFJlcXVlc3Qo
eyB9LCBvcmlnaW4uY2xpZW50T3JpZ2luLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIG9yaWdpbi50
b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgdHJ1ZSwgZmFsc2UpOworfQogCiAjaWYg
IVBMQVRGT1JNKENPQ09BKQogdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eTo6cmVxdWVzdFN5c3RlbVZhbGlkYXRpb24oY29uc3QgV2ViUGFnZVByb3h5JiwgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaAppbmRleCA2NzRiYWI0
ZGI3YzljNjRkZWQ4NTc4NzQxZGJkMmFiOTk2ZGM0MDY1Li5hNmM2YTdiZTgyYzAzYWQ4ZTZkNDcw
MmU0ZmIyZmQ0OGM0NDBiYzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmgKQEAg
LTIyLDYgKzIyLDggQEAKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eS5o
IgogI2luY2x1ZGUgIlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL01lZGlhUHJvZHVjZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Blcm1pc3Npb25E
ZXNjcmlwdG9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJtaXNzaW9uU3RhdGUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1
cml0eU9yaWdpbi5oPgpAQCAtMzUsNiArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBDYXB0dXJlRGV2aWNlOworc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBNZWRpYUNv
bnN0cmFpbnRzOwogc3RydWN0IE1lZGlhU3RyZWFtUmVxdWVzdDsKIGNsYXNzIFNlY3VyaXR5T3Jp
Z2luOwpAQCAtMTExLDYgKzExNCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaXNTY3JlZW5D
YXB0dXJlRGVuaWVkOwogICAgIH07CiAKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZT4gZmlsdGVyUGVybWlzc2lvblF1ZXJ5KGNvbnN0IFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgV2ViQ29yZTo6UGVy
bWlzc2lvblN0YXRlKTsKKworICAgIGJvb2wgc2hvdWxkQ2hhbmdlRGVuaWVkVG9Qcm9tcHRGb3JD
YW1lcmEoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJikgY29uc3Q7CisgICAgYm9vbCBzaG91
bGRDaGFuZ2VEZW5pZWRUb1Byb21wdEZvck1pY3JvcGhvbmUoY29uc3QgV2ViQ29yZTo6Q2xpZW50
T3JpZ2luJikgY29uc3Q7CisgICAgYm9vbCBzaG91bGRDaGFuZ2VQcm9tcHRUb0dyYW50Rm9yQ2Ft
ZXJhKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYpIGNvbnN0OworICAgIGJvb2wgc2hvdWxk
Q2hhbmdlUHJvbXB0VG9HcmFudEZvck1pY3JvcGhvbmUoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJikgY29uc3Q7CisKIHByaXZhdGU6CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAg
Y29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGU0OTkzNWMzMjVmNjlmMzQzNDQwY2FhMGFkZDdiZmZl
MWMwMDUyODIuLmE0ZGEzYWY2MWIzNjNjYTc1YTYxNzYwMmViNzAwOWVmNjRkZDBkMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtODYxNiwxMCArODYxNiw1
MCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlR2VvbG9jYXRpb25BdXRob3JpemF0aW9uVG9r
ZW4oY29uc3QgU3RyaW5nJiBhdXRob3JpemF0aQogICAgIG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIucmV2b2tlQXV0aG9yaXphdGlvblRva2VuKGF1dGhvcml6YXRpb25Ub2tl
bik7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0UGVybWlzc2lvbihjb25zdCBDbGll
bnRPcmlnaW4mLCBjb25zdCBQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoUGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpxdWVyeVBlcm1pc3Npb24oY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4s
IGNvbnN0IFBlcm1pc3Npb25EZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKHN0ZDo6b3B0aW9uYWw8UGVybWlzc2lvblN0YXRlPiwgYm9vbCBzaG91bGRDYWNoZSk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgLy8gRklYTUU6IFNob3cgYSBwcm9tcHQgZm9y
IHVzZXIgaW5wdXQuCi0gICAgY29tcGxldGlvbkhhbmRsZXIoUGVybWlzc2lvblN0YXRlOjpHcmFu
dGVkKTsKKyAgICBib29sIHNob3VsZENoYW5nZURlbmllZFRvUHJvbXB0ID0gdHJ1ZTsKKyAgICBi
b29sIHNob3VsZENoYW5nZVByb21wdFRvR3JhbnQgPSBmYWxzZTsKKyAgICBTdHJpbmcgbmFtZTsK
KyAgICBpZiAoZGVzY3JpcHRvci5uYW1lID09IFBlcm1pc3Npb25OYW1lOjpDYW1lcmEpIHsKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAgICBuYW1lID0gImNhbWVyYSJfczsKKyAgICAg
ICAgc2hvdWxkQ2hhbmdlRGVuaWVkVG9Qcm9tcHQgPSB1c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIoKS5zaG91bGRDaGFuZ2VEZW5pZWRUb1Byb21wdEZvckNhbWVyYShjbGllbnRPcmln
aW4pOworICAgICAgICBzaG91bGRDaGFuZ2VQcm9tcHRUb0dyYW50ID0gdXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyKCkuc2hvdWxkQ2hhbmdlUHJvbXB0VG9HcmFudEZvckNhbWVyYShj
bGllbnRPcmlnaW4pOworI2VuZGlmCisgICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yLm5hbWUgPT0g
UGVybWlzc2lvbk5hbWU6Ok1pY3JvcGhvbmUpIHsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
ICAgICAgICBuYW1lID0gIm1pY3JvcGhvbmUiX3M7CisgICAgICAgIHNob3VsZENoYW5nZURlbmll
ZFRvUHJvbXB0ID0gdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkuc2hvdWxkQ2hh
bmdlRGVuaWVkVG9Qcm9tcHRGb3JNaWNyb3Bob25lKGNsaWVudE9yaWdpbik7CisgICAgICAgIHNo
b3VsZENoYW5nZVByb21wdFRvR3JhbnQgPSB1c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIoKS5zaG91bGRDaGFuZ2VQcm9tcHRUb0dyYW50Rm9yTWljcm9waG9uZShjbGllbnRPcmlnaW4p
OworI2VuZGlmCisgICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yLm5hbWUgPT0gUGVybWlzc2lvbk5h
bWU6Okdlb2xvY2F0aW9uKSB7CisjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQorICAgICAgICBuYW1l
ID0gImdlb2xvY2F0aW9uIl9zOworI2VuZGlmCisgICAgfQorCisgICAgZnByaW50ZihzdGRlcnIs
ICJXZWJQYWdlUHJveHk6OnF1ZXJ5UGVybWlzc2lvbjFcbiIpOworICAgIGlmIChuYW1lLmlzTnVs
bCgpKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgZmFsc2UpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgZnByaW50ZihzdGRlcnIsICJXZWJQYWdlUHJveHk6OnF1ZXJ5
UGVybWlzc2lvbjJcbiIpOworICAgIGF1dG8gb3JpZ2luID0gQVBJOjpTZWN1cml0eU9yaWdpbjo6
Y3JlYXRlKGNsaWVudE9yaWdpbi50b3BPcmlnaW4pOworICAgIG1fdWlDbGllbnQtPnF1ZXJ5UGVy
bWlzc2lvbihuYW1lLCBvcmlnaW4sIFtjbGllbnRPcmlnaW4sIHNob3VsZENoYW5nZURlbmllZFRv
UHJvbXB0LCBzaG91bGRDaGFuZ2VQcm9tcHRUb0dyYW50LCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShhdXRvIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAg
IGZwcmludGYoc3RkZXJyLCAiV2ViUGFnZVByb3h5OjpxdWVyeVBlcm1pc3Npb24zXG4iKTsKKyAg
ICAgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwg
ZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGZwcmludGYo
c3RkZXJyLCAiV2ViUGFnZVByb3h5OjpxdWVyeVBlcm1pc3Npb240XG4iKTsKKyAgICAgICAgaWYg
KCpyZXN1bHQgPT0gUGVybWlzc2lvblN0YXRlOjpEZW5pZWQgJiYgc2hvdWxkQ2hhbmdlRGVuaWVk
VG9Qcm9tcHQpCisgICAgICAgICAgICByZXN1bHQgPSBQZXJtaXNzaW9uU3RhdGU6OlByb21wdDsK
KyAgICAgICAgZWxzZSBpZiAoKnJlc3VsdCA9PSBQZXJtaXNzaW9uU3RhdGU6OlByb21wdCAmJiBz
aG91bGRDaGFuZ2VQcm9tcHRUb0dyYW50KQorICAgICAgICAgICAgcmVzdWx0ID0gUGVybWlzc2lv
blN0YXRlOjpHcmFudGVkOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigqcmVzdWx0LCBmYWxz
ZSk7CisgICAgfSk7CiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA1MDdlYWM4YTk2NTJhZTBmZTBhMTNiMjI2ZGVm
Zjg4MmRlYzM4ZjMxLi4xOTkxNWQ0NDY1YTMxZjliMTg0NzhiYWY3NWE1OTAwMzkyY2JjYWQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjE5Nyw3ICsyMTk3LDcg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZy
YW1lKEdlb2xvY2F0aW9uSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmKTsKICAgICB2b2lkIHJl
dm9rZUdlb2xvY2F0aW9uQXV0aG9yaXphdGlvblRva2VuKGNvbnN0IFN0cmluZyYgYXV0aG9yaXph
dGlvblRva2VuKTsKLSAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0IFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUpPiYmKTsKKyAgICB2b2lk
IHF1ZXJ5UGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBXZWJD
b3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGU+LCBib29sIHNob3VsZENhY2hlKT4mJik7
CiAKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHNlbmRNZXNz
YWdlVG9XZWJWaWV3KFVzZXJNZXNzYWdlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDE1Y2QwZTNkNTk2OGJjNjYxN2VhNWM0
YTI4ZjAxN2ExMTRkYWI5NWIuLjQ0MDk0ODE2YTQzNTNhNWE1NGE4OGNiMDg0ZDc1ZjdlYzg4YzE3
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTYwOCw3ICs2MDgsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAg
IE1vZGVsRWxlbWVudFNldElzTXV0ZWQoc3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1v
ZGVsSWRlbnRpZmllciwgYm9vbCBpc011dGVkKSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYwogI2Vu
ZGlmCiAKLSAgICByZXF1ZXN0UGVybWlzc2lvbihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2lu
IG9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3Ip
IC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKSBBc3luYwor
ICAgIFF1ZXJ5UGVybWlzc2lvbihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwg
c3RydWN0IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpIC0+IChzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT4gc3RhdGUsIGJvb2wgc2hvdWxkQ2Fj
aGUpIEFzeW5jCiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKICAgICBTdGFydEFwcGxl
UGF5QU1TVUlTZXNzaW9uKFVSTCBvcmlnaW5hdGluZ1VSTCwgc3RydWN0IFdlYkNvcmU6OkFwcGxl
UGF5QU1TVUlSZXF1ZXN0IHJlcXVlc3QpIC0+IChzdGQ6Om9wdGlvbmFsPGJvb2w+IHJlc3VsdCkg
QXN5bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGExYWQwMjA3YjMwMTI3ZDMwYzAyMWU2NmRiYzRhNjhhNzhjYmQwMzAuLjExNTI0Yzlm
ZDkzODQyMDk1MDI5NzkzODFkNDhjYmRlNDgxMTI1YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODM4LDYgKzgzOCw4IEBACiAJCTQx
MEYwRDRDMjcwMUVGRjkwMEY5NkRGQyAvKiBHUFVQcm9jZXNzQ29ubmVjdGlvbkluaXRpYWxpemF0
aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEwRjBENEIyNzAxRUZFQTAwRjk2REZDIC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzLmggKi87IH07CiAJCTQxMUE4RERCMjBEREQxQUMwMDYwRDM0
RiAvKiBXS01vY2tNZWRpYURldmljZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDExQThERDkyMEREQjYwNTAwNjBEMzRGIC8qIFdLTW9ja01lZGlhRGV2
aWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDExQjIyNjQxRTM3MUJBNjAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUIyMjYyMUUzNzEyNDQwMDRG
NzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi87IH07CisJCTQxMUI4OUM5MjdCMkI3NUQwMEY5
RUJEMyAvKiBXS1F1ZXJ5UGVybWlzc2lvblJlc3VsdENhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTFCODlDNzI3QjJCNzVDMDBGOUVCRDMg
LyogV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxMUI4OUNDMjdCMkI4OTgwMEY5RUJEMyAv
KiBRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExQjg5Q0IyN0IyQjg5NjAwRjlFQkQzIC8qIFF1ZXJ5
UGVybWlzc2lvblJlc3VsdENhbGxiYWNrLmggKi87IH07CiAJCTQxMjg3RDRFMjI1RDFFQ0IwMDlB
M0UyNiAvKiBXZWJTb2NrZXRUYXNrQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI4N0Q0QjIyNUMwNUM0MDA5QTNFMjYgLyogV2ViU29ja2V0
VGFza0NvY29hLm1tICovOyB9OwogCQk0MTMwNzVBQzFERTg1RjM3MDAzOUVDNjkgLyogTmV0d29y
a1JUQ01vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxMzA3NTlCMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oICovOyB9
OwogCQk0MTMwNzVBRDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMDFERTg1RUU3
MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmggKi87IH07CkBAIC00MDU0LDYgKzQwNTYsOSBA
QAogCQk0MTFBOEREOTIwRERCNjA1MDA2MEQzNEYgLyogV0tNb2NrTWVkaWFEZXZpY2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tNb2NrTWVkaWFEZXZpY2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExQThEREEyMEREQjYwNTAwNjBEMzRGIC8qIFdLTW9j
a01lZGlhRGV2aWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdL
TW9ja01lZGlhRGV2aWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExQjIy
NjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDTmV0d29yay5oOyBwYXRoID0gTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTFC
ODlDNzI3QjJCNzVDMDBGOUVCRDMgLyogV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1F1ZXJ5UGVybWlzc2lvblJlc3Vs
dENhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMUI4OUM4MjdCMkI3
NUQwMEY5RUJEMyAvKiBXS1F1ZXJ5UGVybWlzc2lvblJlc3VsdENhbGxiYWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2Fs
bGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTFCODlDQjI3QjJCODk2
MDBGOUVCRDMgLyogUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2suaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyODdENEIyMjVDMDVDNDAwOUEzRTI2IC8qIFdl
YlNvY2tldFRhc2tDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYlNvY2tldFRhc2tDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDEyODdENEMyMjVDMDVDNTAwOUEzRTI2IC8qIFdlYlNvY2tldFRhc2tDb2NvYS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTb2NrZXRUYXNrQ29jb2EuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyODdENEQyMjVDMTYxRjAwOUEzRTI2IC8qIFdlYlNvY2tl
dFRhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0VGFzay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA5NTQsNiArMTA5NTksNyBAQAogCQkJ
CTgzMDQ4QUU1MUFDQTQ1REMwMDgyQzgzMiAvKiBQcm9jZXNzVGhyb3R0bGVyQ2xpZW50LmggKi8s
CiAJCQkJNDY4MzU2OUIyMUU4MUNDNzAwNkUyN0EzIC8qIFByb3Zpc2lvbmFsUGFnZVByb3h5LmNw
cCAqLywKIAkJCQk0NjgzNTY5QTIxRTgxQ0M3MDA2RTI3QTMgLyogUHJvdmlzaW9uYWxQYWdlUHJv
eHkuaCAqLywKKwkJCQk0MTFCODlDQjI3QjJCODk2MDBGOUVCRDMgLyogUXVlcnlQZXJtaXNzaW9u
UmVzdWx0Q2FsbGJhY2suaCAqLywKIAkJCQkxQTBDMjI3QzI0NTExMzBBMDBFRDYxNEQgLyogUXVp
Y2tMb29rVGh1bWJuYWlsaW5nU29mdExpbmsuaCAqLywKIAkJCQkxQTBDMjI3RDI0NTExMzBBMDBF
RDYxNEQgLyogUXVpY2tMb29rVGh1bWJuYWlsaW5nU29mdExpbmsubW0gKi8sCiAJCQkJMUFFRTU3
MjMyNDA5RjE0MjAwMjAwNUQ2IC8qIFF1aWNrTG9va1RodW1ibmFpbExvYWRlci5oICovLApAQCAt
MTEyODEsNiArMTEyODcsOCBAQAogCQkJCUJDODU3RkU0MTJCODQzRDgwMEVERUIyRSAvKiBXS09w
ZW5QYW5lbFBhcmFtZXRlcnNSZWYuaCAqLywKIAkJCQlCQzFERkU4RTEyQjMxQ0E4MDA1REY3MzAg
LyogV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5jcHAgKi8sCiAJCQkJQkMxREZFOEQxMkIzMUNB
ODAwNURGNzMwIC8qIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuaCAqLywKKwkJCQk0MTFCODlD
ODI3QjJCNzVEMDBGOUVCRDMgLyogV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFjay5jcHAg
Ki8sCisJCQkJNDExQjg5QzcyN0IyQjc1QzAwRjlFQkQzIC8qIFdLUXVlcnlQZXJtaXNzaW9uUmVz
dWx0Q2FsbGJhY2suaCAqLywKIAkJCQlCQ0Q1OTdENDExMkI1NkRDMDBFQzhDMjMgLyogV0tQYWdl
LmNwcCAqLywKIAkJCQlCQ0Q1OTdENTExMkI1NkRDMDBFQzhDMjMgLyogV0tQYWdlLmggKi8sCiAJ
CQkJN0M4OUQyOTkxQTY3ODM3QjAwM0E1RkRFIC8qIFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYuY3Bw
ICovLApAQCAtMTMzMjAsNiArMTMzMjgsOCBAQAogCQkJCTBGOTMxQzFDMThDNTcxMTkwMERCQjhE
NCAvKiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MUQxMzA1NDEzODJFQUMwMDAzNTFFREQgLyogU2VjSXRlbVJlcXVlc3REYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MUQxMzA1NjEzODJFQUMwMDAzNTFFREQgLyogU2VjSXRlbVJl
c3BvbnNlRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExQjg5QzkyN0IyQjc1RDAwRjlFQkQz
IC8qIFdLUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJ
CTQxMUI4OUNDMjdCMkI4OTgwMEY5RUJEMyAvKiBRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE3OTA4OEYxNjlCQUE2QTAwNjkwNEM3IC8qIFNlY0l0
ZW1TaGltLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyog
U2VjSXRlbVNoaW1Qcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAw
OUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmNwcAppbmRleCBkNjAxODIxZjBhODVjMDMyMTAw
M2ZlMGRjZWQ3OTc2ZDllMjBlZTVkLi4zNzkwYzEyOGNlNjIxMTlkZTgyMTA4Nzg3ODA0YzJmZDUz
MjY3N2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUGVybWlzc2lvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJvbGxlci5jcHAKQEAgLTQzLDE4
ICs0MywxMCBAQCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcjo6V2ViUGVybWlzc2lvbkNvbnRyb2xs
ZXIoV2ViUGFnZSYgcGFnZSkKIHsKIH0KIAotV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIFdlYlBl
cm1pc3Npb25Db250cm9sbGVyOjpxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4s
IFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKK3ZvaWQgV2ViUGVy
bWlzc2lvbkNvbnRyb2xsZXI6OnF1ZXJ5KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwg
V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3ImJiBkZXNjcmlwdG9yLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlPik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGU6OkRlbmllZDsKLQotICAgIHJldHVybiBxdWVyeUNhY2hlKFdU
Rk1vdmUob3JpZ2luKSwgV1RGTW92ZShkZXNjcmlwdG9yKSk7Ci19Ci0KLXZvaWQgV2ViUGVybWlz
c2lvbkNvbnRyb2xsZXI6OnJlcXVlc3QoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBX
ZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6UGVybWlzc2lvblN0YXRlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
LXsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKFdl
YkNvcmU6OlBlcm1pc3Npb25TdGF0ZTo6RGVuaWVkKTsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKHsgfSk7CiAKICAgICBhdXRvIGNhY2hlZFJlc3VsdCA9IHF1ZXJ5Q2FjaGUob3Jp
Z2luLCBkZXNjcmlwdG9yKTsKICAgICBpZiAoY2FjaGVkUmVzdWx0ICE9IFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZTo6UHJvbXB0KQpAQCAtMTEyLDEzICsxMDQsMTQgQEAgdm9pZCBXZWJQZXJtaXNz
aW9uQ29udHJvbGxlcjo6dHJ5UHJvY2Vzc2luZ1JlcXVlc3RzKCkKICAgICAgICAgfQogCiAgICAg
ICAgIGN1cnJlbnRSZXF1ZXN0LmlzV2FpdGluZ0ZvclJlcGx5ID0gdHJ1ZTsKLSAgICAgICAgbV9w
YWdlLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFBl
cm1pc3Npb24oY3VycmVudFJlcXVlc3Qub3JpZ2luLCBjdXJyZW50UmVxdWVzdC5kZXNjcmlwdG9y
KSwgW3RoaXMsIHdlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dKGF1dG8gc3RhdGUpIHsKKyAg
ICAgICAgbV9wYWdlLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
UXVlcnlQZXJtaXNzaW9uKGN1cnJlbnRSZXF1ZXN0Lm9yaWdpbiwgY3VycmVudFJlcXVlc3QuZGVz
Y3JpcHRvciksIFt0aGlzLCB3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9XShhdXRvIHN0YXRl
LCBib29sIHNob3VsZENhY2hlKSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgYXV0byB0YWtlblJlcXVlc3QgPSBtX3Jl
cXVlc3RzLnRha2VGaXJzdCgpOwogICAgICAgICAgICAgdGFrZW5SZXF1ZXN0LmNvbXBsZXRpb25I
YW5kbGVyKHN0YXRlKTsKLSAgICAgICAgICAgIHVwZGF0ZUNhY2hlKHRha2VuUmVxdWVzdC5vcmln
aW4sIHRha2VuUmVxdWVzdC5kZXNjcmlwdG9yLCBzdGF0ZSk7CisgICAgICAgICAgICBpZiAoc2hv
dWxkQ2FjaGUgJiYgc3RhdGUpCisgICAgICAgICAgICAgICAgdXBkYXRlQ2FjaGUodGFrZW5SZXF1
ZXN0Lm9yaWdpbiwgdGFrZW5SZXF1ZXN0LmRlc2NyaXB0b3IsICpzdGF0ZSk7CiAKICAgICAgICAg
ICAgIHRyeVByb2Nlc3NpbmdSZXF1ZXN0cygpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQZXJtaXNzaW9uQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1p
c3Npb25Db250cm9sbGVyLmgKaW5kZXggZWRhN2UxOTk3N2ZlMjRjNTJkMDRiOTc4YTZiNzlhMjM4
MDhkMTVmOS4uM2I1NTRiYzkwMWVkNzZjM2UwOGJlZjBhNDM2ZTc1NDYxMDA5NjQ3ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBlcm1pc3Np
b25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBlcm1pc3Npb25Db250cm9sbGVyLmgKQEAgLTQzLDggKzQzLDcgQEAgcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBXZWJQZXJtaXNzaW9uQ29udHJvbGxlcihXZWJQYWdlJik7CiAKICAgICAv
LyBXZWJDb3JlOjpQZXJtaXNzaW9uQ29udHJvbGxlcgotICAgIFdlYkNvcmU6OlBlcm1pc3Npb25T
dGF0ZSBxdWVyeShXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6UGVybWlzc2lvbkRl
c2NyaXB0b3ImJikgZmluYWw7Ci0gICAgdm9pZCByZXF1ZXN0KFdlYkNvcmU6OkNsaWVudE9yaWdp
biYmLCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciYmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSk+JiYpIGZpbmFsOworICAgIHZvaWQgcXVlcnko
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yJiYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGU+KT4mJikgZmluYWw7CiAgICAgdm9pZCBhZGRPYnNlcnZlcihXZWJDb3JlOjpQZXJtaXNz
aW9uT2JzZXJ2ZXImKSBmaW5hbDsKICAgICB2b2lkIHJlbW92ZU9ic2VydmVyKFdlYkNvcmU6OlBl
cm1pc3Npb25PYnNlcnZlciYpIGZpbmFsOwogCkBAIC02Miw3ICs2MSw3IEBAIHByaXZhdGU6CiAg
ICAgc3RydWN0IFBlcm1pc3Npb25SZXF1ZXN0IHsKICAgICAgICAgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luIG9yaWdpbjsKICAgICAgICAgV2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3Jp
cHRvcjsKLSAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQZXJtaXNzaW9u
U3RhdGUpPiBjb21wbGV0aW9uSGFuZGxlcjsKKyAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZT4pPiBjb21wbGV0aW9uSGFu
ZGxlcjsKICAgICAgICAgYm9vbCBpc1dhaXRpbmdGb3JSZXBseSB7IGZhbHNlIH07CiAgICAgfTsK
ICAgICBEZXF1ZTxQZXJtaXNzaW9uUmVxdWVzdD4gbV9yZXF1ZXN0czsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNzAxOTgzMmUwNmIzNTcwMDkw
YWRlMDVkNTlkNmIyZmZiNDFiMDE5Li40YWQzNDg3NmZlZGZiMTg2YTUxZGFlMTUyODhkMjA0Mjcy
NTYwMWI2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMjItMDItMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIHF1ZXJ5IGNhbWVyYSBhbmQgbWljcm9w
aG9uZSBwZXJtaXNzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlVUlEZWxlZ2F0ZS5t
bToKKyAgICAgICAgKC1bVXNlck1lZGlhQ2FwdHVyZVVJRGVsZWdhdGUgX3dlYlZpZXc6cXVlcnlQ
ZXJtaXNzaW9uOmZvck9yaWdpbjpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW06CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0VXNlck1lZGlhUGVybWlzc2lvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVV
SURlbGVnYXRlLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9jb2NvYS9Vc2VyTWVkaWFDYXB0
dXJlVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdUUjo6cXVlcnlQZXJtaXNzaW9uKToKKyAgICAgICAgKFdUUjo6
VGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyk6CisKIDIwMjItMDItMDMg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxv
dyB1c2luZyBTVElYIFR3byBpbiBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMmQ3MTAxODhiNzA4M2E4Nzk2NWFhYjU0ZGY0YTIxYzIyOTA0OWE5OS4uMjNjZGNhZjdhMTM4
MmY5Y2Y1YjBjZmQwMzFkNzk4ZGZkNjAyOWQ4YiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTU0LDYgKzU0LDcgQEAKIAkJMDc0OTk0NDIxRUE1MDM0QjAwMERBNDRGIC8qIG9uZGV2aWNlY2hh
bmdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUI2IC8qIG9uZGV2aWNlY2hhbmdlLmh0bWwgKi87
IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ1RSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVv
Q2FwdHVyZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRBNDEwRjREMTlBRjdCRUYwMDJFQkFDNSAvKiBnZXRVc2VyTWVkaWFBdWRpb1Zp
ZGVvQ2FwdHVyZS5odG1sICovOyB9OwogCQkwNzQ5OTQ1MjFFQTUwMzRCMDAwREE0NEUgLyogZ2V0
VXNlck1lZGlhMi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxQkFGNEUyMjVBQzlEQjgwMEQ4MkYzMiAvKiBnZXRVc2VyTWVkaWEyLmh0
bWwgKi87IH07CisJCTA3NDk5NDUyMUVBNTAzNEIwMDBEQTQ2RSAvKiBnZXRVc2VyTWVkaWFQZXJt
aXNzaW9uLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE5ODUyNEYyN0FEN0I3MDAwNTQ3N0I3IC8qIGdldFVzZXJNZWRpYVBlcm1pc3Np
b24uaHRtbCAqLzsgfTsKIAkJMDc1QTlDRjUyNjE3NzIxODAwNkRGQTNBIC8qIE1lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yVGVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3NUE5Q0Y0MjYxNzcyMTcwMDZERkEzQSAvKiBNZWRpYVNlc3Npb25Db29yZGlu
YXRvclRlc3QubW0gKi87IH07CiAJCTA3NkU1MDdGMUY0NTEzRDYwMDZFOUY1QSAvKiBMb2dnaW5n
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NkU1
MDdFMUY0NTAzMUUwMDZFOUY1QSAvKiBMb2dnaW5nLmNwcCAqLzsgfTsKIAkJMDc3QTVBRjMyMzA2
MzhBNjAwQTcxMDVDIC8qIEFjY2Vzc2liaWxpdHlUZXN0UGx1Z2luLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0NjY0NTgyMkZGNjMwNTAwRTM0NTFB
IC8qIEFjY2Vzc2liaWxpdHlUZXN0UGx1Z2luLm1tICovOyB9OwpAQCAtMTM2Myw2ICsxMzY0LDcg
QEAKIAkJCQk0MTY2MUM2NjIzNTVFODVFMDBEMzNDMjcgLyogZ2V0VXNlck1lZGlhLXdlYmF1ZGlv
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMDc0OTk0NDIxRUE1MDM0QjAwMERBNDRF
IC8qIGdldFVzZXJNZWRpYS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTA3NDk5NDUy
MUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCisJCQkJMDc0OTk0NTIxRUE1MDM0QjAwMERBNDZFIC8qIGdldFVzZXJNZWRpYVBlcm1pc3Np
b24uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkwNzQ5OTQ0MjFFQTUwMzRCMDAwREE0
NUUgLyogZ2V0VXNlck1lZGlhQXVkaW9WaWRlb0NhcHR1cmUuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQlGNDZBMDk1QjFFRDhBNkU2MDBENEFBNTUgLyogZ2lmLWFuZC1maWxlLWlucHV0
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTczMjU1QTUyMjEzOUJDNzAwMzk2QUU4
IC8qIGhlbGxvd29ybGQud2ViYXJjaGl2ZSBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE5NTYs
NiArMTk1OCw3IEBACiAJCTQxODgyRjAyMjEwMTBBNzAwMDJGRjI4OCAvKiBQcm9jZXNzUHJlV2Fy
bWluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByb2Nlc3NQ
cmVXYXJtaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGQ0JENTI3MDcw
NjYxMDBGOTZFQ0EgLyogUHVzaEFQSS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFB1c2hBUEkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTcz
QjVDMUFGMjI4NzUwMDZDN0IzNiAvKiBTaGFyZWRCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkQnVmZmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDE5ODUyNEYyN0FEN0I3MDAwNTQ3N0I3IC8qIGdldFVzZXJNZWRpYVBlcm1p
c3Npb24uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IGdldFVzZXJNZWRpYVBlcm1p
c3Npb24uaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCQUY0RTIyNUFDOURC
ODAwRDgyRjMyIC8qIGdldFVzZXJNZWRpYTIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0
aCA9IGdldFVzZXJNZWRpYTIuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFF
NjdBODQyNUQxNkU4MzAwN0IwQTRDIC8qIFNUVU5NZXNzYWdlUGFyc2luZ1Rlc3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1RVTk1lc3NhZ2VQYXJzaW5nVGVzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MDc3QkIwMjMxNDQ5RDIwMDE3OUUy
RCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNDY4NCw2ICs0Njg3LDcgQEAKIAkJCQk0MTY2MUM2NTIzNTVEOThCMDBEMzND
MjcgLyogZ2V0VXNlck1lZGlhLXdlYmF1ZGlvLmh0bWwgKi8sCiAJCQkJNEE0MTBGNEQxOUFGN0JF
RjAwMkVCQUI1IC8qIGdldFVzZXJNZWRpYS5odG1sICovLAogCQkJCTQxQkFGNEUyMjVBQzlEQjgw
MEQ4MkYzMiAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgKi8sCisJCQkJNDE5ODUyNEYyN0FEN0I3MDAw
NTQ3N0I3IC8qIGdldFVzZXJNZWRpYVBlcm1pc3Npb24uaHRtbCAqLywKIAkJCQk0QTQxMEY0RDE5
QUY3QkVGMDAyRUJBQzUgLyogZ2V0VXNlck1lZGlhQXVkaW9WaWRlb0NhcHR1cmUuaHRtbCAqLywK
IAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMyOUYgLyogaWNvbi5wbmcgKi8sCiAJCQkJMUNDODBD
RTkyNDc0RjFGNzAwNERDNDg5IC8qIGlkZW1wb3RlbnQtbW9kZS1hdXRvc2l6aW5nLW9ubHktaG9u
b3JzLXBlcmNlbnRhZ2VzLmh0bWwgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9HZXRVc2VyTWVkaWEubW0KaW5kZXggNjViZmJkZWYwODIyNDYwODIzY2ZkNjFhYTM3
Mjg3NDk1YjJiMWRhNC4uNDNmNmQ2ZGI1NzQ5OTYzZWNjMTAxMzc4ZjI2MjRkZjk3N2IzYTEzZiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlh
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5t
bQpAQCAtOTcyLDYgKzk3Miw5MSBAQCBURVNUKFdlYktpdCwgSW52YWxpZERldmljZUlkSGFzaFNh
bHRzKQogICAgIFtkZWxlZ2F0ZSB3YWl0VW50aWxQcm9tcHRlZF07CiB9CiAKKworc3RhdGljIF9X
S0V4cGVyaW1lbnRhbEZlYXR1cmUgKnBlcm1pc3Npb25zQVBJRW5hYmxlZEV4cGVyaW1lbnRhbEZl
YXR1cmUoKQoreworICAgIHN0YXRpYyBSZXRhaW5QdHI8X1dLRXhwZXJpbWVudGFsRmVhdHVyZT4g
dGhlRmVhdHVyZTsKKyAgICBpZiAodGhlRmVhdHVyZSkKKyAgICAgICAgcmV0dXJuIHRoZUZlYXR1
cmUuZ2V0KCk7CisKKyAgICBOU0FycmF5ICpmZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9leHBl
cmltZW50YWxGZWF0dXJlc107CisgICAgZm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0
dXJlIGluIGZlYXR1cmVzKSB7CisgICAgICAgIGlmIChbZmVhdHVyZS5rZXkgaXNFcXVhbDpAIlBl
cm1pc3Npb25zQVBJRW5hYmxlZCJdKSB7CisgICAgICAgICAgICB0aGVGZWF0dXJlID0gZmVhdHVy
ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiB0aGVG
ZWF0dXJlLmdldCgpOworfQorCitURVNUKFdlYktpdDIsIENhcHR1cmVQZXJtaXNzaW9uKQorewor
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CisgICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZyA9IGFkb3B0TlMoW1tf
V0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBpbml0aWFsaXpl
TWVkaWFDYXB0dXJlQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uLmdldCgpKTsKKyAgICBbW2Nv
bmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxG
ZWF0dXJlOnBlcm1pc3Npb25zQVBJRW5hYmxlZEV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisKKyAg
ICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW0dVTU1lc3NhZ2VIYW5kbGVyIGFsbG9j
XSBpbml0XSk7CisgICAgW1tjb25maWd1cmF0aW9uLmdldCgpIHVzZXJDb250ZW50Q29udHJvbGxl
cl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAImd1
bSJdOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCkgY29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uLmdldCgpIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENv
bmZpZy5nZXQoKV0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVXNlck1lZGlhQ2Fw
dHVyZVVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRl
OmRlbGVnYXRlLmdldCgpXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBsb2Fk
VGVzdFBhZ2VOYW1lZDpAImdldFVzZXJNZWRpYVBlcm1pc3Npb24iXTsKKyAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIFtkZWxlZ2F0
ZSBzZXRBdWRpb0RlY2lzaW9uOldLUGVybWlzc2lvbkRlY2lzaW9uUHJvbXB0XTsKKyAgICBbZGVs
ZWdhdGUgc2V0VmlkZW9EZWNpc2lvbjpXS1Blcm1pc3Npb25EZWNpc2lvblByb21wdF07CisgICAg
W3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImNoZWNrUGVybWlzc2lvbign
bWljcm9waG9uZScsICdwcm9tcHQnKSJdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAImNoZWNrUGVybWlzc2lvbignY2FtZXJhJywgJ3Byb21wdCcpIl07Cisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisK
KyAgICBbZGVsZWdhdGUgc2V0QXVkaW9EZWNpc2lvbjpXS1Blcm1pc3Npb25EZWNpc2lvbkdyYW50
XTsKKyAgICBbZGVsZWdhdGUgc2V0VmlkZW9EZWNpc2lvbjpXS1Blcm1pc3Npb25EZWNpc2lvbkdy
YW50XTsKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiY2hlY2tQ
ZXJtaXNzaW9uKCdtaWNyb3Bob25lJywgJ2dyYW50ZWQnKSJdOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IHN0cmlu
Z0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjaGVja1Blcm1pc3Npb24oJ2NhbWVyYScsICdncmFu
dGVkJykiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUg
PSBmYWxzZTsKKworICAgIC8vIEFsdGhvdWdoIERlbnksIHdlIGV4cGVjdCBwcm9tcHQgaXMgZXhw
b3NlZCBzaW5jZSB3ZSBkbyBub3QgdHJ1c3QgdGhlIHBhZ2UgdG8gY2FsbCBnZXRVc2VyTWVkaWEu
CisgICAgW2RlbGVnYXRlIHNldEF1ZGlvRGVjaXNpb246V0tQZXJtaXNzaW9uRGVjaXNpb25EZW55
XTsKKyAgICBbZGVsZWdhdGUgc2V0VmlkZW9EZWNpc2lvbjpXS1Blcm1pc3Npb25EZWNpc2lvbkRl
bnldOworICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjaGVja1Bl
cm1pc3Npb24oJ21pY3JvcGhvbmUnLCAncHJvbXB0JykiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBzdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiY2hlY2tQZXJtaXNzaW9uKCdjYW1lcmEnLCAncHJvbXB0
JykiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBm
YWxzZTsKKworICAgIC8vIE5vdyB0aGF0IHdlIGdldFVzZXJNZWRpYSBoYXMgYmVlbiBjYWxsZWQs
IHdlIGNhbiBnbyB3aXRoIGRlbnkuCisgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2
YVNjcmlwdDpAImNhcHR1cmVWaWRlbygpIl07CisgICAgW2RlbGVnYXRlIHdhaXRVbnRpbFByb21w
dGVkXTsKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiY2hlY2tQ
ZXJtaXNzaW9uKCdtaWNyb3Bob25lJywgJ3Byb21wdCcpIl07CisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisgICAgW3dlYlZpZXcgc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImNoZWNrUGVybWlzc2lvbignY2FtZXJhJywgJ2Rlbmll
ZCcpIl07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0g
ZmFsc2U7CisKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiY2Fw
dHVyZUF1ZGlvKCkiXTsKKyAgICBbZGVsZWdhdGUgd2FpdFVudGlsUHJvbXB0ZWRdOworICAgIFt3
ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjaGVja1Blcm1pc3Npb24oJ21p
Y3JvcGhvbmUnLCAnZGVuaWVkJykiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRv
bmUpOworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAiY2hlY2tQZXJtaXNzaW9uKCdjYW1lcmEnLCAnZGVuaWVkJykiXTsKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NU
UkVBTSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldFVz
ZXJNZWRpYVBlcm1pc3Npb24uaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L2dldFVzZXJNZWRpYVBlcm1pc3Npb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTU4NmNjMzVlOWIxNWY4
OTM3ODYzOTJlMDg3YzJhZDk0MGRmMzlkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0VXNlck1lZGlhUGVybWlzc2lvbi5odG1sCkBAIC0wLDAg
KzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxz
Y3JpcHQ+CisgICAgICAgICAgICBsZXQgc3RyZWFtID0gbnVsbDsKKworICAgICAgICAgICAgZnVu
Y3Rpb24gc3RvcCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgc3RyZWFtLmdldFRy
YWNrcygpLmZvckVhY2godHJhY2sgPT4geyB0cmFjay5zdG9wKCkgfSk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhcHR1cmVBdWRpbygpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlv
OiB0cnVlfSkudGhlbihzID0+IHN0cmVhbSA9IHMpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiBjYXB0dXJlVmlkZW8oKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0pLnRo
ZW4ocyA9PiBzdHJlYW0gPSBzKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gY2hlY2tQZXJtaXNzaW9uKG5hbWUsIGV4cGVjdGVkKSB7CisgICAgICAgICAgICAgICAgbmF2
aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KHsgbmFtZSB9KS50aGVuKChzdGF0dXMpID0+IHsKKyAg
ICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuZ3VtLnBvc3RN
ZXNzYWdlKGV4cGVjdGVkID09IHN0YXR1cy5zdGF0ZSAgPyAiUEFTUyIgOiAoIkZBSUxFRCwgZXhw
ZWN0ZWQgIiArIGV4cGVjdGVkICsgIiBidXQgZ290ICIgKyBzdGF0dXMuc3RhdGUpKTsKKyAgICAg
ICAgICAgICAgICB9LCBlcnJvciA9PiB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5ndW0u
cG9zdE1lc3NhZ2UoIlBlcm1pc3Npb24gcXVlcnkgZmFpbGVkIHdpdGggIiArIGVycm9yKSk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPGhlYWQ+CisKKyAgICA8Ym9k
eSBvbmxvYWQ9IndpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmd1bS5wb3N0TWVzc2FnZSgn
UEFTUycpIj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVVSURlbGVnYXRlLmggYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVVSURlbGVnYXRlLmgKaW5kZXggY2VlNTE1YTdk
NjhmMDYxN2Q0ZDI0ZjgzYzY1ZGM3NGE0MTc0ZTY4MC4uYjY0MzMxY2FiODk5ODRlZjNkM2QyODEw
ZjljODYwNDhhYTE3NzQ5NiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9V
c2VyTWVkaWFDYXB0dXJlVUlEZWxlZ2F0ZS5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29j
b2EvVXNlck1lZGlhQ2FwdHVyZVVJRGVsZWdhdGUuaApAQCAtNTAsNiArNTAsNyBAQAogLSAodm9p
ZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RNZWRpYUNhcHR1cmVQZXJtaXNz
aW9uRm9yT3JpZ2luOihXS1NlY3VyaXR5T3JpZ2luICopb3JpZ2luIGluaXRpYXRlZEJ5RnJhbWU6
KFdLRnJhbWVJbmZvICopZnJhbWUgdHlwZTooV0tNZWRpYUNhcHR1cmVUeXBlKXR5cGUgZGVjaXNp
b25IYW5kbGVyOih2b2lkICheKShXS1Blcm1pc3Npb25EZWNpc2lvbiBkZWNpc2lvbikpZGVjaXNp
b25IYW5kbGVyOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjaGVja1Vz
ZXJNZWRpYVBlcm1pc3Npb25Gb3JVUkw6KE5TVVJMICopdXJsIG1haW5GcmFtZVVSTDooTlNVUkwg
KiltYWluRnJhbWVVUkwgZnJhbWVJZGVudGlmaWVyOihOU1VJbnRlZ2VyKWZyYW1lSWRlbnRpZmll
ciBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKE5TU3RyaW5nICpzYWx0LCBCT09MIGF1dGhvcml6
ZWQpKWRlY2lzaW9uSGFuZGxlcjsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgcmVxdWVzdERpc3BsYXlDYXB0dXJlUGVybWlzc2lvbkZvck9yaWdpbjooV0tTZWN1cml0eU9y
aWdpbiAqKW9yaWdpbiBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIHdpdGhT
eXN0ZW1BdWRpbzooQk9PTCl3aXRoU3lzdGVtQXVkaW8gZGVjaXNpb25IYW5kbGVyOih2b2lkIChe
KShXS0Rpc3BsYXlDYXB0dXJlUGVybWlzc2lvbkRlY2lzaW9uIGRlY2lzaW9uKSlkZWNpc2lvbkhh
bmRsZXI7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHF1ZXJ5UGVybWlz
c2lvbjooTlNTdHJpbmcqKSBuYW1lIGZvck9yaWdpbjooV0tTZWN1cml0eU9yaWdpbiAqKW9yaWdp
biBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoV0tQZXJtaXNzaW9uRGVjaXNpb24gc3RhdGUp
KWNvbXBsZXRpb25IYW5kbGVyOwogCiBAZW5kCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvY29jb2EvVXNlck1lZGlhQ2FwdHVyZVVJRGVsZWdhdGUubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVVSURlbGVnYXRlLm1tCmluZGV4IDE3NGYzNjk5
M2ExOTg0Yzk1MjZlOTlmMTNlZTYxOWIyM2MyMzAwNDAuLmIwZDY1OWY5YzViZmNhY2E4YWM5OTQz
M2VmOTgzZWYxNWMzZDE4ZWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2Ev
VXNlck1lZGlhQ2FwdHVyZVVJRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9j
b2NvYS9Vc2VyTWVkaWFDYXB0dXJlVUlEZWxlZ2F0ZS5tbQpAQCAtNzIsNiArNzIsMTkgQEAKICAg
ICBfZ2V0RGlzcGxheU1lZGlhRGVjaXNpb24gPSBkZWNpc2lvbjsKIH0KIAorLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBxdWVyeVBlcm1pc3Npb246KE5TU3RyaW5nKikgbmFt
ZSBmb3JPcmlnaW46KFdLU2VjdXJpdHlPcmlnaW4gKilvcmlnaW4gY29tcGxldGlvbkhhbmRsZXI6
KHZvaWQgKF4pKFdLUGVybWlzc2lvbkRlY2lzaW9uIHN0YXRlKSljb21wbGV0aW9uSGFuZGxlciB7
CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAImNhbWVyYSJdKSB7CisgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKF92aWRlb0RlY2lzaW9uKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAibWljcm9waG9uZSJdKSB7CisgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKF9hdWRpb0RlY2lzaW9uKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihXS1Bl
cm1pc3Npb25EZWNpc2lvbkRlbnkpOworfQorCiAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgcmVxdWVzdE1lZGlhQ2FwdHVyZVBlcm1pc3Npb25Gb3JPcmlnaW46KFdLU2VjdXJp
dHlPcmlnaW4gKilvcmlnaW4gaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSB0
eXBlOihXS01lZGlhQ2FwdHVyZVR5cGUpdHlwZSBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKFdL
UGVybWlzc2lvbkRlY2lzaW9uIGRlY2lzaW9uKSlkZWNpc2lvbkhhbmRsZXIgewogICAgICsrX251
bWJlck9mUHJvbXB0czsKICAgICBfd2FzUHJvbXB0ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAyNzA1MDljZTk0Yzk1YTBjMmMyNTdjNTQz
N2ExZmI0YTljMjY2OTJmLi40ZDZlOTA5YWJkMmE2OTJiNDM3ZmJhNzE5OWQzNTczZDljOTQ2YWMz
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtNjMsNiAr
NjMsNyBAQAogI2luY2x1ZGUgPFdlYktpdC9XS1BsdWdpbkluZm9ybWF0aW9uLmg+CiAjaW5jbHVk
ZSA8V2ViS2l0L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dL
UHJvdGVjdGlvblNwYWNlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLUXVlcnlQZXJtaXNzaW9uUmVz
dWx0Q2FsbGJhY2suaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tSZXRhaW5QdHIuaD4KICNpbmNsdWRl
IDxXZWJLaXQvV0tTZWN1cml0eU9yaWdpblJlZi5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1NwZWVj
aFJlY29nbml0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg+CkBAIC0zNTksNiArMzYwLDExIEBAIHZv
aWQgVGVzdENvbnRyb2xsZXI6OnNldElzTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uR3JhbnRlZChi
b29sIGdyYW50ZWQpCiAgICAgbV9pc01lZGlhS2V5U3lzdGVtUGVybWlzc2lvbkdyYW50ZWQgPSBn
cmFudGVkOwogfQogCitzdGF0aWMgdm9pZCBxdWVyeVBlcm1pc3Npb24oV0tTdHJpbmdSZWYsIFdL
U2VjdXJpdHlPcmlnaW5SZWYsIFdLUXVlcnlQZXJtaXNzaW9uUmVzdWx0Q2FsbGJhY2tSZWYgY2Fs
bGJhY2spCit7CisgICAgV0tRdWVyeVBlcm1pc3Npb25SZXN1bHRDYWxsYmFja0NvbXBsZXRlV2l0
aFByb21wdChjYWxsYmFjayk7Cit9CisKIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNsb3NlT3RoZXJQ
YWdlKFdLUGFnZVJlZiBwYWdlLCBQbGF0Zm9ybVdlYlZpZXcqIHZpZXcpCiB7CiAgICAgV0tQYWdl
Q2xvc2UocGFnZSk7CkBAIC03MzMsOCArNzM5LDggQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6Y3Jl
YXRlV2ViVmlld1dpdGhPcHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQogICAgIFdL
SFRUUENvb2tpZVN0b3JlRGVsZXRlQWxsQ29va2llcyhXS1dlYnNpdGVEYXRhU3RvcmVHZXRIVFRQ
Q29va2llU3RvcmUod2Vic2l0ZURhdGFTdG9yZSgpKSwgbnVsbHB0ciwgbnVsbHB0cik7CiAKICAg
ICBwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcoY29uZmlndXJhdGlvbi5nZXQoKSwgb3B0aW9ucyk7Ci0g
ICAgV0tQYWdlVUlDbGllbnRWMTYgcGFnZVVJQ2xpZW50ID0gewotICAgICAgICB7IDE2LCBtX21h
aW5XZWJWaWV3LmdldCgpIH0sCisgICAgV0tQYWdlVUlDbGllbnRWMTggcGFnZVVJQ2xpZW50ID0g
eworICAgICAgICB7IDE4LCBtX21haW5XZWJWaWV3LmdldCgpIH0sCiAgICAgICAgIDAsIC8vIGNy
ZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMAogICAgICAgICAwLCAvLyBzaG93UGFn
ZQogICAgICAgICAwLCAvLyBjbG9zZQpAQCAtODA5LDcgKzgxNSw5IEBAIHZvaWQgVGVzdENvbnRy
b2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9u
cykKICAgICAgICAgc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2VzcywK
ICAgICAgICAgcnVuV2ViQXV0aGVudGljYXRpb25QYW5lbCwKICAgICAgICAgZGVjaWRlUG9saWN5
Rm9yU3BlZWNoUmVjb2duaXRpb25QZXJtaXNzaW9uUmVxdWVzdCwKLSAgICAgICAgZGVjaWRlUG9s
aWN5Rm9yTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uUmVxdWVzdAorICAgICAgICBkZWNpZGVQb2xp
Y3lGb3JNZWRpYUtleVN5c3RlbVBlcm1pc3Npb25SZXF1ZXN0LAorICAgICAgICBudWxscHRyLCAv
LyByZXF1ZXN0V2ViQXV0aGVudGljYXRpb25Ob0dlc3R1cmUKKyAgICAgICAgcXVlcnlQZXJtaXNz
aW9uCiAgICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQobV9tYWluV2ViVmlldy0+cGFn
ZSgpLCAmcGFnZVVJQ2xpZW50LmJhc2UpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBkZTc3NmNjNDU4MTMyYjJjODhhYjE2ZTViZTgwNzdiODY4OGNlZDY3Li4yOTg3MzZmNzVm
NDZhYWIyZjZmYjljMTk1MmJhMTRmNzRkMGRkZmM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMi0wOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgU2V0dGxpbmcgb2YgYSBmZXRjaCBwcm9taXNlIHNob3Vs
ZCBiZSBkZWxheWVkIGluIGNhc2UgcGFnZSBpcyBlbnRlcmluZyBwYWdlIGNhY2hlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYyOTIKKyAgICAgICAg
PHJkYXI6Ly84ODQ1Mjk3MT4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvbmZjLXBlcm1pc3Npb24t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy90
ZXN0LWJhY2tncm91bmQtZmV0Y2gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6CisKIDIwMjItMDIt
MDMgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFRy
YW5zZm9ybSBpbnRlcnBvbGF0aW9uIHNob3VsZCBibGVuZCBiZXR3ZWVuIHNoYXJlZCB0cmFuc2Zv
cm0gZnVuY3Rpb24gcHJpbWl0aXZlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wZXJtaXNzaW9ucy9uZmMtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1p
c3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAppbmRleCBjMmZkNjVlOGQ0MDAyYTcy
MzAxODdhNjFmNTFjMjgyZWZjMWM2YmVjLi41MGUyMDlmZWI4ZDU3MWFiNzBiZTIyNmM0YTAyZGM0
MjYwMjU4NGI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Blcm1pc3Npb25zL25mYy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL25m
Yy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUZXN0IFdl
YiBORkMgUGVybWlzc2lvbi4KK0ZBSUwgVGVzdCBXZWIgTkZDIFBlcm1pc3Npb24uIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Blcm1pc3Npb25zL3Rl
c3QtYmFja2dyb3VuZC1mZXRjaC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3Jv
dW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CmluZGV4IDc4NWJiNTg1ZjUxNTk1ZmRl
YTA1MjM0MTY3MjM4MTNjOGRiMjMxNTkuLmJlYTIwZjA0YTg1ZGI4MDQ1MDZmMmQ4ZDY1ZWE2ZGU2
N2M0ZjA3ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGVybWlzc2lvbnMvdGVzdC1iYWNrZ3JvdW5kLWZldGNoLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIFRlc3QgQmFja2dyb3VuZCBGZXRjaCBQZXJtaXNz
aW9uLgorRkFJTCBUZXN0IEJhY2tncm91bmQgRmV0Y2ggUGVybWlzc2lvbi4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451250</attachid>
            <date>2022-02-08 08:13:44 -0800</date>
            <delta_ts>2022-02-10 07:46:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236292-20220208171342.patch</filename>
            <type>text/plain</type>
            <size>13154</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg3ODJlZGNhYTBmZmU3
ZWRiZTlkNWI0Y2M2Y2VmOTU4ZTc1NTBjNC4uNDYwODdhODE4YjExYzJlZTJkZjhjMzc5NDNlY2Jm
MzVkNDhmMGQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAyLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXR0bGluZyBvZiBhIGZl
dGNoIHByb21pc2Ugc2hvdWxkIGJlIGRlbGF5ZWQgaW4gY2FzZSBwYWdlIGlzIGVudGVyaW5nIHBh
Z2UgY2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNjI5MgorICAgICAgICA8cmRhcjovLzg4NDUyOTcxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBlbnF1ZXVlIGEgdGFzayBi
ZWZvcmUgcmVzb2x2aW5nIGZldGNoIHByb21pc2UgYXMgb3RoZXJ3aXNlLCBwYWdlIG1pZ2h0IGNv
bnRpbnVlIHJ1bm5pbmcgSmF2YVNjcmlwdC4KKyAgICAgICAgRG8gdGhpcyBmb3Igd29ya2VyIGFz
IHdlbGwgZm9yIGdvb2QgbWVhc3VyZS4KKyAgICAgICAgV2UgbW92ZSBzaWduYWwgYWJvcnRlZCBj
aGVja3MgdG8gdHdvIGNsaWVudHMgdG8gaGFuZGxlIHJlamVjdGluZyBmZXRjaCBwcm9taXNlIHN5
bmNocm9ub3VzbHkuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZldGNo
LXBhZ2VjYWNoZS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0RPTUNhY2hlLmNwcDoK
KyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwOgorICAgICAgICAqIE1v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvRmV0Y2hFdmVudC5jcHA6CisKIDIwMjItMDItMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgbm9uIHlldCBmdW5jdGlvbmFsIHBlcm1pc3Np
b24gQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuY3BwCmluZGV4IGMx
ZDBmYzhhZjMzYTA5N2Q4ZTgyZDgzYTVmOTQ2NjY3NzEzN2I2YzQuLjQ5ZjM5OGFhZmVmMzdjZDVl
OGY4ZWIyNDRkNGUxMWYzOWYyYThjZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvRE9NQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
RE9NQ2FjaGUuY3BwCkBAIC0yNTksNyArMjU5LDExIEBAIHZvaWQgRE9NQ2FjaGU6OmFkZEFsbChW
ZWN0b3I8UmVxdWVzdEluZm8+JiYgaW5mb3MsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHBy
CiAKICAgICBmb3IgKGF1dG8mIHJlcXVlc3QgOiByZXF1ZXN0cykgewogICAgICAgICBhdXRvJiBy
ZXF1ZXN0UmVmZXJlbmNlID0gcmVxdWVzdC5nZXQoKTsKLSAgICAgICAgRmV0Y2hSZXNwb25zZTo6
ZmV0Y2goKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgcmVxdWVzdFJlZmVyZW5jZSwgW3RoaXMs
IHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCB0YXNrSGFuZGxlcl0oRXhjZXB0aW9uT3I8RmV0
Y2hSZXNwb25zZSY+JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKHJlcXVlc3RSZWZl
cmVuY2Uuc2lnbmFsKCkuYWJvcnRlZCgpKSB7CisgICAgICAgICAgICB0YXNrSGFuZGxlci0+ZXJy
b3IoRXhjZXB0aW9uIHsgQWJvcnRFcnJvciwgIlJlcXVlc3Qgc2lnbmFsIGlzIGFib3J0ZWQiX3Mg
fSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgRmV0Y2hSZXNwb25z
ZTo6ZmV0Y2goKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgcmVxdWVzdFJlZmVyZW5jZSwgW3Ro
aXMsIHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCB0YXNrSGFuZGxlcl0oYXV0byYmIHJlc3Vs
dCkgbXV0YWJsZSB7CiAKICAgICAgICAgICAgIGlmICh0YXNrSGFuZGxlci0+aXNEb25lKCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjY5LDcgKzI3Myw4IEBAIHZvaWQgRE9NQ2FjaGU6
OmFkZEFsbChWZWN0b3I8UmVxdWVzdEluZm8+JiYgaW5mb3MsIERPTVByb21pc2VEZWZlcnJlZDx2
b2lkPiYmIHByCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICBhdXRvJiByZXNwb25zZSA9IHJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAg
ICAgICAgICAgIGF1dG8gcHJvdGVjdGVkUmVzcG9uc2UgPSByZXN1bHQucmVsZWFzZVJldHVyblZh
bHVlKCk7CisgICAgICAgICAgICBhdXRvJiByZXNwb25zZSA9IHByb3RlY3RlZFJlc3BvbnNlLmdl
dCgpOwogCiAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKCkpIHsKICAgICAgICAgICAgICAg
ICB0YXNrSGFuZGxlci0+ZXJyb3IoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiUmVzcG9uc2UgaXMg
bm90IE9LIl9zIH0pOwpAQCAtMjk1LDcgKzMwMCw3IEBAIHZvaWQgRE9NQ2FjaGU6OmFkZEFsbChW
ZWN0b3I8UmVxdWVzdEluZm8+JiYgaW5mb3MsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHBy
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBzaXplX3QgcmVjb3JkUG9zaXRpb24gPSB0YXNr
SGFuZGxlci0+YWRkUmVjb3JkKHRvQ29ubmVjdGlvblJlY29yZChyZXF1ZXN0LmdldCgpLCByZXNw
b25zZSwgbnVsbHB0cikpOwogCi0gICAgICAgICAgICByZXNwb25zZS5jb25zdW1lQm9keVJlY2Vp
dmVkQnlDaHVuayhbdGFza0hhbmRsZXIgPSBXVEZNb3ZlKHRhc2tIYW5kbGVyKSwgcmVjb3JkUG9z
aXRpb24sIGRhdGEgPSBTaGFyZWRCdWZmZXJCdWlsZGVyKCksIHJlc3BvbnNlID0gUmVmIHsgcmVz
cG9uc2UgfV0gKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICAgICAgcmVzcG9uc2Uu
Y29uc3VtZUJvZHlSZWNlaXZlZEJ5Q2h1bmsoW3Rhc2tIYW5kbGVyID0gV1RGTW92ZSh0YXNrSGFu
ZGxlciksIHJlY29yZFBvc2l0aW9uLCBkYXRhID0gU2hhcmVkQnVmZmVyQnVpbGRlcigpLCByZXNw
b25zZSA9IFdURk1vdmUocHJvdGVjdGVkUmVzcG9uc2UpXSAoYXV0byYmIHJlc3VsdCkgbXV0YWJs
ZSB7CiAgICAgICAgICAgICAgICAgaWYgKHRhc2tIYW5kbGVyLT5pc0RvbmUoKSkKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmNwcAppbmRleCBjZTFmN2Q1OTdhZGM3Y2RkZTQ3YmI3MGVmYmEzNDE1Mzli
NjNjMzU3Li45MzUyZjQ1NzY3ZmU3YjUzMDMzMzg5NWZlMzRiNWNkNTgyZWIxNmVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKQEAgLTIzNywx
MiArMjM3LDYgQEAgdm9pZCBGZXRjaFJlc3BvbnNlOjphZGRBYm9ydFN0ZXBzKFJlZjxBYm9ydFNp
Z25hbD4mJiBzaWduYWwpCiAKIHZvaWQgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgRmV0Y2hSZXF1ZXN0JiByZXF1ZXN0LCBOb3RpZmljYXRpb25D
YWxsYmFjayYmIHJlc3BvbnNlQ2FsbGJhY2ssIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yKQogewot
ICAgIGlmIChyZXF1ZXN0LnNpZ25hbCgpLmFib3J0ZWQoKSkgewotICAgICAgICByZXNwb25zZUNh
bGxiYWNrKEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IsICJSZXF1ZXN0IHNpZ25hbCBpcyBhYm9ydGVk
Il9zIH0pOwotICAgICAgICAvLyBGSVhNRTogQ2FuY2VsIHJlcXVlc3QgYm9keSBpZiBpdCBpcyBh
IHN0cmVhbS4KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGlmIChyZXF1ZXN0LmlzUmVh
ZGFibGVTdHJlYW1Cb2R5KCkpIHsKICAgICAgICAgcmVzcG9uc2VDYWxsYmFjayhFeGNlcHRpb24g
eyBOb3RTdXBwb3J0ZWRFcnJvciwgIlJlYWRhYmxlU3RyZWFtIHVwbG9hZGluZyBpcyBub3Qgc3Vw
cG9ydGVkIl9zIH0pOwogICAgICAgICByZXR1cm47CkBAIC0zNTUsNyArMzQ5LDcgQEAgdm9pZCBG
ZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzb3UKICAgICBtX3Jlc3BvbnNlLnVwZGF0ZUNvbnRlbnRUeXBlKCk7CiAK
ICAgICBpZiAoYXV0byByZXNwb25zZUNhbGxiYWNrID0gV1RGTW92ZShtX3Jlc3BvbnNlQ2FsbGJh
Y2spKQotICAgICAgICByZXNwb25zZUNhbGxiYWNrKG1fcmVzcG9uc2UpOworICAgICAgICByZXNw
b25zZUNhbGxiYWNrKFJlZiB7IG1fcmVzcG9uc2UgfSk7CiB9CiAKIHZvaWQgRmV0Y2hSZXNwb25z
ZTo6Qm9keUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCmluZGV4IGVm
Y2MwYzMxM2Q5YTA0YmZlMzUzYmUwY2EyYmRiZjBmMWQxZTUyODMuLjMxYzU0NzBhMWFhODc5Yzc1
OWRhYmQ2Y2MwOGVhMjlmOTBlYjQ1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPEZldGNoUmVzcG9uc2U+IGVycm9yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKICAgICBz
dGF0aWMgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVzcG9uc2U+PiByZWRpcmVjdChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBzdGF0dXMpOwogCi0gICAgdXNp
bmcgTm90aWZpY2F0aW9uQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKEV4Y2VwdGlvbk9yPEZldGNo
UmVzcG9uc2UmPiYmKT47CisgICAgdXNpbmcgTm90aWZpY2F0aW9uQ2FsbGJhY2sgPSBGdW5jdGlv
bjx2b2lkKEV4Y2VwdGlvbk9yPFJlZjxGZXRjaFJlc3BvbnNlPj4mJik+OwogICAgIHN0YXRpYyB2
b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRjaFJlcXVlc3QmLCBOb3RpZmlj
YXRpb25DYWxsYmFjayYmLCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcik7CiAKICAgICB2b2lkIHN0
YXJ0Q29uc3VtaW5nU3RyZWFtKHVuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNw
cAppbmRleCA5OTAwOWNiYTRiODFkNmE1NTA1NzRkNjhhMmNkODkxMGU2YWJjNDJlLi5iMmVhY2U0
MWIxYjgzOGUyOTEwYzAyMWY5MTNhZGEzYWYyNTk2NTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
RmV0Y2guY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0SW5pdGlhdG9ycy5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5o
IgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNGZXRjaFJl
c3BvbnNlLmgiCkBAIC0zOSw0NiArNDAsNDEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2lu
ZyBGZXRjaFJlc3BvbnNlUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8
RmV0Y2hSZXNwb25zZT4+OwogCi12b2lkIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaDo6
ZmV0Y2goRE9NV2luZG93JiB3aW5kb3csIEZldGNoUmVxdWVzdDo6SW5mbyYmIGlucHV0LCBGZXRj
aFJlcXVlc3Q6OkluaXQmJiBpbml0LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIGRlZmVycmVkKQor
Ly8gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1nbG9iYWwtZmV0Y2gKK3N0YXRp
YyB2b2lkIGRvRmV0Y2goU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NvcGUsIEZldGNoUmVxdWVz
dDo6SW5mbyYmIGlucHV0LCBGZXRjaFJlcXVlc3Q6OkluaXQmJiBpbml0LCBGZXRjaFJlc3BvbnNl
UHJvbWlzZSYmIHByb21pc2UpCiB7Ci0gICAgRmV0Y2hSZXNwb25zZVByb21pc2UgcHJvbWlzZSA9
IFdURk1vdmUoZGVmZXJyZWQpOwotCi0gICAgYXV0byogZG9jdW1lbnQgPSB3aW5kb3cuZG9jdW1l
bnQoKTsKLSAgICBpZiAoIWRvY3VtZW50KSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEludmFs
aWRTdGF0ZUVycm9yKTsKKyAgICBhdXRvIHJlcXVlc3RPckV4Y2VwdGlvbiA9IEZldGNoUmVxdWVz
dDo6Y3JlYXRlKHNjb3BlLCBXVEZNb3ZlKGlucHV0KSwgV1RGTW92ZShpbml0KSk7CisgICAgaWYg
KHJlcXVlc3RPckV4Y2VwdGlvbi5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICBwcm9taXNlLnJl
amVjdChyZXF1ZXN0T3JFeGNlcHRpb24ucmVsZWFzZUV4Y2VwdGlvbigpKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIGF1dG8gcmVxdWVzdCA9IEZldGNoUmVxdWVzdDo6Y3JlYXRlKCpk
b2N1bWVudCwgV1RGTW92ZShpbnB1dCksIFdURk1vdmUoaW5pdCkpOwotICAgIGlmIChyZXF1ZXN0
Lmhhc0V4Y2VwdGlvbigpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KHJlcXVlc3QucmVsZWFz
ZUV4Y2VwdGlvbigpKTsKKyAgICBhdXRvIHJlcXVlc3QgPSByZXF1ZXN0T3JFeGNlcHRpb24ucmVs
ZWFzZVJldHVyblZhbHVlKCk7CisgICAgaWYgKHJlcXVlc3QtPnNpZ25hbCgpLmFib3J0ZWQoKSkg
eworICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBBYm9ydEVycm9yLCAiUmVxdWVz
dCBzaWduYWwgaXMgYWJvcnRlZCJfcyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IEZldGNoUmVzcG9uc2U6OmZldGNoKCpkb2N1bWVudCwgcmVxdWVzdC5yZWxlYXNlUmV0dXJuVmFs
dWUoKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCB1c2VyR2VzdHVyZVRva2VuID0gVXNl
ckdlc3R1cmVJbmRpY2F0b3I6OmN1cnJlbnRVc2VyR2VzdHVyZSgpXShFeGNlcHRpb25PcjxGZXRj
aFJlc3BvbnNlJj4mJiByZXN1bHQpIG11dGFibGUgewotICAgICAgICBpZiAoIXVzZXJHZXN0dXJl
VG9rZW4gfHwgdXNlckdlc3R1cmVUb2tlbi0+aGFzRXhwaXJlZChVc2VyR2VzdHVyZVRva2VuOjpt
YXhpbXVtSW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmdGb3JGZXRjaCgpKSB8fCAhdXNl
ckdlc3R1cmVUb2tlbi0+cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKKyAgICBGZXRjaFJlc3Bv
bnNlOjpmZXRjaChzY29wZSwgcmVxdWVzdC5nZXQoKSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpLCBzY29wZSA9IFJlZiB7IHNjb3BlIH1dKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAg
ICAgICBzY29wZS0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcs
IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgcmVzdWx0ID0gV1RGTW92ZShyZXN1bHQpXSgp
IG11dGFibGUgewogICAgICAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIFVzZXJHZXN0dXJlSW5k
aWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb2tlbiwgVXNlckdlc3R1cmVUb2tl
bjo6R2VzdHVyZVNjb3BlOjpNZWRpYU9ubHksIFVzZXJHZXN0dXJlVG9rZW46OklzUHJvcGFnYXRl
ZEZyb21GZXRjaDo6WWVzKTsKLSAgICAgICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQp
KTsKKyAgICAgICAgfSk7CiAgICAgfSwgY2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycygp
LmZldGNoKTsKIH0KIAotdm9pZCBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2g6OmZldGNo
KFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRmV0Y2hSZXF1ZXN0OjpJbmZvJiYgaW5wdXQsIEZl
dGNoUmVxdWVzdDo6SW5pdCYmIGluaXQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgZGVmZXJyZWQp
Cit2b2lkIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaDo6ZmV0Y2goRE9NV2luZG93JiB3
aW5kb3csIEZldGNoUmVxdWVzdDo6SW5mbyYmIGlucHV0LCBGZXRjaFJlcXVlc3Q6OkluaXQmJiBp
bml0LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0gICAgRmV0Y2hSZXNwb25z
ZVByb21pc2UgcHJvbWlzZSA9IFdURk1vdmUoZGVmZXJyZWQpOwotCi0gICAgYXV0byByZXF1ZXN0
ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoc2NvcGUsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGlu
aXQpKTsKLSAgICBpZiAocmVxdWVzdC5oYXNFeGNlcHRpb24oKSkgewotICAgICAgICBwcm9taXNl
LnJlamVjdChyZXF1ZXN0LnJlbGVhc2VFeGNlcHRpb24oKSk7CisgICAgYXV0byogZG9jdW1lbnQg
PSB3aW5kb3cuZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KSB7CisgICAgICAgIHByb21p
c2UtPnJlamVjdChJbnZhbGlkU3RhdGVFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9Cisg
ICAgZG9GZXRjaCgqZG9jdW1lbnQsIFdURk1vdmUoaW5wdXQpLCBXVEZNb3ZlKGluaXQpLCBXVEZN
b3ZlKHByb21pc2UpKTsKK30KIAotICAgIEZldGNoUmVzcG9uc2U6OmZldGNoKHNjb3BlLCByZXF1
ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLmdldCgpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKEV4Y2VwdGlvbk9yPEZldGNoUmVzcG9uc2UmPiYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAg
ICAgIHByb21pc2Uuc2V0dGxlKFdURk1vdmUocmVzdWx0KSk7Ci0gICAgfSwgY2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0SW5pdGlhdG9ycygpLmZldGNoKTsKK3ZvaWQgV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZUZldGNoOjpmZXRjaChXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUsIEZldGNoUmVxdWVzdDo6
SW5mbyYmIGlucHV0LCBGZXRjaFJlcXVlc3Q6OkluaXQmJiBpbml0LCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCit7CisgICAgZG9GZXRjaChzY29wZSwgV1RGTW92ZShpbnB1dCksIFdU
Rk1vdmUoaW5pdCksIFdURk1vdmUocHJvbWlzZSkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2U5MWVhZWZl
M2VkZTBkZjYzMjUyMDJkZTZiMDE2N2MwMWVjZWI4ZS4uZDM4Yjk4MWRhNjdiYjA3MmM0NjBiMWFk
ZTgwMTQ3MWM4NjBmYmM4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAyLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXR0bGluZyBvZiBhIGZl
dGNoIHByb21pc2Ugc2hvdWxkIGJlIGRlbGF5ZWQgaW4gY2FzZSBwYWdlIGlzIGVudGVyaW5nIHBh
Z2UgY2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNjI5MgorICAgICAgICA8cmRhcjovLzg4NDUyOTcxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZldGNo
LXBhZ2VjYWNoZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2
aWdhdGlvbi9mZXRjaC1wYWdlY2FjaGUuaHRtbDogQWRkZWQuCisKIDIwMjItMDItMDggIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIExpYldlYlJUQ0NvZGVjcyBT
aGFyZWRWaWRlb0ZyYW1lV3JpdGVycyBjYW4gZGVhZGxvY2sgaW4gY2FzZSBvZiBHUFVQcm9jZXNz
IGNyYXNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZmV0
Y2gtcGFnZWNhY2hlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9mZXRjaC1wYWdlY2FjaGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNjNhMDJmODBl
MWU2YmU1YWY4YTdjMjdkZDY3NjQyMjVjOGYxMTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZmV0Y2gtcGFnZWNhY2hlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE0IEBACitUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBYTUxIdHRw
UmVxdWVzdCBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitwYWdlaGlkZSAtIGVudGVyaW5n
IGNhY2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFnZSBkaWQgZW50ZXIgYW5kIHdh
cyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlCitQQVNTIGZldGNoIHByb21pc2UgcmVzb2x2
ZWQgYWZ0ZXIgcGFnZSB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9mZXRjaC1wYWdlY2FjaGUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9mZXRjaC1wYWdlY2FjaGUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41ZGQyNGE2MDQ2OWFmN2I0ZmRmMGRmMDE4MGJjOGQxMTY2MjQyZGYzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZldGNoLXBhZ2Vj
YWNoZS5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyPXRydWUgVXNlc0JhY2tGb3J3YXJk
Q2FjaGU9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBYTUxIdHRwUmVxdWVz
dCBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK3ZhciByZXN0b3JlZEZyb21QYWdlQ2FjaGUgPSBmYWxzZTsKKworZnVuY3Rpb24gZG9G
ZXRjaFRlc3QoKQoreworICAgIGlmIChyZXN0b3JlZEZyb21QYWdlQ2FjaGUpIHsKKyAgICAgICAg
dGVzdFBhc3NlZCgiZmV0Y2ggcHJvbWlzZSByZXNvbHZlZCBhZnRlciBwYWdlIHdhcyByZXN0b3Jl
ZCBmcm9tIHRoZSBwYWdlIGNhY2hlIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGZldGNoKCIvcmVzb3VyY2VzL2xvYWQtYW5kLXN0YWxsLmNn
aT9uYW1lPWxvYWQtYW5kLXN0YWxsLmNnaSZzdGFsbEZvcj0zJnN0YWxsQXQ9MCZtaW1lVHlwZT10
ZXh0L3BsYWluIikudGhlbihkb0ZldGNoVGVzdCwgZG9GZXRjaFRlc3QpOworfQorCit3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgeworICAgIGRlYnVn
KCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20g
Y2FjaGUiKTsKKworICAgIGlmIChldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgdGVzdFBhc3Nl
ZCgiUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlIik7
CisgICAgICAgIHJlc3RvcmVkRnJvbVBhZ2VDYWNoZSA9IHRydWU7CisgICAgfQorfSwgZmFsc2Up
OworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkg
eworICAgIGRlYnVnKCJwYWdlaGlkZSAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90
ICIpICsgImVudGVyaW5nIGNhY2hlIik7CisgICAgaWYgKCFldmVudC5wZXJzaXN0ZWQpIHsKKyAg
ICAgICAgdGVzdEZhaWxlZCgiUGFnZSBkaWQgbm90IGVudGVyIHRoZSBwYWdlIGNhY2hlLiIpOwor
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9CisgICAgZG9GZXRjaFRlc3QoKTsKK30sIGZh
bHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKKyAg
ICAvLyBUaGlzIG5lZWRzIHRvIGhhcHBlbiBpbiBhIHNldFRpbWVvdXQgYmVjYXVzZSBhIG5hdmln
YXRpb24gaW5zaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB3b3VsZAorICAgIC8vIG5vdCBjcmVhdGUg
YSBoaXN0b3J5IGVudHJ5LgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAvLyBG
b3JjZSBhIGJhY2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KKyAgICAgIHdpbmRvdy5s
b2NhdGlvbi5ocmVmID0gInJlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsKKyAgICB9
LCAwKTsKK30sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>