<?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>235170</bug_id>
          
          <creation_ts>2022-01-12 17:41:43 -0800</creation_ts>
          <short_desc>Remove ImplementationLacksVTable IDL attribute</short_desc>
          <delta_ts>2022-01-18 11:37: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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>pangle</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830430</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-12 17:41:43 -0800</bug_when>
    <thetext>Remove ImplementationLacksVTable IDL attribute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830431</commentid>
    <comment_count>1</comment_count>
      <attachid>449016</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-12 17:43:33 -0800</bug_when>
    <thetext>Created attachment 449016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830440</commentid>
    <comment_count>2</comment_count>
      <attachid>449016</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-12 18:39:55 -0800</bug_when>
    <thetext>Comment on attachment 449016
Patch

r=me This is awesome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831309</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-16 11:07:54 -0800</bug_when>
    <thetext>Wow, don’t want to have to wait for Alex to land this, so tempted to just set commit-queue+ on it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831693</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-18 09:08:45 -0800</bug_when>
    <thetext>This will need coordination with the internal builds to land.  I think I&apos;ll leave it as an allowed attribute, then land that, then remove the internal ignored ImplementationLacksVTable attributes, then remove ImplementationLacksVTable from the list of allowed attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831699</commentid>
    <comment_count>5</comment_count>
      <attachid>449397</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-18 09:29:54 -0800</bug_when>
    <thetext>Created attachment 449397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831716</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-18 10:10:35 -0800</bug_when>
    <thetext>Committed r288118 (246132@main): &lt;https://commits.webkit.org/246132@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449397.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831717</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-18 10:11:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/87719729&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831727</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-18 10:37:40 -0800</bug_when>
    <thetext>Internal commit 0f5ee832212f7d5b552bb117c1428dc65c563f7e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831737</commentid>
    <comment_count>9</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-18 10:46:36 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831738</commentid>
    <comment_count>10</comment_count>
      <attachid>449403</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-18 10:46:41 -0800</bug_when>
    <thetext>Created attachment 449403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831753</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-18 11:37:21 -0800</bug_when>
    <thetext>Committed r288133 (246140@main): &lt;https://commits.webkit.org/246140@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449403.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449016</attachid>
            <date>2022-01-12 17:43:33 -0800</date>
            <delta_ts>2022-01-18 09:29:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235170-20220112174332.patch</filename>
            <type>text/plain</type>
            <size>304369</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFhNWZmMGM3YjY2YWNm
NTNiZTc0NmIxMDk0Mzk4MjQwYjIxOGQ1Ni4uNWJkZjhiOWNlZmFjNGU4ZGQxOGUyYWQyM2ZlMDQ3
YjRjZDc2ZGJmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1MSBAQAorMjAyMi0wMS0xMiAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92
ZSBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIElETCBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE3MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0IGNhbiBiZSByZXBsYWNlZCBieSBp
ZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUPikuCisKKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUFkYXB0ZXIu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91cC5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVQmluZEdyb3VwTGF5b3V0LmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVCdWZmZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUJ1
ZmZlclVzYWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb250ZXh0
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb2xvcldyaXRlLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVQ29tcGlsYXRpb25JbmZvLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVD
b21waWxhdGlvbk1lc3NhZ2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1
dGVQYXNzRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBp
cGVsaW5lLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2VMb3N0SW5mby5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVRXh0ZXJuYWxUZXh0dXJlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVNYXBNb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L1dlYkdQVS9HUFVPdXRPZk1lbW9yeUVycm9yLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQ
VS9HUFVQaXBlbGluZUxheW91dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVl
cnlTZXQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGUuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQ
VS9HUFVSZW5kZXJQaXBlbGluZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVU2Ft
cGxlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVU3VwcG9ydGVkRmVhdHVyZXMuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvV2ViR1BVL0dQVVN1cHBvcnRlZExpbWl0cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVVGV4dHVyZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZVVz
YWdlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVmlldy5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVmFsaWRhdGlvbkVycm9yLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5pZGw6CisgICAgICAgICogTW9k
dWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsc0NvbnRhaW5lci5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uaWRsOgorICAgICAgICAq
IE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVw
YWQvR2FtZXBhZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0b24u
aWRsOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db29yZGluYXRl
cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBvc2l0aW9u
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUG9zaXRpb25F
cnJvci5pZGw6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5pZGw6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFNZXRhZGF0YS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9PdmVyY29uc3RyYWluZWRFcnJvci5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENDZXJ0aWZpY2F0ZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENFbmNvZGVkQXVkaW9GcmFtZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENFbmNvZGVkVmlkZW9GcmFtZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENJY2VDYW5kaWRhdGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1N0YXRzUmVwb3J0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRBZGRyZXNzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25z
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGw6CisgICAgICAgICogTW9k
dWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3B1
c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25PcHRpb25zLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5pZGw6CisgICAgICAgICogTW9kdWxlcy9z
cGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L3N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViLWxvY2tz
L1dlYkxvY2suaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGw6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRQcm9jZXNzb3IuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmNvZGVjcy9WaWRlb0NvbG9yU3BhY2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMRXJyb3Iu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0LmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3VsdFNldFJvd0xpc3QuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93
ZWJ4ci9XZWJYUkhhbmQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNv
dXJjZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXku
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2VieHIvV2ViWFJSZW5kZXJTdGF0ZS5pZGw6CisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhy
L1dlYlhSVmlldy5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdwb3J0Lmlk
bDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKEdldEdudVZUYWJsZU5hbWVGb3JJbnRlcmZhY2UpOgorICAgICAgICAoR2V0V2luVlRhYmxl
TmFtZUZvckludGVyZmFjZSk6CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAg
ICAgICAgKEdldEltcGxlbWVudGF0aW9uTGFja3NWVGFibGVGb3JJbnRlcmZhY2UpOiBEZWxldGVk
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9FeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuaWRsOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRTdGFyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5
Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVh
Y3Rpb25zU3RyaW5naWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRl
ZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNO
ZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RE
ZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9K
U05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdERvbWFpblNlY3VyaXR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNy
ZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVk
QnlTZXR0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05l
d2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4
Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNO
ZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRl
cmFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE1hcExpa2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5
Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05l
d2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
SlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNO
ZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZFNldHRlck5vSWRlbnRpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlD
cmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlD
cmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVh
dGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoSW5kZXhlZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVh
dGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
TmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNO
ZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3Jl
YXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VS
ZWplY3Rpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlNYXBMaWtl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seVNldExpa2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXRMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNy
ZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVy
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVt
ZW50ZWRBcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25O
YW1lZFRvU3RyaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRP
bmx5QXR0cmlidXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRX
cml0ZUF0dHJpYnV0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2UuaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuaWRsOgorICAgICAgICAqIGNz
cy9DU1NQYWludFNpemUuaWRsOgorICAgICAgICAqIGNzcy9ET01NYXRyaXguaWRsOgorICAgICAg
ICAqIGNzcy9ET01NYXRyaXhSZWFkT25seS5pZGw6CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRD
U1NPTUNvdW50ZXIuaWRsOgorICAgICAgICAqIGNzcy9EZXByZWNhdGVkQ1NTT01QcmltaXRpdmVW
YWx1ZS5pZGw6CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRDU1NPTVJHQkNvbG9yLmlkbDoKKyAg
ICAgICAgKiBjc3MvRGVwcmVjYXRlZENTU09NUmVjdC5pZGw6CisgICAgICAgICogY3NzL0RlcHJl
Y2F0ZWRDU1NPTVZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZENTU09NVmFsdWVM
aXN0LmlkbDoKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmlkbDoKKyAgICAgICAgKiBjc3MvU3R5
bGVNZWRpYS5pZGw6CisgICAgICAgICogY3NzL1N0eWxlU2hlZXRMaXN0LmlkbDoKKyAgICAgICAg
KiBjc3MvdHlwZWRvbS9DU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaWRsOgorICAgICAgICAq
IGNzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmlkbDoKKyAgICAgICAgKiBkb20v
QWJvcnRDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBkb20vRE9NRXhjZXB0aW9uLmlkbDoKKyAg
ICAgICAgKiBkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsOgorICAgICAgICAqIGRvbS9ET01Qb2lu
dC5pZGw6CisgICAgICAgICogZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsOgorICAgICAgICAqIGRv
bS9ET01RdWFkLmlkbDoKKyAgICAgICAgKiBkb20vRE9NUmVjdC5pZGw6CisgICAgICAgICogZG9t
L0RPTVJlY3RMaXN0LmlkbDoKKyAgICAgICAgKiBkb20vRE9NUmVjdFJlYWRPbmx5LmlkbDoKKyAg
ICAgICAgKiBkb20vRE9NU3RyaW5nTGlzdC5pZGw6CisgICAgICAgICogZG9tL0RhdGFUcmFuc2Zl
ckl0ZW0uaWRsOgorICAgICAgICAqIGRvbS9JZGxlRGVhZGxpbmUuaWRsOgorICAgICAgICAqIGRv
bS9NZXNzYWdlQ2hhbm5lbC5pZGw6CisgICAgICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRs
OgorICAgICAgICAqIGRvbS9OYW1lZE5vZGVNYXAuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlSXRl
cmF0b3IuaWRsOgorICAgICAgICAqIGRvbS9UZXh0RGVjb2Rlci5pZGw6CisgICAgICAgICogZG9t
L1RleHREZWNvZGVyU3RyZWFtRGVjb2Rlci5pZGw6CisgICAgICAgICogZG9tL1RleHRFbmNvZGVy
LmlkbDoKKyAgICAgICAgKiBkb20vVGV4dEVuY29kZXJTdHJlYW1FbmNvZGVyLmlkbDoKKyAgICAg
ICAgKiBkb20vVG91Y2guaWRsOgorICAgICAgICAqIGRvbS9Ub3VjaExpc3QuaWRsOgorICAgICAg
ICAqIGRvbS9UcmVlV2Fsa2VyLmlkbDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVMaXN0LmlkbDoK
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmlkbDoKKyAgICAgICAgKiBodG1sL0RP
TUZvcm1EYXRhLmlkbDoKKyAgICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmlkbDoKKyAgICAgICAg
KiBodG1sL0ltYWdlRGF0YS5pZGw6CisgICAgICAgICogaHRtbC9NZWRpYUVycm9yLmlkbDoKKyAg
ICAgICAgKiBodG1sL1RleHRNZXRyaWNzLmlkbDoKKyAgICAgICAgKiBodG1sL1RpbWVSYW5nZXMu
aWRsOgorICAgICAgICAqIGh0bWwvVVJMU2VhcmNoUGFyYW1zLmlkbDoKKyAgICAgICAgKiBodG1s
L1dlYktpdE1lZGlhS2V5RXJyb3IuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0dy
YWRpZW50LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGw6CisgICAgICAgICogaHRtbC90cmFjay9BdWRp
b1RyYWNrQ29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJhY2tD
dWVMaXN0LmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1ZUVFJlZ2lvbkxpc3QuaWRsOgorICAg
ICAgICAqIGh0bWwvdHJhY2svVmlkZW9UcmFja0NvbmZpZ3VyYXRpb24uaWRsOgorICAgICAgICAq
IGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JBdWRpdERPTU9iamVjdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckF1ZGl0UmVzb3VyY2VzT2JqZWN0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmlkbDoKKyAgICAgICAgKiBwYWdlL0JhclByb3AuaWRsOgorICAgICAg
ICAqIHBhZ2UvRE9NU2VsZWN0aW9uLmlkbDoKKyAgICAgICAgKiBwYWdlL0hpc3RvcnkuaWRsOgor
ICAgICAgICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsOgorICAgICAgICAqIHBhZ2Uv
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5pZGw6CisgICAgICAgICogcGFnZS9Mb2NhdGlvbi5p
ZGw6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsOgorICAgICAgICAq
IHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGw6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyRW50cnlMaXN0LmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlU2VydmVy
VGltaW5nLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbDoKKyAgICAg
ICAgKiBwYWdlL1Jlc2l6ZU9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL1Jlc2l6ZU9ic2Vy
dmVyRW50cnkuaWRsOgorICAgICAgICAqIHBhZ2UvU2NyZWVuLmlkbDoKKyAgICAgICAgKiBwYWdl
L1VuZG9JdGVtLmlkbDoKKyAgICAgICAgKiBwYWdlL1VuZG9NYW5hZ2VyLmlkbDoKKyAgICAgICAg
KiBwYWdlL1dlYktpdFBvaW50LmlkbDoKKyAgICAgICAgKiBwbHVnaW5zL0RPTU1pbWVUeXBlLmlk
bDoKKyAgICAgICAgKiBwbHVnaW5zL0RPTU1pbWVUeXBlQXJyYXkuaWRsOgorICAgICAgICAqIHBs
dWdpbnMvRE9NUGx1Z2luLmlkbDoKKyAgICAgICAgKiBwbHVnaW5zL0RPTVBsdWdpbkFycmF5Lmlk
bDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZy5pZGw6CisgICAgICAgICogc3ZnL1NWR1JlbmRl
cmluZ0ludGVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1VuaXRUeXBlcy5pZGw6CisgICAgICAg
ICogc3ZnL1NWR1ZpZXdTcGVjLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL0dDT2JzZXJ2YXRpb24u
aWRsOgorICAgICAgICAqIHRlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGw6CisgICAgICAgICog
dGVzdGluZy9NZW1vcnlJbmZvLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tDb250ZW50Rmls
dGVyU2V0dGluZ3MuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BhZ2VPdmVybGF5LmlkbDoK
KyAgICAgICAgKiB0ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsOgorICAgICAgICAq
IHRlc3RpbmcvVHlwZUNvbnZlcnNpb25zLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1dlYkZha2VY
UkRldmljZS5pZGw6CisgICAgICAgICogdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIu
aWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyTG9jYXRpb24uaWRsOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5pZGw6CisgICAgICAgICogeG1sL0RP
TVBhcnNlci5pZGw6CisgICAgICAgICogeG1sL1hNTFNlcmlhbGl6ZXIuaWRsOgorICAgICAgICAq
IHhtbC9YUGF0aEV2YWx1YXRvci5pZGw6CisgICAgICAgICogeG1sL1hQYXRoRXhwcmVzc2lvbi5p
ZGw6CisgICAgICAgICogeG1sL1hQYXRoUmVzdWx0LmlkbDoKKyAgICAgICAgKiB4bWwvWFNMVFBy
b2Nlc3Nvci5pZGw6CisKIDIwMjItMDEtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgTW9kYWwgY29udGFpbmVyIG9ic2VydmVyIGZhaWxzIGRldGVj
dGlvbiB3aGVuIHJlbmRlcmVkIHRleHQgaXMgaW5zZXJ0ZWQgYWZ0ZXIgdGhlIGNvbnRhaW5lcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVS5pZGwKaW5kZXggYjI2OTk4Y2I1MmI1NGFlMTk0
NGQwYzcwMGQ0YTY4YjJjODIyNzk4ZS4uNzNkZTA0ZWNiNmIzYTAzMTVmNDE3MGE4ZmExNDhiYmMz
OGU5ZjQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFUuaWRsCkBAIC0yNyw3ICsy
Nyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAg
IFNlY3VyZUNvbnRleHQKIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUFkYXB0ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQWRh
cHRlci5pZGwKaW5kZXggNzk2NDJiMDZkOWFjY2U5NGQ1ZTQ5NjNkNmMzZDYxZTc4YThhYTYyNS4u
YTI4MTQ3MGJlNTgwOWI5OTQyOGYxYzBjNjcyYjU5ZDA5OTZkNTcxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQWRhcHRlci5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQWRhcHRlci5pZGwKQEAgLTI3LDcgKzI3LDYgQEAKIAog
WwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29u
dGV4dAogXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQmlu
ZEdyb3VwLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91cC5p
ZGwKaW5kZXggMzA3MDg3NWJmOTY1MDJjNzQ3NjI1YWE3ZWViM2EzMDk2MTNkYzc2Ni4uZmZkMDQ4
YWE3NTUzZjg4Y2ZjNjIwMWMxODY5OWM1MjZkYzFhNDhjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQmluZEdyb3VwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVCaW5kR3JvdXAuaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsK
ICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRl
eHQKIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJpbmRH
cm91cExheW91dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCaW5kR3Jv
dXBMYXlvdXQuaWRsCmluZGV4IDFlYTIxMTJmNGRjNWQ2YjBhMWMyODY4MTgwODg1OWMwODExZDQ5
OTYuLjlkNWQ0MDQyNjhiNTBkNmY2MWFmNThlNzg0Njg5ZmY0MTk2N2M5YWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91cExheW91dC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQmluZEdyb3VwTGF5b3V0LmlkbApA
QCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3Jr
ZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQnVmZmVyLmlkbAppbmRleCA4OGM2ZGEyZmFmMmU3MWMxNWY3MTk0NjE1NzgyNjViMjdm
N2IzNzkyLi4wZjcyZGI5MzRlMzYxNzA2Mjc4ZmVhNWIwNDc1N2I5YjdjOTgwZDUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5pZGwKQEAgLTMxLDcgKzMxLDYg
QEAgdHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGxvbmcgR1BVU2l6ZTY0Owog
CiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVD
b250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVC
dWZmZXJVc2FnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXJV
c2FnZS5pZGwKaW5kZXggMTM1NjNhZTg1ZjNkY2RiNDQ4M2YwYjhkNThjNDczOWMwMGQ5YzliOS4u
MWYzNGVjMDc5OTk1Y2I5MDk3NTJmZDUzZDA2Y2I0YWQ4MTEyZWU3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyVXNhZ2UuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlclVzYWdlLmlkbApAQCAtMjgsNyArMjgs
NiBAQAogdHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUJ1ZmZlclVzYWdl
RmxhZ3M7CiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBT
ZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDYW52YXNDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUNhbnZhc0NvbnRleHQuaWRsCmluZGV4IGJmM2Y2MzY1Y2ZkNDY5NWQwN2RlOTc5YTQzMzM0Zjc0
YzMwNzlhZjYuLjVhYmUzYWQwOGYwMTkyMjU0M2ZhMzY4YmE2ZGQ4ZGViOTVhYzY2MzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbnRleHQuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbnRleHQuaWRs
CkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdv
cmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbG9yV3JpdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVQ29sb3JXcml0ZS5pZGwKaW5kZXggMzVhYzExMTI4MGU3NjgzNzNiNzNjYzZi
MWJiY2JhNDgyYmU4MzlmYi4uNDdjZjk4OTg4NGNmMTYxMTZjY2JlMGZjYThjNzUwZWQzYzE4OWU4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JXcml0
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29sb3JXcml0ZS5p
ZGwKQEAgLTI4LDcgKzI4LDYgQEAKIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9u
ZyBHUFVDb2xvcldyaXRlRmxhZ3M7CiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRX
b3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kQnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsCmluZGV4IDEwMWZlM2Q3NTU4MTZmZWE2
NGRkOTY0N2FhYTYyM2E2ZWZkM2I3YTEuLjZhYjRhYmU2ODBmYWM0MzkxYWRjYmE2MTJiNzMwYmI4
ZTEzYjYxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRCdWZmZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRCdWZmZXIuaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9
KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1
NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbAppbmRleCBm
NTEzZDRlMTcyNTFkMzllYTNmMzQ0NjY3ODhkMTM0ZGNkOTUyODg1Li5hYTk0Y2EwMzQ0N2JmNWRi
MTE0YTcwMzEwNDMzZmE4NjBiMDJhMTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCkBAIC0zMyw3ICszMyw2IEBAIHR5cGVk
ZWYgKHNlcXVlbmNlPEdQVUludGVnZXJDb29yZGluYXRlPiBvciBHUFVFeHRlbnQzRERpY3QpIEdQ
VUV4dGVudDNEOwogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8K
ICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21waWxhdGlvbkluZm8uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tcGlsYXRpb25JbmZvLmlkbAppbmRleCA4NjdlNDc0NmZjZGQxZTVhMzVkMGUz
YzRhNWE3ZWYwYTQ2NDZhZTYyLi4zNzcyYWQxMjIyMDYxOTEzNjYwYzc1NDU0YzdjNWEzMmU1OTE1
NGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21waWxh
dGlvbkluZm8uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXBp
bGF0aW9uSW5mby5pZGwKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRp
bmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0o
V2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0
MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VyaWFsaXphYmxlLAogICAgIFNlY3VyZUNvbnRl
eHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXBpbGF0
aW9uTWVzc2FnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21waWxh
dGlvbk1lc3NhZ2UuaWRsCmluZGV4IDk0M2FlOGNhOTViMTc1ZjIxMTAzOTgwYzVhZDcxNTM5YTJj
MjAzZmUuLjJmNTBjNGU2ZDY2YjE2NTBmMTk5NzM1YjFiMzJjZmNjNjQ3NTU3ZGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXBpbGF0aW9uTWVzc2FnZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcGlsYXRpb25NZXNz
YWdlLmlkbApAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJH
UFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cp
LCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRp
Y2F0ZWRXb3JrZXIgKi8KICAgICBTZXJpYWxpemFibGUsCiAgICAgU2VjdXJlQ29udGV4dApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5j
b2Rlci5pZGwKaW5kZXggZjMzYjFjMTQ5MDY0NTE3N2FlNGVlMGIxYjk4ZDA4OGI1NGMzY2UzYi4u
OTU4ZGQ3N2U3Njc0MDYyNjI5OGZkNDJiZGQwNGFlMWM3OGU1Yjg5OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaWRs
CkBAIC0zMSw3ICszMSw2IEBAIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBs
b25nIEdQVVNpemU2NDsKIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAotICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2Vy
ICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwKaW5kZXggODQ4YTg0Y2U3YTM5MjcxNWNm
MDNmYjY5MzU4YzY0ODM4NGRlOTkyMi4uMTExNGI2YzJkNzUwNzE0MGY0ZDEyMGVmMzU3ZjZhMWJl
ODI5OTJmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29t
cHV0ZVBpcGVsaW5lLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVD
b21wdXRlUGlwZWxpbmUuaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlT
ZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9z
ZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURldmljZUxvc3RJbmZvLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURldmljZUxvc3RJbmZvLmlkbAppbmRl
eCA5YTA1NTY4YWMwYzJjMWJhMjE0N2E1NGY5NTBhYzlhNDRiMmQ1ODczLi4yYmVkMjAxNzc1OTg2
MWI5MDc2YjllNTVmZDdjZDNhZWQ0M2RjMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVEZXZpY2VMb3N0SW5mby5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlTG9zdEluZm8uaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAK
IFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNv
bnRleHQKIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUV4
dGVybmFsVGV4dHVyZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVFeHRl
cm5hbFRleHR1cmUuaWRsCmluZGV4IGIyMGUyOWJiNTkyZjY5ZTRjY2VmYTA5NjhmYjRkMjY1MDg3
MGViMTEuLjk1ZWFlYjI1NDAyM2I1NTU2YTY5OThlNGQ4NzUxZGNkNzA3NjFjZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUV4dGVybmFsVGV4dHVyZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRXh0ZXJuYWxUZXh0dXJlLmlk
bApAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRX
b3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVNYXBNb2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVU1hcE1vZGUuaWRsCmluZGV4IGIyZjkxNTE0ZjQ2ZjFhYTJhYmM5MDgwY2ViNGRm
OTg5YzMxNDBlMmYuLmJhZGU1Mjk4MGM3MWVhYzRkMGE0Yjk4MGJhN2U0N2MxZDgxN2ZkMGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU1hcE1vZGUuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU1hcE1vZGUuaWRsCkBAIC0yOCw3
ICsyOCw2IEBACiB0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVTWFwTW9k
ZUZsYWdzOwogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAg
U2VjdXJlQ29udGV4dAogXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVPdXRPZk1lbW9yeUVycm9yLmlkbAppbmRleCBiODc5YWYyNzlhNTQ3NTg3ODY1Zjc5NWM1
ZjY0MDJiN2RhM2VjNDgzLi4xZmMxNTJhMzVmYjhiZmFlYjRkMTc1ZGY1MDNjYTlhMjc3MjY1OTg2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPdXRPZk1lbW9y
eUVycm9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPdXRPZk1l
bW9yeUVycm9yLmlkbApAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGlu
Zz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShX
aW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQy
OiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dC5pZGwKaW5kZXggMDUz
MjMyOTdjOTZjYjI3ZDJkY2NjZTVhODhiYmIwMTljMGFmZTU2ZS4uZGU0YjQyOTJmMjQ5NDJiZDM3
YzIzODhiOWIzMmE3YzYwMDExOWZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0LmlkbApAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAg
ICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0
CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNl
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldC5pZGwKaW5k
ZXggNWM2YWJmN2U4OTgzMDdmMjFlMGI3MWI1NDY3M2IxYTU0MzFiZWVkMC4uODA3NDQ5NzA4OWRl
MDdmY2NjOTg0NjgyZWE5ZWQ0YWQ1NGUyZWQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0LmlkbApAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5h
YmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAg
ICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5pZGwKaW5kZXggZjUyNjc4YjM4
MGIwYmJiMDk3OTI1MmIzYzJkODViY2IxNjYxZmM2MS4uNTQ4MWQ1NGFlOGU0MzQ3NjJjMGQ4NTY3
MTk5YmJiYjA2ZmU3NTIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVldWUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1
ZXVlLmlkbApAQCAtMzMsNyArMzMsNiBAQCB0eXBlZGVmIChzZXF1ZW5jZTxHUFVJbnRlZ2VyQ29v
cmRpbmF0ZT4gb3IgR1BVRXh0ZW50M0REaWN0KSBHUFVFeHRlbnQzRDsKIAogWwogICAgIEVuYWJs
ZWRCeVNldHRpbmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAg
RXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZS5pZGwKaW5k
ZXggYTZlYmQxZGVhNjc1NDg1N2QyYzMzOTk0ZWYwMGVkNzA0OGFjMTczNC4uZDZlYTQwNWY3M2Zm
NzkzNzJmMjdhNjVhNWE3NmZkMWExMGJhOGI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGUuaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsK
ICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRl
eHQKIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
ckJ1bmRsZUVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyQnVuZGxlRW5jb2Rlci5pZGwKaW5kZXggZGVkYTM2NDI0MjE3OWE4MmJmNWU5ZjJmMDMzZjEy
OTU3ZmI5OGQ3OS4uY2ZjNjg2ZDNjNjVhZDI2NDBjZTUyMmEwYjliNGYzMGMwNDM2NjM4NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5j
b2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVu
ZGxlRW5jb2Rlci5pZGwKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRp
bmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0o
V2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0
MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsCmlu
ZGV4IDI5NmU1NzQyYjgwYjY2YzE4YmU4YTFjYzgxN2ExMmRmNDM3ZWNhODQuLjQ4ODVlYTM2OGM0
MDNmMGFhODUxYzA2OGZiY2MwNzJkMDI3MWE2OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwKQEAgLTMzLDcgKzMz
LDYgQEAgdHlwZWRlZiAoc2VxdWVuY2U8ZG91YmxlPiBvciBHUFVDb2xvckRpY3QpIEdQVUNvbG9y
OwogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1
cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVSZW5kZXJQaXBlbGluZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQaXBlbGluZS5pZGwKaW5kZXggOGU2YTQ5OGEwZTc1MjBiMjk4ZWM0NzEyZjQ2ZDRhY2Q3
N2RlMTZlYS4uNWFlMmYwMDJiM2JjMTg4ZWQ1MWIwMDA5NTJkNmY3MDQ5YTQ3ODRlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGlwZWxpbmUuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBpcGVsaW5lLmlk
bApAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRX
b3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVNhbXBsZXIuaWRsCmluZGV4IDdlZTQwYzA5Y2ZkZWVkYjc0NGRjZTNkZmQyMWI1
MWE0N2M5NDM5N2MuLmRiYzUwMWYzYTBiMGMyYjJjMjg3N2NmMjI3NmE3YmQ0MGFlZGJmMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXIuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXIuaWRsCkBAIC0yNyw3
ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwog
ICAgIFNlY3VyZUNvbnRleHQKIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVNoYWRlck1vZHVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVTaGFkZXJNb2R1bGUuaWRsCmluZGV4IDk0ZjQ2MzE3OWQ2MGM1NDFmODkxM2IyMDYzNGVh
MjI2NDZjNzc2Y2YuLmEzZTE2OTM5YmM0NTM4MDFhMjEzNmRkOTUxMDg2MTNhZjhmYWEyYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmlk
bApAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRX
b3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5pZGwKaW5kZXggNzBiNjI3ZDNiNjY3ZDhlMWZiZmJi
N2ZhY2U4MzAyZDdmZmU3OTBmMS4uNjljNDE4ZThhMzk5NDk1YzNhNGIxMmIyMzU3OWU1MzliMzYx
YTA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVy
U3RhZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlclN0
YWdlLmlkbApAQCAtMjgsNyArMjgsNiBAQAogdHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25l
ZCBsb25nIEdQVVNoYWRlclN0YWdlRmxhZ3M7CiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJH
UFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cp
LCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRp
Y2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTdXBwb3J0ZWRGZWF0dXJlcy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTdXBwb3J0ZWRGZWF0dXJlcy5pZGwKaW5kZXggMzEz
YzUyNWI2NWQxYjVlY2Q1ZGM0NmNlYTViZWQ1NzI5MWQ2NmVhYi4uNmQ5YzgzZWYwYzE0Y2ViZWQ3
Y2NjMDNlMThhNDUxNzc5ZjQ2ZDM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVU3VwcG9ydGVkRmVhdHVyZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVN1cHBvcnRlZEZlYXR1cmVzLmlkbApAQCAtMjcsNyArMjcsNiBAQAog
CiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVD
b250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVT
dXBwb3J0ZWRMaW1pdHMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU3Vw
cG9ydGVkTGltaXRzLmlkbAppbmRleCBjY2NlNjViYmJlZmY1OTA4ZGQwN2EzNDg2YjhmNzUyODk1
ZTNlNTRlLi42OTgxMDFiYjc4YWUwODVkMGIxZDU2MmMyYWI4YTg3MTlmZTllN2FhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTdXBwb3J0ZWRMaW1pdHMuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVN1cHBvcnRlZExpbWl0cy5p
ZGwKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVk
V29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVUZXh0dXJlLmlkbAppbmRleCBkMmZhN2I3NzVkNTkzZTYxNzVjZGY2ZDU5YTE4
ZTVhNWVmMWE1MjMyLi44ZDdiM2E3NGExYzY4YTBiMzk3NmE4NDQxMDM0NmMwNDExNmQ2ZWMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlLmlkbApAQCAtMjcs
NyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8K
ICAgICBTZWN1cmVDb250ZXh0CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVUZXh0dXJlVXNhZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVVGV4dHVyZVVzYWdlLmlkbAppbmRleCAyMWFjMjM5ZjQ5ODQ2YTk1Mjc0N2FmZTgxNDUz
ODlhNGE4OTlhYTkwLi4zZTdiYWM4YTU0Mjk3YjEzNzYwZmQzM2Q5MjkzYTZiYTFjYmExOWM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVXNhZ2Uu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVVc2FnZS5p
ZGwKQEAgLTI4LDcgKzI4LDYgQEAKIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9u
ZyBHUFVUZXh0dXJlVXNhZ2VGbGFnczsKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8q
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRl
ZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVWaWV3LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVWaWV3LmlkbAppbmRleCA3Y2E2ZDdmNjU5YmVhMDdmMjU1
ZTBmNGNjODNlMTAzMTdkZjllNzlkLi5mMjM2ZWExYmNmMjNhZDM3OWVjYmMyM2NmOTJiMjMzMDBj
NjU3MGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0
dXJlVmlldy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVy
ZVZpZXcuaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdl
YkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRv
dyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERl
ZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVZhbGlkYXRpb25FcnJvci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsCmluZGV4IGQ4YmYz
YWM2ZTMxMjFlNTIzYmM3YjA4NzgzZjljZmFhODNlOTlkNzYuLmI1MWI5ZDI2YzFlYjQ3MGI4YWRm
MTYwNjNiZmE3MmE1NjY4Y2Y2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVZhbGlkYXRpb25FcnJvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVVmFsaWRhdGlvbkVycm9yLmlkbApAQCAtMjUsNyArMjUsNiBAQAogCiBbCiAg
ICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0
CiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZEl0ZW0uaWRsCmluZGV4IGNhMTliZDRhMWQwZmIzNzUyZWVjMWYxYzI1YTg1OGFm
MjFhOTY5M2IuLjZjODE2ZjZlZmZiNDAyZGMzNzBkOGExNTRkYjc3ZmVmM2NhYTRkN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0
ZW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBi
b2FyZEl0ZW0uaWRsCkBAIC0zNSw3ICszNSw2IEBAIGRpY3Rpb25hcnkgQ2xpcGJvYXJkSXRlbU9w
dGlvbnMgewogWwogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEVuYWJsZWRCeVNldHRpbmc9QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yCiBdIGludGVyZmFj
ZSBDbGlwYm9hcmRJdGVtIHsKICAgICBjb25zdHJ1Y3RvcihyZWNvcmQ8RE9NU3RyaW5nLCBDbGlw
Ym9hcmRJdGVtRGF0YT4gaXRlbXMsIG9wdGlvbmFsIENsaXBib2FyZEl0ZW1PcHRpb25zIG9wdGlv
bnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tlci9D
b250YWN0c01hbmFnZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jb250YWN0LXBpY2tl
ci9Db250YWN0c01hbmFnZXIuaWRsCmluZGV4IGNkYzFmMTg2MDRhN2ExYmUwNDk5NGQ2OGRiZDli
YzFiZWYwNmIwYWQuLjgwOTlhNGY5Yzk5NWRmMTFiMDE0MzZiOTNjMjMzODE1YTEyY2EwZjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNN
YW5hZ2VyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0Nv
bnRhY3RzTWFuYWdlci5pZGwKQEAgLTI5LDcgKzI5LDYgQEAKICAgICBFbmFibGVkQnlTZXR0aW5n
PUNvbnRhY3RQaWNrZXJBUElFbmFibGVkLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEdlbmVy
YXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvciwKLSAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlLAogICAgIFNlY3VyZUNvbnRleHQKIF0gaW50ZXJmYWNlIENvbnRhY3RzTWFu
YWdlciB7CiAgICAgUHJvbWlzZTxzZXF1ZW5jZTxDb250YWN0UHJvcGVydHk+PiBnZXRQcm9wZXJ0
aWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5h
Z2VtZW50L0NyZWRlbnRpYWxzQ29udGFpbmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCmluZGV4IDdmMWJi
NGQyODE5YTNjODc0YzJhMWVjODU1MThlYzYxMGUxOTllMWUuLjhmMDg0ZTE1Y2M4NDVmNTUyMTA4
ZjNlYzhhYTA5YzI1OWNiODdkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWlu
ZXIuaWRsCkBAIC0yOCw3ICsyOCw2IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAogICAg
IEVuYWJsZWRCeVNldHRpbmc9V2ViQXV0aGVudGljYXRpb25FbmFibGVkLAogICAgIEV4cG9zZWQ9
V2luZG93LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgU2VjdXJlQ29udGV4
dCwKIF0gaW50ZXJmYWNlIENyZWRlbnRpYWxzQ29udGFpbmVyIHsKICAgICBQcm9taXNlPEJhc2lj
Q3JlZGVudGlhbD8+IGdldChvcHRpb25hbCBDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgb3B0aW9u
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3lzdGVtQWNjZXNzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCmluZGV4IGQ5ZDhjOWFkNWUxZWM0MzAxYzZm
NWEzODdmYWJlOGM2Y2U5NDgyMGYuLmNkNWY2ZjYzMjJjNDdlYmU2M2Y2NWI1N2Q3ZDI0NjNhOWUw
ZDEyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCkBAIC0zMCw3ICszMCw2IEBACiAg
ICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAogICAgIEVuYWJsZWRCeVNldHRpbmc9RW5j
cnlwdGVkTWVkaWFBUElFbmFibGVkLAogICAgIERpc2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNy
eXB0ZWRNZWRpYUFQSVN1cHBvcnQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAg
ICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgewogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcga2V5U3lzdGVtOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uaWRsCmluZGV4IDhjOTkx
OGY1NjdmMzA1YmYwMDYxZTUxMzI3NjUzYWNiZjE0YmYyNzcuLjVmNDgwZmU2Mzk5ODU1YzQwODRj
OWYxMWUyZjRiOTBlYzhmNjRiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5pZGwKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAg
IEVuYWJsZWRBdFJ1bnRpbWU9RGlyZWN0b3J5VXBsb2FkRW5hYmxlZCwKLSAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAogICAgIEludGVyZmFjZU5hbWU9RmlsZVN5c3RlbSwKICAgICBFeHBv
c2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgRE9NRmlsZVN5c3RlbSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwKaW5kZXggYmZjZWU3YzZkYmEyMTkyNDQ1
OWIyZTI0N2U3MzFkNTRlNGUwNWYxNy4uZGFhMGViYjhlOTFiNWVjNGU2NTliYzY0NDNlZGVmNTRh
MTA1NWU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhl
YWRlcnMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJz
LmlkbApAQCAtMzAsNyArMzAsNiBAQCB0eXBlZGVmIChzZXF1ZW5jZTxzZXF1ZW5jZTxCeXRlU3Ry
aW5nPj4gb3IgcmVjb3JkPEJ5dGVTdHJpbmcsIEJ5dGVTdHJpbmc+KSBIZWFkZQogCiBbCiAgICAg
RXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
ICAgICBJbnRlcmZhY2VOYW1lPUhlYWRlcnMsCiBdIGludGVyZmFjZSBGZXRjaEhlYWRlcnMgewog
ICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEhlYWRlcnNJbml0IGluaXQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWQuaWRsCmluZGV4IGQ3MDZkZjlkYWEyMjc1OTdkYTM0
NTUyOGVkZjc5MjQyMDViNzhlMDIuLjc4ZWFiZjdiYTE3Y2VlMDNhNmQxYTM5YTc4OWQ2NDU4MWUx
OTljZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFk
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5pZGwKQEAg
LTI2LDcgKzI2LDYgQEAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPUdhbWVwYWRzRW5hYmxlZCwK
ICAgICBDb25kaXRpb25hbD1HQU1FUEFELAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIEdhbWVwYWQgewogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2dhbWVwYWQvR2FtZXBhZEJ1dHRvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dh
bWVwYWQvR2FtZXBhZEJ1dHRvbi5pZGwKaW5kZXggY2IzNWUxOTg0N2JhNWZkMmYxODJmZGFmNjI1
NzE4NGY3NDBmYzg5NS4uNjAyMmViODI2ZWYxYTNjYjU2ZTJlMmIyMzE1YjIxZjk3MzQzNTBlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nYW1lcGFkL0dhbWVwYWRCdXR0b24u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlk
bApAQCAtMjYsNyArMjYsNiBAQAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9R2FtZXBhZHNFbmFi
bGVkLAogICAgIENvbmRpdGlvbmFsPUdBTUVQQUQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgR2FtZXBhZEJ1dHRvbiB7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcHJlc3NlZDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db29yZGluYXRlcy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ29vcmRpbmF0
ZXMuaWRsCmluZGV4IGY1Y2Y0M2Y1ZDNkZGMzMmEwNjRiYTFmMzFmOTQyZjM1OTRlMjFkYzIuLjg3
ODQ5ZWE3ZTQ1ODI3OGJkYWQwYThmNGYzNTI1MjU3NTczMzA3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db29yZGluYXRlcy5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvb3Jk
aW5hdGVzLmlkbApAQCAtMjcsNyArMjcsNiBAQAogLy8gRklYTUU6IFRoZSBjdXJyZW50IHN0YW5k
YXJkIHNheXMgdGhpcyBzaG91bGQgYmUgYW5ub3RhdGVkIHdpdGggJ1NlY3VyZUNvbnRleHQnLgog
WwogICAgIENvbmRpdGlvbmFsPUdFT0xPQ0FUSU9OLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIEdlb2xvY2F0aW9uQ29vcmRp
bmF0ZXMgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGxhdGl0
dWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9s
b2NhdGlvblBvc2l0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24v
R2VvbG9jYXRpb25Qb3NpdGlvbi5pZGwKaW5kZXggYjgwOWUxNjkwMGM3ZmU0ZmViMzcwNDY2ZjVl
Njc0Y2ExYTVhMjExOS4uNzBmYWQ5ODRmNDZhZTFjMDc1NmE2OGRjMThkMjAzYzhiMjUwODU3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlv
blBvc2l0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dl
b2xvY2F0aW9uUG9zaXRpb24uaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAvLyBGSVhNRTogVGhlIGN1
cnJlbnQgc3RhbmRhcmQgc2F5cyB0aGlzIHNob3VsZCBiZSBhbm5vdGF0ZWQgd2l0aCAnU2VjdXJl
Q29udGV4dCcuCiBbCiAgICAgQ29uZGl0aW9uYWw9R0VPTE9DQVRJT04sCi0gICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgR2VvbG9j
YXRpb25Qb3NpdGlvbiB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEdlb2xvY2F0aW9uQ29vcmRp
bmF0ZXMgY29vcmRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IuaWRsCmluZGV4IDgwNzhjYzk5
NWZiZGExNjg4Mzk2MzA5M2RjMGU5NDQ5ZDExM2Y4ODYuLjQxYmY3Yzc3NzM0ZjJiMzI2NzlkZDI4
ZDExOWRlY2M5MWMxMGYwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2Vv
bG9jYXRpb24vR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUG9zaXRpb25FcnJvci5pZGwKQEAgLTI2
LDcgKzI2LDYgQEAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9nZW9sb2NhdGlvbi1hcGkvI3Bv
c2l0aW9uX2Vycm9yX2ludGVyZmFjZQogWwogICAgIENvbmRpdGlvbmFsPUdFT0xPQ0FUSU9OLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50
ZXJmYWNlIEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvciB7CiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgUEVSTUlTU0lPTl9ERU5JRUQgPSAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodC5pZGwKaW5kZXggZGFkYmVkMzE3OWY3N2U4YmE2OTU5YzczMjAzMWRk
YTM2NzkzN2I5ZC4uNTNkZGFkMTA2MmRjZjkxNzgxN2ZhMjNmNDU3MjgzZWNjMGVlMTliNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuaWRsCkBAIC0y
NSw3ICsyNSw2IEBACiAKIFsKICAgICBFbmFibGVkQXRSdW50aW1lPUhpZ2hsaWdodEFQSUVuYWJs
ZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwog
XSBpbnRlcmZhY2UgSGlnaGxpZ2h0IHsKICAgICBjb25zdHJ1Y3RvcihTdGF0aWNSYW5nZSByYW5n
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGln
aHRSZWdpc3Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGln
aHRSZWdpc3Rlci5pZGwKaW5kZXggODBlNTllMGQ4YzQxMWI4YmM1MzRhYjE0YzY1ZWUwMzY2YzMw
YjY4NC4uOTBkMmU0NzdiZTU1YjE4M2E5MjNhYTZmYTVkY2NjNzZiMjczNDRjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVy
LmlkbApAQCAtMjUsNyArMjUsNiBAQAogCiBbCiAgICAgRW5hYmxlZEF0UnVudGltZT1IaWdobGln
aHRBUElFbmFibGVkLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3Nl
ZD1XaW5kb3cKIF0gaW50ZXJmYWNlIEhpZ2hsaWdodFJlZ2lzdGVyIHsKICAgICBjb25zdHJ1Y3Rv
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5
UmFuZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2Uu
aWRsCmluZGV4IDg0ZTI1YzdiNmJjOTA4ZWE1OWY1ZGUwMjczM2Q5MGZjMGZhN2FkODIuLmUyNWEz
Njc1YzY0OWQ5NjU3OTczNjc5MWU0Y2EyYTYyNWQ0ZmFmNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJhbmdlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlSYW5nZS5pZGwKQEAgLTI0LDcgKzI0LDYgQEAK
ICAqLwogCiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKQogXSBpbnRlcmZhY2UgSURCS2V5UmFuZ2UgewogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBbT3ZlcnJpZGVJRExUeXBlPUlETElEQktleV0gYW55IGxvd2VyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxp
dGllcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbAppbmRleCA2YTg4MTY1NDY3YzFmYmNmMzFmYzcwMjUwMWVjOTI2Y2Y3
M2Y2YWIxLi40NmM1MGNmNTU1ODhhZmFkODk0Zjg5ZjEwNGJiZjQ1YWNkMjExYTNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhQ2FwYWJpbGl0aWVzLmlkbApAQCAtMjUsNyArMjUsNiBAQAogCiBbCiAgICAgRW5hYmxl
ZEJ5U2V0dGluZz1NZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3csRGVkaWNhdGVkV29ya2VyKQogXSBpbnRl
cmZhY2UgTWVkaWFDYXBhYmlsaXRpZXMgewogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNvZGluZ0lu
Zm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3Qu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNI
b3N0LmlkbAppbmRleCA5YzkwODRiNTVmM2JiZDY0ZTQ1MDAyMzliOGFkYzcwZjkzZGY1OTg1Li5k
ZjMzNmVmZGIwNzA0N2U4M2JiOTRhM2FmNmEyZGNhZTk3Y2RkOGM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9z
dC5pZGwKQEAgLTMxLDcgKzMxLDYgQEAgZW51bSBEZXZpY2VUeXBlIHsKIAogWwogICAgIENvbmRp
dGlvbmFsPU1FRElBX0NPTlRST0xTX1NDUklQVCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlLAogICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAogXSBpbnRlcmZhY2UgTWVkaWFDb250
cm9sc0hvc3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbGF5b3V0VHJhaXRz
Q2xhc3NOYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Np
b24vTWVkaWFNZXRhZGF0YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9NZWRpYU1ldGFkYXRhLmlkbAppbmRleCAwYTUxYzU2OWYwMWI3YjU2OWRjNzYyY2JkOWZhMWU4
Y2VmNTZiYzUyLi4zY2M4MmNiNGVkMjM1NjJmMGZkNDNlOTNmZDJiNjllNjVhZmM3NjQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYU1ldGFkYXRh
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYU1ldGFk
YXRhLmlkbApAQCAtMjYsNyArMjYsNiBAQAogWwogICAgIENvbmRpdGlvbmFsPU1FRElBX1NFU1NJ
T04sCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
IF0gaW50ZXJmYWNlIE1lZGlhTWV0YWRhdGEgewogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSBjb25zdHJ1Y3RvcihvcHRpb25hbCBNZWRpYU1ldGFkYXRhSW5pdCBpbml0KTsK
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRpdGxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbAppbmRl
eCBjZTQzMzQzZmE2ZDZhN2Q5N2Y4ZTM4MGVlYmEyOTk5OWI1NzM3ZTQ2Li41NTQwM2JmYTE4MjI4
NjVlOWQ3ZTcxYzkzMTZiYzc3YTUxYjM2ODhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbApAQCAt
MjgsNyArMjgsNiBAQAogWwogICAgIENvbmRpdGlvbmFsPVZJREVPLAogICAgIExlZ2FjeU5vSW50
ZXJmYWNlT2JqZWN0LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFj
ZSBWaWRlb1BsYXliYWNrUXVhbGl0eSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBkb3VibGUgY3JlYXRpb25UaW1lOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHRvdGFsVmlkZW9GcmFtZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL092ZXJjb25zdHJhaW5lZEVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vT3ZlcmNvbnN0cmFpbmVkRXJyb3IuaWRsCmluZGV4IDg2NmM1
ZmUxMDYzNDUxMzM0ZjViMTFiOGM0ZjZkYzQ0YzFhZjJmNzUuLmIxOTFlODQ1MDI1ZDdjNTMxZDhl
ODVlM2I3ZjMzYTQ0YmZhMTQzMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vT3ZlcmNvbnN0cmFpbmVkRXJyb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vT3ZlcmNvbnN0cmFpbmVkRXJyb3IuaWRsCkBAIC0zNSw3ICsz
NSw2IEBACiAvLyBbaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1tYWluLyNkZm4t
b3ZlcmNvbnN0cmFpbmVkZXJyb3JdCiAKIFsKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
LAogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKICAgICBFeGNlcHRpb24sCiAgICAgRXhw
b3NlZD1XaW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDQ2VydGlmaWNhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENDZXJ0aWZpY2F0ZS5pZGwKaW5kZXggYTgzODMyZDc2NzQxMDEyYjdhZDY4YzYwZDZiMWFl
NTkwZTNjMzliZi4uYzhiNTcwMzcxOTEzMjA4Y2JiY2NhYTZhODMyZjJkMjQzZGQ5NGVjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDZXJ0aWZpY2F0
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDZXJ0aWZp
Y2F0ZS5pZGwKQEAgLTM3LDcgKzM3LDYgQEAgdHlwZWRlZiAob2JqZWN0IG9yIERPTVN0cmluZykg
QWxnb3JpdGhtSWRlbnRpZmllcjsKIFsKICAgICBDb25kaXRpb25hbD1XRUJfUlRDLAogICAgIEVu
YWJsZWRCeVNldHRpbmc9UGVlckNvbm5lY3Rpb25FbmFibGVkLAotICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFJUQ0NlcnRpZmlj
YXRlIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGV4cGlyZXM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRBdWRpb0ZyYW1l
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlv
RnJhbWUuaWRsCmluZGV4IGM4MWNkYWJkOWJjYzAyYjRiOTYyMmE1YjQ3Y2Y5NGU4ZWRmN2NjNDUu
LjQ2NTUzNmM0OWM0OGMwNzk1ODFjYzFlNGZhNDQ2NmE4MmU3NWU5ZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlv
RnJhbWUuaWRsCkBAIC0zNiw3ICszNiw2IEBAIGRpY3Rpb25hcnkgUlRDRW5jb2RlZEF1ZGlvRnJh
bWVNZXRhZGF0YSB7CiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKICAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYlJUQ0VuY29kZWRUcmFuc2Zvcm1FbmFibGVkLAogICAgIEV4cG9zZWQ9RGVkaWNhdGVk
V29ya2VyLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBSVENF
bmNvZGVkQXVkaW9GcmFtZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bG9uZyB0aW1lc3RhbXA7CiAgICAgYXR0cmlidXRlIEFycmF5QnVmZmVyIGRhdGE7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRWaWRlb0Zy
YW1lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZFZp
ZGVvRnJhbWUuaWRsCmluZGV4IGMzZTBlOThkZTgzYjJmOTRkM2E1N2YyNGUxODViNzNkZWZkMDll
ZTcuLjU2Y2JlOTk2Yjc4Y2E1Zjk2MTc3MDBkMjdiNjM3OTBhMTY4Njk3ZjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZFZpZGVvRnJhbWUu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZFZp
ZGVvRnJhbWUuaWRsCkBAIC00NSw3ICs0NSw2IEBAIGRpY3Rpb25hcnkgUlRDRW5jb2RlZFZpZGVv
RnJhbWVNZXRhZGF0YSB7CiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKICAgICBFbmFibGVkQnlT
ZXR0aW5nPVdlYlJUQ0VuY29kZWRUcmFuc2Zvcm1FbmFibGVkLAogICAgIEV4cG9zZWQ9RGVkaWNh
dGVkV29ya2VyLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBS
VENFbmNvZGVkVmlkZW9GcmFtZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ0VuY29kZWRW
aWRlb0ZyYW1lVHlwZSB0eXBlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxvbmcgdGltZXN0YW1wOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaWRsCmluZGV4IDNkY2RlYTFiNGI2MTFmZWRjZTU1NjI0
ZWI3ODJhOWI1ZWFjNGU3ZGIuLjIxYzQ0ZjVhMzcwOWIzYWZmZTBjZWM1YzNjNWMyOGUwOWYyMTdj
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNl
Q2FuZGlkYXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0ljZUNhbmRpZGF0ZS5pZGwKQEAgLTMzLDcgKzMzLDYgQEAKIFsKICAgICBDb25kaXRpb25hbD1X
RUJfUlRDLAogICAgIEVuYWJsZWRCeVNldHRpbmc9UGVlckNvbm5lY3Rpb25FbmFibGVkLAotICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJm
YWNlIFJUQ0ljZUNhbmRpZGF0ZSB7CiAgICAgY29uc3RydWN0b3IoUlRDSWNlQ2FuZGlkYXRlSW5p
dCBjYW5kaWRhdGVJbml0RGljdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKaW5kZXggZTdkNjk0
OTM1MTMwYzZlOTAxZDc2ZDQxYzAzMmQ1NTNjNGJmNzg4ZC4uY2ZlOTU5YjlmNmY4MmVmMDljZDhj
ZTI5MTA1YTVmMzhmNDY2ZDc0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbApAQCAtMzIsNyAr
MzIsNiBAQAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCiAgICAgRW5hYmxlZEJ5U2V0dGlu
Zz1QZWVyQ29ubmVjdGlvbkVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
ICAgICBQcml2YXRlSWRlbnRpZmllciwKICAgICBQdWJsaWNJZGVudGlmaWVyLAogICAgIEV4cG9z
ZWQ9V2luZG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1N0YXRzUmVwb3J0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDU3RhdHNSZXBvcnQuaWRsCmluZGV4IGRmZWQ5ODliOTVlNGI4Y2YzNjMzNGQ3OTYzNzk0YzAy
YzFkYTc1ZmQuLjI1NDI1YTMyNWIyYzRmNWQ1OGRkMzljMmVhNTQyYzMxM2RkNjI1ZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBv
cnQuaWRsCkBAIC0yNiw3ICsyNiw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKICAg
ICBFbmFibGVkQnlTZXR0aW5nPVBlZXJDb25uZWN0aW9uRW5hYmxlZCwKLSAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBSVENTdGF0
c1JlcG9ydCB7CiAgICAgcmVhZG9ubHkgbWFwbGlrZTxET01TdHJpbmcsIG9iamVjdD47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRBZGRy
ZXNzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEFk
ZHJlc3MuaWRsCmluZGV4IGEzNjMyZjcwYjM1NDk4MDJiYjM1ZTQ3ZTM1N2NhNDQzNjk5NGE3MWYu
LjgzZTViNWE4ZTBjZGZiZDZhMzE5MjVkNzlkYjg4MGMyNDk5YTFmNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEFkZHJlc3MuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEFkZHJlc3Mu
aWRsCkBAIC0yNyw3ICsyNyw2IEBACiAgICAgQ29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNULAog
ICAgIEVuYWJsZWRCeVNldHRpbmc9UGF5bWVudFJlcXVlc3RFbmFibGVkLAogICAgIEV4cG9zZWQ9
V2luZG93LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgU2VjdXJlQ29udGV4
dAogXSBpbnRlcmZhY2UgUGF5bWVudEFkZHJlc3MgewogICAgIFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Blcm1pc3Npb25zL1Bl
cm1pc3Npb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlz
c2lvbnMuaWRsCmluZGV4IGMyMzBhNzhmZDY0NTlmMjExNzhkN2Y0YTM0MjQwNDA4NTNhYTQ1ZWQu
LjlkYTJlYTgzNDdlZDM1ZDU2MjM5NDA2OTdkN2NmOTExYmYzNmVjZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRsCkBAIC0yOCw3
ICsyOCw2IEBACiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSUVuYWJsZWQs
CiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAotICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKIF0g
aW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKICAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1
ZXJ5KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHVzaC1hcGkvUHVzaE1hbmFnZXIuaWRsCmluZGV4IDMzZGU3OWNmMTBmM2Y5ZGE1MDU2YTFkNzM3
OTYyMjljNTBiNjRjNzMuLmVlODRhN2M4Yjk2NGMzM2ZjMGI4OTFjMDE3Mzc4YTc4YjMzNDI5Zjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuaWRs
CkBAIC0yOCw3ICsyOCw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIsCiAg
ICAgRW5hYmxlZEF0UnVudGltZT1QdXNoQVBJRW5hYmxlZCwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtl
ciksCiBdIGludGVyZmFjZSBQdXNoTWFuYWdlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwKaW5kZXggMWFlOTQ5NDljZGFjZDQ4
YTYwZTVjNjZhNWQ2MzE4ODhkMTI5OTA1Ny4uMzI0MTk2ZDJlMmZmZjllNjMzZjNmYjI2NmFkZTFm
MWVhNTM0Zjk3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoTWVzc2FnZURhdGEuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkv
UHVzaE1lc3NhZ2VEYXRhLmlkbApAQCAtMjcsNyArMjcsNiBAQAogICAgIENvbmRpdGlvbmFsPVNF
UlZJQ0VfV09SS0VSLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UHVzaEFQSUVuYWJsZWQsCiAgICAg
RXhwb3NlZD1TZXJ2aWNlV29ya2VyLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBd
IGludGVyZmFjZSBQdXNoTWVzc2FnZURhdGEgewogICAgIEFycmF5QnVmZmVyIGFycmF5QnVmZmVy
KCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIEJsb2IgYmxvYigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0
aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlv
bi5pZGwKaW5kZXggYzMzMDc2OWViMjI5YTA4OTY5ODRkZTA0NjE3YTRkYTYyY2EzNDJiZS4uOTY3
MDgwYjcyZGFiNzk2MmQzNWE4OGJkYmUwOTI4YTM2ZDZhMzFjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaWRsCkBAIC0yOSw3
ICsyOSw2IEBACiAgICAgQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIsCiAgICAgRW5hYmxlZEF0
UnVudGltZT1QdXNoQVBJRW5hYmxlZCwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAg
RXhwb3NlZD0oV2luZG93LFdvcmtlciksCiBdIGludGVyZmFjZSBQdXNoU3Vic2NyaXB0aW9uIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlw
dGlvbk9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vi
c2NyaXB0aW9uT3B0aW9ucy5pZGwKaW5kZXggMjJjZjBkMTFkZTZkNDJiZWRlN2YyNGM4Y2NlMjg2
NTVmMzRiYjU5YS4uNzExYmRlYjRmZTA4NDZkMThiZjBiODQ4YjYzMzNiYWUzZGQwNjAxZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9u
T3B0aW9ucy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vi
c2NyaXB0aW9uT3B0aW9ucy5pZGwKQEAgLTI4LDcgKzI4LDYgQEAKIFsKICAgICBDb25kaXRpb25h
bD1TRVJWSUNFX1dPUktFUiwKICAgICBFbmFibGVkQXRSdW50aW1lPVB1c2hBUElFbmFibGVkLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBF
eHBvc2VkPShXaW5kb3csV29ya2VyKSwKIF0gaW50ZXJmYWNlIFB1c2hTdWJzY3JpcHRpb25PcHRp
b25zIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJl
Y29nbml0aW9uQWx0ZXJuYXRpdmUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gv
U3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwKaW5kZXggYTJkMGIyOTAwOWVjOWVlYmZk
ZWQwZmM3YThlZDg0Y2MyMzhlNWNjOC4uODg1ZWFkZjg2OGJlNTI4OGZmMmQxZDU2ODA5MzUzYTI2
MDNkYTY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNo
UmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
cGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwKQEAgLTI0LDcgKzI0LDYgQEAK
ICAqLwogCiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFbmFibGVkQnlT
ZXR0aW5nPVNwZWVjaFJlY29nbml0aW9uRW5hYmxlZCwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBp
bnRlcmZhY2UgU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5pZGwK
aW5kZXggOWYzYTU4YzU0Zjg4OGIyMDc0ZWEyOWY3ZWM4ZjM2MGE0YThjNjQ0NS4uYmNmN2Q3YTlh
MTg5M2Y3YWE2YTk4OGUyZmZmMzVhZjQ4ZTk1MWEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0LmlkbApAQCAt
MjUsNyArMjUsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1TcGVlY2hSZWNvZ25pdGlv
bkVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdp
bmRvdwogXSBpbnRlcmZhY2UgU3BlZWNoUmVjb2duaXRpb25SZXN1bHQgewogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaWRs
CmluZGV4IDA2NDk1ZGE4MjRkNjZhMGJhYjMyOWRiZGIxNzNmYTI4ZWM2Nzk2YWIuLjdhZWZhNmEz
MzhmZDRlZDdkYzA0Njk2OGViMjIwMjVhMTk2MzFjNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0
LmlkbApAQCAtMjUsNyArMjUsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1TcGVlY2hS
ZWNvZ25pdGlvbkVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBF
eHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0IHsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmlkbAppbmRleCBiNTY1
YjU1ZjJmNzU2NmNjZTdjZjdjZmFjYTQzZGQxODJlNTM3YzdmLi5kZWQ4NzYzNWYyZDIzZWM4Yzdj
YzJiNzc2YzJlNDBlYjYxMWE4YzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RvcmFnZS9TdG9yYWdlTWFuYWdlci5pZGwKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVu
YWJsZWRCeVNldHRpbmc9U3RvcmFnZUFQSUVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSwKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIp
CiBdIGludGVyZmFjZSBTdG9yYWdlTWFuYWdlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYi1sb2Nrcy9XZWJMb2NrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViLWxvY2tzL1dlYkxvY2suaWRsCmluZGV4IDJiOTFjNTI1ODYwYTBmOTYyNTg3M2QyY2U5NzY5
ZDRjMTZiYjA1NzAuLmZlNTE2MTVmYjI5MzJkMjQ5ZDE2MTdiNjI4YjYyY2IzZWFiMGMwMTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViLWxvY2tzL1dlYkxvY2suaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViLWxvY2tzL1dlYkxvY2suaWRsCkBAIC0yNSw3
ICsyNSw2IEBACiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJMb2Nrc0FQSUVuYWJsZWQsCiAg
ICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBJbnRlcmZhY2VOYW1lPUxvY2ssCiAgICAgU2VjdXJlQ29udGV4dAogXSBpbnRlcmZh
Y2UgV2ViTG9jayB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9C
dWZmZXIuaWRsCmluZGV4IGY1ZjEzYjllZjI1M2JiZjFiNDhmMTI3ZTc4MWM4ZmRhMGQzYTcxMDMu
LmQwNzE5MzU2ZDVkNGYwYWNjZDE2ZjRlY2FmYWM4NjdhODg1MmI2ZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCkBAIC0yOSw3ICsyOSw2
IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEdlbmVyYXRlSXNSZWFjaGFi
bGU9SW1wbCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEpTQ3VzdG9tTWFy
a0Z1bmN0aW9uLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIFJlcG9ydEV4dHJhTWVt
b3J5Q29zdCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9MaXN0ZW5lci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTGlz
dGVuZXIuaWRsCmluZGV4IDFiODQyYmYyNTE4YTAxNDQ5YjQyZTMxZTQ2ZTFjZmFhMmE4YmRlMzQu
LmJkOWI3YmM0OWNkZTMzMTRmMjdlMmM4OThlODVkMzFhMDgzZGZmMDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0xpc3RlbmVyLmlkbApAQCAtMzAsNyAr
MzAsNiBAQAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBFeHBvc2VkPVdpbmRv
dywKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBBdWRpb0xpc3Rl
bmVyIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBwb3NpdGlvblg7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gcG9zaXRpb25ZOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRQcm9jZXNzb3IuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRQcm9jZXNzb3IuaWRs
CmluZGV4IDcyNjU5ODI3MDdjZDg4MmE2MTg1OTI1NDI5N2M4MGQzZmJkYWU3YTYuLjBkZWY5ZmRk
ZjQ5ZTA0ZmI4MWYyMjVmZGY3NDFhZTQ3OGYzYmIzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0UHJvY2Vzc29yLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldFByb2Nlc3Nvci5pZGwKQEAg
LTI5LDcgKzI5LDYgQEAKIFsKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgRXhwb3Nl
ZD1BdWRpb1dvcmtsZXQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1
c3RvbU1hcmtGdW5jdGlvbgogXSBpbnRlcmZhY2UgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yIHsKICAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmlkbAppbmRleCA2
ZmUwYWQxODExOGMxYjlkZDM1M2U5ODI4NTMzZTBjMDgzMWVkMDU0Li43N2MwMjdkNDJlNGM0N2E5
ZjVjZDI1ZjIwYTQ1MDRjZjBlMThlNDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaWRsCkBAIC0yNSw3ICsyNSw2IEBACiAvLyBQZXJpb2Rp
Y1dhdmUgcmVwcmVzZW50cyBhIHBlcmlvZGljIGF1ZGlvIHdhdmVmb3JtIGdpdmVuIGJ5IGl0cyBG
b3VyaWVyIGNvZWZmaWNpZW50cy4KIFsKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZh
Y2UgUGVyaW9kaWNXYXZlIHsKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1XZWJBdWRpb0VuYWJsZWRd
IGNvbnN0cnVjdG9yKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgUGVyaW9kaWNX
YXZlT3B0aW9ucyBvcHRpb25zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViY29kZWNzL1ZpZGVvQ29sb3JTcGFjZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmNvZGVjcy9WaWRlb0NvbG9yU3BhY2UuaWRsCmluZGV4IDY0ZWUwZDZkNzczMDI3YmI1YjI2MjFi
NzMxYjJlNTgxNzI3NmEwMmQuLjY3NGE5MmY2ZmMxNGJmNGM5NmMxNjgxNzE3MDNjMTdmYTFlOGRk
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViY29kZWNzL1ZpZGVvQ29s
b3JTcGFjZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJjb2RlY3MvVmlkZW9D
b2xvclNwYWNlLmlkbApAQCAtMjYsNyArMjYsNiBAQAogWwogICAgIENvbmRpdGlvbmFsPVZJREVP
LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiBdCiBpbnRlcmZhY2UgVmlkZW9Db2xvclNwYWNlIHsKICAgcmVhZG9ubHkgYXR0cmli
dXRlIFZpZGVvQ29sb3JQcmltYXJpZXM/IHByaW1hcmllczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGwKaW5kZXggN2U1NTQ5OTllNGU5YzJiMTgy
MTg1NjI5ZWVlODc3NTQ1ZGZjYzZlYi4uNGYxM2U0MDA1YmIyNzQ4N2Y4NGIxZGE4ZDAwY2U2ZGQx
MGIxMDliNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZS5pZGwKQEAgLTI3LDcgKzI3LDYgQEAKICAqLwogCiBbCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYlNRTEVuYWJsZWQsCiAgICAgRXhw
b3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERhdGFiYXNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMRXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxFcnJvci5pZGwKaW5kZXggOGQzNmE2MGIxYzdhZTkyODY2
MDc1MGI4MzExYWFkZjZiZmVjNDUzZS4uOWZlZTRhMzgxZjFlYzA5NGM3Njg1M2VlNDg4YjlhZWU4
NGZkZThjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9T
UUxFcnJvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxF
cnJvci5pZGwKQEAgLTI3LDcgKzI3LDYgQEAKICAqLwogCiBbCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYlNRTEVuYWJsZWQsCiAgICAgRXhw
b3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFNRTEVycm9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0LmlkbAppbmRleCA4ODM3NDEwNzMx
YWU4NTllMWE3ZGU3Y2Q1Yzc0NDAxM2E3NDFjMzFiLi45ZGE1ZDgyYTM1ZjE0YzdlZDYxNDQxMWJk
NzlmODgxNTQ3NDkzZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFJlc3VsdFNldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9TUUxSZXN1bHRTZXQuaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAgKi8KIAogWwotICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJTUUxF
bmFibGVkLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBTUUxSZXN1bHRTZXQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxSZXN1bHRT
ZXRSb3dMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVz
dWx0U2V0Um93TGlzdC5pZGwKaW5kZXggZWNiODc3YzAwNjEyZTA5ZTk3N2RlZjIwNmQxYzFlNDg5
Y2Y0MWIxYi4uMWY2ZmE4MzdkYzAzMmE3MmJlMjM0NTcxY2NjMzZhYzZmNDUzYjFkZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxSZXN1bHRTZXRSb3dM
aXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3Vs
dFNldFJvd0xpc3QuaWRsCkBAIC0yOSw3ICsyOSw2IEBACiB0eXBlZGVmIChET01TdHJpbmc/IG9y
IHVucmVzdHJpY3RlZCBkb3VibGUpIFNRTFZhbHVlOwogCiBbCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYlNRTEVuYWJsZWQsCiAgICAgRXhw
b3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFNRTFJlc3VsdFNldFJvd0xpc3QgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGwKaW5kZXggYmZkZmI2MGViNjYzYmY4
YTQxNWRiNzg1Mzg3ZGEzZDIyODVlYWRkYi4uMjRjMDgxY2M4Nzc1NDliYzhmMmYxMGNhMDhlMzky
YzQ1OTFkYWExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UkZyYW1lLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUu
aWRsCkBAIC0yOSw3ICsyOSw2IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCWFIsCiAgICAgU2VjdXJl
Q29udGV4dCwKICAgICBFeHBvc2VkPVdpbmRvdywKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlLAogICAgIEludGVyZmFjZU5hbWU9WFJGcmFtZQogXSBpbnRlcmZhY2UgV2ViWFJGcmFtZSB7
CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUlNlc3Npb24gc2Vzc2lv
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlkbAppbmRleCBjZDFi
MDliZGYyMWZiYmFjN2NjYjg5NzAwNzdiZDE5OGJkZmY0NWE3Li45MjY3YjhhOWM0OTI3YjFkMGVj
MGMyMjE0OTQ2Yzg2MWUwNGQxNGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSGFuZC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkhhbmQuaWRsCkBAIC0yOSw3ICsyOSw2IEBACiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1J
bXBsV2ViWFJTZXNzaW9uUm9vdCwKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9V2lu
ZG93LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1Y
UkhhbmQKIF0gaW50ZXJmYWNlIFdlYlhSSGFuZCB7CiAgICAgaXRlcmFibGU8WFJIYW5kSm9pbnQs
IFdlYlhSSm9pbnRTcGFjZT47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUklucHV0U291cmNlLmlkbAppbmRleCBiZWE3ODkwMTQ3YzliNmIwNzQ2NzdmY2ZiNTlhNmVk
ODQ0YmU0N2JjLi5kZjc4Njg2N2VjZWIzYzk2MDBkZjQ5ZjBjMTc0NGQ1YTYwZGFlZjI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwK
QEAgLTMwLDcgKzMwLDYgQEAKICAgICBDb25kaXRpb25hbD1XRUJYUiwKICAgICBTZWN1cmVDb250
ZXh0LAogICAgIEV4cG9zZWQ9V2luZG93LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgSW50ZXJmYWNlTmFtZT1YUklucHV0U291cmNlCiBdIGludGVyZmFjZSBXZWJYUklucHV0
U291cmNlIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgWFJIYW5kZWRuZXNzIGhhbmRlZG5lc3M7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2VBcnJheS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2VBcnJheS5pZGwKaW5kZXggMTJmY2JlZjFjZDE0YzdmMmQ2MjBiZGFhNGEyZjFiMzE2ZTJmZmUz
MS4uODAxYTIxYWY4NjllMTRmNGRlNDg2YzZlODE1N2Q0YmZhYTQxYzFmMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5Lmlk
bApAQCAtMzAsNyArMzAsNiBAQAogICAgIENvbmRpdGlvbmFsPVdFQlhSLAogICAgIFNlY3VyZUNv
bnRleHQsCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBJbnRlcmZhY2VOYW1lPVhSSW5wdXRTb3VyY2VBcnJheQogXSBpbnRlcmZhY2UgV2Vi
WFJJbnB1dFNvdXJjZUFycmF5IHsKICAgICBpdGVyYWJsZTxXZWJYUklucHV0U291cmNlPjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKaW5kZXgg
ZTk2NGQ4MTc1ZDBhOTA4Zjk2YjllNzJmZTJlYWU4OWY2NTU0ODNjYS4uYzMwZTdhNTM3MDhhYjcw
ZDg4NWMzYWY0M2IzOGIxYTMyMTM5ZDNjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKQEAgLTI4LDcgKzI4LDYgQEAKICAgICBDb25kaXRp
b25hbD1XRUJYUl9IQU5EUywKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9V2luZG93
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1YUkpv
aW50UG9zZQogXSBpbnRlcmZhY2UgV2ViWFJKb2ludFBvc2UgOiBXZWJYUlBvc2UgewogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVuZGVyU3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlJlbmRlclN0YXRlLmlkbAppbmRleCA0NTQ2ZDEzYzZhYzQzMjY2NTUy
ODlhMGE4ZjAyMDA4MGM1ZGFjNzA3Li5mN2MzYWI3ZGM4YTBkZTJjMTdlZjg2ZTk5NDgyMTllZjc3
NTUyMDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVu
ZGVyU3RhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSZW5k
ZXJTdGF0ZS5pZGwKQEAgLTI5LDcgKzI5LDYgQEAKICAgICBDb25kaXRpb25hbD1XRUJYUiwKICAg
ICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9V2luZG93LAotICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1YUlJlbmRlclN0YXRlCiBdIGludGVyZmFj
ZSBXZWJYUlJlbmRlclN0YXRlIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGRlcHRo
TmVhcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdp
ZFRyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRU
cmFuc2Zvcm0uaWRsCmluZGV4IGUxYzgyMmFlZjVmZTRhZDBjNjI0OWU2Nzg2NDcxNGFiNDQzYmU3
N2YuLmM4MTM0ZmJjZTBhNDI2YzQ0ZTc0OTRjN2E2MjAzN2U2ZDBkZjBkNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmlkbApA
QCAtMzAsNyArMzAsNiBAQAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD1XaW5kb3cs
CiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBJbnRlcmZhY2VOYW1lPVhSUmlnaWRUcmFuc2Zvcm0KIF0gaW50ZXJmYWNlIFdlYlhS
UmlnaWRUcmFuc2Zvcm0gewogICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBw
b3NpdGlvbiwgb3B0aW9uYWwgRE9NUG9pbnRJbml0IG9yaWVudGF0aW9uKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3LmlkbAppbmRleCBjMTIyMmVhZDYyNTc4MGE1MjVh
Mjc2MGIzMmRmNDNjY2IyOTBiNDAzLi4yNjc3YWQ4ZTg2N2VlMzliMDk2YjBkMDFkYWMzYmVjMTRm
ZGNjMDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSVmll
dy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaWRsCkBA
IC0zMCw3ICszMCw2IEBACiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPVdpbmRvdywK
ICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
LAogICAgIEludGVyZmFjZU5hbWU9WFJWaWV3CiBdIGludGVyZmFjZSBXZWJYUlZpZXcgewogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBYUkV5ZSBleWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSVmlld3BvcnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlZpZXdwb3J0LmlkbAppbmRleCA4NDI0MGVhNDc0NDRmZjNkMWZhNjMwMDJh
YzYyZDgxZWExNzdmNTg1Li4zNzg4ODBlOTY5Y2YwNjJlOGQ3YWMyZTc1ZmY2NjcwMTI2YzJkOTIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSVmlld3BvcnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3cG9ydC5pZGwK
QEAgLTI5LDcgKzI5LDYgQEAKICAgICBDb25kaXRpb25hbD1XRUJYUiwKICAgICBTZWN1cmVDb250
ZXh0LAogICAgIEV4cG9zZWQ9V2luZG93LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgSW50ZXJmYWNlTmFtZT1YUlZpZXdwb3J0CiBdIGludGVyZmFjZSBXZWJYUlZpZXdwb3J0
IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAwOTRiMWJmZDM4NTli
YjIyNjQ0YmFjZTIwNTgzMmU2ZDYxYTRkMmM0Li43NDExNDZhNDJjOWQ5MDNkNzc2ZmZkOWQyMGQx
OGZjODA5YzMyZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzgzNyw3ICszODM3LDYgQEAgc3ViIEdldEdudVZUYWJs
ZU5hbWVGb3JJbnRlcmZhY2UKICAgICBteSAkdHlwZW5hbWUgPSAkaW50ZXJmYWNlLT50eXBlLT5u
YW1lOwogICAgIG15ICR0ZW1wbGF0ZVBvc2l0aW9uID0gaW5kZXgoJHR5cGVuYW1lLCAiPCIpOwog
ICAgIHJldHVybiAiIiBpZiAkdGVtcGxhdGVQb3NpdGlvbiAhPSAtMTsKLSAgICByZXR1cm4gIiIg
aWYgR2V0SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZUZvckludGVyZmFjZSgkaW50ZXJmYWNlKTsK
ICAgICByZXR1cm4gIiIgaWYgR2V0U2tpcFZUYWJsZVZhbGlkYXRpb25Gb3JJbnRlcmZhY2UoJGlu
dGVyZmFjZSk7CiAgICAgcmV0dXJuICJfWlRWIiAuIEdldEdudU1hbmdsZWROYW1lRm9ySW50ZXJm
YWNlKCRpbnRlcmZhY2UpOwogfQpAQCAtMzkwMCw3ICszODk5LDYgQEAgc3ViIEdldFdpblZUYWJs
ZU5hbWVGb3JJbnRlcmZhY2UKICAgICBteSAkdHlwZW5hbWUgPSAkaW50ZXJmYWNlLT50eXBlLT5u
YW1lOwogICAgIG15ICR0ZW1wbGF0ZVBvc2l0aW9uID0gaW5kZXgoJHR5cGVuYW1lLCAiPCIpOwog
ICAgIHJldHVybiAiIiBpZiAkdGVtcGxhdGVQb3NpdGlvbiAhPSAtMTsKLSAgICByZXR1cm4gIiIg
aWYgR2V0SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZUZvckludGVyZmFjZSgkaW50ZXJmYWNlKTsK
ICAgICByZXR1cm4gIiIgaWYgR2V0U2tpcFZUYWJsZVZhbGlkYXRpb25Gb3JJbnRlcmZhY2UoJGlu
dGVyZmFjZSk7CiAgICAgcmV0dXJuICI/P183IiAuIEdldFdpbk1hbmdsZWROYW1lRm9ySW50ZXJm
YWNlKCRpbnRlcmZhY2UpIC4gIjZCQCI7CiB9CkBAIC0zOTEzLDEyICszOTExLDYgQEAgc3ViIEdl
dFdpbk1hbmdsZWROYW1lRm9ySW50ZXJmYWNlCiAgICAgcmV0dXJuICR0eXBlbmFtZSAuICJAIiAu
ICRuYW1lc3BhY2UgLiAiQEAiOwogfQogCi1zdWIgR2V0SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZUZvckludGVyZmFjZQotewotICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKLSAgICByZXR1cm4g
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZX07Ci19Ci0KIHN1YiBHZXRTa2lwVlRhYmxlVmFsaWRhdGlvbkZvckludGVyZmFjZQogewogICAg
IG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKQEAgLTUxMjksMzMgKzUxMjEsMjMgQEAgRU5ECiAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCA8PEVORCkgaWYgJHZ0YWJsZU5hbWVHbnU7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNf
cG9seW1vcnBoaWNfdjwke2ltcGxUeXBlfT4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJ
VFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50
ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAke3Z0YWJsZVJlZldpbn07CisgICAgICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICR7dnRhYmxlUmVmV2lufTsKICNlbHNlCi0gICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJHt2dGFibGVSZWZHbnV9OworICAgICAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAke3Z0YWJsZVJlZkdudX07CiAjZW5kaWYKIAot
ICAgIC8vIElmIHRoaXMgZmFpbHMgJHtpbXBsVHlwZX0gZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwg
c28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUg
YXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQo
c3RkOjppc19wb2x5bW9ycGhpYzwke2ltcGxUeXBlfT46OnZhbHVlLCAiJHtpbXBsVHlwZX0gaXMg
bm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlv
dSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyAke2ltcGxUeXBl
fSBoYXMgc3ViY2xhc3Nlcy4gSWYgJHtpbXBsVHlwZX0gaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlICRpbnRlcmZhY2VO
YW1lIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5n
IHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwg
ZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhw
ZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vICR7
aW1wbFR5cGV9IGhhcyBzdWJjbGFzc2VzLiBJZiAke2ltcGxUeXBlfSBoYXMgc3ViY2xhc3NlcyB0
aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJl
ICRpbnRlcmZhY2VOYW1lIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAg
ICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRo
ZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFs
VlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQog
RU5ECi0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCkgaWYgJGludGVyZmFjZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZX07Ci0gICAgLy8gSWYg
eW91IGhpdCB0aGlzIGZhaWx1cmUgdGhlIGludGVyZmFjZSBkZWZpbml0aW9uIGhhcyB0aGUgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZQotICAgIC8vIGF0dHJpYnV0ZS4gWW91IHNob3VsZCByZW1v
dmUgdGhhdCBhdHRyaWJ1dGUuIElmIHRoZSBjbGFzcyBoYXMgc3ViY2xhc3NlcwotICAgIC8vIHRo
YXQgbWF5IGJlIHBhc3NlZCB0aHJvdWdoIHRoaXMgdG9KUygpIGZ1bmN0aW9uIHlvdSBzaG91bGQg
dXNlIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbgotICAgIC8vIGF0dHJpYnV0ZSB0byAkaW50ZXJm
YWNlTmFtZS4KLSAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX3BvbHltb3JwaGljPCR7aW1wbFR5
cGV9Pjo6dmFsdWUsICIke2ltcGxUeXBlfSBpcyBwb2x5bW9ycGhpYyBidXQgdGhlIElETCBjbGFp
bXMgaXQgaXMgbm90Iik7Ci1FTkQKLQogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjwke2ltcGxUeXBlfT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTtcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29u
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb24KaW5k
ZXggZWYzNzcyMGI3MDY1Y2MwMGRjNzJiNzFmNWVmNDFhYzFmZThhODNiNC4uMDQzY2RkYzU0ZjQ0
OGY2YmVjNzhhODhjMjlmYjRlYmM4YzA3ZjQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb24KQEAgLTI2Miw5ICsyNjIsNiBAQAog
ICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiaW50ZXJmYWNlIiwgIm5hbWVzcGFjZSIs
ICJkaWN0aW9uYXJ5IiwgImRpY3Rpb25hcnktbWVtYmVyIiwgImF0dHJpYnV0ZSIsICJvcGVyYXRp
b24iLCAiY29uc3RhbnQiXSwKICAgICAgICAgICAgICJ2YWx1ZXMiOiBbIioiXQogICAgICAgICB9
LAotICAgICAgICAiSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSI6IHsKLSAgICAgICAgICAgICJj
b250ZXh0c0FsbG93ZWQiOiBbImludGVyZmFjZSJdCi0gICAgICAgIH0sCiAgICAgICAgICJJbnRl
cmZhY2VOYW1lIjogewogICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiaW50ZXJmYWNl
IiwgIm5hbWVzcGFjZSJdLAogICAgICAgICAgICAgInZhbHVlcyI6IFsiKiJdCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvRXhwb3NlZFRvV29ya2VyQW5k
V2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9FeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3cuaWRsCmluZGV4IDg5NWYyNDJiMGQ4OWY4MTI3ODgwOTE1MTc3MTAz
ZTA3NmYxNDU2MWQuLmJmOGFiNjk3NjI4NDhjNmQ5NGVlOTQyMDBiYTg2YTI3YzY0YTExMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9FeHBvc2VkVG9X
b3JrZXJBbmRXaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9FeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuaWRsCkBAIC0zMCw4ICszMCw3IEBACiB9Owog
CiBbCi0gICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZQorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCiBdIGludGVyZmFjZSBFeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3cgewogICAgIGNvbnN0cnVjdG9yKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRTdGFyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRTdGFyLmNw
cAppbmRleCAzNGMxYmU1N2Q2ODE3ZmI3ODYzY2U1NDFkODBkYmUwNjBiMjM3ZWFiLi43ODFlZDkx
ZWQwN2Q5MGQwNjgzMThlMzQ4ZjFiYjU5MDE0ODk0MWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkU3Rhci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFN0YXIuY3BwCkBA
IC0yNzIsMjQgKzI3MiwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNv
cmUxMUV4cG9zZWRTdGFyRVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPEV4
cG9zZWRTdGFyPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1v
cnBoaWNfdjxFeHBvc2VkU3Rhcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0g
ICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1w
bC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRW
VGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdFeHBvc2VkU3RhckBXZWJD
b3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVu
dGlmaWVyKCI/P183RXhwb3NlZFN0YXJAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTFFeHBvc2VkU3RhckVbMl07
CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTFF
eHBvc2VkU3RhckVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgRXhwb3NlZFN0
YXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8v
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVm
aW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxFeHBvc2VkU3Rh
cj46OnZhbHVlLCAiRXhwb3NlZFN0YXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJ
ZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVl
IGJ1Zywgb3IKLSAgICAvLyBFeHBvc2VkU3RhciBoYXMgc3ViY2xhc3Nlcy4gSWYgRXhwb3NlZFN0
YXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1
cnJlbnRseSByZXF1aXJlIEV4cG9zZWRTdGFyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFy
ZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1
dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFj
dHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8g
SWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJl
ZSBidWcsIG9yCisgICAgICAgIC8vIEV4cG9zZWRTdGFyIGhhcyBzdWJjbGFzc2VzLiBJZiBFeHBv
c2VkU3RhciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9K
UygpIHdlIGN1cnJlbnRseSByZXF1aXJlIEV4cG9zZWRTdGFyIHlvdSB0byBvcHQgb3V0IG9mIGJp
bmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlk
YXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50
ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEV4cG9zZWRTdGFy
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3cuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3Nl
ZFRvV29ya2VyQW5kV2luZG93LmNwcAppbmRleCBkZjYyM2ZiODQyNTA5OWIyYWU4MWFhZjE3Njgw
ODY5MmY3M2EzZjU2Li4zNWUyMzE1MjhhZDViM2QxY2QyNjYyMzVkNGEwNTJmMzVhNmZlYjgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBv
c2VkVG9Xb3JrZXJBbmRXaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAKQEAgLTI5MywxMyAr
MjkzLDM0IEBAIHZvaWQgSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dPd25lcjo6ZmluYWxpemUo
SlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5kbGUsCiAgICAgdW5jYWNoZVdyYXBwZXIod29y
bGQsICZqc0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy0+d3JhcHBlZCgpLCBqc0V4cG9zZWRUb1dv
cmtlckFuZFdpbmRvdyk7CiB9CiAKKyNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCisjaWYg
UExBVEZPUk0oV0lOKQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0ODMpCitleHRlcm4gIkMi
IHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdFeHBvc2VkVG9Xb3JrZXJB
bmRXaW5kb3dAV2ViQ29yZUBANkJAIilbXSkoKTsgfQorI2Vsc2UKK2V4dGVybiAiQyIgeyBleHRl
cm4gdm9pZCogX1pUVk43V2ViQ29yZTI0RXhwb3NlZFRvV29ya2VyQW5kV2luZG93RVtdOyB9Cisj
ZW5kaWYKKyNlbmRpZgorCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPEV4cG9zZWRU
b1dvcmtlckFuZFdpbmRvdz4mJiBpbXBsKQogewotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBmYWls
dXJlIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBoYXMgdGhlIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKLSAgICAvLyBhdHRyaWJ1dGUuIFlvdSBzaG91bGQgcmVtb3ZlIHRoYXQgYXR0cmlidXRl
LiBJZiB0aGUgY2xhc3MgaGFzIHN1YmNsYXNzZXMKLSAgICAvLyB0aGF0IG1heSBiZSBwYXNzZWQg
dGhyb3VnaCB0aGlzIHRvSlMoKSBmdW5jdGlvbiB5b3Ugc2hvdWxkIHVzZSB0aGUgU2tpcFZUYWJs
ZVZhbGlkYXRpb24KLSAgICAvLyBhdHRyaWJ1dGUgdG8gRXhwb3NlZFRvV29ya2VyQW5kV2luZG93
LgotICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfcG9seW1vcnBoaWM8RXhwb3NlZFRvV29ya2Vy
QW5kV2luZG93Pjo6dmFsdWUsICJFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cgaXMgcG9seW1vcnBo
aWMgYnV0IHRoZSBJREwgY2xhaW1zIGl0IGlzIG5vdCIpOworCisgICAgaWYgY29uc3RleHByIChz
dGQ6OmlzX3BvbHltb3JwaGljX3Y8RXhwb3NlZFRvV29ya2VyQW5kV2luZG93PikgeworI2lmIEVO
QUJMRShCSU5ESU5HX0lOVEVHUklUWSkKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxl
UG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisjaWYgUExBVEZPUk0oV0lO
KQorICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/
XzdFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dAV2ViQ29yZUBANkJAIik7CisjZWxzZQorICAgICAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI0RXhwb3NlZFRv
V29ya2VyQW5kV2luZG93RVsyXTsKKyNlbmRpZgorCisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhp
cyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAg
ICAgICAvLyBFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cgaGFzIHN1YmNsYXNzZXMuIElmIEV4cG9z
ZWRUb1dvcmtlckFuZFdpbmRvdyBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAg
ICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIEV4cG9zZWRUb1dvcmtlckFuZFdp
bmRvdyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBh
ZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50
ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyNlbmRpZgorICAgIH0KICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c+KGdsb2JhbE9iamVjdCwgV1RG
TW92ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3BwCmluZGV4IGVjYzk5ODll
NWFjYTRiZTY2MmVhMDU3Y2FhZGI4OTdkZWRhOTAzYjUuLjZmNDg2MDg3MDgxOTcyNTEwMzg0MTY4
MGQzN2EwZjA5ODgxNjY0YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcApAQCAtNDg5LDI0
ICs0ODksMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTVUZXN0
Q0VSZWFjdGlvbnNFW107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdENF
UmVhY3Rpb25zPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1v
cnBoaWNfdjxUZXN0Q0VSZWFjdGlvbnM+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZ
KQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVy
KGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0g
Z2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdENFUmVhY3Rp
b25zQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q0VSZWFjdGlvbnNAV2ViQ29yZUBANkJAIik7CiAjZWxz
ZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTVUZXN0
Q0VSZWFjdGlvbnNFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTE1VGVzdENFUmVhY3Rpb25zRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYg
dGhpcyBmYWlscyBUZXN0Q0VSZWFjdGlvbnMgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91
IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmli
dXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjpp
c19wb2x5bW9ycGhpYzxUZXN0Q0VSZWFjdGlvbnM+Ojp2YWx1ZSwgIlRlc3RDRVJlYWN0aW9ucyBp
cyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24g
eW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RDRVJl
YWN0aW9ucyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdENFUmVhY3Rpb25zIGhhcyBzdWJjbGFzc2Vz
IHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBU
ZXN0Q0VSZWFjdGlvbnMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAv
LyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9p
bnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRo
aXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAg
ICAgICAgLy8gVGVzdENFUmVhY3Rpb25zIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0Q0VSZWFjdGlv
bnMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3
ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q0VSZWFjdGlvbnMgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRh
dGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBS
RUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRl
cik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdENFUmVhY3Rp
b25zPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJp
bmdpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAKaW5kZXggM2M3MGQ2ZTYyY2RhYTIxYTIyMGZh
N2ViMmU2ZmY0NDNmZTVhNTVjNC4uYWRlNzc5NmQ2MTBiMTdmMWQ5MmRlZWJhNDhhN2RkYjM2OWVi
MjIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcApA
QCAtMzE1LDI0ICszMTUsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJD
b3JlMjZUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj4mJiBpbXBsKQogewogCisg
ICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXI+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZv
aWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwor
ICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRl
cihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJA
V2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9f
aWRlbnRpZmllcigiPz9fN1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQFdlYkNvcmVAQDZCQCIp
OwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29y
ZTI2VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJFWzJdOworICAgICAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI2VGVzdENFUmVhY3Rpb25zU3RyaW5naWZp
ZXJFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RDRVJlYWN0aW9uc1N0
cmluZ2lmaWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUK
LSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJm
YWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXI+Ojp2YWx1ZSwgIlRlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2Vy
dGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRv
SlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciB5b3Ug
dG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tp
cFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRp
b24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRh
YmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVp
dGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMo
KSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciB5b3UgdG8g
b3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNr
aXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0
aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0
ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBl
cjxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwp
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwCmluZGV4IGIwODRmNWE0OThlNmE3Mjg0NWQ1
YzAyMzEwMDMzMGYwZjQ0MjExNzMuLjZmYmExNzg1ODNkOTlhODdhNzE4OTBiZDk4YzFhNjAwZDRj
MTk0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAKQEAgLTU2NCwyNCArNTY0LDIyIEBAIGV4
dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTE0VGVzdENhbGxUcmFjZXJFW107
IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdENhbGxUcmFjZXI+JiYgaW1w
bCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RDYWxs
VHJhY2VyPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lk
KiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAg
ICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIo
aW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RDYWxsVHJhY2VyQFdlYkNvcmVAQDZCQCIp
OworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0Q2FsbFRyYWNlckBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxNFRlc3RDYWxsVHJhY2VyRVsyXTsKKyAg
ICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxNFRlc3RD
YWxsVHJhY2VyRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q2FsbFRy
YWNlciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAg
Ly8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBk
ZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RDYWxs
VHJhY2VyPjo6dmFsdWUsICJUZXN0Q2FsbFRyYWNlciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQot
ICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFm
dGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RDYWxsVHJhY2VyIGhhcyBzdWJjbGFzc2VzLiBJ
ZiBUZXN0Q2FsbFRyYWNlciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0
byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdENhbGxUcmFjZXIgeW91IHRvIG9wdCBv
dXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVW
YWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAg
UkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50
ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2
ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdENhbGxUcmFjZXIgaGFz
IHN1YmNsYXNzZXMuIElmIFRlc3RDYWxsVHJhY2VyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBh
c3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdENhbGxU
cmFjZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkg
YWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFj
ZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2lu
dGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8VGVzdENhbGxUcmFjZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBs
KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3IuY3BwCmluZGV4IDVmNmI3OGIyOGNhNzI5YzFiNDEzMjZkZGI5NGQxYWI1NjkwNzA2
NjguLjY3NDkwMzljMmQ2MDQ2MTNiMGVlY2Q2OWNjYmE3ZmJkNjJjOTM1ZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhK
U0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcApAQCAt
MjI3LDI0ICsyMjcsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3Jl
MzNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JFW107IH0KIEpTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBSZWY8VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yPiYmIGlt
cGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0Q2xh
c3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3I+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdS
SVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2lu
dGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVy
ID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdENsYXNz
V2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q2xhc3NXaXRoSlNC
dWlsdGluQ29uc3RydWN0b3JAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzNUZXN0Q2xhc3NXaXRoSlNCdWlsdGlu
Q29uc3RydWN0b3JFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTMzVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yRVsyXTsKICNl
bmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3Ry
dWN0b3IgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAg
IC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
ZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0Q2xh
c3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3I+Ojp2YWx1ZSwgIlRlc3RDbGFzc1dpdGhKU0J1aWx0
aW5Db25zdHJ1Y3RvciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQg
dGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgot
ICAgIC8vIFRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvciBoYXMgc3ViY2xhc3Nlcy4g
SWYgVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yIGhhcyBzdWJjbGFzc2VzIHRoYXQg
Z2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q2xh
c3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJk
ZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0
dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJ
ZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVl
IGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IgaGFzIHN1
YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50
bHkgcmVxdWlyZSBUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IgeW91IHRvIG9wdCBv
dXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRh
YmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgor
ICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRh
YmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVz
dENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcy5jcHAKaW5kZXgg
NjY0NGMyMDRjN2FhZmVkZmRkN2RkZWE3NWZlOGYzY2Y4YzJiNjk3Yy4uY2ZlNWMwNzBmYTMxOTdi
MGE2Zjg3NTg2NzgxN2UzMDUyZWNhNmE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25h
bEluY2x1ZGVzLmNwcApAQCAtODQwLDI0ICs4NDAsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2
b2lkKiBfWlRWTjdXZWJDb3JlMjNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlc0VbXTsgfQogSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcz4mJiBpbXBs
KQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdENvbmRp
dGlvbmFsSW5jbHVkZXM+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNv
bnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRy
KCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxl
UG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdENvbmRpdGlvbmFsSW5jbHVk
ZXNAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzQFdlYkNvcmVAQDZCQCIp
OwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29y
ZTIzVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTIzVGVzdENvbmRpdGlvbmFsSW5jbHVkZXNFWzJd
OwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RDb25kaXRpb25hbEluY2x1ZGVz
IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmlu
aXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdENvbmRpdGlv
bmFsSW5jbHVkZXM+Ojp2YWx1ZSwgIlRlc3RDb25kaXRpb25hbEluY2x1ZGVzIGlzIG5vdCBwb2x5
bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVy
IGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdENvbmRpdGlvbmFsSW5j
bHVkZXMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RDb25kaXRpb25hbEluY2x1ZGVzIGhhcyBzdWJj
bGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVx
dWlyZSBUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhh
cmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmli
dXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChh
Y3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8v
IElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZy
ZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcyBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q29u
ZGl0aW9uYWxJbmNsdWRlcyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAg
ICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVh
bFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0K
ICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcz4oZ2xvYmFs
T2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlv
bmFsbHlSZWFkV3JpdGUuY3BwCmluZGV4IDJiYmM3ZGRjMjUwNmZhZTMyYWY0YTMwZjk5ZGY5ODVk
YWMxOWM2MGYuLjZmYjMyODc3MmVhZGQ0MGZiNDM0NDIyM2JiODQyZDk3Y2I5ZmY2YzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25k
aXRpb25hbGx5UmVhZFdyaXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAKQEAgLTY2MiwyNCAr
NjYyLDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTI2VGVzdENv
bmRpdGlvbmFsbHlSZWFkV3JpdGVFW107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBS
ZWY8VGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0
ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlPikg
ewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxW
VGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29u
c3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIo
KSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlQFdlYkNvcmVAQDZC
QCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZUBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0g
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNlRlc3RDb25k
aXRpb25hbGx5UmVhZFdyaXRlRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gJl9aVFZON1dlYkNvcmUyNlRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlRVsyXTsKICNl
bmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZSBk
b2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0
aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RDb25kaXRpb25h
bGx5UmVhZFdyaXRlPjo6dmFsdWUsICJUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZSBpcyBub3Qg
cG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVp
dGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RDb25kaXRpb25h
bGx5UmVhZFdyaXRlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0
ZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3Vy
cmVudGx5IHJlcXVpcmUgVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUgeW91IHRvIG9wdCBvdXQg
b2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxp
ZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVM
RUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIp
OworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBh
IHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdENvbmRpdGlvbmFsbHlSZWFk
V3JpdGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlIGhhcyBz
dWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVu
dGx5IHJlcXVpcmUgVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUgeW91IHRvIG9wdCBvdXQgb2Yg
YmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFs
aWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAg
ICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9p
bnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdENvbmRp
dGlvbmFsbHlSZWFkV3JpdGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RE
ZWZhdWx0VG9KU09OLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcAppbmRleCBjYzFmZmZhNzQ2NDUyM2YwZWE2YjQ3MGQy
MTVlMmIxZWYxOThjODdlLi43OThhZjMyOTljZWYyZTlkNTlmOGEzMTU5ZTM0MDUzMzRmNWQ1YTc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RGVmYXVsdFRvSlNPTi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT04uY3BwCkBAIC04NTksMjQgKzg1OSwyMiBAQCBl
eHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxN1Rlc3REZWZhdWx0VG9KU09O
RVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3REZWZhdWx0VG9KU09O
PiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxU
ZXN0RGVmYXVsdFRvSlNPTj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAg
Y29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5w
dHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFi
bGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RGVmYXVsdFRvSlNPTkBX
ZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19p
ZGVudGlmaWVyKCI/P183VGVzdERlZmF1bHRUb0pTT05AV2ViQ29yZUBANkJAIik7CiAjZWxzZQot
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTdUZXN0RGVm
YXVsdFRvSlNPTkVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZf
WlRWTjdXZWJDb3JlMTdUZXN0RGVmYXVsdFRvSlNPTkVbMl07CiAjZW5kaWYKIAotICAgIC8vIElm
IHRoaXMgZmFpbHMgVGVzdERlZmF1bHRUb0pTT04gZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28g
eW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0
cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3Rk
Ojppc19wb2x5bW9ycGhpYzxUZXN0RGVmYXVsdFRvSlNPTj46OnZhbHVlLCAiVGVzdERlZmF1bHRU
b0pTT04gaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBU
ZXN0RGVmYXVsdFRvSlNPTiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdERlZmF1bHRUb0pTT04gaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3REZWZhdWx0VG9KU09OIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFy
ZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1
dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFj
dHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8g
SWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJl
ZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3REZWZhdWx0VG9KU09OIGhhcyBzdWJjbGFzc2VzLiBJ
ZiBUZXN0RGVmYXVsdFRvSlNPTiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAg
ICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3REZWZhdWx0VG9KU09OIHlv
dSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0
aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRl
ZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVX
cmFwcGVyPFRlc3REZWZhdWx0VG9KU09OPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4
cG9zZWQuY3BwCmluZGV4IDdlNTJlMTZhZDJiOTY0ZTRjZjRlYmM1NWRmNWJlYTNlMmQwMzgyODgu
LjMzNjhjNDQ1NzY2NjQ0OTFlMjY5MTlkZWRkOWExMGQxYWY4ZTkzMDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09O
RmlsdGVyZWRCeUV4cG9zZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuY3BwCkBAIC0z
MjEsMjQgKzMyMSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUz
NFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRFW107CiBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgUmVmPFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ+JiYgaW1w
bCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3REZWZh
dWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdS
SVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2lu
dGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVy
ID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdERlZmF1
bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZEBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdERlZmF1bHRUb0pT
T05GaWx0ZXJlZEJ5RXhwb3NlZEBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzNFRlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWRFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTM0VGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZEVbMl07
CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJl
ZEJ5RXhwb3NlZCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhl
Ci0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVy
ZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRl
c3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ+Ojp2YWx1ZSwgIlRlc3REZWZhdWx0VG9K
U09ORmlsdGVyZWRCeUV4cG9zZWQgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKLSAgICAvLyBUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIGhhcyBzdWJj
bGFzc2VzLiBJZiBUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIGhhcyBzdWJjbGFz
c2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkIHlvdSB0byBvcHQgb3V0IG9mIGJp
bmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlv
biBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0Vf
QVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAg
ICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2Ug
YWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRC
eUV4cG9zZWQgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4
cG9zZWQgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMo
KSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2Vk
IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGlu
ZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURM
IGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9
PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ+KGdsb2JhbE9iamVj
dCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmli
dXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RE
ZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlLmNwcAppbmRleCAyNWI1OWE1ODhhZGZm
YjE2NDFmZDE4ZGQ5ZWUyMTBmNWRmMGViMmI2Li5mM2Q2ZDBlODEwMzQ4NzQwY2QyMWZlMjk2M2Q0
MzNmOTk0YTUwNzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlbGVnYXRl
VG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwCkBAIC0yOTcsMjQgKzI5NywyMiBAQCBleHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzOFRlc3REZWxlZ2F0ZVRvU2hhcmVk
U3ludGhldGljQXR0cmlidXRlRQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0
RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZT4mJiBpbXBsKQogewogCisgICAgaWYg
Y29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdERlbGVnYXRlVG9TaGFyZWRTeW50
aGV0aWNBdHRyaWJ1dGU+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNv
bnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRy
KCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxl
UG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdERlbGVnYXRlVG9TaGFyZWRT
eW50aGV0aWNBdHRyaWJ1dGVAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3lu
dGhldGljQXR0cmlidXRlQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM4VGVzdERlbGVnYXRlVG9TaGFyZWRTeW50
aGV0aWNBdHRyaWJ1dGVFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTM4VGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGVF
WzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3REZWxlZ2F0ZVRvU2hhcmVk
U3ludGhldGljQXR0cmlidXRlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRv
IGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1v
cnBoaWM8VGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGU+Ojp2YWx1ZSwgIlRl
c3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlIGlzIG5vdCBwb2x5bW9ycGhpYyIp
OwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0
aWNBdHRyaWJ1dGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhl
dGljQXR0cmlidXRlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRv
SlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0
dHJpYnV0ZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFk
ZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
SURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09
IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3Nl
cnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAv
LyBUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZSBoYXMgc3ViY2xhc3Nlcy4g
SWYgVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUgaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZSB5b3UgdG8gb3B0IG91dCBv
ZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVW
YWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQ
b2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0RGVs
ZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdERvbWFpblNlY3VyaXR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAKaW5kZXggNzI1MzA3NWUz
MmQ0NmZmNTMxZmFhNzllNjlkNDczNWJjMDczMDNmNC4uNGJkNGY0NzNiNWU4NWU5YmJmMDkxZmQy
ZjQwZjQ5NjRjNzU2MTA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdERvbWFpblNlY3VyaXR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RG9tYWluU2VjdXJpdHkuY3BwCkBAIC0z
NzEsMjQgKzM3MSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUx
OFRlc3REb21haW5TZWN1cml0eUVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJl
ZjxUZXN0RG9tYWluU2VjdXJpdHk+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3Rk
Ojppc19wb2x5bW9ycGhpY192PFRlc3REb21haW5TZWN1cml0eT4pIHsKICNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdl
dFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JN
KFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0RG9tYWluU2VjdXJpdHlAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3REb21haW5TZWN1cml0eUBX
ZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
Jl9aVFZON1dlYkNvcmUxOFRlc3REb21haW5TZWN1cml0eUVbMl07CisgICAgICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMThUZXN0RG9tYWluU2VjdXJpdHlF
WzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3REb21haW5TZWN1cml0eSBk
b2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0
aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3REb21haW5TZWN1
cml0eT46OnZhbHVlLCAiVGVzdERvbWFpblNlY3VyaXR5IGlzIG5vdCBwb2x5bW9ycGhpYyIpOwot
Ci0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2Ug
YWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdERvbWFpblNlY3VyaXR5IGhhcyBzdWJjbGFz
c2VzLiBJZiBUZXN0RG9tYWluU2VjdXJpdHkgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2Vk
Ci0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3REb21haW5TZWN1cml0
eSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0
aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRl
ZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVj
dGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24g
eW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0
RG9tYWluU2VjdXJpdHkgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3REb21haW5TZWN1cml0eSBoYXMg
c3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJl
bnRseSByZXF1aXJlIFRlc3REb21haW5TZWN1cml0eSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5n
IGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9u
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsK
ICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0RG9tYWluU2VjdXJp
dHk+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFi
bGVkQnlTZXR0aW5nLmNwcAppbmRleCA2Y2M0NDY2MWRmNTdjYmUxMGRkMDBmMzNmN2VmZjI5OTNl
MjhhNmU2Li44ZDQzOTc1MDExODRiMmU3ZmZiZjZkYzM4NzY0ZWI5Y2U1OTY4NzlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxl
ZEJ5U2V0dGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwCkBAIC01MTAsMjQgKzUxMCwyMiBAQCBleHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3RFbmFibGVkQnlTZXR0aW5n
RVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RFbmFibGVkQnlTZXR0
aW5nPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNf
djxUZXN0RW5hYmxlZEJ5U2V0dGluZz4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkp
Ci0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIo
aW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBn
ZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RW5hYmxlZEJ5
U2V0dGluZ0BXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdEVuYWJsZWRCeVNldHRpbmdAV2ViQ29yZUBANkJA
Iik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJD
b3JlMjBUZXN0RW5hYmxlZEJ5U2V0dGluZ0VbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjBUZXN0RW5hYmxlZEJ5U2V0dGluZ0VbMl07CiAj
ZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdEVuYWJsZWRCeVNldHRpbmcgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgot
ICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0RW5hYmxlZEJ5U2V0dGlu
Zz46OnZhbHVlLCAiVGVzdEVuYWJsZWRCeVNldHRpbmcgaXMgbm90IHBvbHltb3JwaGljIik7Ci0K
LSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBh
ZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0RW5hYmxlZEJ5U2V0dGluZyBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdEVuYWJsZWRCeVNldHRpbmcgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFz
c2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RFbmFibGVkQnlT
ZXR0aW5nIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRk
aW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJ
REwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0g
ZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2Vy
dGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8v
IFRlc3RFbmFibGVkQnlTZXR0aW5nIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0RW5hYmxlZEJ5U2V0
dGluZyBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygp
IHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RFbmFibGVkQnlTZXR0aW5nIHlvdSB0byBvcHQgb3V0
IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJs
ZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RF
bmFibGVkQnlTZXR0aW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5h
YmxlZEZvckNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0LmNwcAppbmRleCAzODNiMjFmNGU5OWQxNWE5YTc2
NmIxOGY4MmE0NDdiMDI2MjQzNGRjLi41YzZlMzM4NDU0NDQ5MzZjOTI4ODI1Y2Y3MzNiMDUyMjNi
YWQ0M2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5jcHAKQEAgLTIzNywy
NCArMjM3LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIxVGVz
dEVuYWJsZWRGb3JDb250ZXh0RVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVm
PFRlc3RFbmFibGVkRm9yQ29udGV4dD4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChz
dGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdEVuYWJsZWRGb3JDb250ZXh0PikgewogI2lmIEVOQUJM
RShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVy
ID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExB
VEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RFbmFibGVkRm9yQ29udGV4dEBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdEVuYWJsZWRG
b3JDb250ZXh0QFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTIxVGVzdEVuYWJsZWRGb3JDb250ZXh0RVsyXTsKKyAg
ICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyMVRlc3RF
bmFibGVkRm9yQ29udGV4dEVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVz
dEVuYWJsZWRGb3JDb250ZXh0IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRv
IGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1v
cnBoaWM8VGVzdEVuYWJsZWRGb3JDb250ZXh0Pjo6dmFsdWUsICJUZXN0RW5hYmxlZEZvckNvbnRl
eHQgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0
aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0
RW5hYmxlZEZvckNvbnRleHQgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RFbmFibGVkRm9yQ29udGV4
dCBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3Vy
cmVudGx5IHJlcXVpcmUgVGVzdEVuYWJsZWRGb3JDb250ZXh0IHlvdSB0byBvcHQgb3V0IG9mIGJp
bmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlv
biBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0Vf
QVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAg
ICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2Ug
YWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RFbmFibGVkRm9yQ29udGV4dCBoYXMg
c3ViY2xhc3Nlcy4gSWYgVGVzdEVuYWJsZWRGb3JDb250ZXh0IGhhcyBzdWJjbGFzc2VzIHRoYXQg
Z2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVz
dEVuYWJsZWRGb3JDb250ZXh0IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisg
ICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0
dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAg
fQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RFbmFibGVkRm9yQ29udGV4dD4oZ2xvYmFs
T2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0
b3IuY3BwCmluZGV4IDg0MTRmZTE0YWI5OTE5MTM5MjVmZmRlYTQyMjdhOTQ1NGJhOGQzNmEuLmQz
NWUwNGNiNjA4MDQ2NGNlY2QzZjY3M2ZhM2FmY2NlOTI0ODg5NWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RXZlbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTM1OSwyNCArMzU5LDIyIEBAIGV4dGVybiAiQyIgeyBl
eHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIwVGVzdEV2ZW50Q29uc3RydWN0b3JFW107IH0KIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEV2ZW50Q29uc3RydWN0b3I+JiYgaW1w
bCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RFdmVu
dENvbnN0cnVjdG9yPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25z
dCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigp
KTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RFdmVudENvbnN0cnVjdG9yQFdl
YkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRDb25zdHJ1Y3RvckBXZWJDb3JlQEA2QkAiKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyMFRlc3RF
dmVudENvbnN0cnVjdG9yRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gJl9aVFZON1dlYkNvcmUyMFRlc3RFdmVudENvbnN0cnVjdG9yRVsyXTsKICNlbmRpZgogCi0g
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0RXZlbnRDb25zdHJ1Y3RvciBkb2VzIG5vdCBoYXZlIGEg
dnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGlj
X2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RFdmVudENvbnN0cnVjdG9yPjo6dmFsdWUs
ICJUZXN0RXZlbnRDb25zdHJ1Y3RvciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElm
IHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUg
YnVnLCBvcgotICAgIC8vIFRlc3RFdmVudENvbnN0cnVjdG9yIGhhcyBzdWJjbGFzc2VzLiBJZiBU
ZXN0RXZlbnRDb25zdHJ1Y3RvciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAv
LyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEV2ZW50Q29uc3RydWN0b3IgeW91
IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNr
aXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0
aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBl
aXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdEV2ZW50
Q29uc3RydWN0b3IgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RFdmVudENvbnN0cnVjdG9yIGhhcyBz
dWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVu
dGx5IHJlcXVpcmUgVGVzdEV2ZW50Q29uc3RydWN0b3IgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlv
biBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxF
QVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7
CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEV2ZW50Q29uc3Ry
dWN0b3I+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRU
YXJnZXQuY3BwCmluZGV4IDUyMDJiNmZiZGEwM2ZmMzg1NGRlMzFkZjY3MTdlODVhMTM2NWU2YTgu
LmUzZmY2ZDZjOTY4MjVjYTAzMmVlMGY4NmQwZWM3ODdhNzNmMjNjNmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2
ZW50VGFyZ2V0LmNwcApAQCAtMjk4LDI0ICsyOTgsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2
b2lkKiBfWlRWTjdXZWJDb3JlMTVUZXN0RXZlbnRUYXJnZXRFW107IH0KIEpTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBSZWY8VGVzdEV2ZW50VGFyZ2V0PiYmIGltcGwpCiB7CiAKKyAgICBpZiBj
b25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0RXZlbnRUYXJnZXQ+KSB7CiAjaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lk
KiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNp
ZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVu
dGlmaWVyKCI/P183VGVzdEV2ZW50VGFyZ2V0QFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRUYXJn
ZXRAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMTVUZXN0RXZlbnRUYXJnZXRFWzJdOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE1VGVzdEV2ZW50VGFyZ2V0RVsy
XTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0RXZlbnRUYXJnZXQgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgot
ICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0RXZlbnRUYXJnZXQ+Ojp2
YWx1ZSwgIlRlc3RFdmVudFRhcmdldCBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElm
IHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUg
YnVnLCBvcgotICAgIC8vIFRlc3RFdmVudFRhcmdldCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEV2
ZW50VGFyZ2V0IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMo
KSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RXZlbnRUYXJnZXQgeW91IHRvIG9wdCBvdXQgb2Yg
YmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0
aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFT
RV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwor
ICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVz
ZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdEV2ZW50VGFyZ2V0IGhhcyBzdWJj
bGFzc2VzLiBJZiBUZXN0RXZlbnRUYXJnZXQgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2Vk
CisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RXZlbnRUYXJn
ZXQgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRk
aW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJ
REwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVy
ID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8VGVzdEV2ZW50VGFyZ2V0PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCmluZGV4IGUxMTMwNmRmMTMzNmZmMTIxMWYwNDE1
N2EwNDMzYmI3MDkyYWVhYzAuLjU3YjE5OThiZDRkYzcwMGU3OGY2ZTA5NGU3NDdkMWVhMjNhY2Iz
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCkBAIC0yMzgsMjQgKzIzOCwyMiBAQCBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxM1Rlc3RFeGNlcHRpb25FW107IH0KIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEV4Y2VwdGlvbj4mJiBpbXBsKQogewog
CisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdEV4Y2VwdGlvbj4p
IHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFs
VlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNv
bnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRy
KCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpOworICAgICAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXhj
ZXB0aW9uQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSAmX1pUVk43V2ViQ29yZTEzVGVzdEV4Y2VwdGlvbkVbMl07CisgICAgICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTNUZXN0RXhjZXB0aW9uRVsy
XTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0RXhjZXB0aW9uIGRvZXMgbm90
IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAg
ICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdEV4Y2VwdGlvbj46OnZhbHVl
LCAiVGVzdEV4Y2VwdGlvbiBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBo
aXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBv
cgotICAgIC8vIFRlc3RFeGNlcHRpb24gaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RFeGNlcHRpb24g
aGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJl
bnRseSByZXF1aXJlIFRlc3RFeGNlcHRpb24geW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJk
ZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0
dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJ
ZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVl
IGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdEV4Y2VwdGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dEV4Y2VwdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RFeGNlcHRpb24geW91IHRvIG9wdCBvdXQg
b2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxl
VmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAg
ICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxl
UG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEV4
Y2VwdGlvbj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlQWRk
T3BhcXVlUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNwcAppbmRleCBjMmQ0YTI1NjljYjdhZDA4NjJj
NTZlNzFhNzcwNTQzMjViZTU0Yzg1Li42NjBmZDg5OWY4MWMyZTI1ZDU2YTM5YzNkOTU2MzNiYmVk
OWViMzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNwcApA
QCAtMjQ5LDI0ICsyNDksMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJD
b3JlMjVUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290RVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgUmVmPFRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3Q+JiYgaW1wbCkKIHsKIAorICAg
IGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RHZW5lcmF0ZUFkZE9wYXF1
ZVJvb3Q+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQq
IGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAg
ICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihp
bXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdEBXZWJD
b3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVu
dGlmaWVyKCI/P183VGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdEBXZWJDb3JlQEA2QkAiKTsKICNl
bHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNVRl
c3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3RFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI1VGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdEVbMl07
CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9v
dCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8g
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZp
bml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RHZW5lcmF0
ZUFkZE9wYXF1ZVJvb3Q+Ojp2YWx1ZSwgIlRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QgaXMgbm90
IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBl
aXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0R2VuZXJhdGVB
ZGRPcGFxdWVSb290IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290IHlvdSB0byBvcHQgb3V0IG9m
IGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRh
dGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVB
U0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsK
KyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJv
b3QgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QgaGFzIHN1YmNs
YXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkg
cmVxdWlyZSBUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRp
bmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRp
b24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIp
OwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RHZW5lcmF0ZUFk
ZE9wYXF1ZVJvb3Q+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0
ZUlzUmVhY2hhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcAppbmRleCAyZmM3YmZlNTYyZjI2MGQ4MjIw
ZDExZDVmOTk1NDZlMmMyZGM3NWZlLi4xNWZhNjI5OTU0MzYzOGZhNzQwNWI5OTNmNTdiZTdiZjE3
OGMxMDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCkBAIC0y
NDksMjQgKzI0OSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUy
M1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlRVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25z
dGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZT4pIHsK
ICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkp
OwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUBXZWJDb3JlQEA2QkAiKTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183
VGVzdEdlbmVyYXRlSXNSZWFjaGFibGVAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjNUZXN0R2VuZXJhdGVJc1Jl
YWNoYWJsZUVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRW
TjdXZWJDb3JlMjNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUVbMl07CiAjZW5kaWYKIAotICAgIC8v
IElmIHRoaXMgZmFpbHMgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUgZG9lcyBub3QgaGF2ZSBhIHZ0
YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19h
c3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZT46OnZhbHVl
LCAiVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAv
LyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBm
cmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFz
c2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkg
YWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFj
ZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIg
PT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFz
c2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAg
IC8vIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8g
dG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlIHlv
dSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0
aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRl
ZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVX
cmFwcGVyPFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ci5jcHAKaW5kZXggYjg4NTBmZmZlYjBjN2Y0ZjBmYjllMzQ3YTZkMDkyZDM5NjNmMTdkNC4uZWNk
YjRlNmU2MGM3NjJlYWEyMGUxN2ZhZGE0ODAwNDY1NzQwZTUyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lk
ZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcApAQCAtMzI3LDI0ICszMjcsMjIg
QEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjlUZXN0SW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllckVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3Rl
eHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI+
KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBj
b25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0
cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gX19pZGVudGlmaWVyKCI/P183VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJAV2ViQ29y
ZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRp
ZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpOwog
I2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI5
VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJFWzJdOworICAgICAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI5VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50
aWZpZXJFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFk
ZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUg
aW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBo
aWM8VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI+Ojp2YWx1ZSwgIlRlc3RJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhp
dCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9y
Ci0gICAgLy8gVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElm
IFRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBh
c3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0SW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAg
IC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQ
b2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQg
dGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgor
ICAgICAgICAvLyBUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4g
SWYgVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0SW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmlu
ZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgor
ICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRp
Zmllcj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJU
aHJvd2luZ0V4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAppbmRleCA3MGZk
ZjcwMDg1N2FiMzIzOWIwNjgxMmQzMTc0ZjU2ZGQwMzU1YjExLi4zMWRjNDY3N2RkYjEwZmUyZDRl
M2Y5MjJiYmQ4MDg4OGEwOGZiMzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5k
ZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcApAQCAtMzI3LDI0ICszMjcsMjIgQEAgZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMzRUZXN0SW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uRVtdOwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0
SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25z
dGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lk
KiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAg
ICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIo
aW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb25AV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25A
V2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
ICZfWlRWTjdXZWJDb3JlMzRUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uRVsyXTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzNFRl
c3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25FWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJ
ZiB0aGlzIGZhaWxzIFRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gZG9lcyBub3Qg
aGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAg
IHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0SW5kZXhlZFNldHRlclRocm93
aW5nRXhjZXB0aW9uPjo6dmFsdWUsICJUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9u
IGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdElu
ZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEluZGV4
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQK
LSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEluZGV4ZWRTZXR0ZXJU
aHJvd2luZ0V4Y2VwdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAg
IC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQ
b2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQg
dGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgor
ICAgICAgICAvLyBUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBzdWJjbGFz
c2VzLiBJZiBUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBzdWJjbGFzc2Vz
IHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVp
cmUgVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBi
aW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxp
ZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAg
IFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2lu
dGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0SW5kZXhl
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIu
Y3BwCmluZGV4IDQ5NjAwMmQ4OGM2MmZmMWU4MDVlZDFiNzkxNDYwNjc4MTM1MjFjNzUuLmFlYzAx
YjFkMjVmZmE0M2U1MTZmNWMzY2NmMmZkMDVhMzgxYzNjOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElk
ZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0zNTksMjQgKzM1OSwy
MiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzMVRlc3RJbmRleGVk
U2V0dGVyV2l0aElkZW50aWZpZXJFW107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBS
ZWY8VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4mJiBpbXBsKQogewogCisgICAgaWYg
Y29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRl
bnRpZmllcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7Cisg
ICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVy
KGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlm
aWVyQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQFdlYkNv
cmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pU
Vk43V2ViQ29yZTMxVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07CisgICAgICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzFUZXN0SW5kZXhl
ZFNldHRlcldpdGhJZGVudGlmaWVyRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWls
cyBUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUs
IHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0
KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj46OnZh
bHVlLCAiVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMi
KTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEg
dXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50
aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIg
aGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJl
bnRseSByZXF1aXJlIFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIgeW91IHRvIG9wdCBv
dXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVW
YWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAg
UkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50
ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2
ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRl
bnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9K
UygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIg
eW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5n
IHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwg
ZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09
IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA5NmM4OTY1MWFh
OWIwMDY5YmFiZmRlMjI5NzRkNTNhOWI5Njg3ZTlkLi4wMmY4YTc5YTg0Nzg5ZGU5OWU3ZjhlZGFl
NTE3NDUyMTg2MTMzODk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAtMTI0MywxMyArMTI0
MywzNCBAQCB2b2lkIEpTVGVzdEludGVyZmFjZU93bmVyOjpmaW5hbGl6ZShKU0M6OkhhbmRsZTxK
U0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCogY29udAogICAgIHVuY2FjaGVXcmFwcGVyKHdvcmxk
LCAmanNUZXN0SW50ZXJmYWNlLT53cmFwcGVkKCksIGpzVGVzdEludGVyZmFjZSk7CiB9CiAKKyNp
ZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCisjaWYgUExBVEZPUk0oV0lOKQorI3ByYWdtYSB3
YXJuaW5nKGRpc2FibGU6IDQ0ODMpCitleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0SW50ZXJmYWNlQFdlYkNvcmVAQDZCQCIpW10pKCk7IH0KKyNl
bHNlCitleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxM1Rlc3RJbnRlcmZh
Y2VFW107IH0KKyNlbmRpZgorI2VuZGlmCisKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBS
ZWY8VGVzdEludGVyZmFjZT4mJiBpbXBsKQogewotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBmYWls
dXJlIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBoYXMgdGhlIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKLSAgICAvLyBhdHRyaWJ1dGUuIFlvdSBzaG91bGQgcmVtb3ZlIHRoYXQgYXR0cmlidXRl
LiBJZiB0aGUgY2xhc3MgaGFzIHN1YmNsYXNzZXMKLSAgICAvLyB0aGF0IG1heSBiZSBwYXNzZWQg
dGhyb3VnaCB0aGlzIHRvSlMoKSBmdW5jdGlvbiB5b3Ugc2hvdWxkIHVzZSB0aGUgU2tpcFZUYWJs
ZVZhbGlkYXRpb24KLSAgICAvLyBhdHRyaWJ1dGUgdG8gVGVzdEludGVyZmFjZS4KLSAgICBzdGF0
aWNfYXNzZXJ0KCFzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RJbnRlcmZhY2U+Ojp2YWx1ZSwgIlRl
c3RJbnRlcmZhY2UgaXMgcG9seW1vcnBoaWMgYnV0IHRoZSBJREwgY2xhaW1zIGl0IGlzIG5vdCIp
OworCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdEludGVyZmFj
ZT4pIHsKKyNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCisgICAgICAgIGNvbnN0IHZvaWQq
IGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworI2lm
IFBMQVRGT1JNKFdJTikKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19p
ZGVudGlmaWVyKCI/P183VGVzdEludGVyZmFjZUBXZWJDb3JlQEA2QkAiKTsKKyNlbHNlCisgICAg
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTNUZXN0SW50
ZXJmYWNlRVsyXTsKKyNlbmRpZgorCisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRp
b24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBU
ZXN0SW50ZXJmYWNlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0SW50ZXJmYWNlIGhhcyBzdWJjbGFz
c2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJl
cXVpcmUgVGVzdEludGVyZmFjZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwor
ICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFj
dHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyNlbmRpZgorICAg
IH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0SW50ZXJmYWNlPihnbG9iYWxPYmplY3Qs
IFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxl
YWRpbmdVbmRlcnNjb3JlLmNwcAppbmRleCBiODk5YjhhOGI5MjNmMzhlZTIxZmMzNjEwMTgxYTBl
ODlmZmVhYTFiLi43NTgyNTAyZDI0NGE3NTUxMTk2ODg5ZTliOThhYWRlODFlZjc0ZDZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50
ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5jcHAKQEAg
LTIyNiwxMyArMjI2LDM0IEBAIHZvaWQgSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmVP
d25lcjo6ZmluYWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoCiAgICAgdW5jYWNoZVdy
YXBwZXIod29ybGQsICZqc1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS0+d3JhcHBlZCgp
LCBqc1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZSk7CiB9CiAKKyNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCisjaWYgUExBVEZPUk0oV0lOKQorI3ByYWdtYSB3YXJuaW5nKGRpc2Fi
bGU6IDQ0ODMpCitleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmVAV2ViQ29yZUBANkJAIilbXSkoKTsg
fQorI2Vsc2UKK2V4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTMwVGVzdElu
dGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlRVtdOyB9CisjZW5kaWYKKyNlbmRpZgorCiBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZT4m
JiBpbXBsKQogewotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBmYWlsdXJlIHRoZSBpbnRlcmZhY2Ug
ZGVmaW5pdGlvbiBoYXMgdGhlIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLSAgICAvLyBhdHRy
aWJ1dGUuIFlvdSBzaG91bGQgcmVtb3ZlIHRoYXQgYXR0cmlidXRlLiBJZiB0aGUgY2xhc3MgaGFz
IHN1YmNsYXNzZXMKLSAgICAvLyB0aGF0IG1heSBiZSBwYXNzZWQgdGhyb3VnaCB0aGlzIHRvSlMo
KSBmdW5jdGlvbiB5b3Ugc2hvdWxkIHVzZSB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24KLSAgICAv
LyBhdHRyaWJ1dGUgdG8gVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLgotICAgIHN0YXRp
Y19hc3NlcnQoIXN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNj
b3JlPjo6dmFsdWUsICJUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUgaXMgcG9seW1vcnBo
aWMgYnV0IHRoZSBJREwgY2xhaW1zIGl0IGlzIG5vdCIpOworCisgICAgaWYgY29uc3RleHByIChz
dGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlPikgewor
I2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFs
VlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisjaWYgUExBVEZP
Uk0oV0lOKQorICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZp
ZXIoIj8/XzdUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmVAV2ViQ29yZUBANkJAIik7Cisj
ZWxzZQorICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29y
ZTMwVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlRVsyXTsKKyNlbmRpZgorCisgICAgICAg
IC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVy
IGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUg
aGFzIHN1YmNsYXNzZXMuIElmIFRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZSBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZSB5b3UgdG8gb3B0IG91dCBv
ZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVW
YWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQ
b2ludGVyKTsKKyNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0SW50
ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RJdGVyYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SXRlcmFibGUuY3BwCmluZGV4IDY1MDEzOTA5MjkxOTBlOTk2YmFkMmZhMTFlNmQy
ODY0MWE3MTBlYmIuLjA2N2NjOTljMTdjNmQwMjEwMzI4YmNiNWEwNWY3ODE0Mzg2YTdiZGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
dGVyYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEl0ZXJhYmxlLmNwcApAQCAtMzQ0LDI0ICszNDQsMjIgQEAgZXh0ZXJuICJDIiB7IGV4
dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTJUZXN0SXRlcmFibGVFW107IH0KIEpTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEl0ZXJhYmxlPiYmIGltcGwpCiB7CiAKKyAgICBpZiBj
b25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0SXRlcmFibGU+KSB7CiAjaWYgRU5B
QkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50
ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBh
Y3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQ
TEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlm
aWVyKCI/P183VGVzdEl0ZXJhYmxlQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0SXRlcmFibGVAV2ViQ29y
ZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRW
TjdXZWJDb3JlMTJUZXN0SXRlcmFibGVFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTEyVGVzdEl0ZXJhYmxlRVsyXTsKICNlbmRpZgogCi0g
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0SXRlcmFibGUgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwg
c28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUg
YXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQo
c3RkOjppc19wb2x5bW9ycGhpYzxUZXN0SXRlcmFibGU+Ojp2YWx1ZSwgIlRlc3RJdGVyYWJsZSBp
cyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24g
eW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RJdGVy
YWJsZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEl0ZXJhYmxlIGhhcyBzdWJjbGFzc2VzIHRoYXQg
Z2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0SXRl
cmFibGUgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRp
bmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElE
TCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0
aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8g
VGVzdEl0ZXJhYmxlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0SXRlcmFibGUgaGFzIHN1YmNsYXNz
ZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVx
dWlyZSBUZXN0SXRlcmFibGUgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAg
ICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1
YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9
CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEl0ZXJhYmxlPihnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rp
b24uY3BwCmluZGV4IDI5OWJmZTYwNGQ3OWQwMDcxMWIyYzY5OWFmNjBlZDYxODQwOWQ2NzIuLjZm
NzNmNDI3Y2E0ZjI4OWQyZDExNjc5Nzk0MjM2ZTA1OGVjZGZiOWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVu
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uY3BwCkBAIC0yODksMjQgKzI4OSwyMiBAQCBleHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyNVRlc3RMZWdhY3lGYWN0b3J5RnVu
Y3Rpb25FW107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdExlZ2FjeUZh
Y3RvcnlGdW5jdGlvbj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3Bv
bHltb3JwaGljX3Y8VGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbj4pIHsKICNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdl
dFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JN
KFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TGVnYWN5RmFj
dG9yeUZ1bmN0aW9uQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI1VGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkVb
Ml07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3Jl
MjVUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhp
cyBmYWlscyBUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUs
IHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0
KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbj46OnZhbHVlLCAi
VGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbiBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8v
IElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZy
ZWUgYnVnLCBvcgotICAgIC8vIFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24gaGFzIHN1YmNsYXNz
ZXMuIElmIFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24gaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RMZWdhY3lG
YWN0b3J5RnVuY3Rpb24geW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAv
LyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9p
bnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRo
aXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAg
ICAgICAgLy8gVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dExlZ2FjeUZhY3RvcnlGdW5jdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAg
ICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RMZWdhY3lGYWN0b3J5
RnVuY3Rpb24geW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8g
YnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVy
ZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQ
b2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbj4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVy
ZmFjZU9iamVjdC5jcHAKaW5kZXggY2RkZmUwMDg4ZGUxNzNmNGQ2NTMxYTJkYWE1ZjUzOTk3NGI2
ZTI0ZS4uNWEyY2JhNjk3MjE5MjhiNDhmNDk0NWQ3ZjE5ZTYwM2RkYTRjMjVlNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU5v
SW50ZXJmYWNlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QuY3BwCkBAIC0zODYsMjQgKzM4
NiwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyN1Rlc3RMZWdh
Y3lOb0ludGVyZmFjZU9iamVjdEVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJl
ZjxUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Q+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0
ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdD4p
IHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFs
VlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNv
bnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRy
KCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RAV2ViQ29yZUBA
NkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdEBXZWJDb3JlQEA2QkAiKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyN1Rlc3RM
ZWdhY3lOb0ludGVyZmFjZU9iamVjdEVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjdUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RFWzJd
OwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RMZWdhY3lOb0ludGVyZmFjZU9i
amVjdCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAg
Ly8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBk
ZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RMZWdh
Y3lOb0ludGVyZmFjZU9iamVjdD46OnZhbHVlLCAiVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0
IGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdExl
Z2FjeU5vSW50ZXJmYWNlT2JqZWN0IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TGVnYWN5Tm9JbnRl
cmZhY2VPYmplY3QgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9K
UygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdCB5b3Ug
dG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tp
cFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRp
b24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRh
YmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVp
dGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TGVnYWN5
Tm9JbnRlcmZhY2VPYmplY3QgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RMZWdhY3lOb0ludGVyZmFj
ZU9iamVjdCBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9K
UygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdCB5b3Ug
dG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhl
IFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZp
bml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhw
ZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3Jh
cHBlcjxUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Q+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShp
bXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNw
cAppbmRleCA0OWQwN2Y0ZjYxNTJlODc2MDM3ODRlZmU4ZjlkYTU4MTRkZDRlZmY2Li5iYzNkNTcy
YzVhMzc1ZGZjZmUyNjUzZWQ3Mzc4ZTFkMzdhYmEwNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElu
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCkBAIC0zMDAsMjQgKzMwMCwyMiBAQCBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyNlRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0
SW5zRVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RMZWdhY3lPdmVy
cmlkZUJ1aWx0SW5zPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9s
eW1vcnBoaWNfdjxUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucz4pIHsKICNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdl
dFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JN
KFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluc0BXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnNAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjZUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElu
c0VbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJD
b3JlMjZUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluc0VbMl07CiAjZW5kaWYKIAotICAgIC8vIElm
IHRoaXMgZmFpbHMgVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgZG9lcyBub3QgaGF2ZSBhIHZ0
YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19h
c3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucz46OnZh
bHVlLCAiVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0K
LSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBh
ZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucyBoYXMg
c3ViY2xhc3Nlcy4gSWYgVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVu
aW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUg
dG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVh
bFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYg
eW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBi
dWcsIG9yCisgICAgICAgIC8vIFRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGhhcyBzdWJjbGFz
c2VzLiBJZiBUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucyBoYXMgc3ViY2xhc3NlcyB0aGF0IGdl
dCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
CisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRl
IHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
YWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisg
ICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5z
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZS5jcHAKaW5k
ZXggMGMwMGQwNWRmNzc2YmMxMDVmZTA4MzI5NTBlYmZiNDUyN2ViNjk4Yy4uYmQ2ZDM2NmQ0OTE3
ZGI4MWI2ZjdmZDc0ZjAyMTBmMzFjMjliMWI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmNwcApAQCAtNDE3
LDI0ICs0MTcsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTFU
ZXN0TWFwTGlrZUVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWFw
TGlrZT4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGlj
X3Y8VGVzdE1hcExpa2U+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNv
bnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRy
KCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxl
UG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE1hcExpa2VAV2ViQ29yZUBA
NkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RNYXBMaWtlQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTExVGVzdE1hcExpa2VFWzJdOworICAg
ICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTExVGVzdE1h
cExpa2VFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RNYXBMaWtlIGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRp
b24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE1hcExpa2U+Ojp2
YWx1ZSwgIlRlc3RNYXBMaWtlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCi0gICAgLy8gVGVzdE1hcExpa2UgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RNYXBMaWtlIGhh
cyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50
bHkgcmVxdWlyZSBUZXN0TWFwTGlrZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmlu
ZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxW
VGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlv
dSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVn
LCBvcgorICAgICAgICAvLyBUZXN0TWFwTGlrZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE1hcExp
a2UgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3
ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TWFwTGlrZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5n
IGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9u
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsK
ICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TWFwTGlrZT4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCmluZGV4IDQ3NjQwNjk1ZTVk
MmVmNDA4ODZmNzhjNDMxZDUwNWUyYTYyMjcwYTQuLjhmMDg4Yjg3MDFlM2JhZjg3NTI1NGJlODFk
YTM2MmVlZWRjZTNhMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZVdp
dGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKQEAgLTQzMSwyNCArNDMxLDIyIEBAIGV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTM1VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnNFW107CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RNYXBM
aWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4
cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0
aW9ucz4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAg
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0
aW9uc0BXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gX19pZGVudGlmaWVyKCI/P183VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNA
V2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
ICZfWlRWTjdXZWJDb3JlMzVUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0VbMl07
CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzVU
ZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0VbMl07CiAjZW5kaWYKIAotICAgIC8v
IElmIHRoaXMgZmFpbHMgVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgot
ICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TWFwTGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9ucz46OnZhbHVlLCAiVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJh
dGlvbnMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBU
ZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RNYXBMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVu
aW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUg
dG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVh
bFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYg
eW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBi
dWcsIG9yCisgICAgICAgIC8vIFRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyBoYXMg
c3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJl
bnRseSByZXF1aXJlIFRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIHlvdSB0byBv
cHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tp
cFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRp
b24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVy
PFRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zPihnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4IDhjZTM3NzEzZDE0MzAzYmE5MzIxZTcx
NTU4Y2I4ZGYxYTBiNDFhZDQuLmVlZjY3ZDJmYjc0OWUzMjQ5NjVmYzVkODRkYTcwNDkzODY3ZjQw
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0zOTUsMjQgKzM5NSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0
ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzN1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50
aWZpZXJFWwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0
ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
PikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1
YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAg
Y29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5w
dHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZp
ZXJAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJA
V2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
ICZfWlRWTjdXZWJDb3JlMzdUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyRVsy
XTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUz
N1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJFWzJdOwogI2VuZGlmCiAKLSAg
ICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIg
ZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5p
dGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyTm9JZGVudGlmaWVyPjo6dmFsdWUsICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhp
dCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9y
Ci0gICAgLy8gVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVp
cmUgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBv
ZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlk
YXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxF
QVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7
CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEg
dXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAv
LyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAg
ICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUg
aW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAg
ICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9u
LmNwcAppbmRleCBmZmRiMTU1NTBmMmYxZTNlOWIxYjJkODgxMzQyOWY4YjcxZjAzMmJhLi5lYWYx
MjcxNTk1NGEzODk3ZTQyMTQ1YmU0Y2VkMmZhZmQyMzk2MGZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
bi5jcHAKQEAgLTM5NSwyNCArMzk1LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pU
Vk43V2ViQ29yZTQyVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0CiBKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3Bv
bHltb3JwaGljX3Y8VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPikg
ewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxW
VGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29u
c3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIo
KSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbkBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSAmX1pUVk43V2ViQ29yZTQyVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5n
RXhjZXB0aW9uRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmU0MlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkVb
Ml07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVk
IHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9s
eW1vcnBoaWM8VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPjo6dmFs
dWUsICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gaXMgbm90IHBv
bHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRo
ZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBw
YXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkQW5k
SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcg
aGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRy
aWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJU
KGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAg
Ly8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIg
ZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAv
LyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisg
ICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0
dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAg
fQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
QW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRp
Zmllci5jcHAKaW5kZXggMDBkNmFiMzQwN2U0ZDk2MmIwZWMxOTA0MWY2MDk2MmJhNzA5NzRkMC4u
YWY3NmU5ZTkwYzMzZWYzMTE5MDMyZTFmZjkxNDE4MTkzODU3YTQwZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIu
Y3BwCkBAIC00NTIsMjQgKzQ1MiwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZO
N1dlYkNvcmUzOVRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcgogSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElk
ZW50aWZpZXI+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9y
cGhpY192PFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4pIHsKICNpZiBF
TkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQq
IGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lm
IFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50
aWZpZXIoIj8/XzdUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJAV2ViQ29y
ZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRp
ZmllcigiPz9fN1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3Jl
QEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZO
N1dlYkNvcmUzOVRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07Cisg
ICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzlUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJFWzJdOwogI2VuZGlmCiAKLSAgICAv
LyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBk
b2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0
aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlcldpdGhJZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCi0gICAgLy8gVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8g
b3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZU
YWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24K
LSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxl
UG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhl
ciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNz
ZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhh
cmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNl
bmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyV2l0aElkZW50aWZpZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAKaW5kZXgg
YjBjZTdhYzk0Mzk5MmY4YTVmODYzMDdkZTg5OTM0YWE2MDFhYjYzZC4uNTBkNmI0NDU3YzVmYTNm
OWJiNWU2MzU0ZDIzYzcwNWU5MzRmNWI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
RGVsZXRlck5vSWRlbnRpZmllci5jcHAKQEAgLTI5NywyNCArMjk3LDIyIEBAIGV4dGVybiAiQyIg
eyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTI4VGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmll
ckVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWREZWxldGVy
Tm9JZGVudGlmaWVyPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9s
eW1vcnBoaWNfdjxUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyPikgewogI2lmIEVOQUJMRShC
SU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0g
Z2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFs
VlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZP
Uk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigi
Pz9fN1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXJAV2ViQ29yZUBANkJAIik7CisgICAgICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1l
ZERlbGV0ZXJOb0lkZW50aWZpZXJAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjhUZXN0TmFtZWREZWxldGVyTm9J
ZGVudGlmaWVyRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmUyOFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXJFWzJdOwogI2VuZGlmCiAK
LSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIgZG9lcyBu
b3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgot
ICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWREZWxldGVyTm9J
ZGVudGlmaWVyPjo6dmFsdWUsICJUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyIGlzIG5vdCBw
b2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0
aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkRGVsZXRl
ck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRp
ZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllciB5b3UgdG8gb3B0
IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJs
ZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAg
ICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9p
bnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBo
YXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWREZWxldGVy
Tm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWREZWxldGVyTm9JZGVudGlm
aWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkg
d2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllciB5b3UgdG8g
b3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNr
aXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0
aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0
ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBl
cjxUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5n
RXhjZXB0aW9uLmNwcAppbmRleCAxOTM1ZmIyYWNiM2RiZjgzMjMxYjI3YjU2OWRlMDA2YzhhODBm
ODI1Li41NjBhY2M1N2NlMWZmYTc1MWVmZjVlMDNkYjRiOWRjNWQ4MzY3M2MyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxl
dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKQEAg
LTI5NywyNCArMjk3LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29y
ZTMzVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uRVtdOyB9CiBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4mJiBp
bXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5h
bWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVH
UklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9p
bnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRl
ciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1l
ZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkRGVsZXRl
clRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTMzVGVzdE5hbWVkRGVsZXRlclRocm93
aW5nRXhjZXB0aW9uRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
Jl9aVFZON1dlYkNvcmUzM1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkVbMl07CiAj
ZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhj
ZXB0aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAg
ICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5h
bWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uPjo6dmFsdWUsICJUZXN0TmFtZWREZWxldGVyVGhy
b3dpbmdFeGNlcHRpb24gaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0
IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IK
LSAgICAvLyBUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24gaGFzIHN1YmNsYXNzZXMu
IElmIFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0
IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5h
bWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFy
ZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1
dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFj
dHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8g
SWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJl
ZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBz
dWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVu
dGx5IHJlcXVpcmUgVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZU
YWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24K
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRl
c3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRp
Zmllci5jcHAKaW5kZXggNjBmNmExYzNmOWQ4ZjdjZDE3Y2Y1ZDkyNjk5NmY2OTU1OWFjMTE5Mi4u
ZGYwYTJiMDY1ZjAxNWVkZWE5ZTEwZjhjYmQ3ZmM5Nzc4YzFiZDI4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldp
dGhJZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0zMjEsMjQgKzMy
MSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzMFRlc3ROYW1l
ZERlbGV0ZXJXaXRoSWRlbnRpZmllckVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFJlZjxUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXI+JiYgaW1wbCkKIHsKIAorICAgIGlm
IGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRl
bnRpZmllcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7Cisg
ICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVy
KGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZp
ZXJAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3Jl
QEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZO
N1dlYkNvcmUzMFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckVbMl07CisgICAgICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzBUZXN0TmFtZWREZWxl
dGVyV2l0aElkZW50aWZpZXJFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRl
c3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5
b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRy
aWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAi
VGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0g
ICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0
ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNs
YXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1
aXJlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5k
aW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24g
YXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FT
U0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAg
ICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFm
dGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZp
ZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciBoYXMg
c3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJl
bnRseSByZXF1aXJlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8gb3B0IG91
dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFi
bGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0
TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRH
ZXR0ZXIuY3BwCmluZGV4IGEyZDU4MTg0YWMwMTNlNTZmN2UwNWNjZWFmMWJkMDFkZjNlOTEwYTYu
LmRkZGM0MmY1Zjk4M2I4OGJlZTYxOGQ0NWU3Y2MzNzY4NjFlOWRhYWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJX
aXRoSW5kZXhlZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcApAQCAtMzEz
LDI0ICszMTMsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMzNU
ZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJFW107IH0KIEpTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyPiYmIGltcGwp
CiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TmFtZWRE
ZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZ
KQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVy
KGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0g
Z2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkRGVs
ZXRlcldpdGhJbmRleGVkR2V0dGVyQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWREZWxldGVyV2l0
aEluZGV4ZWRHZXR0ZXJAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4
ZWRHZXR0ZXJFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pU
Vk43V2ViQ29yZTMzVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyRVsyXTsKICNlbmRp
ZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0
ZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8v
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVm
aW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWRE
ZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI+Ojp2YWx1ZSwgIlRlc3ROYW1lZERlbGV0ZXJXaXRoSW5k
ZXhlZEdldHRlciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhp
cyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAg
IC8vIFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciBoYXMgc3ViY2xhc3Nlcy4gSWYg
VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0
IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRE
ZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5p
bmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFs
VlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKKyAgICAgICAgLy8gVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIgaGFzIHN1YmNs
YXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkg
cmVxdWlyZSBUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIgeW91IHRvIG9wdCBvdXQg
b2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxl
VmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAg
ICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxl
UG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE5h
bWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAKaW5kZXggZmZi
NzJjZGU1OGU2NWMzZmEzZmEwNzIzNjgwNzNiMjA0ZDkwMjM0Yy4uZmQ0MDVhNWFlYzRlYTQ2ZDhl
YmQ0MzdjMjgzNjc3ZmRhYzA4MjQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlckNh
bGxXaXRoLmNwcApAQCAtMjcxLDI0ICsyNzEsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lk
KiBfWlRWTjdXZWJDb3JlMjNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aEVbXTsgfQogSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD4mJiBpbXBsKQog
ewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5hbWVkR2V0
dGVyQ2FsbFdpdGg+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkp
OworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9p
bnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhA
V2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9f
aWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoQFdlYkNvcmVAQDZCQCIpOwog
I2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTIz
VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTIzVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhFWzJdOwog
I2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZEdldHRlckNhbGxXaXRoIGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRp
b24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVkR2V0dGVy
Q2FsbFdpdGg+Ojp2YWx1ZSwgIlRlc3ROYW1lZEdldHRlckNhbGxXaXRoIGlzIG5vdCBwb2x5bW9y
cGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhh
dmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkR2V0dGVyQ2FsbFdp
dGggaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZEdldHRlckNhbGxXaXRoIGhhcyBzdWJjbGFz
c2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRl
bmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRl
IHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1
YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElm
IHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUg
YnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGggaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFz
c2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRH
ZXR0ZXJDYWxsV2l0aCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAg
ICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUg
aW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAg
ICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD4oZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRl
ck5vSWRlbnRpZmllci5jcHAKaW5kZXggYzljMzRlNWNlODQ0N2Y2MjRkZTk3NjFjMTI2Y2JiOTVl
MTdjNmMzZC4uMzk4MjlmOWMxM2NhMzFlMWU4MTRjYTIwMWZhYjU1MWNmZjdkMGQxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
R2V0dGVyTm9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0yNzEsMjQg
KzI3MSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyN1Rlc3RO
YW1lZEdldHRlck5vSWRlbnRpZmllckVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFJlZjxUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXI+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNv
bnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3ROYW1lZEdldHRlck5vSWRlbnRpZmll
cj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAg
IGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwu
cHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXJAV2ViQ29y
ZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRp
ZmllcigiPz9fN1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKTsKICNl
bHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyN1Rl
c3ROYW1lZEdldHRlck5vSWRlbnRpZmllckVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjdUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXJF
WzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZEdldHRlck5vSWRl
bnRpZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0g
ICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFj
ZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RO
YW1lZEdldHRlck5vSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlm
aWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2Vy
dGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVz
dE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRHZXR0
ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllciB5
b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUg
U2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmlu
aXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVk
VlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91
IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFt
ZWRHZXR0ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZEdldHRlck5v
SWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllciB5
b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcg
dGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBk
ZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0g
ZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVu
dGlmaWVyLmNwcAppbmRleCBkMTg4NWMxOTk2NDJmNDc2NjZmZjI3NGMxOTNiOGE2NWM0YmU4OGY1
Li42NTFhOWFlNjVkYzUyODJmMmNlYmQxMWQ2MDM1ODhlOTYzOTA5ZTAzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJX
aXRoSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0yOTcsMjQgKzI5
NywyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyOVRlc3ROYW1l
ZEdldHRlcldpdGhJZGVudGlmaWVyRVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UmVmPFRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyPiYmIGltcGwpCiB7CiAKKyAgICBpZiBj
b25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRp
Zmllcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAg
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckBX
ZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19p
ZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJAV2ViQ29yZUBANkJA
Iik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJD
b3JlMjlUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07CisgICAgICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjlUZXN0TmFtZWRHZXR0ZXJXaXRo
SWRlbnRpZmllckVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQg
dG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5
bW9ycGhpYzxUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBn
ZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1l
ZEdldHRlcldpdGhJZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
Ci0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCisgICAgICAgIC8vIFRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIGhhcyBzdWJjbGFz
c2VzLiBJZiBUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0
IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFy
ZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0
cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2Vu
ZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3ROYW1lZEdldHRlcldpdGhJ
ZGVudGlmaWVyPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJOb0lkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAppbmRleCBmMGQ0NjU4YmQwZjU3
NzIxM2ZkOGM3MzZjNDBkZjFmNzk1ZjdjYmNjLi4yZjc2NTQ4ZjZiZDIyNjFkMDVlYTk1NDZiYjQ5
YzFmN2E5MmI5NDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRp
Zmllci5jcHAKQEAgLTM1MSwyNCArMzUxLDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCog
X1pUVk43V2ViQ29yZTI3VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyRVtdOyB9CiBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcj4mJiBp
bXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5h
bWVkU2V0dGVyTm9JZGVudGlmaWVyPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkK
LSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihp
bXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdl
dFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRl
ck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVy
QFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTI3VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyRVsyXTsKKyAgICAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyN1Rlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllckVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMg
VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlv
dSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6
aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyPjo6dmFsdWUsICJUZXN0
TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJ
ZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVl
IGJ1Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNz
ZXMuIElmIFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdl
dCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVk
U2V0dGVyTm9JZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0g
ICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhl
IGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhp
dCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9y
CisgICAgICAgIC8vIFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4g
SWYgVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBh
c3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVk
U2V0dGVyTm9JZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisg
ICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0
dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAg
fQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcj4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCmluZGV4IDEyZmIwOGFhODA3ZDA1
MmVkNzhkNjM0MDY4YWE0YzJhNWZmZjY5YTcuLmY3ZGE4OGQ3YzhhZmU1ZDIwYzMzNjY2MjVjZTgz
OGVmNDU2NmRjMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbi5jcHAKQEAgLTM1MSwyNCArMzUxLDIyIEBAIGV4dGVybiAiQyIgeyBleHRl
cm4gdm9pZCogX1pUVk43V2ViQ29yZTMyVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25F
W107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVkU2V0dGVyVGhy
b3dpbmdFeGNlcHRpb24+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19w
b2x5bW9ycGhpY192PFRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uPikgewogI2lmIEVO
QUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYg
UExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRp
ZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIp
OworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzMlRlc3RO
YW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzMlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbiBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0
byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHlt
b3JwaGljPFRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uPjo6dmFsdWUsICJUZXN0TmFt
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8v
IElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZy
ZWUgYnVnLCBvcgotICAgIC8vIFRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVp
cmUgVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24geW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9u
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9B
U1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAg
ICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBh
ZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24gaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9u
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24geW91IHRv
IG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBT
a2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5p
dGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVj
dGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBw
ZXI8VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVu
dGlmaWVyLmNwcAppbmRleCAyNmNmMzExNmMxNjM4ODY1YzQzNTVjY2M0MTQ0OTJjNDYxMTgzOTA5
Li5mM2Y0YTI3NDBhZmZmMWRlZTBlOTRlNDU2ZWVjY2JiNDE3MjQyYTk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0zODIsMjQgKzM4
MiwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyOVRlc3ROYW1l
ZFNldHRlcldpdGhJZGVudGlmaWVyRVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UmVmPFRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyPiYmIGltcGwpCiB7CiAKKyAgICBpZiBj
b25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRp
Zmllcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAg
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllckBX
ZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19p
ZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXJAV2ViQ29yZUBANkJA
Iik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJD
b3JlMjlUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07CisgICAgICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjlUZXN0TmFtZWRTZXR0ZXJXaXRo
SWRlbnRpZmllckVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVk
U2V0dGVyV2l0aElkZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQg
dG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5
bW9ycGhpYzxUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdE5hbWVk
U2V0dGVyV2l0aElkZW50aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBn
ZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1l
ZFNldHRlcldpdGhJZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
Ci0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCisgICAgICAgIC8vIFRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIGhhcyBzdWJjbGFz
c2VzLiBJZiBUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0
IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFy
ZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0
cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2Vu
ZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3ROYW1lZFNldHRlcldpdGhJ
ZGVudGlmaWVyPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKaW5kZXggODY0
Y2MxMDEyNjI3NjUzNzEzZmZjODliZTkyYjU5M2E4YTNhMmI2NC4uMWI5OGUwYTRlZDFjZjE5ZWM3
NjFjOTBmNzRlOTZkMGY5MzUwZDQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcApAQCAtNDI5LDI0ICs0MjksMjIgQEAgZXh0ZXJu
ICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMzJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlcj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHBy
IChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXI+
KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBj
b25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0
cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJAV2Vi
Q29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRl
bnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQFdlYkNvcmVAQDZC
QCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2Vi
Q29yZTMyVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJFWzJdOworICAgICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTMyVGVzdE5hbWVkU2V0dGVy
V2l0aEluZGV4ZWRHZXR0ZXJFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRl
c3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNv
IHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0
ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXI+Ojp2YWx1
ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyIGlzIG5vdCBwb2x5bW9ycGhpYyIp
OwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVy
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlciB5b3UgdG8gb3B0
IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJs
ZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAg
ICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9p
bnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBo
YXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWRTZXR0ZXJX
aXRoSW5kZXhlZEdldHRlciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkU2V0dGVyV2l0aElu
ZGV4ZWRHZXR0ZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRv
IHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdl
dHRlciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBh
ZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50
ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlcj4oZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJB
bmRTZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwCmluZGV4IDZjOThh
NmQwZDg3ZDI4ODkwNzk1ZWQwOGYyODFlNDgwN2UxMmI2OWIuLmYwMGZkYTQxYWE3YjZkNzc1NjZj
NGMzNmY4YjgwM2Q2NzQ5ZjVjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAKQEAgLTQ3OSwyNCAr
NDc5LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTQxVGVzdE5h
bWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyPiYmIGlt
cGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlcj4pIHsKICNpZiBFTkFCTEUoQklORElO
R19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZU
YWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJ
TikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdU
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckBXZWJDb3JlQEA2QkAiKTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183
VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXJAV2ViQ29yZUBANkJAIik7
CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3Jl
NDFUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckVbMl07CisgICAgICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlNDFUZXN0TmFtZWRT
ZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckVbMl07CiAjZW5kaWYKIAotICAgIC8vIElm
IHRoaXMgZmFpbHMgVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIgZG9l
cyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlv
bgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWRTZXR0ZXJX
aXRoSW5kZXhlZEdldHRlckFuZFNldHRlcj46OnZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyV2l0aElu
ZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0
ZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1
cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVy
IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRo
ZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVm
aW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0
ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5
b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RO
YW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyIGhhcyBzdWJjbGFzc2VzLiBJZiBU
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciBoYXMgc3ViY2xhc3NlcyB0
aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJl
IFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyIHlvdSB0byBvcHQgb3V0
IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJs
ZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RO
YW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyPihnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKaW5kZXggNjhlYjgwNDU3YWM3OGNl
ZTA3NmU5MGFlODg1MjIwOWJjZTcxZDZkOC4uM2RkYWYyZjk5ODZhMzdmYjZhZTY1OTg2MTMyZTdl
OTYwMjBiYjRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNl
dHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcApAQCAtMzI4LDI0ICszMjgsMjIgQEAg
ZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlNDFUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEkKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8
VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+JiYgaW1wbCkKIHsKIAor
ICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3ROYW1lZFNldHRlcldp
dGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklU
WSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRl
cihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9
IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNl
dHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0BXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0g
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU0MVRlc3ROYW1l
ZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRVsyXTsKKyAgICAgICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU0MVRlc3ROYW1lZFNldHRlcldpdGhM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWls
cyBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucyBkb2VzIG5vdCBoYXZl
IGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3Rh
dGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lP
dmVycmlkZUJ1aWx0SW5zPjo6dmFsdWUsICJUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJp
ZGVCdWlsdElucyBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhp
cyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAg
IC8vIFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGhhcyBzdWJjbGFz
c2VzLiBJZiBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucyBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJl
cXVpcmUgVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgeW91IHRvIG9w
dCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0g
ICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBv
aW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIg
aGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZFNl
dHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBh
c3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlv
biBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxF
QVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7
CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcy5jcHAKaW5kZXggOTFkODE3NjIxNDAyNjE3
NTRhOGI4M2VhZTcwMWQ0MjA1ODE0YTA2My4uNTA1NDBjYzIwMzJhMWQ4N2M1MDA0ZGM2NTU1ZmI1
ZjViZjk0ZmI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcy5jcHAKQEAgLTQxMiwyNCAr
NDEyLDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTQ2VGVzdE5h
bWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXM+
JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXM+KSB7CiAjaWYgRU5B
QkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50
ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBh
Y3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQ
TEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlm
aWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0BX
ZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19p
ZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVy
dGllc0BXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gJl9aVFZON1dlYkNvcmU0NlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXNFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTQ2VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVy
dGllc0VbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcyBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBz
byB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBh
dHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChz
dGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXM+Ojp2YWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAv
LyBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzIGhhcyBzdWJj
bGFzc2VzLiBJZiBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVz
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0
aWVzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5n
IHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwg
ZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhw
ZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMgaGFzIHN1YmNsYXNz
ZXMuIElmIFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0
aWVzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFk
ZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
SURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRl
ciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBj
cmVhdGVXcmFwcGVyPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRp
ZXM+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhM
ZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5z
LmNwcAppbmRleCBlNjI3YjFmOWFkZjA5MDVjNGRmODkwYjhiMmVjZjZmNmU3N2QxNjRhLi5hODI3
MDZmYmM2MDcxMjhlODVjMGI5ZWJjNWM4MGE5OGFkZDc5MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVn
YWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0
dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnMuY3BwCkBAIC0zODksMjQgKzM4OSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9a
VFZON1dlYkNvcmU3MVRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBybwogSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5m
b3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucz4mJiBpbXBsKQogewog
CisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+
KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBj
b25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0
cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxl
UHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNAV2ViQ29yZUBANkJAIik7CisgICAg
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RO
YW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTcxVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9y
Z2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNFWzJdOworICAgICAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTcxVGVzdE5hbWVkU2V0
dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnNFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZFNldHRlcldp
dGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRp
b24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+
Ojp2YWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNB
bmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8g
SWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJl
ZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RO
YW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMo
KSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFi
bGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyB5b3UgdG8gb3B0IG91dCBvZiBi
aW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRp
b24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNF
X0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7Cisg
ICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNl
IGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0Fu
ZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisg
ICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyB5
b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcg
dGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBk
ZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0g
ZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5k
TGVnYWN5T3ZlcnJpZGVCdWlsdElucz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5vZGUuY3BwCmluZGV4IDgxM2VmYjc2NDNiNTQ4MjQ1ZjcxZjIwOTZjNDgyMDkyYTg1NzYx
ZTIuLjI4MTI2MzY3ZWEyNDUyN2Y2OTIwMzAyMWFjZGU5OWEzZjZiYTJiNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5j
cHAKQEAgLTUzNSwyNCArNTM1LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43
V2ViQ29yZThUZXN0Tm9kZUVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0Tm9kZT4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3Jw
aGljX3Y8VGVzdE5vZGU+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNv
bnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRy
KCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxl
UG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5vZGVAV2ViQ29yZUBANkJA
Iik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigi
Pz9fN1Rlc3ROb2RlQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZThUZXN0Tm9kZUVbMl07CisgICAgICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlOFRlc3ROb2RlRVsyXTsKICNl
bmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Tm9kZSBkb2VzIG5vdCBoYXZlIGEgdnRh
YmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fz
c2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROb2RlPjo6dmFsdWUsICJUZXN0Tm9kZSBpcyBu
b3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91
IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3ROb2RlIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0Tm9kZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQK
LSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5vZGUgeW91IHRvIG9w
dCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0g
ICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBv
aW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIg
aGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdE5vZGUgaGFzIHN1
YmNsYXNzZXMuIElmIFRlc3ROb2RlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAg
ICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5vZGUgeW91IHRvIG9w
dCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lw
VlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlv
bgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVk
VlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
VGVzdE5vZGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5k
ZXggYzE3N2I2MTQwZmE3ZTI1NDM1M2RjZjdkNDM1ZmJhNGZmMGFiNDQ5Ni4uY2M0MzA5ODJiMWU0
OWNmZGIzZGVhZGUwOGEyYzQyZTZkMTMxZGI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTkxMzMsMjQgKzkx
MzMsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlN1Rlc3RPYmpF
W107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE9iaj4mJiBpbXBsKQog
ewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE9iaj4pIHsK
ICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkp
OwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0T2JqQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T2JqQFdlYkNvcmVA
QDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43
V2ViQ29yZTdUZXN0T2JqRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gJl9aVFZON1dlYkNvcmU3VGVzdE9iakVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMg
ZmFpbHMgVGVzdE9iaiBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQg
dGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGlu
dGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGlj
PFRlc3RPYmo+Ojp2YWx1ZSwgIlRlc3RPYmogaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAv
LyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBm
cmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0T2JqIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0T2JqIGhh
cyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50
bHkgcmVxdWlyZSBUZXN0T2JqIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0g
ICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhl
IGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhp
dCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9y
CisgICAgICAgIC8vIFRlc3RPYmogaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RPYmogaGFzIHN1YmNs
YXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkg
cmVxdWlyZSBUZXN0T2JqIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAg
ICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRo
ZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFs
VlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQog
ICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RPYmo+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShp
bXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwuY3BwCmlu
ZGV4IGRkYTVkYzg2M2QxMzRhMWEzNzYxZmQ4Nzg1ODJhZDA4YzQwZWY2MTkuLmNjZWViNDFmMWZj
ZDM1OTc3ODg3ZDI2Y2RmMjk4OThmMTdjYjU3MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9wZXJh
dGlvbkNvbmRpdGlvbmFsLmNwcApAQCAtMjg1LDI0ICsyODUsMjIgQEAgZXh0ZXJuICJDIiB7IGV4
dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjRUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxFW107IH0K
IEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFs
PiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxU
ZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWw+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZ
KQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVy
KGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0g
Z2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE9wZXJhdGlv
bkNvbmRpdGlvbmFsQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxAV2Vi
Q29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZf
WlRWTjdXZWJDb3JlMjRUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxFWzJdOworICAgICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI0VGVzdE9wZXJhdGlvbkNv
bmRpdGlvbmFsRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0T3BlcmF0
aW9uQ29uZGl0aW9uYWwgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRk
IHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhp
YzxUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWw+Ojp2YWx1ZSwgIlRlc3RPcGVyYXRpb25Db25kaXRp
b25hbCBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3Nl
cnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRl
c3RPcGVyYXRpb25Db25kaXRpb25hbCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE9wZXJhdGlvbkNv
bmRpdGlvbmFsIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMo
KSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwgeW91IHRvIG9w
dCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0g
ICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBv
aW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIg
aGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdE9wZXJhdGlvbkNv
bmRpdGlvbmFsIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwgeW91IHRvIG9wdCBvdXQgb2Yg
YmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFs
aWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAg
ICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9p
bnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE9wZXJh
dGlvbkNvbmRpdGlvbmFsPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKaW5kZXggNGJjY2YzMmNl
YTRlOWUzMmIyYmYxNGE4NTJjYmY1YzI0ZWNlMWVmNS4uYWM0YzEyNGFkNTAyYjU5ZTViN2IzMDk1
MmI3MGRjMzYwODJiYWQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzLmNwcApAQCAtMzU2LDI0ICszNTYsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lk
KiBfWlRWTjdXZWJDb3JlMjZUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0VbXTsgfQogSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4mJiBp
bXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQot
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0
VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnNAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQFdl
YkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTI2VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNFWzJdOworICAgICAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI2VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnNFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVk
IHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9s
eW1vcnBoaWM8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+Ojp2YWx1ZSwgIlRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhp
dCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9y
Ci0gICAgLy8gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMgaGFzIHN1YmNsYXNzZXMuIElmIFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAot
ICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFk
ZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
SURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09
IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3Nl
cnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAv
LyBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAg
IC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBh
ZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50
ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCmluZGV4IDZmY2YwZDdiOTIwNzVmZWU5
YzM2ODY1Y2Q0ZWFmZDM3OTJmZWFhYjUuLjIwYmY0NjNlYjU2NmNjY2Q1YmM0MWI3Nzk0MTA3Mzlh
ZjlhZTJjMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAKQEAgLTI5MywyNCArMjkzLDIyIEBAIGV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTM4VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2VFCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25z
dGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dp
dGhTZXF1ZW5jZT4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qg
dm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7
CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2lu
dGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW5jZUBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNX
aXRoU2VxdWVuY2VAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzhUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dp
dGhTZXF1ZW5jZUVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZf
WlRWTjdXZWJDb3JlMzhUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUVbMl07
CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2UgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRk
IHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhp
YzxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT46OnZhbHVlLCAiVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UgaXMgbm90IHBvbHltb3JwaGljIik7Ci0K
LSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBh
ZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhT
ZXF1ZW5jZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRo
U2VxdWVuY2UgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygp
IHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVl
bmNlIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5n
IHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwg
ZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhw
ZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIGhhcyBzdWJjbGFzc2VzLiBJZiBU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZSBoYXMgc3ViY2xhc3NlcyB0aGF0
IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIHlvdSB0byBvcHQgb3V0IG9mIGJp
bmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlk
YXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50
ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwCmluZGV4IDEzNDUzY2I3NDQ1
N2Y2NzgwMzc3YTU5NjhiMTA0ODRjY2E4MWU0YjUuLjU0YzY4NjRhNDhkZDNkZjUxYmI0OGY5YTRj
YTgyZDMyMTYyNGIyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwCkBAIC0z
MDUsMjQgKzMwNSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUx
OVRlc3RQbHVnaW5JbnRlcmZhY2VFW107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBS
ZWY8VGVzdFBsdWdpbkludGVyZmFjZT4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChz
dGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFBsdWdpbkludGVyZmFjZT4pIHsKICNpZiBFTkFCTEUo
QklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9
IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRG
T1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0UGx1Z2luSW50ZXJmYWNlQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0UGx1Z2luSW50ZXJm
YWNlQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSAmX1pUVk43V2ViQ29yZTE5VGVzdFBsdWdpbkludGVyZmFjZUVbMl07CisgICAgICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTlUZXN0UGx1Z2luSW50
ZXJmYWNlRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0UGx1Z2luSW50
ZXJmYWNlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAg
ICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFBs
dWdpbkludGVyZmFjZT46OnZhbHVlLCAiVGVzdFBsdWdpbkludGVyZmFjZSBpcyBub3QgcG9seW1v
cnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBo
YXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RQbHVnaW5JbnRlcmZhY2Ug
aGFzIHN1YmNsYXNzZXMuIElmIFRlc3RQbHVnaW5JbnRlcmZhY2UgaGFzIHN1YmNsYXNzZXMgdGhh
dCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RQ
bHVnaW5JbnRlcmZhY2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAv
LyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9p
bnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRo
aXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAg
ICAgICAgLy8gVGVzdFBsdWdpbkludGVyZmFjZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFBsdWdp
bkludGVyZmFjZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RQbHVnaW5JbnRlcmZhY2UgeW91IHRvIG9w
dCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lw
VlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlv
bgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVk
VlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
VGVzdFBsdWdpbkludGVyZmFjZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAppbmRleCA4MjE4MzM3
NWIzOThlMzc0OTAwN2RlNDI5OTMxN2Q2OWQ0MjJlODRiLi5iNDYzNzJiZWZhOWNkMDQ0NjdiYzI0
ZWRkYzAyM2IwYjQ4YTQ3Y2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50LmNwcApAQCAtMzM5LDI0ICszMzksMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lk
KiBfWlRWTjdXZWJDb3JlMjVUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50RVtdOyB9CiBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+JiYgaW1w
bCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RQcm9t
aXNlUmVqZWN0aW9uRXZlbnQ+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAg
IGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwu
cHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRh
YmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFByb21pc2VSZWplY3Rp
b25FdmVudEBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFByb21pc2VSZWplY3Rpb25FdmVudEBXZWJDb3Jl
QEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZO
N1dlYkNvcmUyNVRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRFWzJdOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI1VGVzdFByb21pc2VSZWplY3Rp
b25FdmVudEVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFByb21pc2VS
ZWplY3Rpb25FdmVudCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQg
dGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGlu
dGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGlj
PFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+Ojp2YWx1ZSwgIlRlc3RQcm9taXNlUmVqZWN0aW9u
RXZlbnQgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBU
ZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0UHJvbWlzZVJl
amVjdGlvbkV2ZW50IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRv
SlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IHlvdSB0
byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lw
VlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlv
bgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFi
bGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0
aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RQcm9taXNl
UmVqZWN0aW9uRXZlbnQgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RQcm9taXNlUmVqZWN0aW9uRXZl
bnQgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3
ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZU
YWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24K
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRl
c3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RSZWFkT25seU1hcExpa2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHAKaW5kZXggNTZkMjU3NTk0MDg0NGE1
NWMwZDMyN2ZiZTk5MWIwMDYyZDM4MjFjNS4uZDE4MmU5YmVjZjQ1NDA2YmIwMDIyOTZlN2JhMWNk
NTA2ZmVhNTcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHAKQEAgLTM1Niwy
NCArMzU2LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTE5VGVz
dFJlYWRPbmx5TWFwTGlrZUVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0UmVhZE9ubHlNYXBMaWtlPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6
aXNfcG9seW1vcnBoaWNfdjxUZXN0UmVhZE9ubHlNYXBMaWtlPikgewogI2lmIEVOQUJMRShCSU5E
SU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0
VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0o
V0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9f
N1Rlc3RSZWFkT25seU1hcExpa2VAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RSZWFkT25seU1hcExpa2VA
V2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
ICZfWlRWTjdXZWJDb3JlMTlUZXN0UmVhZE9ubHlNYXBMaWtlRVsyXTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxOVRlc3RSZWFkT25seU1hcExp
a2VFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RSZWFkT25seU1hcExp
a2UgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8v
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVm
aW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0UmVhZE9u
bHlNYXBMaWtlPjo6dmFsdWUsICJUZXN0UmVhZE9ubHlNYXBMaWtlIGlzIG5vdCBwb2x5bW9ycGhp
YyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUg
YSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdFJlYWRPbmx5TWFwTGlrZSBoYXMg
c3ViY2xhc3Nlcy4gSWYgVGVzdFJlYWRPbmx5TWFwTGlrZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdl
dCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFJlYWRP
bmx5TWFwTGlrZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5
IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZh
Y2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVy
ID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBh
c3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAg
ICAvLyBUZXN0UmVhZE9ubHlNYXBMaWtlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0UmVhZE9ubHlN
YXBMaWtlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pT
KCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFJlYWRPbmx5TWFwTGlrZSB5b3UgdG8gb3B0IG91
dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFi
bGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0
UmVhZE9ubHlNYXBMaWtlPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVh
ZE9ubHlTZXRMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RSZWFkT25seVNldExpa2UuY3BwCmluZGV4IDQ2M2QxMTI0YmJjY2I2MjEyNmE5OTcz
NDQwYjU2ZTM0ODUwYTFiYjkuLjY0ZTFhMjMyMTNmMTU1M2FiNjVkMjQzNTA3NmEwZWM4NzViNWMx
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RSZWFkT25seVNldExpa2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seVNldExpa2UuY3BwCkBAIC0zMzUsMjQgKzMzNSwy
MiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxOVRlc3RSZWFkT25s
eVNldExpa2VFW107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFJlYWRP
bmx5U2V0TGlrZT4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHlt
b3JwaGljX3Y8VGVzdFJlYWRPbmx5U2V0TGlrZT4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRF
R1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50
ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0UmVh
ZE9ubHlTZXRMaWtlQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0UmVhZE9ubHlTZXRMaWtlQFdlYkNvcmVA
QDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43
V2ViQ29yZTE5VGVzdFJlYWRPbmx5U2V0TGlrZUVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTlUZXN0UmVhZE9ubHlTZXRMaWtlRVsyXTsK
ICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0UmVhZE9ubHlTZXRMaWtlIGRvZXMg
bm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24K
LSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFJlYWRPbmx5U2V0TGlr
ZT46OnZhbHVlLCAiVGVzdFJlYWRPbmx5U2V0TGlrZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQot
ICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFm
dGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RSZWFkT25seVNldExpa2UgaGFzIHN1YmNsYXNz
ZXMuIElmIFRlc3RSZWFkT25seVNldExpa2UgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2Vk
Ci0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RSZWFkT25seVNldExp
a2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcg
dGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBk
ZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9u
IHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVz
dFJlYWRPbmx5U2V0TGlrZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFJlYWRPbmx5U2V0TGlrZSBo
YXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1
cnJlbnRseSByZXF1aXJlIFRlc3RSZWFkT25seVNldExpa2UgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRh
dGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBS
RUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRl
cik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdFJlYWRPbmx5
U2V0TGlrZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4dHJh
TWVtb3J5Q29zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcAppbmRleCA1NTQxODQwMWE2YzE4MjlmYThj
NTAzOThiODllMjNmMmQ3MjllM2M5Li4yMjlkYjg3ZTk1ZGFhMTdjNzA4NTVhNjU0YWM2NWFlNGMx
ZDcyZTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcApA
QCAtMjM5LDI0ICsyMzksMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJD
b3JlMjVUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0RVtdOyB9CiBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgUmVmPFRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q+JiYgaW1wbCkKIHsKIAorICAg
IGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RSZXBvcnRFeHRyYU1lbW9y
eUNvc3Q+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQq
IGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAg
ICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihp
bXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdEBXZWJD
b3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVu
dGlmaWVyKCI/P183VGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdEBXZWJDb3JlQEA2QkAiKTsKICNl
bHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNVRl
c3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI1VGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdEVbMl07
CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29z
dCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8g
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZp
bml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RSZXBvcnRF
eHRyYU1lbW9yeUNvc3Q+Ojp2YWx1ZSwgIlRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QgaXMgbm90
IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBl
aXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0UmVwb3J0RXh0
cmFNZW1vcnlDb3N0IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0IHlvdSB0byBvcHQgb3V0IG9m
IGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRh
dGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVB
U0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsK
KyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RSZXBvcnRFeHRyYU1lbW9yeUNv
c3QgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QgaGFzIHN1YmNs
YXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkg
cmVxdWlyZSBUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRp
bmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRp
b24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIp
OwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RSZXBvcnRFeHRy
YU1lbW9yeUNvc3Q+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5k
ZXggMzVjY2JiZTNhMDE4NTZiM2UyNWZmNzJhODI5NTQ3ZjRkODM3Y2UxNi4uNWI3MzVmN2YzNjYz
NDI1Mzg2MjRlMjJiYzk5ZTQ3ODNmODZiZTgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTQxMiwyNCArNDEyLDIy
IEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTM0VGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUVbXTsKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBS
ZWY8VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT4mJiBpbXBsKQogewogCisgICAg
aWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZT4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29u
c3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIo
KSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQ
b2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSAmX1pUVk43V2ViQ29yZTM0VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZUVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJD
b3JlMzRUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlRVsyXTsKICNlbmRpZgogCi0g
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlIGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRp
b24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZT46OnZhbHVlLCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBh
c3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8v
IFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgaGFzIHN1YmNsYXNzZXMuIElmIFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5p
bmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFs
VlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKKyAgICAgICAgLy8gVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSBoYXMg
c3ViY2xhc3Nlcy4gSWYgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgeW91IHRvIG9wdCBv
dXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRh
YmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgor
ICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRh
YmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFNldExpa2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFNldExpa2UuY3BwCmluZGV4IDY5YzYwNDY1MjAyMzM2OTgyZTlhMjcz
ZTBjMTUwZmU3YjNkMGQ4MjEuLjEyYTdkNTg5NTM5YzE2MzA3OGJjY2ZjMmJmYWI3NTNiYTA0ZTVm
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTZXRMaWtlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U2V0TGlrZS5jcHAKQEAgLTM5MywyNCArMzkzLDIyIEBAIGV4dGVybiAiQyIg
eyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTExVGVzdFNldExpa2VFW107IH0KIEpTQzo6SlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFNldExpa2U+JiYgaW1wbCkKIHsKIAorICAgIGlm
IGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RTZXRMaWtlPikgewogI2lmIEVO
QUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYg
UExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRp
ZmllcigiPz9fN1Rlc3RTZXRMaWtlQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U2V0TGlrZUBXZWJDb3Jl
QEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZO
N1dlYkNvcmUxMVRlc3RTZXRMaWtlRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gJl9aVFZON1dlYkNvcmUxMVRlc3RTZXRMaWtlRVsyXTsKICNlbmRpZgogCi0gICAg
Ly8gSWYgdGhpcyBmYWlscyBUZXN0U2V0TGlrZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5
b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRy
aWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX3BvbHltb3JwaGljPFRlc3RTZXRMaWtlPjo6dmFsdWUsICJUZXN0U2V0TGlrZSBpcyBub3Qg
cG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVp
dGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RTZXRMaWtlIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0U2V0TGlrZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNz
ZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFNldExpa2UgeW91
IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNr
aXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0
aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBl
aXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdFNldExp
a2UgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTZXRMaWtlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0
IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFNl
dExpa2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkg
YWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFj
ZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2lu
dGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8VGVzdFNldExpa2U+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zLmNwcAppbmRleCA4OWIwOGVmMDk2YWIyNDE4YTAyNjNlOTI0ZGJjYzMwZWUxZGVj
YzhjLi43MmYxMDMyMDYzMGMwODBiNDJlMTM5OWJjYzJhNGFlNDFiNzlmZTE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdp
dGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3Bw
CkBAIC00MDUsMjQgKzQwNSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dl
YkNvcmUzNVRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zRVtdOwogSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9u
cz4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8
VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM+KSB7CiAjaWYgRU5BQkxFKEJJTkRJ
TkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRW
VGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFi
bGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShX
SU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183
VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNAV2ViQ29yZUBANkJAIik7CisgICAg
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RT
ZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM1VGVzdFNldExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM1VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnNFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTZXRMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBu
ZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNf
cG9seW1vcnBoaWM8VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM+Ojp2YWx1ZSwg
IlRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIGlzIG5vdCBwb2x5bW9ycGhpYyIp
OwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVy
YXRpb25zIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3
ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyB5
b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUg
U2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmlu
aXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVk
VlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91
IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0U2V0
TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFNldExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2Vk
CisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0U2V0TGlrZVdp
dGhPdmVycmlkZGVuT3BlcmF0aW9ucyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmlu
ZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgor
ICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVu
T3BlcmF0aW9ucz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lm
aWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dHJpbmdpZmllci5jcHAKaW5kZXggNmFhZDY1MGM5ZDMxMjIwZTMwMmQ5YmMyYmJkMGMyOGMwNmY4
YjI2My4uODYzOTdiMTFmNmM3MjNjOTc1ZjY5ZmQyYmQ1ZmRkMTc3YWM5YmE1MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lm
aWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U3RyaW5naWZpZXIuY3BwCkBAIC0yNDMsMjQgKzI0MywyMiBAQCBleHRlcm4gIkMiIHsgZXh0
ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxNVRlc3RTdHJpbmdpZmllckVbXTsgfQogSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0U3RyaW5naWZpZXI+JiYgaW1wbCkKIHsKIAorICAg
IGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RTdHJpbmdpZmllcj4pIHsK
ICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkp
OwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5naWZpZXJAV2ViQ29yZUBANkJAIik7CisgICAgICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RTdHJp
bmdpZmllckBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gJl9aVFZON1dlYkNvcmUxNVRlc3RTdHJpbmdpZmllckVbMl07CisgICAgICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTVUZXN0U3RyaW5naWZp
ZXJFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTdHJpbmdpZmllciBk
b2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0
aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RTdHJpbmdpZmll
cj46OnZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAg
Ly8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIg
ZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdFN0cmluZ2lmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBU
ZXN0U3RyaW5naWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTdHJpbmdpZmllciB5b3UgdG8gb3B0IG91
dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZh
bGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBS
RUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRl
cik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZl
IGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0U3RyaW5naWZpZXIgaGFz
IHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBw
YXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTdHJp
bmdpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBi
eSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJm
YWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBv
aW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxUZXN0U3RyaW5naWZpZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShp
bXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1v
dXNPcGVyYXRpb24uY3BwCmluZGV4IDhmMTYwNGE2OTljNGFmOGQyZmMxMjhjNjAyZGY1NTY5ZTg3
MjdiNGUuLjg4MjY2ODdhN2ZlN2Y3NmU5YmRkZjUzMTQzYjIxNTMzZjdjZmY3MTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdp
ZmllckFub255bW91c09wZXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcApA
QCAtMjQzLDI0ICsyNDMsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJD
b3JlMzNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb25FW107IH0KIEpTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uPiYm
IGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0
U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5U
RUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQ
b2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0g
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFN0
cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5naWZp
ZXJBbm9ueW1vdXNPcGVyYXRpb25AV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzNUZXN0U3RyaW5naWZpZXJBbm9u
eW1vdXNPcGVyYXRpb25FWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTMzVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uRVsyXTsK
ICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNP
cGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQot
ICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZh
Y2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0
U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24+Ojp2YWx1ZSwgIlRlc3RTdHJpbmdpZmllckFu
b255bW91c09wZXJhdGlvbiBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBo
aXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBv
cgotICAgIC8vIFRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbiBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uIGhhcyBzdWJjbGFzc2VzIHRo
YXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0
U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24geW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBo
YXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQo
YWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAv
LyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBm
cmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9u
IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24gaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24geW91IHRvIG9w
dCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lw
VlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlv
bgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVk
VlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uPihnbG9iYWxPYmplY3QsIFdURk1vdmUo
aW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJh
dGlvbi5jcHAKaW5kZXggMjc3ZGFkOTk3MjA1NWFhMzk3MGRiMDNiNTQ1NmM4YmFjMDc4NDQxNS4u
M2RmZDMwN2Q1ZjEzNDcyZDkxMDQ1Yjk2YjkyYWYxMjcyMjAxN2UwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFt
ZWRPcGVyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNwcApAQCAtMjYwLDI0ICsyNjAs
MjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjlUZXN0U3RyaW5n
aWZpZXJOYW1lZE9wZXJhdGlvbkVbXTsgfQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJl
ZjxUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbj4mJiBpbXBsKQogewogCisgICAgaWYgY29u
c3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRp
b24+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFj
dHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAg
ICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBs
LnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25AV2Vi
Q29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRl
bnRpZmllcigiPz9fN1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uQFdlYkNvcmVAQDZCQCIp
OwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29y
ZTI5VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb25FWzJdOworICAgICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI5VGVzdFN0cmluZ2lmaWVyTmFtZWRP
cGVyYXRpb25FWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTdHJpbmdp
Zmllck5hbWVkT3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRv
IGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1v
cnBoaWM8VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24+Ojp2YWx1ZSwgIlRlc3RTdHJpbmdp
Zmllck5hbWVkT3BlcmF0aW9uIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCi0gICAgLy8gVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24gaGFzIHN1YmNsYXNzZXMu
IElmIFRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0
IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0U3RyaW5n
aWZpZXJOYW1lZE9wZXJhdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwot
ICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRo
ZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFi
bGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBo
aXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBv
cgorICAgICAgICAvLyBUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbiBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24gaGFzIHN1YmNsYXNzZXMgdGhhdCBn
ZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0
U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRl
bmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRp
ZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0U3RyaW5naWZpZXJOYW1lZE9w
ZXJhdGlvbj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVy
T3BlcmF0aW9uSW1wbGVtZW50ZWRBcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcApp
bmRleCBiOTZmZjk5ZjI1NTllODM4YWQ5ZjBhMGFjM2Y1YTU1ZTIxMjFmMTQ1Li4yNmU1NWM4MTIz
OTIwNDYwZTdiZTY4MTRlNDRiNjg5ZDAzNjI3MmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBs
ZW1lbnRlZEFzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcApAQCAtMjYwLDI0
ICsyNjAsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMzdUZXN0
U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzRVsKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBSZWY8VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcz4mJiBpbXBs
KQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFN0cmlu
Z2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcz4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRF
R1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50
ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3Ry
aW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM3VGVzdFN0cmluZ2lm
aWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBc0VbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBs
ZW1lbnRlZEFzRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlv
dSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6
aXNfcG9seW1vcnBoaWM8VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcz46OnZh
bHVlLCAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyBpcyBub3QgcG9seW1v
cnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBo
YXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RTdHJpbmdpZmllck9wZXJh
dGlvbkltcGxlbWVudGVkQXMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllck9wZXJh
dGlvbkltcGxlbWVudGVkQXMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8g
dG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbklt
cGxlbWVudGVkQXMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBi
eSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJm
YWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRl
ciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAg
ICAgLy8gVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyBoYXMgc3ViY2xhc3Nl
cyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1
aXJlIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMgeW91IHRvIG9wdCBvdXQg
b2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxl
VmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAg
ICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxl
UG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdFN0
cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVy
YXRpb25OYW1lZFRvU3RyaW5nLmNwcAppbmRleCAyM2VlMjg5Y2Q5MzBkZjJjNTU5OWUwZGM5ZTI3
ODk1ZGM5NWFkZWExLi43ZWZhNzM0ZThlYWVlN2UzMTE4ZTQzZjExYjNhNTI3ZGI5MTVmY2E0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1l
ZFRvU3RyaW5nLmNwcApAQCAtMjQzLDI0ICsyNDMsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2
b2lkKiBfWlRWTjdXZWJDb3JlMzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5n
RVsKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFN0cmluZ2lmaWVyT3BlcmF0
aW9uTmFtZWRUb1N0cmluZz4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6Omlz
X3BvbHltb3JwaGljX3Y8VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZz4pIHsK
ICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0
IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkp
OwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nQFdl
YkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nQFdlYkNv
cmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pU
Vk43V2ViQ29yZTM3VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZ0VbMl07Cisg
ICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzdUZXN0
U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nRVsyXTsKICNlbmRpZgogCi0gICAgLy8g
SWYgdGhpcyBmYWlscyBUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIGRvZXMg
bm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24K
LSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFN0cmluZ2lmaWVyT3Bl
cmF0aW9uTmFtZWRUb1N0cmluZz46OnZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFt
ZWRUb1N0cmluZyBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhp
cyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAg
IC8vIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcgaGFzIHN1YmNsYXNzZXMu
IElmIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcgaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9u
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9B
U1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAg
ICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBh
ZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFt
ZWRUb1N0cmluZyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFt
ZWRUb1N0cmluZyBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVk
VG9TdHJpbmcgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8g
YnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVy
ZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQ
b2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZz4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlB
dHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwCmluZGV4IGNlYjY5ODBkZDNjZGNm
NzZkN2U4OTZhNzg1OTE2YWQ3N2ViYTFmMjkuLmNhNmRmMWFiNzMzZmUxOWY0Yjg4NmI3OGExMDZi
MWRhZjJhMjdjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFk
T25seUF0dHJpYnV0ZS5jcHAKQEAgLTI1OSwyNCArMjU5LDIyIEBAIGV4dGVybiAiQyIgeyBleHRl
cm4gdm9pZCogX1pUVk43V2ViQ29yZTMyVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVF
W107IH0KIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFN0cmluZ2lmaWVyUmVh
ZE9ubHlBdHRyaWJ1dGU+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19w
b2x5bW9ycGhpY192PFRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlPikgewogI2lmIEVO
QUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYg
UExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRp
ZmllcigiPz9fN1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlQFdlYkNvcmVAQDZCQCIp
OworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZUBXZWJDb3JlQEA2QkAiKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzMlRlc3RT
dHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzMlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0
cmlidXRlRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0U3RyaW5naWZp
ZXJSZWFkT25seUF0dHJpYnV0ZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0
byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHlt
b3JwaGljPFRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlPjo6dmFsdWUsICJUZXN0U3Ry
aW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8v
IElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZy
ZWUgYnVnLCBvcgotICAgIC8vIFRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZSBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVp
cmUgVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9u
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9B
U1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAg
ICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBh
ZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRy
aWJ1dGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRl
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUgeW91IHRv
IG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBT
a2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5p
dGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVj
dGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBw
ZXI8VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGU+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFk
V3JpdGVBdHRyaWJ1dGUuY3BwCmluZGV4IDZlZmMzYzViNWY4OGJiZjc3NTIwMTMwMDVkNjhlMGJi
MjA3MGU2ZDMuLmUwMDk3YTZkN2Y2NTVjMDY1MTRiNTg0M2UyODEzMWY0Yzg1ZjQ3MDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNw
cApAQCAtMjc4LDI0ICsyNzgsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdX
ZWJDb3JlMzNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVFW107IH0KIEpTQzo6SlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRl
PiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxU
ZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGU+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdf
SU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFi
bGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4p
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVz
dFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5n
aWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzNUZXN0U3RyaW5naWZpZXJS
ZWFkV3JpdGVBdHRyaWJ1dGVFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSAmX1pUVk43V2ViQ29yZTMzVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlRVsy
XTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0U3RyaW5naWZpZXJSZWFkV3Jp
dGVBdHRyaWJ1dGUgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRo
ZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRl
cmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxU
ZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGU+Ojp2YWx1ZSwgIlRlc3RTdHJpbmdpZmll
clJlYWRXcml0ZUF0dHJpYnV0ZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlv
dSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVn
LCBvcgotICAgIC8vIFRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZSBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIGhhcyBzdWJjbGFzc2Vz
IHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBU
ZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NF
UlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAg
ICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRl
ciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmli
dXRlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUg
aGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBj
dXJyZW50bHkgcmVxdWlyZSBUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUgeW91IHRv
IG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBT
a2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5p
dGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVj
dGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBw
ZXI8VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlPihnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAppbmRleCBjMzQzZDI4YjYwMDE4N2Ji
ZmU3Y2VmMmJlODZmZDM1NzJkM2NlZDMwLi4xNDdjMDExZDk0ODkyNTY2Mjc5ZWE3ODlmNTg0MWJi
NWJkMGYzNGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKQEAgLTgzMSwyNCArODMxLDIyIEBAIGV4
dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTEyVGVzdFR5cGVkZWZzRVtdOyB9
CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RUeXBlZGVmcz4mJiBpbXBsKQog
ewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFR5cGVkZWZz
PikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1
YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAg
Y29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5w
dHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RUeXBlZGVmc0BXZWJDb3JlQEA2QkAiKTsKKyAgICAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFR5
cGVkZWZzQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSAmX1pUVk43V2ViQ29yZTEyVGVzdFR5cGVkZWZzRVsyXTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxMlRlc3RUeXBlZGVmc0VbMl07
CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFR5cGVkZWZzIGRvZXMgbm90IGhh
dmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBz
dGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFR5cGVkZWZzPjo6dmFsdWUsICJU
ZXN0VHlwZWRlZnMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRo
aXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAg
ICAvLyBUZXN0VHlwZWRlZnMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RUeXBlZGVmcyBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJl
cXVpcmUgVGVzdFR5cGVkZWZzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0g
ICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhl
IGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhp
dCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9y
CisgICAgICAgIC8vIFRlc3RUeXBlZGVmcyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFR5cGVkZWZz
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdFR5cGVkZWZzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcg
aGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24g
YXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFT
RV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwog
I2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RUeXBlZGVmcz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2UuaWRsIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2UuaWRsCmluZGV4IDZjZjYxOTk3
NjM3NzYzMWMyNTY1MDJjZmQ0YTRkMmFmNmU3OWVjNGQuLjUxZTRmNWM5ZmQ0YTczMDYyNmU2Yzc2
NTA1YjYyNmM4M2YwOTExY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGwKQEAgLTMzLDcgKzMzLDYgQEAKICAgICBD
dXN0b21QdXQsCiAgICAgQ29uZGl0aW9uYWw9Q29uZGl0aW9uMXxDb25kaXRpb24yLAogICAgIEV4
cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFRlc3RJbnRlcmZhY2UgewogICAgIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihET01TdHJpbmcgc3Ry
MSwgb3B0aW9uYWwgRE9NU3RyaW5nIHN0cjIgPSAiZGVmYXVsdFN0cmluZyIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2VMZWFk
aW5nVW5kZXJzY29yZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmlkbAppbmRleCBjNTFjYjJhOGEyMDRkNDU4
ZmJmZDJiZWM4NzhiMTU5OTE2OGY4NTFjLi43NjY2MWE2ZTc1ZDAzY2FkMzVjMTljZjdiMTBhOWQ1
ZmQ2MWNmYTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmlk
bApAQCAtMjgsNyArMjgsNiBAQAogCiAvLyBJZGVudGlmaWVycyB3aXRoIGEgbGVhZGluZyB1bmRl
cnNjb3JlLCB3aGljaCBzaG91bGQgYmUgcmVtb3ZlZC4KIFsKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9VGVzdEdsb2JhbE9iamVjdAogXSBpbnRlcmZhY2UgX1Rl
c3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZSB7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIF9yZWFkb25seTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWlu
dFNpemUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50U2l6ZS5pZGwKaW5kZXggMWRj
OGMwOTU3ZTIzZDVlYjkwOGQwZGQzYTUyY2I2MzlhZTY0Y2M5ZS4uOGFhZWEyYTA0OTJhYWQwZGU5
NTM1ZDQzMjYzOTljYWMxNDQ4NzdmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhaW50U2l6ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50U2l6ZS5pZGwK
QEAgLTI3LDcgKzI3LDYgQEAKICAgICBFbmFibGVkQXRSdW50aW1lPUNTU1BhaW50aW5nQVBJRW5h
YmxlZCwKICAgICBDb25kaXRpb25hbD1DU1NfUEFJTlRJTkdfQVBJLAogICAgIEV4cG9zZWQ9UGFp
bnRXb3JrbGV0LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBD
U1NQYWludFNpemUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgd2lkdGg7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBoZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRE9NTWF0cml4LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguaWRs
CmluZGV4IGI0Mzg5MTY0ZjEyZDRlZDZjY2IwNTg1NmM1ODVlMjY2YTA2NjA3NzMuLmRmMTQ2NzQ5
MWQyODJlMmExNTFmOWNkM2U3NDI4YmU4MmU5NmRiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9ET01NYXRyaXguaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXgu
aWRsCkBAIC0yOSw3ICsyOSw2IEBACiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAg
TGVnYWN5V2luZG93QWxpYXM9V2ViS2l0Q1NTTWF0cml4LAogICAgIEpTR2VuZXJhdGVUb05hdGl2
ZU9iamVjdCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01N
YXRyaXggOiBET01NYXRyaXhSZWFkT25seSB7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRdIGNvbnN0cnVjdG9yKG9wdGlvbmFsIChET01TdHJpbmcgb3Igc2VxdWVuY2U8dW5y
ZXN0cmljdGVkIGRvdWJsZT4pIGluaXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvRE9NTWF0cml4UmVhZE9ubHkuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeFJl
YWRPbmx5LmlkbAppbmRleCAyYzA3NDNmZmUyNWUzOGFkMjkxNzY3ZDQzNGMyMTA0ZWU0ZTc4NTMx
Li5kMTY3ODE2NDIwODYzNmRjZTY4ZWU4NzYwODBjMjIxNjYxYzIyOThlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHkuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9ET01NYXRyaXhSZWFkT25seS5pZGwKQEAgLTI2LDcgKzI2LDYgQEAKIFsKICAgICBF
eHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01NYXRyaXhSZWFk
T25seSB7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9y
KG9wdGlvbmFsIChET01TdHJpbmcgb3Igc2VxdWVuY2U8dW5yZXN0cmljdGVkIGRvdWJsZT4pIGlu
aXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NQ291
bnRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NQ291bnRlci5pZGwK
aW5kZXggZjFhMzFkYmRhYjhmY2M2YjBhNmMzY2Q5OWNhNjRmMGJjZGRlYTg2Yi4uNjM2YjNlZGYx
Zjc5YjUwNjI5ODNkMzMyMDI3MTQ0ODRjNjAxNWFhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0RlcHJlY2F0ZWRDU1NPTUNvdW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9EZXByZWNhdGVkQ1NTT01Db3VudGVyLmlkbApAQCAtMTksNyArMTksNiBAQAogCiBbCiAgICAg
RXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
ICAgICBJbnRlcmZhY2VOYW1lPUNvdW50ZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJm
YWNlIERlcHJlY2F0ZWRDU1NPTUNvdW50ZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9EZXByZWNhdGVkQ1NTT01QcmltaXRpdmVWYWx1ZS5pZGwKaW5kZXggZDA3NTk1MjZmMWQ5YjI4
ZDU3ZjZlYjY4MTFjMTRkOTliODM0ZWE1NS4uZTkwNmU0MDZhYTU2ZWZjZDMwMGU5YmEzZTg4MmE1
NTlhZTJkZjA4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NP
TVByaW1pdGl2ZVZhbHVlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENT
U09NUHJpbWl0aXZlVmFsdWUuaWRsCkBAIC0xOCw3ICsxOCw2IEBACiAgKi8KIAogWwotICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1DU1NQcmltaXRpdmVW
YWx1ZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgRGVwcmVjYXRlZENTU09NUHJp
bWl0aXZlVmFsdWUgOiBEZXByZWNhdGVkQ1NTT01WYWx1ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NUkdCQ29sb3IuaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0RlcHJlY2F0ZWRDU1NPTVJHQkNvbG9yLmlkbAppbmRleCBhNzMyYzgxOTNkMTBiMDA2NzQx
MTkxMmZmYjZmZDJiN2IxYWEwNDc3Li44MWI3YTIxNWZlNTY4MjIyMmYxYTQ4ZDQ2MTU0ZTE5OWQ5
MGNiMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NUkdC
Q29sb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01SR0JDb2xv
ci5pZGwKQEAgLTIwLDcgKzIwLDYgQEAKIAogWwogICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9u
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1SR0JD
b2xvciwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgRGVwcmVjYXRlZENTU09NUkdC
Q29sb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVJl
Y3QuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVJlY3QuaWRsCmluZGV4
IDkwODhjYTI4OGI2MDNhNGFiMzNjZmFhYzFlZDc5YjlkYTZmYzkzYjUuLjQyMzQ0MjUxNjA5OWEy
MjUzYmQ2MmExMGJhNzliOWMyOTQ0YjIxNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9EZXByZWNhdGVkQ1NTT01SZWN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVj
YXRlZENTU09NUmVjdC5pZGwKQEAgLTE5LDcgKzE5LDYgQEAKIAogWwogICAgIEV4cG9ydFRvV3Jh
cHBlZEZ1bmN0aW9uLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJm
YWNlTmFtZT1SZWN0LAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBEZXByZWNhdGVk
Q1NTT01SZWN0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NT
T01WYWx1ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWUuaWRs
CmluZGV4IGM3YzYxMDVkY2ZiZWQ0MDAxM2Q3ZTE2ODA3Mjg2YjZmMGMyMWVjYTQuLjdmZGYyOWUz
YzllZmM1ZWNjYzliOWFlNWMxYzllY2FjMDI2NTNjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0RlcHJlY2F0ZWRDU1NPTVZhbHVlLmlkbApAQCAtMjIsNyArMjIsNiBAQAogICAgIEN1c3RvbUlz
UmVhY2hhYmxlLAogICAgIEN1c3RvbVRvSlNPYmplY3QsCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVu
Y3Rpb24sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VOYW1l
PUNTU1ZhbHVlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBEZXByZWNhdGVkQ1NT
T01WYWx1ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09N
VmFsdWVMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxp
c3QuaWRsCmluZGV4IDVlZDEyOThhNDE5MTFlMjM4YWIyZWEwZWI2N2FjY2Q4OWI4ODI5YzIuLjk1
ZWM5OTU5ODc3YzY3NjZlMTJmYzg5Mzg2Y2M4MWJkMDljODJhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaWRsCkBAIC0yNSw3ICsyNSw2IEBA
CiAKIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiBbCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VOYW1lPUNTU1ZhbHVlTGlzdCwKICAgICBFeHBvc2Vk
PVdpbmRvdwogXSBpbnRlcmZhY2UgRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0IDogRGVwcmVjYXRl
ZENTU09NVmFsdWUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmlkbAppbmRleCBiODk3MTc5MDdmZDg5
ODQwNzMwN2UyNmI4OTAxYmZmNzdiNTRmYjZjLi44OGUxYTQyM2E0MjQyOGQ2MTA3OWQzZWY3NWYz
ZTY2NDliM2ExZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmlkbApAQCAtMjcsNyArMjcsNiBA
QAogICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAg
IEdlbmVyYXRlSXNSZWFjaGFibGUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAg
ICBKU0N1c3RvbUhlYWRlciwKIF0gaW50ZXJmYWNlIE1lZGlhTGlzdCB7CiAgICAgc3RyaW5naWZp
ZXIgYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1lZGlhVGV4
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZU1lZGlhLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZU1lZGlhLmlkbAppbmRleCBkNGQ5NGI5Njc0ZGE4N2U5MDA3YTVi
MmViZDhhMjJmYmEyZTgzODg2Li41MzEwNGYzZjJiM2ExMTIxYjYxMGNkNmZkZTVjYmRhODhiNGZm
MmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVNZWRpYS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlTWVkaWEuaWRsCkBAIC0yOCw3ICsyOCw2IEBACiBbCiAg
ICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFj
aGFibGVGcm9tRE9NV2luZG93LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGlu
dGVyZmFjZSBTdHlsZU1lZGlhIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5
cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsCmluZGV4IDg3OTE5ZjI2ZGM5
YzExZTkxNzJmNTlmOWJlOTFiMzhmZDcwMjA1ODIuLjRjNjQ1OGZlMzQ5ZTE4ZGJlOTg0YjQ2ZDli
OTg0NGExMjY2Mzc1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0
TGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbApAQCAt
MjIsNyArMjIsNiBAQAogICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAogICAgIEV4cG9zZWQ9
V2luZG93LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbE93bmVyTm9kZVJvb3QsCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIFN0eWxlU2hlZXRMaXN0IHsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgZ2V0dGVy
IFN0eWxlU2hlZXQ/IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaWRsIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlk
bAppbmRleCAwZDhhYWMyZTM0MjNjNDYyYzNmZmVmOTE0YWMzNmVmZmNhYTg2MDFmLi45MWMwNGYw
Mzg5YmZjZDRiYzgxNTk5NmQzM2M4NTdhYzlmOGRiMGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGwK
QEAgLTI3LDcgKzI3LDYgQEAKICAgICBJbnRlcmZhY2VOYW1lPUNTU1ZhcmlhYmxlUmVmZXJlbmNl
VmFsdWUsCiAgICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9NRW5hYmxlZCwKICAgICBDb25k
aXRpb25hbD1DU1NfVFlQRURfT00sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAg
ICBFeHBvc2VkPShXaW5kb3csV29ya2VyLFBhaW50V29ya2xldCksCiBdIGludGVyZmFjZSBDU1NP
TVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUgewogICAgIGNvbnN0cnVjdG9yKFVTVlN0cmluZyB2YXJp
YWJsZSwgb3B0aW9uYWwgQ1NTVW5wYXJzZWRWYWx1ZT8gZmFsbGJhY2sgPSBudWxsKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5
LmlkbAppbmRleCAwYTM4YjY2MGQyMGRiOTEzZmExOTAzYTNmYTZhNzJlNWM1NmVmZDFlLi4yMWZk
MTMyYjM4Yjk3NGQyOGI4YjEwMWIyNTAxNDliYmNkZGI0NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuaWRsCkBAIC0y
Niw3ICsyNiw2IEBACiBbCiAgICAgRW5hYmxlZEF0UnVudGltZT1DU1NUeXBlZE9NRW5hYmxlZCwK
ICAgICBDb25kaXRpb25hbD1DU1NfVFlQRURfT00sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyLFBhaW50V29ya2xldCkKIF0gaW50ZXJm
YWNlIENTU051bWVyaWNBcnJheSB7CiAgICAgaXRlcmFibGU8Q1NTTnVtZXJpY1ZhbHVlPjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydENvbnRyb2xsZXIuaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL0Fib3J0Q29udHJvbGxlci5pZGwKaW5kZXggNjA1YWJjODljNGU5YWQyYzE4
ZGY5ZDI4MzcyY2MyYzVjMGFiMzVkMy4uNDY4OWE5ZWZiN2ZiNWRmZmY4MDBmMTg0ZTRlMTdhMTE3
NzEzMDI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0Q29udHJvbGxlci5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0Q29udHJvbGxlci5pZGwKQEAgLTI1LDcg
KzI1LDYgQEAKIAogWwogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCiAgICAgR2VuZXJhdGVBZGRPcGFxdWVSb290PXNpZ25hbAogXSBp
bnRlcmZhY2UgQWJvcnRDb250cm9sbGVyIHsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gY29uc3RydWN0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01FeGNlcHRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUV4Y2VwdGlvbi5pZGwKaW5k
ZXggZDcyYTc4NzI5NmNlZTFlNTk1OTAwMjhkZDZiYTMyMTc0YzIxZjhlMi4uNzVmZTE3NDlmYjA0
NjhhZGZlNDkwMjhhYzAyN2YyMDhhZWMyNGI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTUV4Y2VwdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUV4Y2VwdGlv
bi5pZGwKQEAgLTI5LDcgKzI5LDYgQEAKIFsKICAgICBEb05vdENoZWNrQ29uc3RhbnRzLAogICAg
IEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgRXhjZXB0aW9uCiBdIGludGVyZmFjZSBET01FeGNlcHRpb24gewogICAgIGNvbnN0cnVj
dG9yKG9wdGlvbmFsIERPTVN0cmluZyBtZXNzYWdlID0gIiIsIG9wdGlvbmFsIERPTVN0cmluZyBu
YW1lID0gIkVycm9yIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbApp
bmRleCBhYzhkYjJmNjAzNmRkMDg5ZjA3NWE2MWQ4NzVhNWFhNzA2NzU4NjMwLi43YjkxYjQyOTYw
ZTg5ZmUwODRmNjExZjNlOWE4MjZmOWM3OTE3ZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01J
bXBsZW1lbnRhdGlvbi5pZGwKQEAgLTIxLDcgKzIxLDYgQEAKIFsKICAgICBFeHBvcnRUb1dyYXBw
ZWRGdW5jdGlvbiwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxEb2N1bWVudCwKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFj
ZSBET01JbXBsZW1lbnRhdGlvbiB7CiAgICAgW05ld09iamVjdF0gRG9jdW1lbnRUeXBlIGNyZWF0
ZURvY3VtZW50VHlwZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgRE9NU3RyaW5nIHB1YmxpY0lk
LCBET01TdHJpbmcgc3lzdGVtSWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RP
TVBvaW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5pZGwKaW5kZXggMzMzYzVj
M2YyNmI1OTI3OTM5NTVkNmE2Y2YyNTBiMTJkZDBhM2FkMy4uYjUzZmU0NGU4ZTU5OWIyN2YwOTUx
NDM2MzZhN2E1NDg2NDJiNzMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBv
aW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaWRsCkBAIC0zMiw3ICsz
Miw2IEBACiBbCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgR2VuZXJhdGVJc1Jl
YWNoYWJsZT1JbXBsLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNl
IERPTVBvaW50IDogRE9NUG9pbnRSZWFkT25seSB7CiAgICAgY29uc3RydWN0b3IoRE9NUG9pbnRJ
bml0IHBvaW50KTsKICAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91Ymxl
IHggPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkgPSAwLCBvcHRpb25hbCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHogPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHcgPSAx
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5LmlkbAppbmRleCBkZDYxNTVkYWZi
YmEwMWE2OTA1NWIyNTNlZjJmNGJmYjRkOTljNGYwLi5jYzQxMjgxNTljZTMwZTc0NzQxOTBiYzgy
ODMwZmFlYzAxYjY2YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnRS
ZWFkT25seS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRs
CkBAIC0zMiw3ICszMiw2IEBACiBbCiAgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAg
ICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZQogXSBpbnRlcmZhY2UgRE9NUG9pbnRSZWFkT25seSB7CiAgICAgY29uc3RydWN0b3IoRE9NUG9p
bnRJbml0IHBvaW50KTsKICAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91
YmxlIHggPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkgPSAwLCBvcHRpb25hbCB1
bnJlc3RyaWN0ZWQgZG91YmxlIHogPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHcg
PSAxKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01RdWFkLmlkbAppbmRleCA4NzI4ZDJlMDJlNzE1ZDJjN2VjZmEwNmE5
OWY2YTE2MDJkMzYyNWI2Li42N2UzZjQ1OGVkNDdkZmI2NzBmZDViMWY5MjJhYTEwYTcyMWQyMDBl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVF1YWQuaWRsCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFeHBv
c2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAg
IEpTQ3VzdG9tTWFya0Z1bmN0aW9uCiBdIGludGVyZmFjZSBET01RdWFkIHsKICAgICBjb25zdHJ1
Y3RvcihvcHRpb25hbCBET01Qb2ludEluaXQgcDEsIG9wdGlvbmFsIERPTVBvaW50SW5pdCBwMiwg
b3B0aW9uYWwgRE9NUG9pbnRJbml0IHAzLCBvcHRpb25hbCBET01Qb2ludEluaXQgcDQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVJlY3QuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTVJlY3QuaWRsCmluZGV4IGZjYWQ5ZmJjNTA1NzU0YzUyOTA5MTQwODZkNDNmMjU1ZTdk
YzZhOWUuLjk2MjMyZDM0MGZhMTlkODk4ZmQ3ZjdiNDMxMjU4NjYzZTVjZTM2MDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01SZWN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NUmVjdC5pZGwKQEAgLTI4LDcgKzI4LDYgQEAKIFsKICAgICBFeHBvcnRNYWNybz1XRUJD
T1JFX0VYUE9SVCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01SZWN0IDogRE9NUmVjdFJlYWRPbmx5IHsK
ICAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHggPSAwLCBvcHRp
b25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkgPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91
YmxlIHdpZHRoID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSBoZWlnaHQgPSAwKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVJlY3RMaXN0LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01SZWN0TGlzdC5pZGwKaW5kZXggMTUzZmE0OGQzNDNjMDNmZGYyY2Uz
NzlmYWEzMjUwNWJhMjdjYjY2MC4uNGYyZDMyYTY5ZGViN2M5NzY4NTQ0NWY4OGY2M2Y5NGY4YmNi
Y2ZlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVJlY3RMaXN0LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdExpc3QuaWRsCkBAIC0yNSw3ICsyNSw2IEBACiAK
IFsKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBET01SZWN0TGlzdCB7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVJlY3RSZWFkT25seS5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NUmVjdFJlYWRPbmx5LmlkbAppbmRleCBlMTlkNjRlY2RjY2E5YTIxYjkwNmQ0MDIx
NjY0N2RjMDFmNzY0OWIyLi42YWM4NzQwZjI3MDA3ZjFjODAwMTFkZjIxOTA4Y2QwZmMxNWM3YjAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdFJlYWRPbmx5LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdFJlYWRPbmx5LmlkbApAQCAtMjksNyArMjksNiBA
QAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAogICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbCwKLSAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01SZWN0UmVhZE9ubHkgewogICAgIGNvbnN0cnVj
dG9yKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgeCA9IDAsIG9wdGlvbmFsIHVucmVzdHJp
Y3RlZCBkb3VibGUgeSA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgd2lkdGggPSAw
LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIGhlaWdodCA9IDApOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NU3RyaW5nTGlzdC5pZGwKaW5kZXggZTc1YTBlMzJlZDllNDMxYmFmOGU4MDhjYTk2Nzc4
MTEyNWNkMzkwNC4uZTYyNThmOTQyOTMyYjQ0ZjFmZDg1NmY0ZTdkZGM0Y2U2YTA0M2YxMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ0xpc3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdMaXN0LmlkbApAQCAtMjQsNyArMjQsNiBAQAogICovCiAK
IFsKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpCiBdIGludGVyZmFjZSBET01TdHJpbmdMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RGF0YVRyYW5zZmVySXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRl
bS5pZGwKaW5kZXggMzhiMzBhZDNlNDBlMTU5MTg1ZTlmMjdkZWNlMmU2OTcyZDk1ODUzMS4uMWEx
MWVjYWE0OGQwMzcyYzM1ZDY5MmViY2NhMDRlZjlhNTk1Y2RiYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EYXRhVHJhbnNmZXJJdGVtLmlkbApAQCAtMzEsNyArMzEsNiBAQAogCiBbCiAgICAgRW5hYmxl
ZEJ5U2V0dGluZz1EYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgRGF0YVRyYW5zZmVy
SXRlbSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBraW5kOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0lkbGVEZWFkbGluZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vSWRsZURlYWRsaW5lLmlkbAppbmRleCBjY2FkMTU1NzljZTY2MzNjMGQ3ZjQzNWQ0MzMzNWYz
YjQ4MDIwYzI1Li5mM2Y1YzAzMTk3NjUyMmY5NjA4ZTI0NmJjYzRkNThhNjFmZmI4NzExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vSWRsZURlYWRsaW5lLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vSWRsZURlYWRsaW5lLmlkbApAQCAtMjcsNyArMjcsNiBAQCB0eXBlZGVmIGRv
dWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1yZXF1
ZXN0SWRsZUNhbGxiYWNrRW5hYmxlZCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAog
ICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBJZGxlRGVhZGxpbmUgewogICAgIFtDYWxs
V2l0aD1SZWxldmFudERvY3VtZW50XSBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVSZW1haW5pbmco
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsCmluZGV4IDAwMmZhNjNjMGFkOTJi
M2Q2MGM5MTUxNTgyYWRmYWM0MzUwZjFjMzQuLjYxNzkzNmFmYmI0YjkwZjU4NmNiOWJlODk3ZTE2
OTI5Mzg2MDdkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlQ2hhbm5l
bC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmlkbApAQCAtMjgs
NyArMjgsNiBAQAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIENvbmRpdGlvbmFs
PUNIQU5ORUxfTUVTU0FHSU5HLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAotICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIE1lc3NhZ2VDaGFubmVsIHsKICAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsCmluZGV4IDIyZWFkYmUxNWI0OTU1OTAxOGVm
ZjZkYWVkNTFkZTcyYjVjMjNkM2MuLmQ3YzE5MGMxMjRjNzNhYzI1NmFmODNlYzY4NmFmNDE4ZmUz
OTNmY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5pZGwKQEAgLTMwLDcg
KzMwLDYgQEAKIAogWwogICAgIEN1c3RvbUlzUmVhY2hhYmxlLAotICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUsCiAgICAgTGVnYWN5V2luZG93QWxpYXM9V2ViS2l0TXV0YXRpb25PYnNlcnZl
ciwKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBFeHBvc2VkPVdpbmRvdwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTmFtZWROb2RlTWFwLmlkbAppbmRleCA1YzEyMDQzZTg3MjczNzc2MDZmODZhODIzNjc0
MzZkODJhNTgzYThkLi42YTJlZWViMGZmZTZhMmU5NTgzNjQyMjE4ZTZlMTQ4YmVjM2FjNmM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbApAQCAtMjEsNyArMjEsNiBAQAogWwogICAg
IEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbEVs
ZW1lbnRSb290LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgTGVnYWN5VW5l
bnVtZXJhYmxlTmFtZWRQcm9wZXJ0aWVzLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFj
ZSBOYW1lZE5vZGVNYXAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVy
YXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmlkbAppbmRleCA0Y2Fh
MjQ2NDEyNTNmZDA1YjlkNzIwYWE3YmVkNWZmYjc1OGZlMDBlLi42ODdhZGIwNGQ2NDk3MWRiN2Jk
M2RjNTMyNDhhZWMzZjY0ZGRjMjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZUl0ZXJhdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmlkbApA
QCAtMjEsNyArMjEsNiBAQAogLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRlcmZh
Y2Utbm9kZWl0ZXJhdG9yCiBbCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBF
eHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTm9kZUl0ZXJhdG9yIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0RGVjb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4
dERlY29kZXIuaWRsCmluZGV4IDE1YzJmN2RhZTIyZmI3ZjIwYzA0MjVmNzIwMDZkNGE0Y2FkZDUx
MzQuLjJhNGNmOTRjMDllMDM3YzZlYTE4NzMxZmE5ODdmNWFiMjMyNDQ0N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RGVjb2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1RleHREZWNvZGVyLmlkbApAQCAtMzQsNyArMzQsNiBAQCBkaWN0aW9uYXJ5IFRleHREZWNv
ZGVPcHRpb25zIHsKIAogWwogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBUZXh0RGVjb2RlciB7CiAgICAgY29u
c3RydWN0b3Iob3B0aW9uYWwgRE9NU3RyaW5nIGxhYmVsID0gInV0Zi04Iiwgb3B0aW9uYWwgVGV4
dERlY29kZXJPcHRpb25zIG9wdGlvbnMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vVGV4dERlY29kZXJTdHJlYW1EZWNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0
RGVjb2RlclN0cmVhbURlY29kZXIuaWRsCmluZGV4IDBjMDkzZDZlMzgyMmJmZThiNWFmMDczNjVh
OThkYTA5ODYzNWJhZWIuLjZiOTk1ZDViN2IyNjQ2ODJmNjY5MTg2Mjg5YjY3OWFkYmQ0ZjUzN2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RGVjb2RlclN0cmVhbURlY29kZXIu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RGVjb2RlclN0cmVhbURlY29kZXIuaWRs
CkBAIC0yNiw3ICsyNiw2IEBACiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1UcmFuc2Zvcm1TdHJl
YW1BUElFbmFibGVkLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCiAgICAgUHJpdmF0ZUlkZW50aWZpZXIsCiBdIGludGVyZmFjZSBU
ZXh0RGVjb2RlclN0cmVhbURlY29kZXIgewogICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyBsYWJl
bCwgYm9vbGVhbiBmYXRhbCwgYm9vbGVhbiBpZ25vcmVCT00pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1RleHRFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RW5j
b2Rlci5pZGwKaW5kZXggNmJjYjg5NWU4YjBkYTUyMmI4YjViNGM1YzIwNmI3YmY2Y2NlN2FkMS4u
Nzc1NzU5ZDA4OWYxYzBlNjFiNWIxMDk5OTllYjRkY2YwODIxMmJlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1RleHRFbmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
VGV4dEVuY29kZXIuaWRsCkBAIC0zMiw3ICszMiw2IEBACiAKIFsKICAgICBFeHBvc2VkPShXaW5k
b3csV29ya2VyKSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBU
ZXh0RW5jb2RlciB7CiAgICAgY29uc3RydWN0b3IoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1RleHRFbmNvZGVyU3RyZWFtRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVGV4dEVuY29kZXJTdHJlYW1FbmNvZGVyLmlkbAppbmRleCBmNTg5ZjYwODE0MjAyMmVmMTE3
MjUzMGMzNzViZWUyZDA4NzVlOWE3Li4xYmNjNjAyMDQ2MmJmZTY0MjNjZWNhMzRhNjc3MWZlMmEx
NDBiODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEVuY29kZXJTdHJlYW1F
bmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEVuY29kZXJTdHJlYW1FbmNv
ZGVyLmlkbApAQCAtMjYsNyArMjYsNiBAQAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9VHJhbnNm
b3JtU3RyZWFtQVBJRW5hYmxlZCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIFByaXZhdGVJZGVudGlmaWVyLAogXSBpbnRl
cmZhY2UgVGV4dEVuY29kZXJTdHJlYW1FbmNvZGVyIHsKICAgICBjb25zdHJ1Y3RvcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RvdWNoLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ub3VjaC5pZGwKaW5kZXggMTBmZDUwZjFkYTE0NWUzOWI4YjMxZmYzOTUzN2IwNTIxNmE3YjE0
MC4uMmY4YWZkMDI1MjRkZDQ2ZGQ1MTE3NmE2NmUxMzc1OThkZmNkNDRiNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1RvdWNoLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVG91
Y2guaWRsCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1UT1VDSF9FVkVO
VFMsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwog
XSBpbnRlcmZhY2UgVG91Y2ggewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAg
ICAgICAgIGNsaWVudFg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hMaXN0
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaExpc3QuaWRsCmluZGV4IGY4OWU2ODgyN2Y1
NjYxOWRhMDZhZDIxNzE3NjIxZDU2YWU0MDEzOGYuLmFkMGRkYzExZjBlYzMzOWFkYzkwMmYyNjU1
NjkyYjA0ODM4NTViZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaExpc3Qu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaExpc3QuaWRsCkBAIC0yNSw3ICsyNSw2
IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgVG91Y2hMaXN0
IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVHJlZVdhbGtlci5pZGwKaW5kZXggZGNjOWQ0MTMwNTQ5MGMzN2I4MmVmNDk4Mzc1ZmEzM2Mz
ZTRhNDBhYy4uMTY3YzAwNmY4YTI4ZjBmYTk5ZThlYTVhNjE5NDZmZjQxYTgzMTRjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9UcmVlV2Fsa2VyLmlkbApAQCAtMjEsNyArMjEsNiBAQAogLy8gaHR0cHM6Ly9kb20u
c3BlYy53aGF0d2cub3JnLyNpbnRlcmZhY2UtdHJlZXdhbGtlcgogWwogICAgIEV4cG9ydFRvV3Jh
cHBlZEZ1bmN0aW9uLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNDdXN0
b21NYXJrRnVuY3Rpb24sCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFRyZWVXYWxr
ZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVMaXN0LmlkbAppbmRleCA2ZGNhMjliN2RkMDQ4Zjhh
NWQzNDNhYjRmYTFjMTgzZGVlYzQ5YzdjLi45YjU5NWQ2MDI5ZGQyMWZiOWVjMTdjZGM1NjJjY2My
MDBiMDU3NDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVMaXN0Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVMaXN0LmlkbApAQCAtMjUsNyArMjUs
NiBAQAogCiBbCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIEZpbGVMaXN0IHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgZ2V0dGVyIEZpbGUgaXRlbSh1bnNpZ25l
ZCBsb25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJl
YWRlclN5bmMuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5pZGwK
aW5kZXggMGE2ZjY5OWY2YjYxZTc4ZTFkMmRhOTg3Y2U1YWE1YmIwOGQyNGViOC4uYWUyZTRjZTcx
MjcwYzEzODQ5ZDA2MzA4MmNmMjUxNjNhNjgxYzE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9GaWxlUmVhZGVyU3luYy5pZGwKQEAgLTMwLDcgKzMwLDYgQEAKIAogWwogICAgIEV4cG9zZWQ9
RGVkaWNhdGVkV29ya2VyLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVy
ZmFjZSBGaWxlUmVhZGVyU3luYyB7CiAgICAgY29uc3RydWN0b3IoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9ET01Gb3JtRGF0YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RPTUZvcm1EYXRhLmlkbAppbmRleCAyZjU4NzQ0MDE1ODU5NTE5ZmU1NWZmMzg0NDhiYzFhMjZh
NjQxYTY5Li5hYWYwNGUyZjcyMGM2OTRiZTMwODdlY2YzN2E5NTllMDFlMjkwZTc2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RPTUZvcm1EYXRhLmlkbApAQCAtMzUsNyArMzUsNiBAQCB0eXBlZGVmIChGaWxl
IG9yIFVTVlN0cmluZykgRm9ybURhdGFFbnRyeVZhbHVlOwogICAgIEpTR2VuZXJhdGVUb05hdGl2
ZU9iamVjdCwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBJbnRlcmZhY2VOYW1lPUZv
cm1EYXRhLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBET01G
b3JtRGF0YSB7CiAgICAgY29uc3RydWN0b3Iob3B0aW9uYWwgSFRNTEZvcm1FbGVtZW50IGZvcm0p
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaWRsCmluZGV4IDZlY2JlMGUyMDViMzgzYjVh
MmNhZDc0NzE5OTliMGYwMzg3MmY2MGMuLjE5ZmYyNjYzNDM4YWUxNTQyMTc5YjM3Njc0MzFlOWUx
MTg5MTUyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaWRsCkBAIC0yNiw3ICsyNiw2
IEBACiBbCiAgICAgRW5hYmxlZEF0UnVudGltZT1JbWFnZUJpdG1hcEVuYWJsZWQsCiAgICAgRXhw
b3NlZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAg
ICBSZXBvcnRFeHRyYU1lbW9yeUNvc3QKIF0gaW50ZXJmYWNlIEltYWdlQml0bWFwIHsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3aWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VE
YXRhLmlkbAppbmRleCAyZDY3OWQyMWM5NjA0ZDQyODQzZmM4ZmE5MDcwNzMwMTdiMmUxNzBlLi41
MzcxM2Q2YTBiOGE0YTg0MjVlOWExOGY1OTllZTQ0ZTMxNGZhMDZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9J
bWFnZURhdGEuaWRsCkBAIC0zMCw3ICszMCw2IEBACiAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAg
ICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2Vy
KSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBJbWFnZURhdGEg
ewogICAgIGNvbnN0cnVjdG9yKHVuc2lnbmVkIGxvbmcgc3csIHVuc2lnbmVkIGxvbmcgc2gsIG9w
dGlvbmFsIEltYWdlRGF0YVNldHRpbmdzIHNldHRpbmdzKTsKICAgICBjb25zdHJ1Y3RvcihVaW50
OENsYW1wZWRBcnJheSBkYXRhLCB1bnNpZ25lZCBsb25nIHN3LCBvcHRpb25hbCB1bnNpZ25lZCBs
b25nIHNoLCBvcHRpb25hbCBJbWFnZURhdGFTZXR0aW5ncyBzZXR0aW5ncyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVycm9yLmlkbAppbmRleCBlMmMzNDAzZWVlNDI1YTZhMDcyYzIzMzUyNzNkOGNiNmNh
Y2ZlMzkwLi5iNTFjOTQ5ZWQ2MWY3ZmRmZGJlYTYwZjc1NDNhMzZhMzViZmI0MWRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFcnJvci5pZGwKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIENvbmRp
dGlvbmFsPVZJREVPLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3Nl
ZD1XaW5kb3cKIF0gaW50ZXJmYWNlIE1lZGlhRXJyb3IgewogICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgTUVESUFfRVJSX0FCT1JURUQgPSAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0TWV0cmljcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRNZXRyaWNzLmlk
bAppbmRleCA0MjI2OTc1MGU0NDM2YjAxYjQ5MjAxNGY1NmRjNDFjMzhlYWI4Yzc5Li5jNmExYmYz
MTA1OTE4Nzk0NjUwNjBhMjRkOTI4YmFiZjMwZThkNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1RleHRNZXRyaWNzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRN
ZXRyaWNzLmlkbApAQCAtMjUsNyArMjUsNiBAQAogCiBbCiAgICAgRXhwb3NlZD0oV2luZG93LFdv
cmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIFRleHRN
ZXRyaWNzIHsKICAgICAvLyBGSVhNRTogQWxsIHRoZSB1bnJlc3RyaWN0ZWQgZmxvYXQgYXR0cmli
dXRlcyBiZWxvdyBzaG91bGQgYmUgZG91Ymxlcy4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9UaW1lUmFuZ2VzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZVJhbmdlcy5p
ZGwKaW5kZXggODc5YTI2ZWRjYTIxNzM4MWY5MjRkNzM3NTc0ZDA3MGI3ZmFlYWQxNy4uZmM1YmUw
NjVhNGE5NDYzMTgzNjRiODg1NmVjMDE3YTlkNjAyOWYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9UaW1lUmFuZ2VzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVS
YW5nZXMuaWRsCkBAIC0yNiw3ICsyNiw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9VklERU8sCiAg
ICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgVGltZVJhbmdlcyB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9VUkxTZWFyY2hQYXJhbXMuaWRsCmluZGV4IGYyNTYxNGI2ODNlYzYyOWNiNTZkNDdhZWNkOTg2
MmQ1YzllNjhjYjEuLjFmMGEwNDVjNDQwNmFjOWIyOTRkYjg5Y2U3NGQ0NDRhMThmZWM4YmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVVJMU2VhcmNoUGFyYW1zLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1VSTFNlYXJjaFBhcmFtcy5pZGwKQEAgLTI1LDcgKzI1LDYgQEAK
IAogWwogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiBdIGludGVyZmFjZSBVUkxTZWFyY2hQYXJhbXMgewogICAgIGNvbnN0cnVjdG9y
KG9wdGlvbmFsIChzZXF1ZW5jZTxzZXF1ZW5jZTxVU1ZTdHJpbmc+PiBvciByZWNvcmQ8VVNWU3Ry
aW5nLCBVU1ZTdHJpbmc+IG9yIFVTVlN0cmluZykgaW5pdCA9ICIiKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9XZWJLaXRNZWRpYUtleUVycm9yLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwKaW5kZXggNjY5ZWM4Nzg1ZWQxNGMwODI4
YjhlYWYzMWNhNTQ4YTY3ZTEwOTc3OC4uYmMzM2QxNjIxNDM0NDI4YTkzNzIxNjhkNmEzNDlkYmIz
MjI1MjhmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWJLaXRNZWRpYUtleUVy
cm9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlYktpdE1lZGlhS2V5RXJyb3IuaWRs
CkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVE
X01FRElBLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRW5hYmxlZEJ5U2V0
dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQsCiAgICAgRXhwb3NlZD1XaW5kb3cK
IF0gaW50ZXJmYWNlIFdlYktpdE1lZGlhS2V5RXJyb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRsCmluZGV4IDliNzg0YTI2Y2MxYmY2YTMwMWY4MjNh
ZTQ5YzZlODlkMzE0MjIxMzkuLjZmNTA5NWFmMWZiMTE4MzljZDg5NDVjNmNkZjdjYjk0MTUzNTY5
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5pZGwK
QEAgLTI2LDcgKzI2LDYgQEAKIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlL2NhbnZhcy5odG1sI2NhbnZhc2dyYWRpZW50CiBbCiAgICAgRXhwb3NlZD0oV2luZG93LFdv
cmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgQ2FudmFz
R3JhZGllbnQgewogICAgIC8vIG9wYXF1ZSBvYmplY3QKICAgICB1bmRlZmluZWQgYWRkQ29sb3JT
dG9wKGRvdWJsZSBvZmZzZXQsIERPTVN0cmluZyBjb2xvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsCmluZGV4IDUzYTI1OWQ4NmIxZWIwYzczZTRlZTM2
ZWJmYzRlYmJhNjkyYTU0NjAuLjBiODgyNTRjMWMyOGQ1YTM4YzIxNTM4YzM0ZmMxYWM2OWRiMTQz
N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsCkBA
IC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBDYW52YXNQYXR0ZXJuIHsKICAg
ICAvLyBvcGFxdWUgb2JqZWN0CiAgICAgdW5kZWZpbmVkIHNldFRyYW5zZm9ybShvcHRpb25hbCBE
T01NYXRyaXgyREluaXQgdHJhbnNmb3JtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTEFjdGl2ZUluZm8uaWRsCmluZGV4IDdhMWQ4MmFiOWE0ODVhMzdkM2VkMGQ1MzcyODY3
NjZhYTg0NTM4MWUuLmU3OGZkYTgwN2EyZjJkNTRiMzFiNjNiMmNiNWNmMTQ2NmYzZjEyZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbApAQCAt
MjYsNyArMjYsNiBAQAogLy8gRklYTUU6IFRoaXMgaXMgc3BlY2lmaWVkIGFzIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR0wsCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgV2ViR0xBY3Rp
dmVJbmZvIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBzaXplOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuaWRs
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQu
aWRsCmluZGV4IDUyMDcyODNjZWU1NGRkMTFlNzg2NTNlNWI2MzdiNzJiMjYxMWVkYjAuLmJlZGE2
YmE1MjA5ODA0OTNmYjU0YmFlOTQ4NDE4OWU0NzllZGRmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5pZGwK
QEAgLTI3LDcgKzI3LDYgQEAKIC8vIEZJWE1FOiBUaGlzIGlzIHNwZWNpZmllZCBhcyBFeHBvc2Vk
PShXaW5kb3csV29ya2VyKQogWwogICAgIENvbmRpdGlvbmFsPVdFQkdMLAotICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFdlYkdM
U2hhZGVyUHJlY2lzaW9uRm9ybWF0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyByYW5n
ZU1pbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9y
bUxvY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxv
Y2F0aW9uLmlkbAppbmRleCAxZjM4YmVmYzI2OTg1NmJlYjA1MDI4NjVlNzg1NGI0ZmNlM2JhNDVj
Li5iNDI4NTA1Yzg4YTI0ZjM3Y2IzN2RlNGE3ZTc0YjNjNDhiMzQ1ZTU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaWRsCkBAIC0y
Nyw3ICsyNyw2IEBACiAvLyBGSVhNRTogVGhpcyBpcyBzcGVjaWZpZWQgYXMgRXhwb3NlZD0oV2lu
ZG93LFdvcmtlcikKIFsKICAgICBDb25kaXRpb25hbD1XRUJHTCwKLSAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBXZWJHTFVuaWZv
cm1Mb2NhdGlvbiB7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9B
dWRpb1RyYWNrQ29uZmlndXJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1
ZGlvVHJhY2tDb25maWd1cmF0aW9uLmlkbAppbmRleCAxNjRjNjE0NzIyOTlmNmRhOWIzN2ZiYTg5
M2I1MzMwODNhOWI3OTRlLi43NzFmZmJjM2YxZjU5OGRmNTM5NjM3ZWE5ZDk0MGZjMGE5NGM1ZmU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tDb25maWd1
cmF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tDb25m
aWd1cmF0aW9uLmlkbApAQCAtMjQsNyArMjQsNiBAQAogICovCiBbCiAgICAgQ29uZGl0aW9uYWw9
VklERU8sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5k
b3csV29ya2VyKSwKIF0gaW50ZXJmYWNlIEF1ZGlvVHJhY2tDb25maWd1cmF0aW9uIHsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvZGVjOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWVMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5pZGwKaW5kZXggZDZmZWZkMWJhMmNmZDc5ZGYwZmVj
ODY1MzBiYTNlNTc1ZDcwZjQwMS4uZTE0N2Q3MWFiNzVhYjMxMjNjNmI2Y2Q2ZWJiYTViOTIwZWUw
NjY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWVM
aXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3Qu
aWRsCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1WSURFTywKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFj
ZSBUZXh0VHJhY2tDdWVMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsZW5ndGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lv
bkxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb25MaXN0LmlkbApp
bmRleCBmOTgwOWIxN2E1N2RkZGIxOTkzODc3Mjk1NWQ2MjIwMTU3ZDIzMTRkLi5hZGNhNDNlNGVk
N2IzOTY3YzZhNWFhODZiMmViYjQ1MzkyYTBkMWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbkxpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uTGlzdC5pZGwKQEAgLTI3LDcgKzI3LDYgQEAKIC8vIEZJWE1FOiBUaGlz
IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3BlYzogaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWJ2dHQvcHVsbC8zMQogWwogICAgIENvbmRpdGlvbmFsPVZJREVPLAotICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCiBdIGludGVyZmFj
ZSBWVFRSZWdpb25MaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBs
ZW5ndGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZpZGVvVHJhY2tD
b25maWd1cmF0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVmlkZW9UcmFja0Nv
bmZpZ3VyYXRpb24uaWRsCmluZGV4IGIwYWQzMWEyY2E3YTIzNWM2MDIwOGZmOThmZTM1OTYzODM2
Yjc0YjMuLjJiMjgwM2U2NTgxYWUwNzNhMmM5ZDc0M2Y2M2VjNGNlZjJiNTlhODcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVmlkZW9UcmFja0NvbmZpZ3VyYXRpb24uaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVmlkZW9UcmFja0NvbmZpZ3VyYXRpb24u
aWRsCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1WSURFTywKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAog
XSBpbnRlcmZhY2UgVmlkZW9UcmFja0NvbmZpZ3VyYXRpb24gewogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgY29kZWM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21t
YW5kTGluZUFQSUhvc3QuaWRsCmluZGV4IDkxODliYTE5ZmVkN2QyYTE1ODk5Y2Q0ZTg4N2E0ZjZk
NTU4N2M5ZjcuLjdiODQwMmQwNmNiNTFjZmNkZDI5ZGJiNzk2ZTA5ZjE5Njg1MDQ2NmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsCkBAIC0z
Miw3ICszMiw2IEBACiAKIFsKICAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKLSAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBDb21tYW5kTGluZUFQSUhvc3Qgewog
ICAgIHVuZGVmaW5lZCBjbGVhckNvbnNvbGVNZXNzYWdlcygpOwogICAgIHVuZGVmaW5lZCBjb3B5
VGV4dChET01TdHJpbmcgdGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QuaWRsCmluZGV4IGFh
ODlkOTRkN2ViY2NiYjg0NmI1Mjc4NGQ1MTU3ZDk3MzQ1Y2VjNzguLmI1ZGI3MDZiNzFkNThkNDY3
MGM2OTVjYTU0MjRhZTZhMjRmMDkxOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QuaWRsCkBA
IC0yNCw3ICsyNCw2IEBACiAgKi8KIAogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Qs
CiBdIGludGVyZmFjZSBJbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QgewpAQCAtNjYs
NCArNjUsNCBAQAogICAgIGJvb2xlYW4/IHJlcXVpcmVkOwogICAgIERPTVN0cmluZz8gcm9sZTsK
ICAgICBib29sZWFuPyBzZWxlY3RlZDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdERP
TU9iamVjdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRET01P
YmplY3QuaWRsCmluZGV4IGNiNjlkOWUzNmE5YzViZTkwNTA5YmFmYTAyNTY3NWE4NDczNTc2ZGYu
LjcyODZjYTQzODRmMjk4YTMxMDU3OGU4N2M2MDcwMTYxZGZkNTlkYTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdERPTU9iamVjdC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckF1ZGl0RE9NT2JqZWN0LmlkbApAQCAt
MjQsNyArMjQsNiBAQAogICovCiAKIFsKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAog
ICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAog
XSBpbnRlcmZhY2UgSW5zcGVjdG9yQXVkaXRET01PYmplY3QgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckF1ZGl0UmVzb3VyY2VzT2JqZWN0LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdFJlc291cmNlc09iamVjdC5pZGwK
aW5kZXggYzNhNDE3ZDk5N2VmNTliOTJlMzFkZWNmMGMyNzdjMzE4ZDExZjNmZS4uMDBiNjk2MzMx
M2Y5MGY0YmU0OTEwYmE2ZjQ0NTEyYTA5MDI1YmEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckF1ZGl0UmVzb3VyY2VzT2JqZWN0LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRSZXNvdXJjZXNPYmplY3QuaWRsCkBA
IC0yNCw3ICsyNCw2IEBACiAgKi8KIAogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Qs
CiBdIGludGVyZmFjZSBJbnNwZWN0b3JBdWRpdFJlc291cmNlc09iamVjdCB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCmluZGV4IDlm
YWY3NTcxMmM1NDI0Njg0ZGFiMWViNTBjOTY3ZTVhYmM4ZWNhMDIuLmU1OTAzZmRmMDgyYTE4MzY4
YzY3YThkMzgyN2Y0NjhlNWJiOGFlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCkBAIC0zMSw3ICszMSw2IEBACiAgKi8KIAog
WwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VP
YmplY3QsCiBdIGludGVyZmFjZSBJbnNwZWN0b3JGcm9udGVuZEhvc3QgewogICAgIHVuZGVmaW5l
ZCBsb2FkZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQmFyUHJvcC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0JhclByb3AuaWRsCmluZGV4IDM2NTFlNTQ5MjM3NDI5Yjdl
MGVjODY4MzM4MGNmMzk5YmI1NzBlNjkuLjRmNmRjMWIxM2MwMGZkNWZkOGM2YTFlYzRlNDQ1MzIz
ZTlhZTkyYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQmFyUHJvcC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9CYXJQcm9wLmlkbApAQCAtMjgsNyArMjgsNiBAQAogCiBb
CiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tRE9NV2luZG93LAotICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNl
IEJhclByb3AgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHZpc2libGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwKaW5kZXggMTM5Mjk3MGI1YzAwYzVhZDFkYTY2MmI1
ZTIwNWFiNzZiMWZmMzgzMi4uMDQ3ZmZhMWUzNDY2YjhhNTIwNDE2ODFmMzI5ZmU2MWExM2E5NDcy
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbApAQCAtMzAsNyArMzAsNiBAQAog
Ly8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlbGVjdGlvbi1hcGkvI2lkbC1kZWYtU2VsZWN0aW9u
CiBbCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tRE9NV2luZG93LAotICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1TZWxlY3Rpb24s
CiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERPTVNlbGVjdGlvbiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9IaXN0b3J5LmlkbAppbmRleCA1YzljZjgyM2EwNGUwMjhmOTdjN2Y0YTI2NzgyNzM5NGMzY2Uz
ZDUzLi40YzcxOTdhZmE0Mjc4ZWYwYjk1NzAxM2M4YTI5ZmM3ZWYwNDU1YTE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvSGlzdG9yeS5pZGwKQEAgLTI2LDcgKzI2LDYgQEAKIFsKICAgICBHZW5lcmF0ZUlzUmVhY2hh
YmxlPVJlYWNoYWJsZUZyb21ET01XaW5kb3csCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRl
cmZhY2UgSGlzdG9yeSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZl
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbAppbmRl
eCAxNDhlNGJlYmNhNzE2OTQ0NTlhYmYwMjAxMDE1ODVkZDM5NTYyZDczLi5jMDA5MjU2OTRjNDAx
NWNjMDNhOWM0YzdiMjM1Yzg5N2FlOWVkZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyLmlkbApAQCAtMzAsNyArMzAsNiBAQAogICAgIEV4cG9zZWQ9V2lu
ZG93LAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEN1c3RvbUlzUmVhY2hhYmxlLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEludGVyc2VjdGlvbk9i
c2VydmVyIHsKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIGNvbnN0cnVjdG9yKEludGVyc2VjdGlv
bk9ic2VydmVyQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIEludGVyc2VjdGlvbk9ic2VydmVy
SW5pdCBvcHRpb25zKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNl
Y3Rpb25PYnNlcnZlckVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJFbnRyeS5pZGwKaW5kZXggOWNmYjRmZmNhMTc4ODk3ZDJlYjFhZDc0NjQ4OWJkYThk
ZjllZjBhMy4uZmQzMzM5NjQzZDM0ZTc4ZGNkYzVhY2JkNTU1Yzc0YzFjYzE2MmYyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuaWRsCkBA
IC0yOCw3ICsyOCw2IEBACiB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogCiBb
Ci0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFbmFibGVkQnlTZXR0aW5nPUlu
dGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCwKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAg
ICBFeHBvc2VkPVdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlv
bi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAppbmRleCBjODI4YzM0ZDAx
NGFhMzI3ZWQ4NzAyNjhhMGJjYjQxOGYyNTM2MmY5Li43OGI3NTkyMGI0ZDA0MjM2YWQ2MDBmM2Nj
NmZjODcwZGFkYTAxMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9u
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbApAQCAtMzksNyArMzks
NiBAQAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAogICAgIEdlbmVyYXRlSXNSZWFj
aGFibGU9UmVhY2hhYmxlRnJvbURPTVdpbmRvdywKICAgICBJc0ltbXV0YWJsZVByb3RvdHlwZUV4
b3RpY09iamVjdCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIExlZ2FjeVVu
Zm9yZ2VhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBMb2NhdGlvbiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKaW5kZXggN2Rl
YmM1NzkwNTE5N2ZkNjU2MzZjODZmNjQ4MmYxNGUyYWVhOTFhNS4uMDI3MDNjNzhmYTJkYzhmZTQ2
ZWExYTIzZjRjYmI0YzExZjIwYWQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmlkbApAQCAtMzAsNyArMzAsNiBAQAogCiAvLyBodHRwczovL3czYy5n
aXRodWIuaW8vbmF2aWdhdGlvbi10aW1pbmcvI3RoZS1wZXJmb3JtYW5jZW5hdmlnYXRpb24taW50
ZXJmYWNlCiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdp
bmRvdwogXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uIHsKICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBUWVBFX05BVklHQVRFID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlT2JzZXJ2ZXIuaWRsCmluZGV4IDY4M2EyYmVhMDE0NTk0MzI1N2Y5YzdmMjAyZTZmNTVj
M2RiNGJkMGIuLjUwNWJmMDkyNmIxYWJkMTcyZTA3MjNlMGQzZDdmMmIxMjcwMTRmOWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApAQCAtMjgsNyArMjgs
NiBAQAogWwogICAgIEN1c3RvbUlzUmVhY2hhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3Jr
ZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNDdXN0b21NYXJrRnVu
Y3Rpb24sCiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU9ic2VydmVyIHsKICAgICBbQ2FsbFdpdGg9
U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoUGVyZm9ybWFuY2VPYnNlcnZlckNh
bGxiYWNrIGNhbGxiYWNrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlckVudHJ5TGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCmluZGV4IDEwNDY1YWY0MzA3YzRhMzlkY2M5MzE3M2Vj
N2NiYTc3ZWUwYjkxMjUuLjlkZTVmM2VjOGRkM2Y0ZDRlZTU1MDc3MjNlODYxYmVkZGY5ZjJmNzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5
TGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyRW50
cnlMaXN0LmlkbApAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRXhwb3NlZD0oV2luZG93LFdv
cmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIFBlcmZv
cm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QgewogICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0IGdldEVu
dHJpZXMoKTsKICAgICBQZXJmb3JtYW5jZUVudHJ5TGlzdCBnZXRFbnRyaWVzQnlUeXBlKERPTVN0
cmluZyB0eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VT
ZXJ2ZXJUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRp
bWluZy5pZGwKaW5kZXggOWQ2ZmRiMmNjYmI0ZTBlN2UxZjIwZTAwYzcwNGU2MjgzYmQwODU5YS4u
Y2ZkM2Y5MzBhZmNiYTk4OGMxYjUzNDQzMWE0OWM4MzQwZTlmZjc1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVNlcnZlclRpbWluZy5pZGwKQEAgLTMwLDcgKzMwLDYg
QEAgdHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKIAogWwogICAgIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRW5h
YmxlZEF0UnVudGltZT1TZXJ2ZXJUaW1pbmdFbmFibGVkCiBdIGludGVyZmFjZSBQZXJmb3JtYW5j
ZVNlcnZlclRpbWluZyB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbAppbmRleCAwMWM0ZDg1YzAw
NDRlZmYwZjlhNmFkZDFjY2YzOWIxNzdjNDdiMDI2Li5hZmU4OTU3NDFiODllYjQ2YWI5YjFhZjY4
ODUyZTVhZTI3MjgwYTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVGltaW5nLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5n
LmlkbApAQCAtMzAsNyArMzAsNiBAQAogCiAvLyBodHRwczovL3czYy5naXRodWIuaW8vbmF2aWdh
dGlvbi10aW1pbmcvI3RoZS1wZXJmb3JtYW5jZXRpbWluZy1pbnRlcmZhY2UKIFsKLSAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBQ
ZXJmb3JtYW5jZVRpbWluZyB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bG9uZyBuYXZpZ2F0aW9uU3RhcnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jl
c2l6ZU9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuaWRs
CmluZGV4IDU3MzczODY1ZDBlN2VjYjRjNjcxMjBiNDhmMTE3Y2JjNzdkOGY2M2EuLjE4ZGNhZmZi
MzZhNzEyYTBiYjM5ZDhjOTJhMGUwMmE3NjAzY2FiNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVz
aXplT2JzZXJ2ZXIuaWRsCkBAIC0zMCw3ICszMCw2IEBACiAgICAgRXhwb3NlZD1XaW5kb3csCiAg
ICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiAgICAgQ3VzdG9tSXNSZWFjaGFibGUsCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgUmVzaXplT2JzZXJ2ZXIgewogICAg
IFtDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0b3IoUmVzaXplT2JzZXJ2ZXJDYWxsYmFjayBj
YWxsYmFjayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2
ZXJFbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyRW50cnkuaWRs
CmluZGV4IDk4NzMwN2YzNDExMDFiYTU2ZjM2YmZhYTZhZDczMzFlMTEwYzI2ZjIuLjk3NDI5YTMy
MDhjNmMwYTRiZGU0MzI4ZWFmOTE3ZTcyMWE2MWZkYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXJFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9SZXNpemVPYnNlcnZlckVudHJ5LmlkbApAQCAtMjUsNyArMjUsNiBAQAogCiAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvcmVzaXplLW9ic2VydmVyLyNyZXNpemUtb2JzZXJ2ZXItZW50cnkt
aW50ZXJmYWNlCiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFbmFibGVk
QnlTZXR0aW5nPVJlc2l6ZU9ic2VydmVyRW5hYmxlZCwKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlv
biwKICAgICBFeHBvc2VkPVdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
Y3JlZW4uaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JlZW4uaWRsCmluZGV4IGRjMTg1OGEw
NThmNThmOTg2ZDgxNjU5ODRkNmZjMjA2MTcwNTUyMTMuLmQwMzFjNzU1OGUzZTdkMTIxNDA5Zjc3
OWNjNGVjNTA2YmVmNWJmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVu
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5pZGwKQEAgLTI5LDcgKzI5LDYg
QEAKIAogWwogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbURPTVdpbmRvdywK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGlu
dGVyZmFjZSBTY3JlZW4gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhl
aWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRsIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwKaW5kZXggYjlmMjllZjVjY2JhMjdhN2M2MTZh
MzNkNDViZmEyNjM5NjIxYTc5My4uODI1NmI3ZDg3Y2MyMmE0MzBkMTI0N2U4ZTcxM2QwZmY2ZDEw
ZjVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwKQEAgLTMzLDcgKzMzLDYgQEAKIAogWwog
ICAgIEVuYWJsZWRCeVNldHRpbmc9VW5kb01hbmFnZXJBUElFbmFibGVkLAotICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiAgICAgQ3VzdG9t
SXNSZWFjaGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvVW5kb01hbmFnZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvTWFuYWdl
ci5pZGwKaW5kZXggYTQ1MGFkOGYyM2YzODljNWY4NTRhZTAxMTU3ZTIxOTY5ZWNjZjUxOS4uODVj
NGRkODgxOWM0ZjhiYzhhMDk2MzY0NmZmNWIwMGExNzc1NDBhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9VbmRvTWFuYWdlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9V
bmRvTWFuYWdlci5pZGwKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRp
bmc9VW5kb01hbmFnZXJBUElFbmFibGVkLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRG9jdW1lbnQsCiAgICAgRXhwb3NlZD1XaW5k
b3cKIF0gaW50ZXJmYWNlIFVuZG9NYW5hZ2VyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvV2ViS2l0UG9pbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXRQb2ludC5p
ZGwKaW5kZXggZjhiYjE3ZmNmYTc2NDVmNDFkY2E2MWJkMzdhMTRlNzY4NTgxNWVmZS4uNzMyNmE1
ZDNjNGRkNzQ2NWNlMDc1OWVhNWZhY2UyZmQ1MWQ3NGY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9XZWJLaXRQb2ludC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJL
aXRQb2ludC5pZGwKQEAgLTI0LDcgKzI0LDYgQEAKICAqLwogCiBbCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgV2ViS2l0UG9p
bnQgewogICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB4ID0gMCwg
b3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHkgPSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGUuaWRsIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9E
T01NaW1lVHlwZS5pZGwKaW5kZXggOTIzMTk1YTU0ZTdkZWMyMjE2OThhY2I0NTk3MTFiZTE0YTJl
OTY1Yy4uNDkyNWIxZWU0NmQ0MDVmYTQxNTgwZGQ5NWNiMjdmYjFkZGFmODkxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZS5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZS5pZGwKQEAgLTIxLDcgKzIxLDYgQEAKIFsKICAgICBJ
bnRlcmZhY2VOYW1lPU1pbWVUeXBlLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxl
RnJvbU5hdmlnYXRvciwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9z
ZWQ9V2luZG93CiBdIGludGVyZmFjZSBET01NaW1lVHlwZSB7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyB0eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9E
T01NaW1lVHlwZUFycmF5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGVB
cnJheS5pZGwKaW5kZXggODRlZDYyZDEyNzdmMGE4M2I1YmI4OTE3ODE4MDUyMjA5ZTBmYjc3Zi4u
MGYwMjY4ZDNkYWIyMTM0YWVhZWU3YjVlYzRjOTIyODRjY2EwYjA1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL0RPTU1pbWVUeXBlQXJyYXkuaWRsCkBAIC0yMSw3ICsyMSw2IEBACiBbCiAg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAogICAgIExlZ2Fj
eVVuZW51bWVyYWJsZU5hbWVkUHJvcGVydGllcywKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlLAogICAgIEludGVyZmFjZU5hbWU9TWltZVR5cGVBcnJheSwKICAgICBFeHBvc2VkPVdpbmRv
dwogXSBpbnRlcmZhY2UgRE9NTWltZVR5cGVBcnJheSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL0RPTVBsdWdpbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBs
dWdpbi5pZGwKaW5kZXggNDI5NWNhMmZjMTIwZDczZjg2NWU4NDczOTdiZjQ1YmUwOGYzNDNkYy4u
YmYwMDdhZDYzYTdkOWFmMWVlZjIzMDdjOGE3MjcyMzZmZDExYjFiZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW4uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
dWdpbnMvRE9NUGx1Z2luLmlkbApAQCAtMjEsNyArMjEsNiBAQAogWwogICAgIEludGVyZmFjZU5h
bWU9UGx1Z2luLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRv
ciwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIExlZ2FjeVVuZW51bWVyYWJs
ZU5hbWVkUHJvcGVydGllcywKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgRE9NUGx1
Z2luIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXku
aWRsIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW5BcnJheS5pZGwKaW5kZXggZGRh
YjE3OTFkZjg3MDZiZGEyZGJhZWI3ODQ1Yjc3ZTkwZTM3MmJjYy4uM2UwNjUyMTc1ZDY1NWJmYTg5
MzMwZmZlNDA3MTJjOTBiZGUyNTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lu
cy9ET01QbHVnaW5BcnJheS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVn
aW5BcnJheS5pZGwKQEAgLTIxLDcgKzIxLDYgQEAKIFsKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxl
PVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCiAgICAgTGVnYWN5VW5lbnVtZXJhYmxlTmFtZWRQcm9w
ZXJ0aWVzLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFt
ZT1QbHVnaW5BcnJheSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgRE9NUGx1Z2lu
QXJyYXkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWcuaWRsIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWcuaWRsCmluZGV4IDYwNDQ0NDY0NzZkYWNmYWY4
ODc1YjZlYzE1ZmNkMWExZjAxNjNiYWMuLmQ5ZWRkMTZhYTVkOTI2MzkzNGY5NjUzODNmMDI3MjJm
NmQyYjc5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZy5pZGwKQEAgLTI2LDcgKzI2LDYgQEAK
IAogWwogICAgIEN1c3RvbVRvSlNPYmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgU1ZHUGF0aFNlZyB7CiAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgUEFUSFNFR19VTktOT1dOID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdSZW5kZXJpbmdJbnRlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1JlbmRlcmluZ0ludGVudC5pZGwKaW5kZXggNjZmMjUxZGM0MTFhODhiMjlmZjFhYTU5MjRk
ZGRmZWRmMjM5OTk3My4uNjI2NGUxNDkyZDVkZDI0MWNmM2JlNjg3MzM3ZTFkNGI3NTA0ZTA5YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlbmRlcmluZ0ludGVudC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlbmRlcmluZ0ludGVudC5pZGwKQEAgLTI1LDcgKzI1
LDYgQEAKIAogWwogICAgIFN1cHByZXNzVG9KU09iamVjdCwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBTVkdSZW5kZXJpbmdJ
bnRlbnQgewogICAgIC8vIFJlbmRlcmluZyBJbnRlbnQgVHlwZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Vu
aXRUeXBlcy5pZGwKaW5kZXggNjdlMGNhMWVmNzFiMjIwY2VlZTQxOGExYmExMDUyYzY5Y2MxNDVl
YS4uNTM3OGU0MGI4ZmZiYzkwZWVkNDEwZGNkZDU5NGYzNzExNDk2NWQyNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1VuaXRUeXBlcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1VuaXRUeXBlcy5pZGwKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIFN1cHByZXNz
VG9KU09iamVjdCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9
V2luZG93CiBdIGludGVyZmFjZSBTVkdVbml0VHlwZXMgewogICAgIC8vIFVuaXQgVHlwZXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVmlld1NwZWMuaWRsCmluZGV4IGMzNTQ5NzFmMjFjNWI4ZWYwZjQzZTkwNGNj
NTdhOGU2NGM0ZjZmNjkuLmE3ODdlYzZiOWU5M2E0ZDg4NjlmMzNlYTNkMWE3NDM0MGNkMjA5ZWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmlkbApAQCAtMjcsNyArMjcsNiBAQAogLy8gU1ZH
Vmlld1NwZWMgaW50ZW50aW9uYWxseSBkb2Vzbid0IGluaGVyaXQgZnJvbSBTVkdab29tQW5kUGFu
ICYgU1ZHRml0VG9WaWV3Qm94IG9uIHRoZSBJRExzLgogLy8gSXQgd291bGQgcmVxdWlyZSB0aGF0
IGFueSBvZiB0aG9zZSBjbGFzc2VzIHdvdWxkIGJlIFJlZkNvdW50ZWQsIGFuZCB3ZSB3YW50IHRv
IGF2b2lkIHRoYXQuCiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1
c3RvbU1hcmtGdW5jdGlvbiwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBFeHBvc2Vk
PVdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9HQ09ic2VydmF0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvR0NPYnNlcnZhdGlvbi5pZGwKaW5kZXggOGZh
MjRmYTczOTMwMmE0YjU2ODk3NmM4MjcwZWZhMjQ0OTJmOWU2MC4uZTlhNmRhMjIxOTE3NTAzYzg0
M2MyOWZiYmUwNDhjNWVkYmNhMGI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9HQ09ic2VydmF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0dDT2JzZXJ2
YXRpb24uaWRsCkBAIC0zMSw3ICszMSw2IEBACiAKIFsKICAgICBMZWdhY3lOb0ludGVyZmFjZU9i
amVjdCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9ydE1hY3JvPVdF
QkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAogXSBpbnRlcmZhY2UgR0NPYnNlcnZhdGlvbiB7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2FzQ29sbGVjdGVkOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGwKaW5kZXggMjFkMDI2YWY5MDBmMjUyOTRi
OTUwMmYwZjMwYmVlZDg2OTA5ODRlZi4uYWNjMjdhMmQ2NTQwOTE3M2ZkZDI3ODlhNzNlNTBmMWRh
Mzk3NmZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9NYWxsb2NTdGF0aXN0
aWNzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01hbGxvY1N0YXRpc3RpY3MuaWRs
CkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKLSAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfVEVT
VFNVUFBPUlRfRVhQT1JULAogXSBpbnRlcmZhY2UgTWFsbG9jU3RhdGlzdGljcyB7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVzZXJ2ZWRWTUJ5dGVzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9NZW1vcnlJbmZvLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTWVtb3J5SW5mby5pZGwKaW5kZXggOWIyMGQ3ZWJmYTJlMWZlZmMwY2Q3OTA0Mzk1
NzlkYmQzY2U3ZTZmMi4uZjYwYzU2N2VkODkyZDJiODgwYmY5MjY3YjgyODQ1Yzc4YWJlYTMzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9NZW1vcnlJbmZvLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01lbW9yeUluZm8uaWRsCkBAIC0zMCw3ICszMCw2IEBACiAK
IFsKICAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAogXSBp
bnRlcmZhY2UgTWVtb3J5SW5mbyB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgdXNlZEpTSGVhcFNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
Q29udGVudEZpbHRlclNldHRpbmdzLmlkbAppbmRleCAwNjYyNTdiYjdkNTRiMjZjM2RmY2Y1NmVk
MjJmYzE3OGY4NGIzNTMwLi4wODAxYzBmOGY5OTAxZGYxMmM1ZDAzNmVlZjA2NWZhYjBjMzg0Njky
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDb250ZW50RmlsdGVyU2V0
dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXJT
ZXR0aW5ncy5pZGwKQEAgLTQwLDcgKzQwLDYgQEAgZW51bSBEZWNpc2lvbiB7CiBbCiAgICAgQ29u
ZGl0aW9uYWw9Q09OVEVOVF9GSUxURVJJTkcsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Qs
Ci0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgTW9ja0NvbnRlbnRG
aWx0ZXJTZXR0aW5ncyB7CiAgICAgYXR0cmlidXRlIGJvb2xlYW4gZW5hYmxlZDsKICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGJsb2NrZWRTdHJpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYWdlT3ZlcmxheS5pZGwKaW5kZXggNDAzZmE2NGZlZTdlOGQwNDVkMDYxMzg3ZDQ2MTRlNDRl
NWZmYWRkOS4uZTA3NWY0NDM2MjlhOTgwNjQ0YTFjMzRmMmJhOThlYmIwNDBhNjQzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5LmlkbApAQCAtMjUsNyArMjUsNiBA
QAogCiBbCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgTW9ja1BhZ2VPdmVybGF5IHsKICAgICB1bmRlZmluZWQg
c2V0RnJhbWUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgd2lkdGgsIGRvdWJsZSBoZWlnaHQp
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlcklu
dGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuaWRsCmluZGV4IDU4ZmVkYzEwZGVhYTlkZGM4MjI5OWZkOGM1ZDFlNTQ2ODc4NTA1MWYuLmQ5
ZDc2ZmEzZjE3NzU2ZDBlYmY5ZjMwYTRlNDUwOWEwZDIyNmI5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbApAQCAtMjYsNyArMjYs
NiBAQAogWwogICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSLAogICAgIEV4cG9ydE1hY3Jv
PVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCiBdIGludGVyZmFjZSBTZXJ2aWNlV29y
a2VySW50ZXJuYWxzIHsKICAgICB1bmRlZmluZWQgc2V0T25saW5lKGJvb2xlYW4gaXNPbmxpbmUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9UeXBlQ29udmVyc2lvbnMuaWRs
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9UeXBlQ29udmVyc2lvbnMuaWRsCmluZGV4IGNkZjE2
ZmY3NDg4NDgyOGEwMWZkOWVmZTIyYjEzNDlkNDk4NjRhODcuLmFlNmZhNTQyYjk4N2RmNjkxZjJk
ODY0YWJjYTc5YjEwM2U4YmFiZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
VHlwZUNvbnZlcnNpb25zLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252
ZXJzaW9ucy5pZGwKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIExlZ2FjeU5vSW50ZXJmYWNl
T2JqZWN0LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3J0TWFjcm89
V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQsCiBdIGludGVyZmFjZSBUeXBlQ29udmVyc2lvbnMg
ewogICAgIGF0dHJpYnV0ZSBieXRlIHRlc3RCeXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9X
ZWJGYWtlWFJEZXZpY2UuaWRsCmluZGV4IDFhZDZmMjliMGQxNTMxY2YxNjA3YTYzZTY4ZWIwM2M1
YzdlYzMzYzIuLjE5ZmJlMzRmODkwNTUyM2ZkMWRhMDMyMmEzYTI3YWRiZWFiYWJlMGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSRGV2aWNlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUkRldmljZS5pZGwKQEAgLTI3LDcgKzI3LDYg
QEAKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5hYmxlZCwKICAgICBDb25kaXRpb25hbD1X
RUJYUiwKICAgICBJbnRlcmZhY2VOYW1lPUZha2VYUkRldmljZSwKLSAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlLAogICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAogXSBpbnRlcmZhY2Ug
V2ViRmFrZVhSRGV2aWNlIHsKICAgLy8gU2V0cyB0aGUgdmFsdWVzIHRvIGJlIHVzZWQgZm9yIHN1
YnNlcXVlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5w
dXRDb250cm9sbGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRD
b250cm9sbGVyLmlkbAppbmRleCA0OGZiYmM2MWRhMjg4OGQ3ZDMwMDNmNjEzYTI2ZmZkYTA4MTZj
ODcwLi40N2I5YzQ3ODQzYjEwNTlkYjFlMzkzZjE1YzllZDZlNTE0MWFhM2E5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIuaWRsCkBA
IC0yNiw3ICsyNiw2IEBACiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJYUkVuYWJsZWQsCiAg
ICAgQ29uZGl0aW9uYWw9V0VCWFIsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAg
ICBJbnRlcmZhY2VOYW1lPUZha2VYUklucHV0Q29udHJvbGxlciwKICAgICBMZWdhY3lOb0ludGVy
ZmFjZU9iamVjdAogXSBpbnRlcmZhY2UgV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTG9jYXRpb24uaWRsIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGwKaW5kZXggZjAyNWViZmZiZTdlNGFm
MTczYTE2NDlhZmUxZDY3MWVmMDM5ZDlhMi4uYjI1MzUyOGI2MDAyZWJlZTdmMGY4MGE2M2U0MTI1
NjgzZmE0Yjk2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2Nh
dGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGwK
QEAgLTI5LDcgKzI5LDYgQEAKIFsKICAgICBFeHBvc2VkPVdvcmtlciwKICAgICBHZW5lcmF0ZUlz
UmVhY2hhYmxlPUltcGwsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJm
YWNlIFdvcmtlckxvY2F0aW9uIHsKICAgICBzdHJpbmdpZmllciByZWFkb25seSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGhyZWY7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBwcm90b2Nv
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ2xpZW50cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNsaWVudHMuaWRsCmluZGV4IGU3ODI0MTk4MTBhNzFmMDI3OGQyMDcxMjc2ODVhNDBkYWU0
MjBiZmQuLjNkOGI2MTQ1OTBmZDgxNDgzZWRmODdiZTlkNzQwMTZhNmI2NzQ1MWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnRzLmlkbApAQCAtMjgsNyArMjgsNiBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9U2VydmljZVdv
cmtlckVuYWJsZWQsCiAgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2VyLAogICAgIEdlbmVyYXRlSXNS
ZWFjaGFibGU9SW1wbCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEludGVy
ZmFjZU5hbWU9Q2xpZW50cywKIF0gaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJDbGllbnRzIHsKICAg
ICAvLyBUaGUgb2JqZWN0cyByZXR1cm5lZCB3aWxsIGJlIG5ldyBpbnN0YW5jZXMgZXZlcnkgdGlt
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL0RPTVBhcnNlci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvRE9NUGFyc2VyLmlkbAppbmRleCBjYzEyZmI1MWI5MTE0Y2NjY2I5MzgwOWNi
ODVlOGVhMTUyYzhlNmM0Li5mYmVmNTAwZWU0NzdjMTBiYzI0N2FhZDU0YjRmYzEzNzg2OGE0MjEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvRE9NUGFyc2VyLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvRE9NUGFyc2VyLmlkbApAQCAtMTgsNyArMTgsNiBAQAogICovCiAKIFsK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGlu
dGVyZmFjZSBET01QYXJzZXIgewogICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0b3Io
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxTZXJpYWxpemVyLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxTZXJpYWxpemVyLmlkbAppbmRleCA2MWNmOTllYmFkYzllY2I1
MzdmOWM3OTA2MGY5YWZhYWY1ZTIwYWVjLi5hNDg1M2UxOWMzNTEzMzc1YWNjYmIxOTliOTZlOWQ5
NzJmM2QyNmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MU2VyaWFsaXplci5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTFNlcmlhbGl6ZXIuaWRsCkBAIC0xOSw3ICsx
OSw2IEBACiAgKi8KIAogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhw
b3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFhNTFNlcmlhbGl6ZXIgewogICAgIGNvbnN0cnVjdG9y
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFdmFsdWF0b3IuaWRsIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXZhbHVhdG9yLmlkbAppbmRleCBmNjVlMGFmNzlmZDM5
OTk4MjQzZGU0Yzk0OWJiYTdkNzE3ZmYzZTA4Li4yNDI3NjAxMzQ5MGViYjQyZDEwMGRmZDg5NTMw
ZDI3YzhjNzk2ODhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFdmFsdWF0
b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV2YWx1YXRvci5pZGwKQEAgLTE5
LDcgKzE5LDYgQEAKIAogLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyN4cGF0aGV2YWx1
YXRvcgogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5k
b3cKIF0gaW50ZXJmYWNlIFhQYXRoRXZhbHVhdG9yIHsKICAgICBjb25zdHJ1Y3RvcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmlkbAppbmRleCA5ZDdjMjVjZjFhMTVkMzA5NDlm
NDkyYTBiYmFiODg1NzY4MWY4ZDIxLi5lYTdiMzE0MGQ2NmIxNmE1ZjA5ZDk0YTMzMGE3MzdiN2Y0
Y2ZkNTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmlkbApAQCAtMjAsNyAr
MjAsNiBAQAogCiBbCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCi0gICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgWFBhdGhF
eHByZXNzaW9uIHsKICAgICBYUGF0aFJlc3VsdCBldmFsdWF0ZShOb2RlIGNvbnRleHROb2RlLCBv
cHRpb25hbCB1bnNpZ25lZCBzaG9ydCB0eXBlID0gMCwgb3B0aW9uYWwgWFBhdGhSZXN1bHQ/IGlu
UmVzdWx0ID0gbnVsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhSZXN1
bHQuaWRsIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUmVzdWx0LmlkbAppbmRleCA1M2FkM2Rh
ODNkZDM2N2E2NzkxZWRjNGRkNDQ3M2UyMzMzNWYwNjUxLi4wOTQ0NTc2MmM4MGM0ZDQxNmFkMTc0
MGM0ZTcyYjg0M2NiMmMzM2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhS
ZXN1bHQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFJlc3VsdC5pZGwKQEAgLTE5
LDcgKzE5LDYgQEAKIAogWwogICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAotICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiAgICAgRXhw
b3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFhQYXRoUmVzdWx0IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xU
UHJvY2Vzc29yLmlkbAppbmRleCBiNTBjZmZkMzQzYWM1NjdlYjA0ZjU5YTIzODRjZTcwZDM1YWM3
OTE1Li41YzVhNjY2MzdmYzNlMTdjNmFjMTdiMDcyZGU1NmVlNDIyMThkNTI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvci5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hTTFRQcm9jZXNzb3IuaWRsCkBAIC0yOSw3ICsyOSw2IEBACiAvLyBodHRwczovL2Rv
bS5zcGVjLndoYXR3Zy5vcmcvI3hzbHRwcm9jZXNzb3IKIFsKICAgICBDb25kaXRpb25hbD1YU0xU
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0g
aW50ZXJmYWNlIFhTTFRQcm9jZXNzb3IgewogICAgIGNvbnN0cnVjdG9yKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449397</attachid>
            <date>2022-01-18 09:29:54 -0800</date>
            <delta_ts>2022-01-18 10:46:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235170-20220118092953.patch</filename>
            <type>text/plain</type>
            <size>284615</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1MSBAQAorMjAyMi0wMS0xOCAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIElETCBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE3MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgSXQgY2FuIGJlIHJlcGxhY2VkIGJ5IGlmIGNv
bnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFQ+KS4KKworICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVS5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQWRhcHRlci5pZGw6
CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQmluZEdyb3VwLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVCaW5kR3JvdXBMYXlvdXQuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVUJ1ZmZlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVy
VXNhZ2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbnRleHQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbG9yV3JpdGUuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9H
UFVDb21waWxhdGlvbkluZm8uaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXBp
bGF0aW9uTWVzc2FnZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxp
bmUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVURldmljZUxvc3RJbmZvLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVFeHRlcm5hbFRleHR1cmUuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVU1hcE1vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2Vi
R1BVL0dQVU91dE9mTWVtb3J5RXJyb3IuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VVBpcGVsaW5lTGF5b3V0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNl
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlclBpcGVsaW5lLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVy
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGUuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRlclN0YWdlLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVTdXBwb3J0ZWRGZWF0dXJlcy5pZGw6CisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVU3VwcG9ydGVkTGltaXRzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9H
UFVUZXh0dXJlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVXNhZ2Uu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVWaWV3LmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNNYW5hZ2VyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxzQ29udGFpbmVyLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5pZGw6CisgICAgICAgICogTW9k
dWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZ2FtZXBhZC9H
YW1lcGFkLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2dhbWVwYWQvR2FtZXBhZEJ1dHRvbi5pZGw6
CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvb3JkaW5hdGVzLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUG9zaXRpb24uaWRs
OgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9y
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9JREJLZXlSYW5nZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGw6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYU1ldGFkYXRhLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL092ZXJjb25zdHJhaW5lZEVycm9yLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0NlcnRpZmljYXRlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0VuY29kZWRBdWRpb0ZyYW1lLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0VuY29kZWRWaWRlb0ZyYW1lLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0ljZUNhbmRpZGF0ZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNz
aW9uRGVzY3JpcHRpb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3Rh
dHNSZXBvcnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEFk
ZHJlc3MuaWRsOgorICAgICAgICAqIE1vZHVsZXMvcGVybWlzc2lvbnMvUGVybWlzc2lvbnMuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaWRsOgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1h
cGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNo
L1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3NwZWVj
aC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaWRsOgorICAgICAgICAqIE1vZHVsZXMvc3Rv
cmFnZS9TdG9yYWdlTWFuYWdlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWItbG9ja3MvV2Vi
TG9jay5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0xpc3RlbmVyLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldFByb2Nlc3Nvci5pZGw6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViY29k
ZWNzL1ZpZGVvQ29sb3JTcGFjZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxFcnJvci5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxSZXN1bHRTZXQuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0Um93TGlzdC5pZGw6CisgICAgICAg
ICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhy
L1dlYlhSSGFuZC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGw6CisgICAgICAgICog
TW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRlclN0YXRlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2Vi
WFJWaWV3LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSVmlld3BvcnQuaWRsOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAo
R2V0R251VlRhYmxlTmFtZUZvckludGVyZmFjZSk6CisgICAgICAgIChHZXRXaW5WVGFibGVOYW1l
Rm9ySW50ZXJmYWNlKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAg
ICAoR2V0SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZUZvckludGVyZmFjZSk6IERlbGV0ZWQuCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb246CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5pZGw6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFN0YXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVh
dGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlv
bnNTdHJpbmdpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdERlZmF1bHRUb0pTT04uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5
Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1
bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVs
ZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RG9tYWluU2VjdXJpdHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRl
ZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNl
dHRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlD
cmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5
Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVy
ZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNy
ZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJs
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TWFwTGlrZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVh
dGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZVdp
dGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlD
cmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNO
ZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05l
d2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5
Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyTm9JZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
clRocm93aW5nRXhjZXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0
ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldp
dGhJbmRleGVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldp
dGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXds
eUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVy
dGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9K
U05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9K
U05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5
Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9K
U05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFBsdWdpbkludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVk
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVj
dGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNldExpa2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3Zl
cnJpZGRlbk9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRl
ZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRl
ZEFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVk
VG9TdHJpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlB
dHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRl
QXR0cmlidXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5pZGw6CisgICAgICAgICogY3NzL0NT
U1BhaW50U2l6ZS5pZGw6CisgICAgICAgICogY3NzL0RPTU1hdHJpeC5pZGw6CisgICAgICAgICog
Y3NzL0RPTU1hdHJpeFJlYWRPbmx5LmlkbDoKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZENTU09N
Q291bnRlci5pZGw6CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVl
LmlkbDoKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZENTU09NUkdCQ29sb3IuaWRsOgorICAgICAg
ICAqIGNzcy9EZXByZWNhdGVkQ1NTT01SZWN0LmlkbDoKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRl
ZENTU09NVmFsdWUuaWRsOgorICAgICAgICAqIGNzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3Qu
aWRsOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuaWRsOgorICAgICAgICAqIGNzcy9TdHlsZU1l
ZGlhLmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldExpc3QuaWRsOgorICAgICAgICAqIGNz
cy90eXBlZG9tL0NTU09NVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5pZGw6CisgICAgICAgICogY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuaWRsOgorICAgICAgICAqIGRvbS9BYm9y
dENvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIGRvbS9ET01FeGNlcHRpb24uaWRsOgorICAgICAg
ICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGw6CisgICAgICAgICogZG9tL0RPTVBvaW50Lmlk
bDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL0RP
TVF1YWQuaWRsOgorICAgICAgICAqIGRvbS9ET01SZWN0LmlkbDoKKyAgICAgICAgKiBkb20vRE9N
UmVjdExpc3QuaWRsOgorICAgICAgICAqIGRvbS9ET01SZWN0UmVhZE9ubHkuaWRsOgorICAgICAg
ICAqIGRvbS9ET01TdHJpbmdMaXN0LmlkbDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRl
bS5pZGw6CisgICAgICAgICogZG9tL0lkbGVEZWFkbGluZS5pZGw6CisgICAgICAgICogZG9tL01l
c3NhZ2VDaGFubmVsLmlkbDoKKyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlci5pZGw6Cisg
ICAgICAgICogZG9tL05hbWVkTm9kZU1hcC5pZGw6CisgICAgICAgICogZG9tL05vZGVJdGVyYXRv
ci5pZGw6CisgICAgICAgICogZG9tL1RleHREZWNvZGVyLmlkbDoKKyAgICAgICAgKiBkb20vVGV4
dERlY29kZXJTdHJlYW1EZWNvZGVyLmlkbDoKKyAgICAgICAgKiBkb20vVGV4dEVuY29kZXIuaWRs
OgorICAgICAgICAqIGRvbS9UZXh0RW5jb2RlclN0cmVhbUVuY29kZXIuaWRsOgorICAgICAgICAq
IGRvbS9Ub3VjaC5pZGw6CisgICAgICAgICogZG9tL1RvdWNoTGlzdC5pZGw6CisgICAgICAgICog
ZG9tL1RyZWVXYWxrZXIuaWRsOgorICAgICAgICAqIGZpbGVhcGkvRmlsZUxpc3QuaWRsOgorICAg
ICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlclN5bmMuaWRsOgorICAgICAgICAqIGh0bWwvRE9NRm9y
bURhdGEuaWRsOgorICAgICAgICAqIGh0bWwvSW1hZ2VCaXRtYXAuaWRsOgorICAgICAgICAqIGh0
bWwvSW1hZ2VEYXRhLmlkbDoKKyAgICAgICAgKiBodG1sL01lZGlhRXJyb3IuaWRsOgorICAgICAg
ICAqIGh0bWwvVGV4dE1ldHJpY3MuaWRsOgorICAgICAgICAqIGh0bWwvVGltZVJhbmdlcy5pZGw6
CisgICAgICAgICogaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsOgorICAgICAgICAqIGh0bWwvV2Vi
S2l0TWVkaWFLZXlFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzR3JhZGll
bnQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGw6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL0F1ZGlvVHJh
Y2tDb25maWd1cmF0aW9uLmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxp
c3QuaWRsOgorICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uTGlzdC5pZGw6CisgICAgICAg
ICogaHRtbC90cmFjay9WaWRlb1RyYWNrQ29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICogaW5z
cGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVjdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckF1ZGl0RE9NT2JqZWN0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
QXVkaXRSZXNvdXJjZXNPYmplY3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZEhvc3QuaWRsOgorICAgICAgICAqIHBhZ2UvQmFyUHJvcC5pZGw6CisgICAgICAgICog
cGFnZS9ET01TZWxlY3Rpb24uaWRsOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5pZGw6CisgICAg
ICAgICogcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGw6CisgICAgICAgICogcGFnZS9JbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5LmlkbDoKKyAgICAgICAgKiBwYWdlL0xvY2F0aW9uLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGw6CisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2Jz
ZXJ2ZXJFbnRyeUxpc3QuaWRsOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1p
bmcuaWRsOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsOgorICAgICAgICAq
IHBhZ2UvUmVzaXplT2JzZXJ2ZXIuaWRsOgorICAgICAgICAqIHBhZ2UvUmVzaXplT2JzZXJ2ZXJF
bnRyeS5pZGw6CisgICAgICAgICogcGFnZS9TY3JlZW4uaWRsOgorICAgICAgICAqIHBhZ2UvVW5k
b0l0ZW0uaWRsOgorICAgICAgICAqIHBhZ2UvVW5kb01hbmFnZXIuaWRsOgorICAgICAgICAqIHBh
Z2UvV2ViS2l0UG9pbnQuaWRsOgorICAgICAgICAqIHBsdWdpbnMvRE9NTWltZVR5cGUuaWRsOgor
ICAgICAgICAqIHBsdWdpbnMvRE9NTWltZVR5cGVBcnJheS5pZGw6CisgICAgICAgICogcGx1Z2lu
cy9ET01QbHVnaW4uaWRsOgorICAgICAgICAqIHBsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsOgor
ICAgICAgICAqIHN2Zy9TVkdQYXRoU2VnLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHUmVuZGVyaW5n
SW50ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVW5pdFR5cGVzLmlkbDoKKyAgICAgICAgKiBz
dmcvU1ZHVmlld1NwZWMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvR0NPYnNlcnZhdGlvbi5pZGw6
CisgICAgICAgICogdGVzdGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbDoKKyAgICAgICAgKiB0ZXN0
aW5nL01lbW9yeUluZm8uaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXJT
ZXR0aW5ncy5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuaWRsOgorICAg
ICAgICAqIHRlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5pZGw6CisgICAgICAgICogdGVz
dGluZy9UeXBlQ29udmVyc2lvbnMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSRGV2
aWNlLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5pZGw6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGw6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmlkbDoKKyAgICAgICAgKiB4bWwvRE9NUGFy
c2VyLmlkbDoKKyAgICAgICAgKiB4bWwvWE1MU2VyaWFsaXplci5pZGw6CisgICAgICAgICogeG1s
L1hQYXRoRXZhbHVhdG9yLmlkbDoKKyAgICAgICAgKiB4bWwvWFBhdGhFeHByZXNzaW9uLmlkbDoK
KyAgICAgICAgKiB4bWwvWFBhdGhSZXN1bHQuaWRsOgorICAgICAgICAqIHhtbC9YU0xUUHJvY2Vz
c29yLmlkbDoKKwogMjAyMi0wMS0xOCAgU2VwYW5kIFBhcmhhbWkgIDxzcGFyaGFtaUBhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IEltcHJvdmUgc3VwcG9ydCBmb3IgYXJpYS1vd25zIGluIGFyaWEg
dHJlZXMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVLmlkbAkocmV2aXNpb24g
Mjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJH
UFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cp
LCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRp
Y2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVBZGFwdGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVBZGFwdGVyLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQWRhcHRlci5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVk
V29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVQmluZEdyb3VwLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVCaW5kR3JvdXAuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCaW5kR3JvdXAuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8q
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRl
ZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUJpbmRHcm91cExheW91dC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQmluZEdyb3VwTGF5b3V0LmlkbAkocmV2aXNpb24g
Mjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQmluZEdyb3VwTGF5
b3V0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBF
eHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5pZGwJKHJldmlzaW9u
IDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAgdHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1
bnNpZ25lZCBsb25nIGxvbgogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3Jr
ZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVCdWZmZXJVc2FnZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyVXNhZ2UuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXJVc2FnZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDcgKzI4LDYgQEAKIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQg
bG9uZyBHUFVCdWZmZXJVc2FnZUZsYWdzOwogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BV
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwg
LyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNh
dGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29udGV4dC5pZGwJKHJldmlzaW9uIDI4
ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbnRleHQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlT
ZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9z
ZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbG9yV3JpdGUuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbG9yV3JpdGUuaWRsCShyZXZp
c2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb2xvcldy
aXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQAogdHlwZWRlZiBbRW5mb3Jj
ZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVUNvbG9yV3JpdGVGbGFnczsKIFsKICAgICBFbmFibGVk
QnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4
cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIu
aWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kQnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBb
CiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250
ZXh0CiBdCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5j
b2Rlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tbWFuZEVuY29kZXIuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDcgKzMzLDYgQEAgdHlwZWRlZiAoc2VxdWVuY2U8R1BVSW50ZWdlckNvb3JkaW5hdGU+IAogCiBb
CiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250
ZXh0CiBdCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21waWxhdGlv
bkluZm8uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUNvbXBpbGF0aW9uSW5mby5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbXBpbGF0aW9uSW5mby5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAotICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2Vy
ICovCiAgICAgU2VyaWFsaXphYmxlLAogICAgIFNlY3VyZUNvbnRleHQKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXBpbGF0aW9uTWVzc2FnZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcGlsYXRpb25NZXNzYWdl
LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVQ29tcGlsYXRpb25NZXNzYWdlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBA
QAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZXJp
YWxpemFibGUsCiAgICAgU2VjdXJlQ29udGV4dApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaWRsCShyZXZpc2lv
biAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFz
c0VuY29kZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBAIHR5cGVkZWYgW0Vu
Zm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBsb24KIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2lu
ZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0Mjog
RGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRsCShy
ZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21w
dXRlUGlwZWxpbmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAg
ICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
LAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQK
IF0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURldmljZUxvc3RJbmZv
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZp
Y2VMb3N0SW5mby5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVURldmljZUxvc3RJbmZvLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyAr
MjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAg
ICBTZWN1cmVDb250ZXh0CiBdCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVFeHRlcm5hbFRleHR1cmUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUV4dGVybmFsVGV4dHVyZS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUV4dGVybmFsVGV4dHVyZS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2Vi
R1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93
KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVk
aWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVTWFwTW9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTWFwTW9kZS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU1hcE1vZGUuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw3ICsyOCw2IEBACiB0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxv
bmcgR1BVTWFwTW9kZUZsYWdzOwogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAotICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29y
a2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT3V0T2ZNZW1vcnlFcnJvci5pZGwJKHJldmlzaW9uIDI4
ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU91dE9mTWVtb3J5RXJy
b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVk
QnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4
cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91
dC5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVBpcGVsaW5lTGF5b3V0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAog
CiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVD
b250ZXh0CiBdCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNl
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVl
cnlTZXQuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVRdWVyeVNldC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAog
WwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29u
dGV4dAogXQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmlk
bAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UXVldWUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2IEBAIHR5cGVkZWYgKHNlcXVl
bmNlPEdQVUludGVnZXJDb29yZGluYXRlPiAKIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2Vi
R1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93
KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0MjogRGVk
aWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGUuaWRsCShyZXZpc2lvbiAy
ODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlT
ZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9z
ZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRs
ZUVuY29kZXIuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcs
NyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8K
ICAgICBTZWN1cmVDb250ZXh0CiBdCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsCShyZXZpc2lvbiAyODgxMTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDYgQEAgdHlwZWRlZiAoc2VxdWVuY2U8ZG91
YmxlPiBvciBHUFVDb2xvckRpYwogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUsCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3cpLCAvKiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNTQyOiBEZWRpY2F0ZWRX
b3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJQaXBlbGluZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGlwZWxpbmUuaWRsCShyZXZpc2lvbiAyODgx
MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQaXBlbGluZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNl
dHRpbmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3Nl
ZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MjU0MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlci5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlci5pZGwJKHJldmlzaW9uIDI4
ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXIuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5n
PVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdp
bmRvdyksIC8qIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6
IERlZGljYXRlZFdvcmtlciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmlkbAkocmV2aXNp
b24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9k
dWxlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBF
eHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyU3RhZ2UuaWRs
CShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVT
aGFkZXJTdGFnZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAKIHR5cGVkZWYg
W0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVTaGFkZXJTdGFnZUZsYWdzOwogWwogICAg
IEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAog
XQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU3VwcG9ydGVkRmVhdHVy
ZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVN1
cHBvcnRlZEZlYXR1cmVzLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVU3VwcG9ydGVkRmVhdHVyZXMuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtl
ciAqLwogICAgIFNlY3VyZUNvbnRleHQKIF0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVN1cHBvcnRlZExpbWl0cy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVU3VwcG9ydGVkTGltaXRzLmlkbAkocmV2aXNpb24gMjg4MTE3
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU3VwcG9ydGVkTGltaXRzLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0
dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2Vk
PShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMy
NTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlLmlkbAkocmV2aXNpb24gMjg4
MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9
V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2lu
ZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjU0Mjog
RGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAogXQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZVVzYWdlLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVXNhZ2UuaWRsCShyZXZpc2lv
biAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVXNh
Z2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiB0eXBlZGVmIFtFbmZvcmNl
UmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7CiBbCiAgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBF
eHBvc2VkPShXaW5kb3cpLCAvKiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMyNTQyOiBEZWRpY2F0ZWRXb3JrZXIgKi8KICAgICBTZWN1cmVDb250ZXh0CiBdCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlVmlldy5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZVZpZXcuaWRs
CShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVU
ZXh0dXJlVmlldy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAg
IEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgRXhwb3NlZD0oV2luZG93KSwgLyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMjU0MjogRGVkaWNhdGVkV29ya2VyICovCiAgICAgU2VjdXJlQ29udGV4dAog
XQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVmFsaWRhdGlvbkVycm9y
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVWYWxp
ZGF0aW9uRXJyb3IuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVWYWxpZGF0aW9uRXJyb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3
ICsyNSw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVSwKLSAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksIC8qIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1NDI6IERlZGljYXRlZFdvcmtlciAqLwog
ICAgIFNlY3VyZUNvbnRleHQKIF0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMt
Y2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCShyZXZpc2lvbiAyODgx
MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJ
dGVtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQCBkaWN0aW9uYXJ5IENsaXBi
b2FyZEl0ZW1PcHRpb25zIHsKIFsKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBFbmFibGVkQnlT
ZXR0aW5nPUFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvcgog
XSBpbnRlcmZhY2UgQ2xpcGJvYXJkSXRlbSB7CiAgICAgY29uc3RydWN0b3IocmVjb3JkPERPTVN0
cmluZywgQ2xpcGJvYXJkSXRlbURhdGE+IGl0ZW1zLCBvcHRpb25hbCBDbGlwYm9hcmRJdGVtT3B0
aW9ucyBvcHRpb25zKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29udGFjdC1waWNr
ZXIvQ29udGFjdHNNYW5hZ2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RzTWFuYWdlci5pZGwJKHJldmlzaW9uIDI4ODExNykK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY29udGFjdC1waWNrZXIvQ29udGFjdHNNYW5hZ2Vy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNiBAQAogICAgIEVuYWJsZWRCeVNldHRp
bmc9Q29udGFjdFBpY2tlckFQSUVuYWJsZWQsCiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgR2Vu
ZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAotICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUsCiAgICAgU2VjdXJlQ29udGV4dAogXSBpbnRlcmZhY2UgQ29udGFjdHNN
YW5hZ2VyIHsKICAgICBQcm9taXNlPHNlcXVlbmNlPENvbnRhY3RQcm9wZXJ0eT4+IGdldFByb3Bl
cnRpZXMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1l
bnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbHNDb250YWluZXIuaWRsCShy
ZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5h
Z2VtZW50L0NyZWRlbnRpYWxzQ29udGFpbmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyAr
MjgsNiBAQAogICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKICAgICBFbmFibGVkQnlTZXR0aW5n
PVdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCwKICAgICBFeHBvc2VkPVdpbmRvdywKLSAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBD
cmVkZW50aWFsc0NvbnRhaW5lciB7CiAgICAgUHJvbWlzZTxCYXNpY0NyZWRlbnRpYWw/PiBnZXQo
b3B0aW9uYWwgQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIG9wdGlvbnMpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN5c3RlbUFjY2Vzcy5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw3ICszMCw2IEBACiAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElB
LAogICAgIEVuYWJsZWRCeVNldHRpbmc9RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkLAogICAgIERp
c2FibGVkQnlRdWlyaz1oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnQsCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2Ug
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
a2V5U3lzdGVtOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZp
bGVTeXN0ZW0uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9ET01GaWxlU3lzdGVtLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBFbmFibGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9h
ZEVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VO
YW1lPUZpbGVTeXN0ZW0sCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERPTUZpbGVT
eXN0ZW0gewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFk
ZXJzLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEhlYWRlcnMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBAIHR5cGVk
ZWYgKHNlcXVlbmNlPHNlcXVlbmNlPEJ5dGVTdHJpbmc+PiAKIAogWwogICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJm
YWNlTmFtZT1IZWFkZXJzLAogXSBpbnRlcmZhY2UgRmV0Y2hIZWFkZXJzIHsKICAgICBjb25zdHJ1
Y3RvcihvcHRpb25hbCBIZWFkZXJzSW5pdCBpbml0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dhbWVwYWQvR2FtZXBhZC5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NyArMjYsNiBAQAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9R2FtZXBhZHNFbmFibGVkLAogICAg
IENvbmRpdGlvbmFsPUdBTUVQQUQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAg
ICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgR2FtZXBhZCB7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBpZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2FtZXBh
ZC9HYW1lcGFkQnV0dG9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dhbWVwYWQvR2FtZXBhZEJ1dHRvbi5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2FtZXBhZC9HYW1lcGFkQnV0dG9uLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjYsNyArMjYsNiBAQAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9R2FtZXBhZHNFbmFibGVk
LAogICAgIENvbmRpdGlvbmFsPUdBTUVQQUQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgR2FtZXBhZEJ1dHRvbiB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gcHJlc3NlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db29yZGluYXRlcy5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvb3Jk
aW5hdGVzLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
ZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvb3JkaW5hdGVzLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjcsNyArMjcsNiBAQAogLy8gRklYTUU6IFRoZSBjdXJyZW50IHN0YW5kYXJkIHNheXMgdGhpcyBz
aG91bGQgYmUgYW5ub3RhdGVkIHdpdGggJ1NlY3VyZUNvbnRleHQnLgogWwogICAgIENvbmRpdGlv
bmFsPUdFT0xPQ0FUSU9OLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhw
b3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIEdlb2xvY2F0aW9uQ29vcmRpbmF0ZXMgewogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGxhdGl0dWRlOwpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBvc2l0aW9uLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uUG9zaXRpb24uaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUG9zaXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw3ICsyNyw2IEBACiAvLyBGSVhNRTogVGhlIGN1cnJlbnQgc3RhbmRhcmQgc2F5cyB0aGlz
IHNob3VsZCBiZSBhbm5vdGF0ZWQgd2l0aCAnU2VjdXJlQ29udGV4dCcuCiBbCiAgICAgQ29uZGl0
aW9uYWw9R0VPTE9DQVRJT04sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBF
eHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgR2VvbG9jYXRpb25Qb3NpdGlvbiB7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEdlb2xvY2F0aW9uQ29vcmRpbmF0ZXMgY29vcmRzOwpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBvc2l0aW9uRXJyb3Iu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
bG9jYXRpb25Qb3NpdGlvbkVycm9yLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiAvLyBodHRwczovL3czYy5naXRodWIuaW8v
Z2VvbG9jYXRpb24tYXBpLyNwb3NpdGlvbl9lcnJvcl9pbnRlcmZhY2UKIFsKICAgICBDb25kaXRp
b25hbD1HRU9MT0NBVElPTiwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4
cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IgewogICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFBFUk1JU1NJT05fREVOSUVEID0gMTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmlkbAkocmV2aXNpb24g
Mjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNiBAQAogCiBbCiAgICAgRW5hYmxlZEF0UnVu
dGltZT1IaWdobGlnaHRBUElFbmFibGVkLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIEhpZ2hsaWdodCB7CiAgICAgY29uc3Ry
dWN0b3IoU3RhdGljUmFuZ2UgcmFuZ2UpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmlkbAkocmV2aXNpb24gMjg4
MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBFbmFibGVk
QXRSdW50aW1lPUhpZ2hsaWdodEFQSUVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgSGlnaGxpZ2h0UmVnaXN0ZXIg
ewogICAgIGNvbnN0cnVjdG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmlkbAko
cmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDYg
QEAKIAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93LERlZGlj
YXRlZFdvcmtlcikKIF0gaW50ZXJmYWNlIE1lZGlhQ2FwYWJpbGl0aWVzIHsKICAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mbz4gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3Vy
YXRpb24pOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlh
Q29udHJvbHNIb3N0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBAIGVudW0gRGV2aWNlVHlwZSB7CiAKIFsK
ICAgICBDb25kaXRpb25hbD1NRURJQV9DT05UUk9MU19TQ1JJUFQsCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKICAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNl
IE1lZGlhQ29udHJvbHNIb3N0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxh
eW91dFRyYWl0c0NsYXNzTmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
ZXNzaW9uL01lZGlhTWV0YWRhdGEuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhTWV0YWRhdGEuaWRsCShyZXZpc2lvbiAyODgxMTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYU1ldGFkYXRhLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNiBAQAogWwogICAgIENvbmRpdGlvbmFsPU1FRElB
X1NFU1NJT04sCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKIF0gaW50ZXJmYWNlIE1lZGlhTWV0YWRhdGEgewogICAgIFtDYWxsV2l0aD1TY3JpcHRF
eGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihvcHRpb25hbCBNZWRpYU1ldGFkYXRhSW5pdCBp
bml0KTsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRpdGxlOwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVh
bGl0eS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3
ICsyOCw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9VklERU8sCiAgICAgTGVnYWN5Tm9JbnRlcmZh
Y2VPYmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIFZp
ZGVvUGxheWJhY2tRdWFsaXR5IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVk
IGRvdWJsZSBjcmVhdGlvblRpbWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgdG90YWxWaWRlb0ZyYW1lczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vT3ZlcmNvbnN0cmFpbmVkRXJyb3IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vT3ZlcmNvbnN0cmFpbmVkRXJyb3IuaWRsCShyZXZpc2lv
biAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL092ZXJjb25z
dHJhaW5lZEVycm9yLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQAogLy8gW2h0
dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYWNhcHR1cmUtbWFpbi8jZGZuLW92ZXJjb25zdHJhaW5l
ZGVycm9yXQogCiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBDb25kaXRp
b25hbD1NRURJQV9TVFJFQU0sCiAgICAgRXhjZXB0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NlcnRpZmljYXRlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Nl
cnRpZmljYXRlLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENDZXJ0aWZpY2F0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcg
KzM3LDYgQEAgdHlwZWRlZiAob2JqZWN0IG9yIERPTVN0cmluZykgQWxnb3JpdGhtSQogWwogICAg
IENvbmRpdGlvbmFsPVdFQl9SVEMsCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1QZWVyQ29ubmVjdGlv
bkVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdp
bmRvdwogXSBpbnRlcmZhY2UgUlRDQ2VydGlmaWNhdGUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBkb3VibGUgZXhwaXJlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaWRsCShyZXZpc2lvbiAy
ODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRB
dWRpb0ZyYW1lLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNiBAQCBkaWN0aW9uYXJ5
IFJUQ0VuY29kZWRBdWRpb0ZyYW1lTWV0YWRhdGEgCiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywK
ICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlJUQ0VuY29kZWRUcmFuc2Zvcm1FbmFibGVkLAogICAg
IEV4cG9zZWQ9RGVkaWNhdGVkV29ya2VyLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiBdIGludGVyZmFjZSBSVENFbmNvZGVkQXVkaW9GcmFtZSB7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lc3RhbXA7CiAgICAgYXR0cmlidXRlIEFycmF5QnVm
ZmVyIGRhdGE7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Vu
Y29kZWRWaWRlb0ZyYW1lLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0VuY29kZWRWaWRlb0ZyYW1lLmlkbAkocmV2aXNpb24gMjg4MTE3KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkVmlkZW9GcmFt
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAgZGljdGlvbmFyeSBSVENFbmNv
ZGVkVmlkZW9GcmFtZU1ldGFkYXRhIAogICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCiAgICAgRW5h
YmxlZEJ5U2V0dGluZz1XZWJSVENFbmNvZGVkVHJhbnNmb3JtRW5hYmxlZCwKICAgICBFeHBvc2Vk
PURlZGljYXRlZFdvcmtlciwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRl
cmZhY2UgUlRDRW5jb2RlZFZpZGVvRnJhbWUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENF
bmNvZGVkVmlkZW9GcmFtZVR5cGUgdHlwZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBsb25nIHRpbWVzdGFtcDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZS5pZGwJKHJldmlzaW9uIDI4ODEx
NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogWwogICAgIENvbmRpdGlvbmFs
PVdFQl9SVEMsCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1QZWVyQ29ubmVjdGlvbkVuYWJsZWQsCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRl
cmZhY2UgUlRDSWNlQ2FuZGlkYXRlIHsKICAgICBjb25zdHJ1Y3RvcihSVENJY2VDYW5kaWRhdGVJ
bml0IGNhbmRpZGF0ZUluaXREaWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwJKHJl
dmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNiBAQAog
WwogICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1QZWVyQ29u
bmVjdGlvbkVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBQcml2
YXRlSWRlbnRpZmllciwKICAgICBQdWJsaWNJZGVudGlmaWVyLAogICAgIEV4cG9zZWQ9V2luZG93
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1N0YXRzUmVwb3J0LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDcgKzI2LDYgQEAKIFsKICAgICBDb25kaXRpb25hbD1XRUJfUlRDLAogICAgIEVuYWJsZWRCeVNl
dHRpbmc9UGVlckNvbm5lY3Rpb25FbmFibGVkLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFJUQ1N0YXRzUmVwb3J0IHsKICAg
ICByZWFkb25seSBtYXBsaWtlPERPTVN0cmluZywgb2JqZWN0PjsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEFkZHJlc3MuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEFkZHJlc3Mu
aWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRBZGRyZXNzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBA
QAogICAgIENvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVCwKICAgICBFbmFibGVkQnlTZXR0aW5n
PVBheW1lbnRSZXF1ZXN0RW5hYmxlZCwKICAgICBFeHBvc2VkPVdpbmRvdywKLSAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIFNlY3VyZUNvbnRleHQKIF0gaW50ZXJmYWNlIFBheW1l
bnRBZGRyZXNzIHsKICAgICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wZXJtaXNzaW9ucy9QZXJtaXNzaW9ucy5pZGwJKHJl
dmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGVybWlzc2lvbnMvUGVy
bWlzc2lvbnMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiBbCiAgICAgRW5h
YmxlZEJ5U2V0dGluZz1QZXJtaXNzaW9uc0FQSUVuYWJsZWQsCiAgICAgR2VuZXJhdGVJc1JlYWNo
YWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKIF0gaW50ZXJmYWNlIFBlcm1pc3Npb25z
IHsKICAgICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHF1ZXJ5KG9iamVjdCBwZXJtaXNzaW9u
RGVzYyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2Vy
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hN
YW5hZ2VyLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
dXNoLWFwaS9QdXNoTWFuYWdlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAK
IFsKICAgICBDb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUiwKICAgICBFbmFibGVkQXRSdW50aW1l
PVB1c2hBUElFbmFibGVkLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgU2Vj
dXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKIF0gaW50ZXJmYWNlIFB1
c2hNYW5hZ2VyIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1l
c3NhZ2VEYXRhLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gt
YXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNiBAQAogICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSLAogICAgIEVu
YWJsZWRBdFJ1bnRpbWU9UHVzaEFQSUVuYWJsZWQsCiAgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2Vy
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBQdXNoTWVzc2Fn
ZURhdGEgewogICAgIEFycmF5QnVmZmVyIGFycmF5QnVmZmVyKCk7CiAgICAgW0NhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRdIEJsb2IgYmxvYigpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaWRsCShyZXZpc2lv
biAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3Jp
cHRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBACiAgICAgQ29uZGl0aW9u
YWw9U0VSVklDRV9XT1JLRVIsCiAgICAgRW5hYmxlZEF0UnVudGltZT1QdXNoQVBJRW5hYmxlZCwK
ICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciks
CiBdIGludGVyZmFjZSBQdXNoU3Vic2NyaXB0aW9uIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMu
aWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBp
L1B1c2hTdWJzY3JpcHRpb25PcHRpb25zLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgs
NiBAQAogWwogICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9UHVzaEFQSUVuYWJsZWQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAg
ICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogXSBpbnRlcmZh
Y2UgUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2
ZS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNo
L1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3
ICsyNCw2IEBACiAgKi8KIAogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAg
RW5hYmxlZEJ5U2V0dGluZz1TcGVlY2hSZWNvZ25pdGlvbkVuYWJsZWQsCiAgICAgRXhwb3NlZD1X
aW5kb3cKIF0gaW50ZXJmYWNlIFNwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUgewpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uUmVzdWx0LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVNwZWVjaFJlY29nbml0
aW9uRW5hYmxlZCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9
V2luZG93CiBdIGludGVyZmFjZSBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdCB7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3Vs
dExpc3QuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw3ICsyNSw2IEBACiAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVNwZWVjaFJlY29nbml0aW9u
RW5hYmxlZCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2lu
ZG93CiBdIGludGVyZmFjZSBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QgewogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RvcmFnZS9TdG9yYWdlTWFuYWdlci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmlkbAkocmV2aXNpb24gMjg4
MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0
dGluZz1TdG9yYWdlQVBJRW5hYmxlZCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAog
ICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKIF0gaW50ZXJm
YWNlIFN0b3JhZ2VNYW5hZ2VyIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViLWxv
Y2tzL1dlYkxvY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
LWxvY2tzL1dlYkxvY2suaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYi1sb2Nrcy9XZWJMb2NrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUs
NiBAQAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViTG9ja3NBUElFbmFibGVkLAogICAgIEV4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAg
ICAgSW50ZXJmYWNlTmFtZT1Mb2NrLAogICAgIFNlY3VyZUNvbnRleHQKIF0gaW50ZXJmYWNlIFdl
YkxvY2sgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0J1ZmZlci5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBA
CiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9
SW1wbCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEpTQ3VzdG9tTWFya0Z1
bmN0aW9uLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIFJlcG9ydEV4dHJhTWVtb3J5
Q29zdCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5l
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0xpc3RlbmVyLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0xpc3RlbmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAs
NiBAQAogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBFeHBvc2VkPVdpbmRvdywK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBBdWRpb0xpc3RlbmVy
IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBwb3NpdGlvblg7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gcG9zaXRpb25ZOwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1dvcmtsZXRQcm9jZXNzb3IuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Xb3JrbGV0UHJvY2Vzc29y
LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1dvcmtsZXRQcm9jZXNzb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2
IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEV4cG9zZWQ9QXVkaW9Xb3Jr
bGV0LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNDdXN0b21NYXJrRnVu
Y3Rpb24KIF0gaW50ZXJmYWNlIEF1ZGlvV29ya2xldFByb2Nlc3NvciB7CiAgICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKCk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaWRsCShyZXZpc2lvbiAy
ODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDYgQEAKIC8vIFBlcmlvZGljV2F2ZSByZXBy
ZXNlbnRzIGEgcGVyaW9kaWMgYXVkaW8gd2F2ZWZvcm0gZ2l2ZW4gYnkgaXRzIEZvdXJpZXIgY29l
ZmZpY2llbnRzLgogWwogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKLSAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBQZXJpb2Rp
Y1dhdmUgewogICAgIFtFbmFibGVkQnlTZXR0aW5nPVdlYkF1ZGlvRW5hYmxlZF0gY29uc3RydWN0
b3IoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBQZXJpb2RpY1dhdmVPcHRpb25z
IG9wdGlvbnMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJjb2RlY3MvVmlkZW9D
b2xvclNwYWNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmNv
ZGVjcy9WaWRlb0NvbG9yU3BhY2UuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmNvZGVjcy9WaWRlb0NvbG9yU3BhY2UuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9VklERU8sCiAgICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0KIGlu
dGVyZmFjZSBWaWRlb0NvbG9yU3BhY2UgewogICByZWFkb25seSBhdHRyaWJ1dGUgVmlkZW9Db2xv
clByaW1hcmllcz8gcHJpbWFyaWVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw3ICsyNyw2IEBACiAgKi8KIAogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJTUUxFbmFibGVkLAogICAgIEV4cG9zZWQ9V2luZG93
CiBdIGludGVyZmFjZSBEYXRhYmFzZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTEVycm9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTEVycm9yLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxFcnJvci5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDcgKzI3LDYgQEAKICAqLwogCiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYlNRTEVuYWJsZWQsCiAgICAgRXhwb3NlZD1XaW5k
b3cKIF0gaW50ZXJmYWNlIFNRTEVycm9yIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3VsdFNldC5pZGwJKHJldmlzaW9uIDI4ODExNykK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogICovCiAKIFsKLSAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViU1FMRW5hYmxlZCwKICAg
ICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgU1FMUmVzdWx0U2V0IHsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0Um93TGlzdC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxSZXN1bHRT
ZXRSb3dMaXN0LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjksNyArMjksNiBAQAogdHlwZWRlZiAoRE9NU3RyaW5nPyBvciB1bnJlc3RyaWN0ZWQgZG91Ymxl
KSBTUUxWYWx1ZTsKIAogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRW5h
YmxlZEF0UnVudGltZT1XZWJTUUxFbmFibGVkLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVy
ZmFjZSBTUUxSZXN1bHRTZXRSb3dMaXN0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJGcmFtZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUkZyYW1lLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyAr
MjksNiBAQAogICAgIENvbmRpdGlvbmFsPVdFQlhSLAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAg
RXhwb3NlZD1XaW5kb3csCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRl
cmZhY2VOYW1lPVhSRnJhbWUKIF0gaW50ZXJmYWNlIFdlYlhSRnJhbWUgewogICAgIFtTYW1lT2Jq
ZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgV2ViWFJTZXNzaW9uIHNlc3Npb247CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsCShyZXZpc2lvbiAyODgxMTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDcgKzI5LDYgQEAKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJY
UlNlc3Npb25Sb290LAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD1XaW5kb3csCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VOYW1lPVhSSGFuZAog
XSBpbnRlcmZhY2UgV2ViWFJIYW5kIHsKICAgICBpdGVyYWJsZTxYUkhhbmRKb2ludCwgV2ViWFJK
b2ludFNwYWNlPjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1
dFNvdXJjZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUklucHV0U291cmNlLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAs
NyArMzAsNiBAQAogICAgIENvbmRpdGlvbmFsPVdFQlhSLAogICAgIFNlY3VyZUNvbnRleHQsCiAg
ICAgRXhwb3NlZD1XaW5kb3csCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJ
bnRlcmZhY2VOYW1lPVhSSW5wdXRTb3VyY2UKIF0gaW50ZXJmYWNlIFdlYlhSSW5wdXRTb3VyY2Ug
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBYUkhhbmRlZG5lc3MgaGFuZGVkbmVzczsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2VBcnJheS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyAr
MzAsNiBAQAogICAgIENvbmRpdGlvbmFsPVdFQlhSLAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAg
RXhwb3NlZD1XaW5kb3csCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRl
cmZhY2VOYW1lPVhSSW5wdXRTb3VyY2VBcnJheQogXSBpbnRlcmZhY2UgV2ViWFJJbnB1dFNvdXJj
ZUFycmF5IHsKICAgICBpdGVyYWJsZTxXZWJYUklucHV0U291cmNlPjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCShyZXZpc2lvbiAy
ODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQAogICAgIENvbmRpdGlvbmFsPVdFQlhS
X0hBTkRTLAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VOYW1lPVhSSm9pbnRQb3NlCiBd
IGludGVyZmFjZSBXZWJYUkpvaW50UG9zZSA6IFdlYlhSUG9zZSB7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGZsb2F0IHJhZGl1czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJSZW5kZXJTdGF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJlbmRlclN0YXRlLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJlbmRlclN0YXRlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksNiBAQAogICAgIENvbmRpdGlvbmFsPVdFQlhSLAogICAgIFNlY3VyZUNv
bnRleHQsCiAgICAgRXhwb3NlZD1XaW5kb3csCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBJbnRlcmZhY2VOYW1lPVhSUmVuZGVyU3RhdGUKIF0gaW50ZXJmYWNlIFdlYlhSUmVu
ZGVyU3RhdGUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgZGVwdGhOZWFyOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFu
c2Zvcm0uaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2
IEBACiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBKU0N1c3Rv
bU1hcmtGdW5jdGlvbiwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEludGVy
ZmFjZU5hbWU9WFJSaWdpZFRyYW5zZm9ybQogXSBpbnRlcmZhY2UgV2ViWFJSaWdpZFRyYW5zZm9y
bSB7CiAgICAgY29uc3RydWN0b3Iob3B0aW9uYWwgRE9NUG9pbnRJbml0IHBvc2l0aW9uLCBvcHRp
b25hbCBET01Qb2ludEluaXQgb3JpZW50YXRpb24pOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlZpZXcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJWaWV3LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3
ICszMCw2IEBACiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBK
U0N1c3RvbU1hcmtGdW5jdGlvbiwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAg
IEludGVyZmFjZU5hbWU9WFJWaWV3CiBdIGludGVyZmFjZSBXZWJYUlZpZXcgewogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBYUkV5ZSBleWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSVmlld3BvcnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJWaWV3cG9ydC5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3cG9ydC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDcgKzI5LDYgQEAKICAgICBDb25kaXRpb25hbD1XRUJYUiwKICAgICBTZWN1cmVDb250ZXh0
LAogICAgIEV4cG9zZWQ9V2luZG93LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAg
ICAgSW50ZXJmYWNlTmFtZT1YUlZpZXdwb3J0CiBdIGludGVyZmFjZSBXZWJYUlZpZXdwb3J0IHsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB4OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDI4ODEx
NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CSh3b3JraW5nIGNvcHkpCkBAIC0zODM3LDcgKzM4MzcsNiBAQCBzdWIgR2V0R251VlRhYmxlTmFt
ZUZvckludGVyZmFjZQogICAgIG15ICR0eXBlbmFtZSA9ICRpbnRlcmZhY2UtPnR5cGUtPm5hbWU7
CiAgICAgbXkgJHRlbXBsYXRlUG9zaXRpb24gPSBpbmRleCgkdHlwZW5hbWUsICI8Iik7CiAgICAg
cmV0dXJuICIiIGlmICR0ZW1wbGF0ZVBvc2l0aW9uICE9IC0xOwotICAgIHJldHVybiAiIiBpZiBH
ZXRJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlRm9ySW50ZXJmYWNlKCRpbnRlcmZhY2UpOwogICAg
IHJldHVybiAiIiBpZiBHZXRTa2lwVlRhYmxlVmFsaWRhdGlvbkZvckludGVyZmFjZSgkaW50ZXJm
YWNlKTsKICAgICByZXR1cm4gIl9aVFYiIC4gR2V0R251TWFuZ2xlZE5hbWVGb3JJbnRlcmZhY2Uo
JGludGVyZmFjZSk7CiB9CkBAIC0zOTAwLDcgKzM4OTksNiBAQCBzdWIgR2V0V2luVlRhYmxlTmFt
ZUZvckludGVyZmFjZQogICAgIG15ICR0eXBlbmFtZSA9ICRpbnRlcmZhY2UtPnR5cGUtPm5hbWU7
CiAgICAgbXkgJHRlbXBsYXRlUG9zaXRpb24gPSBpbmRleCgkdHlwZW5hbWUsICI8Iik7CiAgICAg
cmV0dXJuICIiIGlmICR0ZW1wbGF0ZVBvc2l0aW9uICE9IC0xOwotICAgIHJldHVybiAiIiBpZiBH
ZXRJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlRm9ySW50ZXJmYWNlKCRpbnRlcmZhY2UpOwogICAg
IHJldHVybiAiIiBpZiBHZXRTa2lwVlRhYmxlVmFsaWRhdGlvbkZvckludGVyZmFjZSgkaW50ZXJm
YWNlKTsKICAgICByZXR1cm4gIj8/XzciIC4gR2V0V2luTWFuZ2xlZE5hbWVGb3JJbnRlcmZhY2Uo
JGludGVyZmFjZSkgLiAiNkJAIjsKIH0KQEAgLTM5MTMsMTIgKzM5MTEsNiBAQCBzdWIgR2V0V2lu
TWFuZ2xlZE5hbWVGb3JJbnRlcmZhY2UKICAgICByZXR1cm4gJHR5cGVuYW1lIC4gIkAiIC4gJG5h
bWVzcGFjZSAuICJAQCI7CiB9CiAKLXN1YiBHZXRJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlRm9y
SW50ZXJmYWNlCi17Ci0gICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OwotICAgIHJldHVybiAkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlfTsK
LX0KLQogc3ViIEdldFNraXBWVGFibGVWYWxpZGF0aW9uRm9ySW50ZXJmYWNlCiB7CiAgICAgbXkg
JGludGVyZmFjZSA9IHNoaWZ0OwpAQCAtNTEyOSwzMyArNTEyMSwyMyBAQCBFTkQKICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8
RU5EKSBpZiAkdnRhYmxlTmFtZUdudTsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5
bW9ycGhpY192PCR7aW1wbFR5cGV9PikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkK
LSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihp
bXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdl
dFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICR7dnRhYmxlUmVmV2lufTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJHt2dGFibGVSZWZXaW59OwogI2Vsc2UKLSAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAke3Z0YWJsZVJlZkdudX07CisgICAgICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICR7dnRhYmxlUmVmR251fTsKICNlbmRpZgogCi0gICAg
Ly8gSWYgdGhpcyBmYWlscyAke2ltcGxUeXBlfSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5
b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRy
aWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX3BvbHltb3JwaGljPCR7aW1wbFR5cGV9Pjo6dmFsdWUsICIke2ltcGxUeXBlfSBpcyBub3Qg
cG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVp
dGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vICR7aW1wbFR5cGV9IGhh
cyBzdWJjbGFzc2VzLiBJZiAke2ltcGxUeXBlfSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNz
ZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgJGludGVyZmFjZU5hbWUg
eW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhl
IFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZp
bml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlv
dSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gJHtpbXBs
VHlwZX0gaGFzIHN1YmNsYXNzZXMuIElmICR7aW1wbFR5cGV9IGhhcyBzdWJjbGFzc2VzIHRoYXQg
Z2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgJGlu
dGVyZmFjZU5hbWUgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAg
Ly8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGlu
dGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFi
bGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiBFTkQK
LSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKSBpZiAkaW50ZXJmYWNlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlfTsKLSAgICAvLyBJZiB5b3Ug
aGl0IHRoaXMgZmFpbHVyZSB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24gaGFzIHRoZSBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCi0gICAgLy8gYXR0cmlidXRlLiBZb3Ugc2hvdWxkIHJlbW92ZSB0
aGF0IGF0dHJpYnV0ZS4gSWYgdGhlIGNsYXNzIGhhcyBzdWJjbGFzc2VzCi0gICAgLy8gdGhhdCBt
YXkgYmUgcGFzc2VkIHRocm91Z2ggdGhpcyB0b0pTKCkgZnVuY3Rpb24geW91IHNob3VsZCB1c2Ug
dGhlIFNraXBWVGFibGVWYWxpZGF0aW9uCi0gICAgLy8gYXR0cmlidXRlIHRvICRpbnRlcmZhY2VO
YW1lLgotICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfcG9seW1vcnBoaWM8JHtpbXBsVHlwZX0+
Ojp2YWx1ZSwgIiR7aW1wbFR5cGV9IGlzIHBvbHltb3JwaGljIGJ1dCB0aGUgSURMIGNsYWltcyBp
dCBpcyBub3QiKTsKLUVORAotCiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPCR7aW1wbFR5cGV9PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkp
O1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0V4cG9zZWRUb1dvcmtlckFuZFdpbmRv
dy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9FeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw3IEBACiB9OwogCiBbCi0gICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorICAgIEV4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCiBdIGludGVyZmFjZSBFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3cgewogICAgIGNvbnN0cnVjdG9yKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGwJKHJldmlzaW9uIDI4
ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW50ZXJm
YWNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogICAgIEN1c3RvbVB1dCwK
ICAgICBDb25kaXRpb25hbD1Db25kaXRpb24xfENvbmRpdGlvbjIsCiAgICAgRXhwb3J0TWFjcm89
V0VCQ09SRV9FWFBPUlQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBv
c2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgVGVzdEludGVyZmFjZSB7CiAgICAgW0NhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKERPTVN0cmluZyBzdHIxLCBvcHRpb25h
bCBET01TdHJpbmcgc3RyMiA9ICJkZWZhdWx0U3RyaW5nIik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5k
ZXJzY29yZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAKIAogLy8gSWRlbnRp
ZmllcnMgd2l0aCBhIGxlYWRpbmcgdW5kZXJzY29yZSwgd2hpY2ggc2hvdWxkIGJlIHJlbW92ZWQu
CiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVRlc3RHbG9i
YWxPYmplY3QKIF0gaW50ZXJmYWNlIF9UZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUgewog
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBfcmVhZG9ubHk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkU3Rhci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3Nl
ZFN0YXIuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkU3Rhci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Miwy
NCArMjcyLDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTEKIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8RXhwb3NlZFN0YXI+JiYgaW1wbCkKIHsKIAor
ICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PEV4cG9zZWRTdGFyPikgewog
I2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFi
bGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qg
dm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7
CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9f
aWRlbnRpZmllcigiPz9fN0V4cG9zZWRTdGFyQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdFeHBvc2VkU3RhckBX
ZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
Jl9aVFZON1dlYkNvcmUxMUV4cG9zZWRTdGFyRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxMUV4cG9zZWRTdGFyRVsyXTsKICNlbmRpZgog
Ci0gICAgLy8gSWYgdGhpcyBmYWlscyBFeHBvc2VkU3RhciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxl
LCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX3BvbHltb3JwaGljPEV4cG9zZWRTdGFyPjo6dmFsdWUsICJFeHBvc2VkU3RhciBp
cyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24g
eW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIEV4cG9zZWRT
dGFyIGhhcyBzdWJjbGFzc2VzLiBJZiBFeHBvc2VkU3RhciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdl
dCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgRXhwb3NlZFN0
YXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcg
dGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBk
ZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9u
IHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gRXhw
b3NlZFN0YXIgaGFzIHN1YmNsYXNzZXMuIElmIEV4cG9zZWRTdGFyIGhhcyBzdWJjbGFzc2VzIHRo
YXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUg
RXhwb3NlZFN0YXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAg
Ly8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGlu
dGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFi
bGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8RXhwb3NlZFN0YXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShp
bXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93
LmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjkzLDEzICsyOTMsMzQgQEAgdm9pZCBKU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvd093bmVy
OjpmaQogICAgIHVuY2FjaGVXcmFwcGVyKHdvcmxkLCAmanNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3ctPndyYXBwZWQoKSwganNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cpOwogfQogCisjaWYgRU5B
QkxFKEJJTkRJTkdfSU5URUdSSVRZKQorI2lmIFBMQVRGT1JNKFdJTikKKyNwcmFnbWEgd2Fybmlu
ZyhkaXNhYmxlOiA0NDgzKQorZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVu
dGlmaWVyKCI/P183RXhwb3NlZFRvV29ya2VyQW5kV2luZG93QFdlYkNvcmVAQDZCQCIpW10pKCk7
IH0KKyNlbHNlCitleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyNEV4cG9z
ZWRUb1dvcmtlckFuZFdpbmRvd0VbXTsgfQorI2VuZGlmCisjZW5kaWYKKwogSlNDOjpKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFJlZjxFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c+JiYgaW1wbCkKIHsK
LSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgZmFpbHVyZSB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24g
aGFzIHRoZSBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCi0gICAgLy8gYXR0cmlidXRlLiBZb3Ug
c2hvdWxkIHJlbW92ZSB0aGF0IGF0dHJpYnV0ZS4gSWYgdGhlIGNsYXNzIGhhcyBzdWJjbGFzc2Vz
Ci0gICAgLy8gdGhhdCBtYXkgYmUgcGFzc2VkIHRocm91Z2ggdGhpcyB0b0pTKCkgZnVuY3Rpb24g
eW91IHNob3VsZCB1c2UgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uCi0gICAgLy8gYXR0cmlidXRl
IHRvIEV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy4KLSAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6Omlz
X3BvbHltb3JwaGljPEV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdz46OnZhbHVlLCAiRXhwb3NlZFRv
V29ya2VyQW5kV2luZG93IGlzIHBvbHltb3JwaGljIGJ1dCB0aGUgSURMIGNsYWltcyBpdCBpcyBu
b3QiKTsKKworICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PEV4cG9zZWRU
b1dvcmtlckFuZFdpbmRvdz4pIHsKKyNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCisgICAg
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOworI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183RXhwb3NlZFRvV29ya2VyQW5kV2luZG93QFdl
YkNvcmVAQDZCQCIpOworI2Vsc2UKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gJl9aVFZON1dlYkNvcmUyNEV4cG9zZWRUb1dvcmtlckFuZFdpbmRvd0VbMl07CisjZW5kaWYK
KworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBh
IHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gRXhwb3NlZFRvV29ya2VyQW5kV2lu
ZG93IGhhcyBzdWJjbGFzc2VzLiBJZiBFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cgaGFzIHN1YmNs
YXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkg
cmVxdWlyZSBFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlv
biBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxF
QVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7
CisjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8RXhwb3NlZFRvV29ya2Vy
QW5kV2luZG93PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDRVJlYWN0aW9ucy5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4OSwyNCArNDg5LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pU
Vk43V2ViQ29yZTEKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdENFUmVhY3Rp
b25zPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNf
djxUZXN0Q0VSZWFjdGlvbnM+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAg
IGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwu
cHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRh
YmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdENFUmVhY3Rpb25zQFdl
YkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0Q0VSZWFjdGlvbnNAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTVUZXN0Q0VSZWFj
dGlvbnNFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43
V2ViQ29yZTE1VGVzdENFUmVhY3Rpb25zRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBm
YWlscyBUZXN0Q0VSZWFjdGlvbnMgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQg
dG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5
bW9ycGhpYzxUZXN0Q0VSZWFjdGlvbnM+Ojp2YWx1ZSwgIlRlc3RDRVJlYWN0aW9ucyBpcyBub3Qg
cG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVp
dGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RDRVJlYWN0aW9u
cyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdENFUmVhY3Rpb25zIGhhcyBzdWJjbGFzc2VzIHRoYXQg
Z2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q0VS
ZWFjdGlvbnMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBh
ZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9
PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAg
Ly8gVGVzdENFUmVhY3Rpb25zIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0Q0VSZWFjdGlvbnMgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0Q0VSZWFjdGlvbnMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBo
YXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBh
dHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNF
X0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAj
ZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdENFUmVhY3Rpb25zPihn
bG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJp
bmdpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNSwyNCArMzE1LDIyIEBAIGV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBSZWY8VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI+JiYgaW1wbCkKIHsKIAorICAgIGlm
IGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBh
Y3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAg
ICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1w
bC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQFdlYkNv
cmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50
aWZpZXIoIj8/XzdUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckBXZWJDb3JlQEA2QkAiKTsKICNl
bHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNlRl
c3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNlRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyRVsy
XTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q0VSZWFjdGlvbnNTdHJpbmdp
ZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAg
Ly8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBk
ZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyPjo6dmFsdWUsICJUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciBp
cyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24g
eW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0Q0VSZWFjdGlvbnNTdHJp
bmdpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkg
d2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIgeW91IHRvIG9w
dCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0g
ICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBv
aW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIg
aGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVy
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIgeW91IHRvIG9wdCBv
dXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRh
YmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgor
ICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRh
YmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
YWxsVHJhY2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTY0LDI0ICs1NjQsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkKiBfWlRWTjdXZWJDb3JlMQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0Q2FsbFRyYWNlcj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3Bv
bHltb3JwaGljX3Y8VGVzdENhbGxUcmFjZXI+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdS
SVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2lu
dGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVy
ID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdENhbGxU
cmFjZXJAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RDYWxsVHJhY2VyQFdlYkNvcmVAQDZCQCIpOwogI2Vs
c2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE0VGVz
dENhbGxUcmFjZXJFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTE0VGVzdENhbGxUcmFjZXJFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0
aGlzIGZhaWxzIFRlc3RDYWxsVHJhY2VyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBu
ZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNf
cG9seW1vcnBoaWM8VGVzdENhbGxUcmFjZXI+Ojp2YWx1ZSwgIlRlc3RDYWxsVHJhY2VyIGlzIG5v
dCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3Ug
ZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdENhbGxUcmFj
ZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RDYWxsVHJhY2VyIGhhcyBzdWJjbGFzc2VzIHRoYXQg
Z2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Q2Fs
bFRyYWNlciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFk
ZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
SURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09
IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3Nl
cnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAv
LyBUZXN0Q2FsbFRyYWNlciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdENhbGxUcmFjZXIgaGFzIHN1
YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50
bHkgcmVxdWlyZSBUZXN0Q2FsbFRyYWNlciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRl
bmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRp
ZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0Q2FsbFRyYWNlcj4oZ2xvYmFs
T2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAyODgxMTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NX
aXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsMjQgKzIy
NywyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzCiBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rv
cj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8
VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yPikgewogI2lmIEVOQUJMRShCSU5ESU5H
X0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRh
YmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxl
UG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lO
KQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rl
c3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvckBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdENsYXNz
V2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTMzVGVzdENsYXNzV2l0aEpT
QnVpbHRpbkNvbnN0cnVjdG9yRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvckVb
Ml07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdENsYXNzV2l0aEpTQnVpbHRp
bkNvbnN0cnVjdG9yIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0
aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8
VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yPjo6dmFsdWUsICJUZXN0Q2xhc3NXaXRo
SlNCdWlsdGluQ29uc3RydWN0b3IgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKLSAgICAvLyBUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IgaGFzIHN1YmNs
YXNzZXMuIElmIFRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3RvciBoYXMgc3ViY2xhc3Nl
cyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUg
VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRp
bmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBh
dHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNT
RVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAg
ICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0
ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1
Y3RvciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yIHlvdSB0
byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUg
U2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmlu
aXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFw
cGVyPFRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcj4oZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1
ZGVzLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04NDAsMjQgKzg0MCwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dl
YkNvcmUyCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RDb25kaXRpb25hbElu
Y2x1ZGVzPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBo
aWNfdjxUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcz4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRF
R1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50
ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q29u
ZGl0aW9uYWxJbmNsdWRlc0BXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdENvbmRpdGlvbmFsSW5jbHVkZXNA
V2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
ICZfWlRWTjdXZWJDb3JlMjNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlc0VbMl07CisgICAgICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjNUZXN0Q29uZGl0aW9u
YWxJbmNsdWRlc0VbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdENvbmRp
dGlvbmFsSW5jbHVkZXMgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRk
IHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhp
YzxUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcz46OnZhbHVlLCAiVGVzdENvbmRpdGlvbmFsSW5jbHVk
ZXMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0
aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0
Q29uZGl0aW9uYWxJbmNsdWRlcyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdENvbmRpdGlvbmFsSW5j
bHVkZXMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdl
IGN1cnJlbnRseSByZXF1aXJlIFRlc3RDb25kaXRpb25hbEluY2x1ZGVzIHlvdSB0byBvcHQgb3V0
IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFs
aWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJF
TEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVy
KTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUg
YSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RDb25kaXRpb25hbEluY2x1
ZGVzIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcyBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSBy
ZXF1aXJlIFRlc3RDb25kaXRpb25hbEluY2x1ZGVzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcg
aGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24g
YXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFT
RV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwog
I2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RDb25kaXRpb25hbElu
Y2x1ZGVzPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRX
cml0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCShyZXZpc2lvbiAyODgxMTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0
aW9uYWxseVJlYWRXcml0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2MiwyNCArNjYyLDIyIEBA
IGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIKIEpTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBSZWY8VGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+JiYgaW1wbCkKIHsK
IAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RDb25kaXRpb25h
bGx5UmVhZFdyaXRlPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25z
dCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigp
KTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RDb25kaXRpb25hbGx5UmVhZFdy
aXRlQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZUBXZWJDb3JlQEA2
QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dl
YkNvcmUyNlRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlRVsyXTsKKyAgICAgICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNlRlc3RDb25kaXRpb25hbGx5UmVh
ZFdyaXRlRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0Q29uZGl0aW9u
YWxseVJlYWRXcml0ZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQg
dGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGlu
dGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGlj
PFRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlPjo6dmFsdWUsICJUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBh
c3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8v
IFRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0Q29uZGl0
aW9uYWxseVJlYWRXcml0ZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0
byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUg
eW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhl
IFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZp
bml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlv
dSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdENv
bmRpdGlvbmFsbHlSZWFkV3JpdGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RDb25kaXRpb25hbGx5
UmVhZFdyaXRlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0
b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUgeW91
IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRo
ZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVm
aW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4
cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXI8VGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShp
bXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAJKHJldmlzaW9u
IDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3REZWZhdWx0VG9KU09OLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODU5LDI0ICs4NTksMjIgQEAg
ZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMQogSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFJlZjxUZXN0RGVmYXVsdFRvSlNPTj4mJiBpbXBsKQogewogCisgICAgaWYg
Y29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdERlZmF1bHRUb0pTT04+KSB7CiAj
aWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2
b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsK
ICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19p
ZGVudGlmaWVyKCI/P183VGVzdERlZmF1bHRUb0pTT05AV2ViQ29yZUBANkJAIik7CisgICAgICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3REZWZh
dWx0VG9KU09OQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE3VGVzdERlZmF1bHRUb0pTT05FWzJdOworICAgICAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE3VGVzdERlZmF1
bHRUb0pTT05FWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3REZWZhdWx0
VG9KU09OIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAg
ICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdERl
ZmF1bHRUb0pTT04+Ojp2YWx1ZSwgIlRlc3REZWZhdWx0VG9KU09OIGlzIG5vdCBwb2x5bW9ycGhp
YyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUg
YSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdERlZmF1bHRUb0pTT04gaGFzIHN1
YmNsYXNzZXMuIElmIFRlc3REZWZhdWx0VG9KU09OIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBh
c3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RGVmYXVsdFRv
SlNPTiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGlu
ZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURM
IGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4
cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRp
b24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBU
ZXN0RGVmYXVsdFRvSlNPTiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdERlZmF1bHRUb0pTT04gaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0RGVmYXVsdFRvSlNPTiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5n
IGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9u
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsK
ICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0RGVmYXVsdFRvSlNP
Tj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5
RXhwb3NlZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZC5jcHAJKHJldmlz
aW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjEsMjQgKzMyMSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNv
cmUzCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWQ+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19w
b2x5bW9ycGhpY192PFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ+KSB7CiAjaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lk
KiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNp
ZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVu
dGlmaWVyKCI/P183VGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZEBXZWJDb3JlQEA2
QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVy
KCI/P183VGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZEBXZWJDb3JlQEA2QkAiKTsK
ICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUz
NFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRFWzJdOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM0VGVzdERlZmF1bHRUb0pTT05G
aWx0ZXJlZEJ5RXhwb3NlZEVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVz
dERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBz
byB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBh
dHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChz
dGQ6OmlzX3BvbHltb3JwaGljPFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ+Ojp2
YWx1ZSwgIlRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQgaXMgbm90IHBvbHltb3Jw
aGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2
ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0RGVmYXVsdFRvSlNPTkZpbHRl
cmVkQnlFeHBvc2VkIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVk
QnlFeHBvc2VkIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMo
KSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2Vk
IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRo
ZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVm
aW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0
ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5
b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RE
ZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3REZWZh
dWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2Vk
CisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RGVmYXVsdFRv
SlNPTkZpbHRlcmVkQnlFeHBvc2VkIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
CisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRl
IHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
YWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisg
ICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRC
eUV4cG9zZWQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVk
U3ludGhldGljQXR0cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJp
YnV0ZS5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjk3LDI0ICsyOTcsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkKiBfWlRWTjdXZWJDb3JlMwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZT4mJiBpbXBsKQogewogCisgICAg
aWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdERlbGVnYXRlVG9TaGFyZWRT
eW50aGV0aWNBdHRyaWJ1dGU+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAg
IGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwu
cHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRh
YmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdERlbGVnYXRlVG9TaGFy
ZWRTeW50aGV0aWNBdHRyaWJ1dGVAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3REZWxlZ2F0ZVRvU2hhcmVk
U3ludGhldGljQXR0cmlidXRlQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM4VGVzdERlbGVnYXRlVG9TaGFyZWRT
eW50aGV0aWNBdHRyaWJ1dGVFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSAmX1pUVk43V2ViQ29yZTM4VGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1
dGVFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3REZWxlZ2F0ZVRvU2hh
cmVkU3ludGhldGljQXR0cmlidXRlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVk
IHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9s
eW1vcnBoaWM8VGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGU+Ojp2YWx1ZSwg
IlRlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlIGlzIG5vdCBwb2x5bW9ycGhp
YyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUg
YSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50
aGV0aWNBdHRyaWJ1dGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3REZWxlZ2F0ZVRvU2hhcmVkU3lu
dGhldGljQXR0cmlidXRlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRv
IHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRp
Y0F0dHJpYnV0ZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5
IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZh
Y2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVy
ID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBh
c3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAg
ICAvLyBUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZSBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUgaGFzIHN1YmNsYXNz
ZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVx
dWlyZSBUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZSB5b3UgdG8gb3B0IG91
dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFi
bGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0
RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdERvbWFpblNlY3VyaXR5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RG9tYWluU2VjdXJpdHkuY3BwCShyZXZp
c2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RG9tYWluU2VjdXJpdHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzEsMjQgKzM3MSwy
MiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxCiBKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3REb21haW5TZWN1cml0eT4mJiBpbXBsKQogewogCisg
ICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdERvbWFpblNlY3VyaXR5
PikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1
YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAg
Y29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5w
dHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3REb21haW5TZWN1cml0eUBXZWJDb3JlQEA2QkAiKTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183
VGVzdERvbWFpblNlY3VyaXR5QFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE4VGVzdERvbWFpblNlY3VyaXR5RVsy
XTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUx
OFRlc3REb21haW5TZWN1cml0eUVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMg
VGVzdERvbWFpblNlY3VyaXR5IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRv
IGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1v
cnBoaWM8VGVzdERvbWFpblNlY3VyaXR5Pjo6dmFsdWUsICJUZXN0RG9tYWluU2VjdXJpdHkgaXMg
bm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlv
dSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0RG9tYWlu
U2VjdXJpdHkgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3REb21haW5TZWN1cml0eSBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVp
cmUgVGVzdERvbWFpblNlY3VyaXR5IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
Ci0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCisgICAgICAgIC8vIFRlc3REb21haW5TZWN1cml0eSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dERvbWFpblNlY3VyaXR5IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAv
LyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdERvbWFpblNlY3VyaXR5IHlvdSB0
byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUg
U2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmlu
aXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFw
cGVyPFRlc3REb21haW5TZWN1cml0eT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVu
YWJsZWRCeVNldHRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcAkocmV2aXNpb24gMjg4
MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVu
YWJsZWRCeVNldHRpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MTAsMjQgKzUxMCwyMiBAQCBl
eHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyCiBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgUmVmPFRlc3RFbmFibGVkQnlTZXR0aW5nPiYmIGltcGwpCiB7CiAKKyAgICBp
ZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0RW5hYmxlZEJ5U2V0dGluZz4p
IHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFs
VlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNv
bnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRy
KCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RW5hYmxlZEJ5U2V0dGluZ0BXZWJDb3JlQEA2QkAiKTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183
VGVzdEVuYWJsZWRCeVNldHRpbmdAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjBUZXN0RW5hYmxlZEJ5U2V0dGlu
Z0VbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJD
b3JlMjBUZXN0RW5hYmxlZEJ5U2V0dGluZ0VbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMg
ZmFpbHMgVGVzdEVuYWJsZWRCeVNldHRpbmcgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91
IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmli
dXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjpp
c19wb2x5bW9ycGhpYzxUZXN0RW5hYmxlZEJ5U2V0dGluZz46OnZhbHVlLCAiVGVzdEVuYWJsZWRC
eVNldHRpbmcgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAv
LyBUZXN0RW5hYmxlZEJ5U2V0dGluZyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEVuYWJsZWRCeVNl
dHRpbmcgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdl
IGN1cnJlbnRseSByZXF1aXJlIFRlc3RFbmFibGVkQnlTZXR0aW5nIHlvdSB0byBvcHQgb3V0IG9m
IGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRh
dGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVB
U0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsK
KyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RFbmFibGVkQnlTZXR0aW5nIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0RW5hYmxlZEJ5U2V0dGluZyBoYXMgc3ViY2xhc3NlcyB0aGF0
IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3RFbmFibGVkQnlTZXR0aW5nIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisg
ICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0
dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAg
fQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RFbmFibGVkQnlTZXR0aW5nPihnbG9iYWxP
YmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVk
Rm9yQ29udGV4dC5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIzNywyNCArMjM3LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pU
Vk43V2ViQ29yZTIKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEVuYWJsZWRG
b3JDb250ZXh0PiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1v
cnBoaWNfdjxUZXN0RW5hYmxlZEZvckNvbnRleHQ+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5U
RUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQ
b2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0g
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdEVu
YWJsZWRGb3JDb250ZXh0QFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RW5hYmxlZEZvckNvbnRleHRAV2Vi
Q29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZf
WlRWTjdXZWJDb3JlMjFUZXN0RW5hYmxlZEZvckNvbnRleHRFWzJdOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTIxVGVzdEVuYWJsZWRGb3JDb250
ZXh0RVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0RW5hYmxlZEZvckNv
bnRleHQgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAg
IC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
ZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0RW5h
YmxlZEZvckNvbnRleHQ+Ojp2YWx1ZSwgIlRlc3RFbmFibGVkRm9yQ29udGV4dCBpcyBub3QgcG9s
eW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhl
ciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RFbmFibGVkRm9yQ29u
dGV4dCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEVuYWJsZWRGb3JDb250ZXh0IGhhcyBzdWJjbGFz
c2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0RW5hYmxlZEZvckNvbnRleHQgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5p
bmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFs
VlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5
b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1
Zywgb3IKKyAgICAgICAgLy8gVGVzdEVuYWJsZWRGb3JDb250ZXh0IGhhcyBzdWJjbGFzc2VzLiBJ
ZiBUZXN0RW5hYmxlZEZvckNvbnRleHQgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisg
ICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0RW5hYmxlZEZvckNv
bnRleHQgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkg
YWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFj
ZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2lu
dGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8VGVzdEVuYWJsZWRGb3JDb250ZXh0PihnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3Bw
CShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1OSwy
NCArMzU5LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIKIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEV2ZW50Q29uc3RydWN0b3I+JiYgaW1w
bCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RFdmVu
dENvbnN0cnVjdG9yPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25z
dCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigp
KTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RFdmVudENvbnN0cnVjdG9yQFdl
YkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRDb25zdHJ1Y3RvckBXZWJDb3JlQEA2QkAiKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyMFRlc3RF
dmVudENvbnN0cnVjdG9yRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gJl9aVFZON1dlYkNvcmUyMFRlc3RFdmVudENvbnN0cnVjdG9yRVsyXTsKICNlbmRpZgogCi0g
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0RXZlbnRDb25zdHJ1Y3RvciBkb2VzIG5vdCBoYXZlIGEg
dnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGlj
X2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RFdmVudENvbnN0cnVjdG9yPjo6dmFsdWUs
ICJUZXN0RXZlbnRDb25zdHJ1Y3RvciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElm
IHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUg
YnVnLCBvcgotICAgIC8vIFRlc3RFdmVudENvbnN0cnVjdG9yIGhhcyBzdWJjbGFzc2VzLiBJZiBU
ZXN0RXZlbnRDb25zdHJ1Y3RvciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAv
LyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEV2ZW50Q29uc3RydWN0b3IgeW91
IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNr
aXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0
aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBl
aXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdEV2ZW50
Q29uc3RydWN0b3IgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RFdmVudENvbnN0cnVjdG9yIGhhcyBz
dWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVu
dGx5IHJlcXVpcmUgVGVzdEV2ZW50Q29uc3RydWN0b3IgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlv
biBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxF
QVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7
CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEV2ZW50Q29uc3Ry
dWN0b3I+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV2ZW50VGFyZ2V0LmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjk4LDI0ICsyOTgsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdX
ZWJDb3JlMQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0RXZlbnRUYXJnZXQ+
JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRl
c3RFdmVudFRhcmdldD4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29u
c3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIo
KSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQ
b2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRUYXJnZXRAV2ViQ29y
ZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRp
ZmllcigiPz9fN1Rlc3RFdmVudFRhcmdldEBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxNVRlc3RFdmVudFRhcmdl
dEVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJD
b3JlMTVUZXN0RXZlbnRUYXJnZXRFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxz
IFRlc3RFdmVudFRhcmdldCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBh
ZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhl
IGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3Jw
aGljPFRlc3RFdmVudFRhcmdldD46OnZhbHVlLCAiVGVzdEV2ZW50VGFyZ2V0IGlzIG5vdCBwb2x5
bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVy
IGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdEV2ZW50VGFyZ2V0IGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0RXZlbnRUYXJnZXQgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RFdmVudFRh
cmdldCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGlu
ZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURM
IGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4
cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRp
b24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBU
ZXN0RXZlbnRUYXJnZXQgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RFdmVudFRhcmdldCBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3RFdmVudFRhcmdldCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRl
bmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRp
ZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0RXZlbnRUYXJnZXQ+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3Bw
CShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM4LDI0ICsyMzgs
MjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMQogSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0RXhjZXB0aW9uPiYmIGltcGwpCiB7CiAKKyAgICBp
ZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0RXhjZXB0aW9uPikgewogI2lm
IEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAj
aWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRl
bnRpZmllcigiPz9fN1Rlc3RFeGNlcHRpb25AV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RFeGNlcHRpb25A
V2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
ICZfWlRWTjdXZWJDb3JlMTNUZXN0RXhjZXB0aW9uRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxM1Rlc3RFeGNlcHRpb25FWzJdOwogI2Vu
ZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RFeGNlcHRpb24gZG9lcyBub3QgaGF2ZSBh
IHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRp
Y19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0RXhjZXB0aW9uPjo6dmFsdWUsICJUZXN0
RXhjZXB0aW9uIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlz
IGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAg
Ly8gVGVzdEV4Y2VwdGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEV4Y2VwdGlvbiBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJl
cXVpcmUgVGVzdEV4Y2VwdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwot
ICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRo
ZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFi
bGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBo
aXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBv
cgorICAgICAgICAvLyBUZXN0RXhjZXB0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0RXhjZXB0
aW9uIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkg
d2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEV4Y2VwdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5k
aW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0
aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVy
KTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0RXhjZXB0aW9u
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlQWRkT3Bh
cXVlUm9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0OSwyNCArMjQ5LDIyIEBAIGV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBSZWY8VGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdD4mJiBpbXBsKQogewogCisgICAgaWYg
Y29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9v
dD4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAg
IGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwu
cHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290QFdlYkNvcmVA
QDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZp
ZXIoIj8/XzdUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290QFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UK
LSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI1VGVzdEdl
bmVyYXRlQWRkT3BhcXVlUm9vdEVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9ICZfWlRWTjdXZWJDb3JlMjVUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290RVsyXTsKICNl
bmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290IGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRp
b24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdEdlbmVyYXRlQWRk
T3BhcXVlUm9vdD46OnZhbHVlLCAiVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdCBpcyBub3QgcG9s
eW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhl
ciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RHZW5lcmF0ZUFkZE9w
YXF1ZVJvb3QgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9u
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9B
U1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAg
ICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBh
ZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdCBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdCBoYXMgc3ViY2xhc3Nl
cyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1
aXJlIFRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBo
YXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBh
dHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNF
X0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAj
ZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEdlbmVyYXRlQWRkT3Bh
cXVlUm9vdD4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFi
bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNS
ZWFjaGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDksMjQgKzI0OSwyMiBAQCBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPiYmIGltcGwpCiB7CiAKKyAgICBpZiBj
b25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZT4p
IHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFs
VlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNv
bnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRy
KCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUBXZWJDb3JlQEA2QkAi
KTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/
P183VGVzdEdlbmVyYXRlSXNSZWFjaGFibGVAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjNUZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZUVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZf
WlRWTjdXZWJDb3JlMjNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUVbMl07CiAjZW5kaWYKIAotICAg
IC8vIElmIHRoaXMgZmFpbHMgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUgZG9lcyBub3QgaGF2ZSBh
IHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRp
Y19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZT46OnZh
bHVlLCAiVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAg
ICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRl
ciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RHZW5lcmF0
ZUlzUmVhY2hhYmxlIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8g
YnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVy
ZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50
ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlz
IGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAg
ICAgIC8vIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAg
Ly8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxl
IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGlu
ZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURM
IGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9
PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPihnbG9iYWxPYmplY3QsIFdURk1vdmUo
aW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJO
b0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMyNywyNCArMzI3LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4g
dm9pZCogX1pUVk43V2ViQ29yZTIKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVz
dEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhw
ciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyPikg
ewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxW
VGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29u
c3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIo
KSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQFdlYkNvcmVA
QDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZp
ZXIoIj8/XzdUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKTsKICNl
bHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyOVRl
c3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyOVRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0SW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQg
dGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGlu
dGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGlj
PFRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyPjo6dmFsdWUsICJUZXN0SW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQg
dGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgot
ICAgIC8vIFRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBU
ZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNz
ZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAv
LyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9p
bnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRo
aXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAg
ICAgICAgLy8gVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElm
IFRlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBh
c3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEluZGV4
ZWRTZXR0ZXJOb0lkZW50aWZpZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcK
KyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUg
dG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChh
Y3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAg
ICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZp
ZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCShyZXZp
c2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzI3LDI0ICszMjcsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJD
b3JlMwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0SW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNf
cG9seW1vcnBoaWNfdjxUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPikgewogI2lm
IEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAj
aWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRl
bnRpZmllcigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25AV2ViQ29yZUBA
NkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25AV2ViQ29yZUBANkJAIik7
CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3Jl
MzRUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uRVsyXTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzNFRlc3RJbmRleGVkU2V0dGVy
VGhyb3dpbmdFeGNlcHRpb25FWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRl
c3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwg
c28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUg
YXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQo
c3RkOjppc19wb2x5bW9ycGhpYzxUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPjo6
dmFsdWUsICJUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGlzIG5vdCBwb2x5bW9y
cGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhh
dmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pT
KCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
biB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0
aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRl
ZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVj
dGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24g
eW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0
SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0SW5k
ZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3Nl
ZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdEluZGV4ZWRT
ZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmlu
ZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgor
ICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0SW5kZXhlZFNldHRlclRocm93aW5n
RXhjZXB0aW9uPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldp
dGhJZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAkocmV2
aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM1OSwyNCArMzU5LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29y
ZTMKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEluZGV4ZWRTZXR0ZXJXaXRo
SWRlbnRpZmllcj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHlt
b3JwaGljX3Y8VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4pIHsKICNpZiBFTkFCTEUo
QklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9
IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRG
T1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIo
Ij8/XzdUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpOworICAg
ICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0
SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTMxVGVzdEluZGV4ZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9ICZfWlRWTjdXZWJDb3JlMzFUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyRVsy
XTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0SW5kZXhlZFNldHRlcldpdGhJ
ZGVudGlmaWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUK
LSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJm
YWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVz
dEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQg
dGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgot
ICAgIC8vIFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElm
IFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RJbmRleGVk
U2V0dGVyV2l0aElkZW50aWZpZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcK
LSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRh
YmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3Ug
aGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywg
b3IKKyAgICAgICAgLy8gVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0
aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJl
IFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlv
biBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxF
QVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7
CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdEluZGV4ZWRTZXR0
ZXJXaXRoSWRlbnRpZmllcj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjQzLDEzICsxMjQzLDM0IEBAIHZvaWQgSlNUZXN0SW50ZXJmYWNlT3duZXI6
OmZpbmFsaXplKEpTQzoKICAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJmpzVGVzdEludGVyZmFj
ZS0+d3JhcHBlZCgpLCBqc1Rlc3RJbnRlcmZhY2UpOwogfQogCisjaWYgRU5BQkxFKEJJTkRJTkdf
SU5URUdSSVRZKQorI2lmIFBMQVRGT1JNKFdJTikKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOiA0
NDgzKQorZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183
VGVzdEludGVyZmFjZUBXZWJDb3JlQEA2QkAiKVtdKSgpOyB9CisjZWxzZQorZXh0ZXJuICJDIiB7
IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTNUZXN0SW50ZXJmYWNlRVtdOyB9CisjZW5kaWYK
KyNlbmRpZgorCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RJbnRlcmZhY2U+
JiYgaW1wbCkKIHsKLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgZmFpbHVyZSB0aGUgaW50ZXJmYWNl
IGRlZmluaXRpb24gaGFzIHRoZSBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCi0gICAgLy8gYXR0
cmlidXRlLiBZb3Ugc2hvdWxkIHJlbW92ZSB0aGF0IGF0dHJpYnV0ZS4gSWYgdGhlIGNsYXNzIGhh
cyBzdWJjbGFzc2VzCi0gICAgLy8gdGhhdCBtYXkgYmUgcGFzc2VkIHRocm91Z2ggdGhpcyB0b0pT
KCkgZnVuY3Rpb24geW91IHNob3VsZCB1c2UgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uCi0gICAg
Ly8gYXR0cmlidXRlIHRvIFRlc3RJbnRlcmZhY2UuCi0gICAgc3RhdGljX2Fzc2VydCghc3RkOjpp
c19wb2x5bW9ycGhpYzxUZXN0SW50ZXJmYWNlPjo6dmFsdWUsICJUZXN0SW50ZXJmYWNlIGlzIHBv
bHltb3JwaGljIGJ1dCB0aGUgSURMIGNsYWltcyBpdCBpcyBub3QiKTsKKworICAgIGlmIGNvbnN0
ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RJbnRlcmZhY2U+KSB7CisjaWYgRU5BQkxF
KEJJTkRJTkdfSU5URUdSSVRZKQorICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyNpZiBQTEFURk9STShXSU4pCisg
ICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rl
c3RJbnRlcmZhY2VAV2ViQ29yZUBANkJAIik7CisjZWxzZQorICAgICAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTEzVGVzdEludGVyZmFjZUVbMl07CisjZW5k
aWYKKworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2
ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdEludGVyZmFjZSBoYXMg
c3ViY2xhc3Nlcy4gSWYgVGVzdEludGVyZmFjZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNz
ZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RJbnRlcmZh
Y2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRk
aW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJ
REwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVy
ID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8VGVzdEludGVyZmFjZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVy
c2NvcmUuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMjYsMTMgKzIyNiwzNCBAQCB2b2lkIEpTVGVzdEludGVyZmFjZUxlYWRp
bmdVbmRlcnNjb3JlT3duCiAgICAgdW5jYWNoZVdyYXBwZXIod29ybGQsICZqc1Rlc3RJbnRlcmZh
Y2VMZWFkaW5nVW5kZXJzY29yZS0+d3JhcHBlZCgpLCBqc1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5k
ZXJzY29yZSk7CiB9CiAKKyNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCisjaWYgUExBVEZP
Uk0oV0lOKQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0ODMpCitleHRlcm4gIkMiIHsgZXh0
ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0SW50ZXJmYWNlTGVhZGluZ1Vu
ZGVyc2NvcmVAV2ViQ29yZUBANkJAIilbXSkoKTsgfQorI2Vsc2UKK2V4dGVybiAiQyIgeyBleHRl
cm4gdm9pZCogX1pUVk43V2ViQ29yZTMwVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlRVtd
OyB9CisjZW5kaWYKKyNlbmRpZgorCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRl
c3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZT4mJiBpbXBsKQogewotICAgIC8vIElmIHlvdSBo
aXQgdGhpcyBmYWlsdXJlIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbiBoYXMgdGhlIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUKLSAgICAvLyBhdHRyaWJ1dGUuIFlvdSBzaG91bGQgcmVtb3ZlIHRo
YXQgYXR0cmlidXRlLiBJZiB0aGUgY2xhc3MgaGFzIHN1YmNsYXNzZXMKLSAgICAvLyB0aGF0IG1h
eSBiZSBwYXNzZWQgdGhyb3VnaCB0aGlzIHRvSlMoKSBmdW5jdGlvbiB5b3Ugc2hvdWxkIHVzZSB0
aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24KLSAgICAvLyBhdHRyaWJ1dGUgdG8gVGVzdEludGVyZmFj
ZUxlYWRpbmdVbmRlcnNjb3JlLgotICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfcG9seW1vcnBo
aWM8VGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlPjo6dmFsdWUsICJUZXN0SW50ZXJmYWNl
TGVhZGluZ1VuZGVyc2NvcmUgaXMgcG9seW1vcnBoaWMgYnV0IHRoZSBJREwgY2xhaW1zIGl0IGlz
IG5vdCIpOworCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdElu
dGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlPikgeworI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklU
WSkKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CisjaWYgUExBVEZPUk0oV0lOKQorICAgICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0SW50ZXJmYWNlTGVhZGlu
Z1VuZGVyc2NvcmVAV2ViQ29yZUBANkJAIik7CisjZWxzZQorICAgICAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTMwVGVzdEludGVyZmFjZUxlYWRpbmdVbmRl
cnNjb3JlRVsyXTsKKyNlbmRpZgorCisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRp
b24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBU
ZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RJbnRl
cmZhY2VMZWFkaW5nVW5kZXJzY29yZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAg
ICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RJbnRlcmZhY2VMZWFk
aW5nVW5kZXJzY29yZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAg
ICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUg
aW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyNlbmRpZgorICAgIH0KICAg
ICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmU+KGds
b2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNw
cAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQ0LDI0ICszNDQs
MjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMQogSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0SXRlcmFibGU+JiYgaW1wbCkKIHsKIAorICAgIGlm
IGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RJdGVyYWJsZT4pIHsKICNpZiBF
TkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQq
IGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lm
IFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50
aWZpZXIoIj8/XzdUZXN0SXRlcmFibGVAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RJdGVyYWJsZUBXZWJD
b3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmUxMlRlc3RJdGVyYWJsZUVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTJUZXN0SXRlcmFibGVFWzJdOwogI2VuZGlmCiAK
LSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RJdGVyYWJsZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxl
LCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RJdGVyYWJsZT46OnZhbHVlLCAiVGVzdEl0ZXJhYmxl
IGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdEl0
ZXJhYmxlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0SXRlcmFibGUgaGFzIHN1YmNsYXNzZXMgdGhh
dCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RJ
dGVyYWJsZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFk
ZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
SURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09
IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3Nl
cnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAv
LyBUZXN0SXRlcmFibGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RJdGVyYWJsZSBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSBy
ZXF1aXJlIFRlc3RJdGVyYWJsZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwor
ICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0
byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFj
dHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAg
IH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0SXRlcmFibGU+KGdsb2JhbE9iamVjdCwg
V1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0
b3J5RnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjg5LDI0ICsyODksMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lk
KiBfWlRWTjdXZWJDb3JlMgogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TGVn
YWN5RmFjdG9yeUZ1bmN0aW9uPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6
aXNfcG9seW1vcnBoaWNfdjxUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uPikgewogI2lmIEVOQUJM
RShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVy
ID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExB
VEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25AV2ViQ29yZUBANkJAIik7CisgICAgICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RMZWdh
Y3lGYWN0b3J5RnVuY3Rpb25AV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVj
dGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjVUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0
aW9uRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dl
YkNvcmUyNVRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25FWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJ
ZiB0aGlzIGZhaWxzIFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24gZG9lcyBub3QgaGF2ZSBhIHZ0
YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19h
c3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uPjo6dmFs
dWUsICJUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0g
ICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0
ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbiBoYXMgc3Vi
Y2xhc3Nlcy4gSWYgVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0
IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdExl
Z2FjeUZhY3RvcnlGdW5jdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwot
ICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRo
ZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFi
bGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBo
aXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBv
cgorICAgICAgICAvLyBUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIGhhcyBzdWJjbGFzc2VzLiBJ
ZiBUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3Nl
ZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdExlZ2FjeUZh
Y3RvcnlGdW5jdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAg
ICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUg
aW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAg
ICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uPihnbG9iYWxP
YmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RM
ZWdhY3lOb0ludGVyZmFjZU9iamVjdC5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9i
amVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4NiwyNCArMzg2LDIyIEBAIGV4dGVybiAiQyIg
eyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVh
dGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBSZWY8VGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0PiYmIGltcGwpCiB7CiAKKyAgICBpZiBj
b25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmpl
Y3Q+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFj
dHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAg
ICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBs
LnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0QFdlYkNv
cmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50
aWZpZXIoIj8/XzdUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RAV2ViQ29yZUBANkJAIik7CiAj
ZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjdU
ZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI3VGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0
RVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TGVnYWN5Tm9JbnRlcmZh
Y2VPYmplY3QgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQot
ICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZh
Y2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0
TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Q+Ojp2YWx1ZSwgIlRlc3RMZWdhY3lOb0ludGVyZmFjZU9i
amVjdCBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3Nl
cnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRl
c3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdExlZ2FjeU5v
SW50ZXJmYWNlT2JqZWN0IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRv
IHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Qg
eW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhl
IFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZp
bml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlv
dSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdExl
Z2FjeU5vSW50ZXJmYWNlT2JqZWN0IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TGVnYWN5Tm9JbnRl
cmZhY2VPYmplY3QgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRv
IHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Qg
eW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5n
IHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwg
ZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09
IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8VGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0PihnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnMuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwMCwyNCArMzAwLDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCog
X1pUVk43V2ViQ29yZTIKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdExlZ2Fj
eU92ZXJyaWRlQnVpbHRJbnM+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjpp
c19wb2x5bW9ycGhpY192PFRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zPikgewogI2lmIEVOQUJM
RShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVy
ID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExB
VEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zQFdlYkNvcmVAQDZCQCIpOworICAgICAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TGVn
YWN5T3ZlcnJpZGVCdWlsdEluc0BXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNlRlc3RMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZO
N1dlYkNvcmUyNlRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRVsyXTsKICNlbmRpZgogCi0gICAg
Ly8gSWYgdGhpcyBmYWlscyBUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucyBkb2VzIG5vdCBoYXZl
IGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3Rh
dGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5z
Pjo6dmFsdWUsICJUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucyBpcyBub3QgcG9seW1vcnBoaWMi
KTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEg
dXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5z
IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucyBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVp
cmUgVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBo
YXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQo
YWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAv
LyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBm
cmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgaGFzIHN1
YmNsYXNzZXMuIElmIFRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGhhcyBzdWJjbGFzc2VzIHRo
YXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUg
VGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJk
ZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRy
aWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FT
U0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5k
aWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdExlZ2FjeU92ZXJyaWRlQnVp
bHRJbnM+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFw
TGlrZS5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE3LDI0
ICs0MTcsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMQogSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWFwTGlrZT4mJiBpbXBsKQogewogCisg
ICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE1hcExpa2U+KSB7CiAj
aWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2
b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsK
ICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19p
ZGVudGlmaWVyKCI/P183VGVzdE1hcExpa2VAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RNYXBMaWtlQFdl
YkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTExVGVzdE1hcExpa2VFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTExVGVzdE1hcExpa2VFWzJdOwogI2VuZGlmCiAK
LSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RNYXBMaWtlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUs
IHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0
KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE1hcExpa2U+Ojp2YWx1ZSwgIlRlc3RNYXBMaWtlIGlz
IG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5
b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE1hcExp
a2UgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RNYXBMaWtlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0
IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TWFwTGlr
ZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0
aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRl
ZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVj
dGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24g
eW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0
TWFwTGlrZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE1hcExpa2UgaGFzIHN1YmNsYXNzZXMgdGhh
dCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBU
ZXN0TWFwTGlrZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAv
LyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TWFwTGlrZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzEsMjQgKzQzMSwyMiBAQCBleHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzCiBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgUmVmPFRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zPiYmIGltcGwp
CiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TWFwTGlr
ZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucz4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJ
VFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50
ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWFwTGlr
ZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0BXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE1hcExpa2VXaXRo
T3ZlcnJpZGRlbk9wZXJhdGlvbnNAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzVUZXN0TWFwTGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9uc0VbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMzVUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0Vb
Ml07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE1hcExpa2VXaXRoT3ZlcnJp
ZGRlbk9wZXJhdGlvbnMgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRk
IHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhp
YzxUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucz46OnZhbHVlLCAiVGVzdE1hcExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAv
LyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBm
cmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxl
VmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAg
IFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2lu
dGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhh
dmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RNYXBMaWtlV2l0aE92
ZXJyaWRkZW5PcGVyYXRpb25zIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TWFwTGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9ucyBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAg
Ly8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RNYXBMaWtlV2l0aE92ZXJyaWRk
ZW5PcGVyYXRpb25zIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAg
IC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRh
YmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAg
IHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25z
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAko
cmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM5NSwyNCArMzk1LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pU
Vk43V2ViQ29yZTMKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVkQW5k
SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHBy
IChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRp
Zmllcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAg
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSAmX1pUVk43V2ViQ29yZTM3VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ckVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJD
b3JlMzdUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyRVsyXTsKICNlbmRpZgog
Ci0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAv
LyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRl
ZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVk
QW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlck5vSWRlbnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlv
dSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVn
LCBvcgotICAgIC8vIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgaGFzIHN1
YmNsYXNzZXMuIElmIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgaGFzIHN1
YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSBy
ZXF1aXJlIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIgeW91IHRvIG9wdCBv
dXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVW
YWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAg
UkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50
ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2
ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAg
ICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJOb0lkZW50aWZpZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAg
ICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1
YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9
CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRl
bnRpZmllcj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dp
bmdFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTUsMjQgKzM5NSwyMiBAQCBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmU0CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4mJiBp
bXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPikgewogI2lmIEVOQUJMRShCSU5E
SU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0
VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRh
YmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0o
V0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9f
N1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkBXZWJDb3JlQEA2QkAi
KTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/
P183VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZC
QCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2Vi
Q29yZTQyVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uRVsyXTsKKyAg
ICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU0MlRlc3RO
YW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkVbMl07CiAjZW5kaWYKIAotICAg
IC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0
aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAv
LyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRl
ZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVk
QW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPjo6dmFsdWUsICJUZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAg
ICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRl
ciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24gaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0
b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93
aW5nRXhjZXB0aW9uIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8g
YnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVy
ZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50
ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlz
IGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAg
ICAgIC8vIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBoYXMgc3Vi
Y2xhc3Nlcy4gSWYgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhh
cyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3Vy
cmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9u
IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGlu
ZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURM
IGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9
PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVu
dGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCShy
ZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NTIsMjQgKzQ1MiwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9a
VFZON1dlYkNvcmUzCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3Rl
eHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJ
ZGVudGlmaWVyPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2
b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsK
KyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50
ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldp
dGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM5VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldp
dGhJZGVudGlmaWVyRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
Jl9aVFZON1dlYkNvcmUzOVRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckVb
Ml07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlcldpdGhJZGVudGlmaWVyIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRv
IGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1v
cnBoaWM8VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyPjo6dmFsdWUsICJU
ZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIgaXMgbm90IHBvbHltb3JwaGlj
Iik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBh
IHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
V2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0
byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldp
dGhJZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8g
YnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVy
ZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50
ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlz
IGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAg
ICAgIC8vIFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIGhhcyBzdWJj
bGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5
IHJlcXVpcmUgVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIHlvdSB0byBv
cHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tp
cFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRp
b24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVy
PFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVs
ZXRlck5vSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcsMjQgKzI5NywyMiBAQCBleHRlcm4gIkMiIHsgZXh0
ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVm
PFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXI+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0
ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXI+
KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBj
b25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0
cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckBXZWJDb3Jl
QEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlm
aWVyKCI/P183VGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKTsKICNl
bHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyOFRl
c3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXJFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI4VGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmll
ckVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkRGVsZXRlck5v
SWRlbnRpZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhl
Ci0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVy
ZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRl
c3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXI+Ojp2YWx1ZSwgIlRlc3ROYW1lZERlbGV0ZXJOb0lk
ZW50aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAv
LyBUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFt
ZWREZWxldGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAg
IC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWREZWxldGVyTm9JZGVu
dGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRk
aW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJ
REwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0g
ZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2Vy
dGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8v
IFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1l
ZERlbGV0ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAg
ICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWREZWxldGVyTm9J
ZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8v
IGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRl
cmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxl
UG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXI+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcAkocmV2aXNpb24gMjg4MTE3KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVs
ZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk3LDI0ICsyOTcs
MjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMwogSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24+
JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRl
c3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4pIHsKICNpZiBFTkFCTEUoQklORElOR19J
TlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJs
ZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikK
LSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0
TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25AV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZERl
bGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3ROYW1lZERlbGV0ZXJU
aHJvd2luZ0V4Y2VwdGlvbkVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMzNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25FWzJd
OwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZERlbGV0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbiBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhl
Ci0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVy
ZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRl
c3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj46OnZhbHVlLCAiVGVzdE5hbWVkRGVsZXRl
clRocm93aW5nRXhjZXB0aW9uIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCi0gICAgLy8gVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBzdWJjbGFz
c2VzLiBJZiBUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24gaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRl
c3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5n
IGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0
cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VS
VChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAg
IC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVy
IGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRp
b24gaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBo
YXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1
cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbiB5b3UgdG8g
b3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNr
aXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0
aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0
ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBl
cjxUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRl
cldpdGhJZGVudGlmaWVyLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIxLDI0ICszMjEsMjIgQEAgZXh0ZXJuICJDIiB7IGV4
dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJl
ZjxUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXI+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNv
bnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRp
Zmllcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAg
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXJA
V2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9f
aWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3JlQEA2
QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dl
YkNvcmUzMFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckVbMl07CisgICAgICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzBUZXN0TmFtZWREZWxldGVy
V2l0aElkZW50aWZpZXJFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RO
YW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3Ug
bmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1
dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6Omlz
X3BvbHltb3JwaGljPFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAiVGVz
dE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAg
Ly8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIg
ZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNz
ZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJl
IFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5n
IGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0
cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VS
VChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAg
IC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVy
IGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIg
aGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8gb3B0IG91dCBv
ZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVW
YWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQ
b2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TmFt
ZWREZWxldGVyV2l0aElkZW50aWZpZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRl
eGVkR2V0dGVyLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzEzLDI0ICszMTMsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkKiBfWlRWTjdXZWJDb3JlMwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNv
bnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7Cisg
ICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVy
KGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRH
ZXR0ZXJAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlckBX
ZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
Jl9aVFZON1dlYkNvcmUzM1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlckVbMl07Cisg
ICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzNUZXN0
TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0
aGlzIGZhaWxzIFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciBkb2VzIG5vdCBoYXZl
IGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3Rh
dGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlcj46OnZhbHVlLCAiVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyIGlzIG5v
dCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3Ug
ZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkRGVs
ZXRlcldpdGhJbmRleGVkR2V0dGVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWREZWxldGVy
V2l0aEluZGV4ZWRHZXR0ZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8g
dG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFk
ZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
SURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09
IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3Nl
cnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAv
LyBUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRl
c3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBw
YXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1l
ZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRl
bmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRp
ZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TmFtZWREZWxldGVyV2l0aElu
ZGV4ZWRHZXR0ZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlckNh
bGxXaXRoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAJKHJldmlzaW9uIDI4ODExNykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdl
dHRlckNhbGxXaXRoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcxLDI0ICsyNzEsMjIgQEAgZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMgogSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD4mJiBpbXBsKQogewogCisgICAg
aWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5hbWVkR2V0dGVyQ2FsbFdp
dGg+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFj
dHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAg
ICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBs
LnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhAV2ViQ29yZUBA
NkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTIzVGVzdE5hbWVk
R2V0dGVyQ2FsbFdpdGhFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTIzVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhFWzJdOwogI2VuZGlmCiAK
LSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZEdldHRlckNhbGxXaXRoIGRvZXMgbm90IGhh
dmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBz
dGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGg+
Ojp2YWx1ZSwgIlRlc3ROYW1lZEdldHRlckNhbGxXaXRoIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwot
Ci0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2Ug
YWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGggaGFzIHN1
YmNsYXNzZXMuIElmIFRlc3ROYW1lZEdldHRlckNhbGxXaXRoIGhhcyBzdWJjbGFzc2VzIHRoYXQg
Z2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFt
ZWRHZXR0ZXJDYWxsV2l0aCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAg
IC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQ
b2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQg
dGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgor
ICAgICAgICAvLyBUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aCBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dE5hbWVkR2V0dGVyQ2FsbFdpdGggaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAg
ICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRHZXR0ZXJDYWxs
V2l0aCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBh
ZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50
ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD4oZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJO
b0lkZW50aWZpZXIuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzEsMjQgKzI3MSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZv
aWQqIF9aVFZON1dlYkNvcmUyCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RO
YW1lZEdldHRlck5vSWRlbnRpZmllcj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChz
dGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyPikgewogI2lm
IEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAj
aWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRl
bnRpZmllcigiPz9fN1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183
VGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI3VGVzdE5hbWVkR2V0
dGVyTm9JZGVudGlmaWVyRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gJl9aVFZON1dlYkNvcmUyN1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckVbMl07CiAjZW5k
aWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyIGRv
ZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRp
b24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVkR2V0dGVy
Tm9JZGVudGlmaWVyPjo6dmFsdWUsICJUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIgaXMgbm90
IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBl
aXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRHZXR0
ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZEdldHRlck5vSWRlbnRp
ZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxl
VmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAg
IFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2lu
dGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhh
dmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3ROYW1lZEdldHRlck5v
SWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVy
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZU
YWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24K
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRl
c3ROYW1lZEdldHRlck5vSWRlbnRpZmllcj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlm
aWVyLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOTcsMjQgKzI5NywyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9a
VFZON1dlYkNvcmUyCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZEdl
dHRlcldpdGhJZGVudGlmaWVyPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6
aXNfcG9seW1vcnBoaWNfdjxUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllcj4pIHsKICNpZiBF
TkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQq
IGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lm
IFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50
aWZpZXIoIj8/XzdUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckBXZWJDb3JlQEA2QkAiKTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183
VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjlUZXN0TmFtZWRH
ZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9ICZfWlRWTjdXZWJDb3JlMjlUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckVbMl07
CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAg
IC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2Ug
ZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFt
ZWRHZXR0ZXJXaXRoSWRlbnRpZmllcj46OnZhbHVlLCAiVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBU
ZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAg
Ly8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZEdldHRlcldpdGhJZGVu
dGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRk
aW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJ
REwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0g
ZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2Vy
dGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8v
IFRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFt
ZWRHZXR0ZXJXaXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAg
ICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZEdldHRlcldp
dGhJZGVudGlmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAg
IC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRh
YmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAg
IHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyPihnbG9i
YWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRl
bnRpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1MSwyNCArMzUxLDIyIEBAIGV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBSZWY8VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyPiYmIGltcGwpCiB7CiAKKyAgICBp
ZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TmFtZWRTZXR0ZXJOb0lkZW50
aWZpZXI+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQq
IGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAg
ICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihp
bXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyQFdl
YkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJAV2ViQ29yZUBANkJAIik7
CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3Jl
MjdUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJFWzJdOworICAgICAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI3VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlm
aWVyRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRTZXR0ZXJO
b0lkZW50aWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRo
ZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRl
cmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxU
ZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXI+Ojp2YWx1ZSwgIlRlc3ROYW1lZFNldHRlck5vSWRl
bnRpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBh
c3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8v
IFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVk
U2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8v
IHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZp
ZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcg
dGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBk
ZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9u
IHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVz
dE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRTZXR0
ZXJOb0lkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8v
IHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZp
ZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRk
aW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJ
REwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVy
ID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyPihnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1MSwyNCArMzUxLDIyIEBAIGV4dGVy
biAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTMKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBSZWY8VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24+JiYgaW1wbCkKIHsK
IAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3ROYW1lZFNldHRl
clRocm93aW5nRXhjZXB0aW9uPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAg
ICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBs
LnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZU
YWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gJl9aVFZON1dlYkNvcmUzMlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9u
RVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNv
cmUzMlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uRVsyXTsKICNlbmRpZgogCi0gICAg
Ly8gSWYgdGhpcyBmYWlscyBUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBkb2VzIG5v
dCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0g
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZFNldHRlclRocm93
aW5nRXhjZXB0aW9uPjo6dmFsdWUsICJUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbiBp
cyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24g
eW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3ROYW1l
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAv
LyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24geW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBh
ZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9
PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAg
Ly8gVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24gaGFzIHN1YmNsYXNzZXMuIElmIFRl
c3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBh
c3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5hbWVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24geW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5p
bmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1
dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VS
VChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYK
KyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJ
ZGVudGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAJKHJldmlzaW9u
IDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgyLDI0
ICszODIsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMgogSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmll
cj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8
VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXI+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5U
RUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQ
b2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2lu
dGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0g
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5h
bWVkU2V0dGVyV2l0aElkZW50aWZpZXJAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldp
dGhJZGVudGlmaWVyQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI5VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZp
ZXJFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2Vi
Q29yZTI5VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXJFWzJdOwogI2VuZGlmCiAKLSAgICAv
LyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIGRvZXMgbm90IGhh
dmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBz
dGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50
aWZpZXI+Ojp2YWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyIGlzIG5vdCBwb2x5
bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVy
IGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkU2V0dGVyV2l0
aElkZW50aWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlm
aWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBj
dXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB5b3UgdG8gb3B0
IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJs
ZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAg
ICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9p
bnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBo
YXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWRTZXR0ZXJX
aXRoSWRlbnRpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50
aWZpZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMo
KSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllciB5b3Ug
dG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhl
IFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZp
bml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhw
ZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3Jh
cHBlcjxUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhJbmRleGVkR2V0dGVyLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjksMjQgKzQyOSwyMiBAQCBleHRlcm4gIkMi
IHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyPiYmIGltcGwpCiB7CiAKKyAg
ICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0TmFtZWRTZXR0ZXJXaXRo
SW5kZXhlZEdldHRlcj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29u
c3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIo
KSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQ
b2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3Rl
ZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0
ZXJAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMzJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckVbMl07
CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzJU
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckVbMl07CiAjZW5kaWYKIAotICAgIC8vIElm
IHRoaXMgZmFpbHMgVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIgZG9lcyBub3QgaGF2
ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0
YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhl
ZEdldHRlcj46OnZhbHVlLCAiVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIgaXMgbm90
IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBl
aXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0TmFtZWRTZXR0
ZXJXaXRoSW5kZXhlZEdldHRlciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkU2V0dGVyV2l0
aEluZGV4ZWRHZXR0ZXIgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5n
IHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwg
ZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhw
ZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRl
c3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQK
KyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3ROYW1lZFNldHRl
cldpdGhJbmRleGVkR2V0dGVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisg
ICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0
dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAg
fQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhl
ZEdldHRlckFuZFNldHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRT
ZXR0ZXIuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3OSwyNCArNDc5LDIyIEBAIGV4dGVybiAiQyIgeyBl
eHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTQKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBS
ZWY8VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXI+JiYgaW1wbCkKIHsK
IAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3ROYW1lZFNldHRl
cldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVH
UklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9p
bnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRl
ciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1l
ZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyQFdlYkNvcmVAQDZCQCIpOworICAgICAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckBXZWJDb3JlQEA2QkAiKTsKICNlbHNl
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU0MVRlc3RO
YW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyRVsyXTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU0MVRlc3ROYW1lZFNldHRlcldp
dGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBm
YWlscyBUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciBkb2VzIG5vdCBo
YXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAg
c3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZFNldHRlcldpdGhJbmRl
eGVkR2V0dGVyQW5kU2V0dGVyPjo6dmFsdWUsICJUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdl
dHRlckFuZFNldHRlciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQg
dGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgot
ICAgIC8vIFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyIGhhcyBzdWJj
bGFzc2VzLiBJZiBUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlciBoYXMg
c3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5
IHJlcXVpcmUgVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIgeW91IHRv
IG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBW
VGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9u
Ci0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRo
ZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdE5hbWVkU2V0
dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1l
ZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0
IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE5h
bWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRh
dGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBS
RUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRl
cik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE5hbWVkU2V0
dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBs
KSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAJKHJldmlzaW9uIDI4ODExNykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI4LDI0
ICszMjgsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlNAogSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3Zl
cnJpZGVCdWlsdElucz4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3Bv
bHltb3JwaGljX3Y8VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+KSB7
CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25z
dCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigp
KTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
X19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnNAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0
SW5zQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSAmX1pUVk43V2ViQ29yZTQxVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVp
bHRJbnNFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43
V2ViQ29yZTQxVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNFWzJdOwog
I2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lP
dmVycmlkZUJ1aWx0SW5zIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFk
ZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUg
aW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBo
aWM8VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+Ojp2YWx1ZSwgIlRl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGlzIG5vdCBwb2x5bW9ycGhp
YyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUg
YSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2Fj
eU92ZXJyaWRlQnVpbHRJbnMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3ROYW1lZFNldHRlcldpdGhM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAg
IC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVn
YWN5T3ZlcnJpZGVCdWlsdElucyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwot
ICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRo
ZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFi
bGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBo
aXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBv
cgorICAgICAgICAvLyBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucyBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3
ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWls
dElucyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBh
ZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50
ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucz4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9y
Z2VhYmxlUHJvcGVydGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxl
UHJvcGVydGllcy5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTIsMjQgKzQxMiwyMiBAQCBleHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmU0CiBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRp
ZXM+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192
PFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXM+KSB7CiAjaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lk
KiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNp
ZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVu
dGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGll
c0BXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
X19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllc0BXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gJl9aVFZON1dlYkNvcmU0NlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdl
YWJsZVByb3BlcnRpZXNFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTQ2VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllc0VbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE5hbWVkU2V0
dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcyBkb2VzIG5vdCBoYXZlIGEgdnRhYmxl
LCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXM+Ojp2YWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRo
aXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAg
ICAvLyBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0
aWVzIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBj
dXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRk
aW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJ
REwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0g
ZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2Vy
dGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8v
IFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMgaGFzIHN1YmNs
YXNzZXMuIElmIFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMg
aGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBj
dXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5
IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZh
Y2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9p
bnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3Bl
cnRpZXM+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdh
Y3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJp
ZGVCdWlsdElucy5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzg5LDI0ICszODksMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJD
b3JlNwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRTZXR0ZXJXaXRo
TGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucz4mJiBp
bXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE5h
bWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnM+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZv
aWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwor
ICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRl
cihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVu
Zm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNAV2ViQ29yZUBANkJA
Iik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigi
Pz9fN1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdh
Y3lPdmVycmlkZUJ1aWx0SW5zQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTcxVGVzdE5hbWVkU2V0dGVyV2l0aExl
Z2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNFWzJdOwor
ICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTcxVGVz
dE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJy
aWRlQnVpbHRJbnNFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROYW1l
ZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAg
ICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNl
IGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE5h
bWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnM+Ojp2YWx1ZSwgIlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwot
Ci0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2Ug
YWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9y
Z2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgaGFzIHN1YmNsYXNzZXMu
IElmIFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdh
Y3lPdmVycmlkZUJ1aWx0SW5zIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8v
IHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyB5b3UgdG8gb3B0
IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJs
ZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAg
ICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9p
bnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBo
YXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyBo
YXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0TmFt
ZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVC
dWlsdElucyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBi
eSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJm
YWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBv
aW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MzUsMjQgKzUzNSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9a
VFZON1dlYkNvcmU4CiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROb2RlPiYm
IGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0
Tm9kZT4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCog
YWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAg
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Tm9kZUBXZWJDb3JlQEA2QkAiKTsKKyAgICAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE5v
ZGVAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlOFRlc3ROb2RlRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU4VGVzdE5vZGVFWzJdOwogI2VuZGlmCiAKLSAg
ICAvLyBJZiB0aGlzIGZhaWxzIFRlc3ROb2RlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlv
dSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6
aXNfcG9seW1vcnBoaWM8VGVzdE5vZGU+Ojp2YWx1ZSwgIlRlc3ROb2RlIGlzIG5vdCBwb2x5bW9y
cGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhh
dmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE5vZGUgaGFzIHN1YmNsYXNz
ZXMuIElmIFRlc3ROb2RlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRv
IHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Tm9kZSB5b3UgdG8gb3B0IG91dCBvZiBi
aW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRp
b24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNF
X0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7Cisg
ICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNl
IGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0Tm9kZSBoYXMgc3ViY2xhc3Nlcy4g
SWYgVGVzdE5vZGUgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRv
IHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0Tm9kZSB5b3UgdG8gb3B0IG91dCBvZiBi
aW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxp
ZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAg
IFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2lu
dGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0Tm9kZT4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHJldmlz
aW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MTMzLDI0ICs5MTMzLDIyIEBAIGV4dGVy
biAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTcKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBSZWY8VGVzdE9iaj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6
OmlzX3BvbHltb3JwaGljX3Y8VGVzdE9iaj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJ
VFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50
ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIg
PSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T2JqQFdl
YkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0T2JqQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTdUZXN0T2JqRVsyXTsKKyAgICAg
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmU3VGVzdE9iakVb
Ml07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE9iaiBkb2VzIG5vdCBoYXZl
IGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3Rh
dGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RPYmo+Ojp2YWx1ZSwgIlRlc3RPYmog
aXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9u
IHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0T2Jq
IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0T2JqIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3Nl
ZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0T2JqIHlvdSB0byBv
cHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRh
YmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgot
ICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQ
b2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVy
IGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RPYmogaGFzIHN1
YmNsYXNzZXMuIElmIFRlc3RPYmogaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAg
ICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0T2JqIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZU
YWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24K
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRl
c3RPYmo+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25h
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNv
bmRpdGlvbmFsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg1LDI0ICsyODUsMjIgQEAgZXh0ZXJu
ICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMgogSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFJlZjxUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWw+JiYgaW1wbCkKIHsKIAorICAgIGlm
IGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RPcGVyYXRpb25Db25kaXRpb25h
bD4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0
dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAg
IGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwu
cHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50
ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxAV2ViQ29yZUBA
NkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbEBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0g
ICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNFRlc3RPcGVy
YXRpb25Db25kaXRpb25hbEVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMjRUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxFWzJdOwogI2VuZGlm
CiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RPcGVyYXRpb25Db25kaXRpb25hbCBkb2VzIG5v
dCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0g
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RPcGVyYXRpb25Db25kaXRp
b25hbD46OnZhbHVlLCAiVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsIGlzIG5vdCBwb2x5bW9ycGhp
YyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUg
YSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFs
IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwgaGFzIHN1YmNsYXNz
ZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJl
IFRlc3RPcGVyYXRpb25Db25kaXRpb25hbCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRl
bmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRl
IHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1
YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElm
IHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUg
YnVnLCBvcgorICAgICAgICAvLyBUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwgaGFzIHN1YmNsYXNz
ZXMuIElmIFRlc3RPcGVyYXRpb25Db25kaXRpb25hbCBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBw
YXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RPcGVy
YXRpb25Db25kaXRpb25hbCB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAg
ICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVh
bFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0K
ICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWw+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzU2LDI0ICszNTYsMjIgQEAgZXh0ZXJuICJDIiB7
IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMgogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFJlZjxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4mJiBpbXBsKQogewogCisgICAgaWYgY29u
c3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+
KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVh
bFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBj
b25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0
cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gX19pZGVudGlmaWVyKCI/P183VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNAV2ViQ29yZUBA
NkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UK
LSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI2VGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSAmX1pUVk43V2ViQ29yZTI2VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNFWzJdOwog
I2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmlu
aXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM+Ojp2YWx1ZSwgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIGlzIG5v
dCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3Ug
ZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBj
dXJyZW50bHkgcmVxdWlyZSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyB5b3UgdG8gb3B0IG91
dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZh
bGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBS
RUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRl
cik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZl
IGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyB5b3UgdG8gb3B0IG91dCBv
ZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVW
YWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQ
b2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzV2l0aFNlcXVlbmNlLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRo
U2VxdWVuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTMsMjQgKzI5MywyMiBAQCBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPiYmIGltcGwp
CiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRF
R1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50
ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAg
IHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzhUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzhUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW5jZUVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UgZG9lcyBub3QgaGF2ZSBhIHZ0YWJsZSwg
c28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUg
YXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19hc3NlcnQo
c3RkOjppc19wb2x5bW9ycGhpYzxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5j
ZT46OnZhbHVlLCAiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UgaXMgbm90
IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBl
aXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2Vk
Ci0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzV2l0aFNlcXVlbmNlIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
Ci0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCisgICAgICAgIC8vIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIGhh
cyBzdWJjbGFzc2VzLiBJZiBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZSBo
YXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1
cnJlbnRseSByZXF1aXJlIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlIHlv
dSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0
aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRl
ZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVX
cmFwcGVyPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPihnbG9iYWxPYmpl
Y3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJm
YWNlLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwNSwyNCArMzA1LDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29y
ZTEKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFBsdWdpbkludGVyZmFjZT4m
JiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVz
dFBsdWdpbkludGVyZmFjZT4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAg
Y29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5w
dHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFi
bGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0UGx1Z2luSW50ZXJmYWNl
QFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0UGx1Z2luSW50ZXJmYWNlQFdlYkNvcmVAQDZCQCIpOwogI2Vs
c2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE5VGVz
dFBsdWdpbkludGVyZmFjZUVbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRl
ciA9ICZfWlRWTjdXZWJDb3JlMTlUZXN0UGx1Z2luSW50ZXJmYWNlRVsyXTsKICNlbmRpZgogCi0g
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0UGx1Z2luSW50ZXJmYWNlIGRvZXMgbm90IGhhdmUgYSB2
dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNf
YXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFBsdWdpbkludGVyZmFjZT46OnZhbHVlLCAi
VGVzdFBsdWdpbkludGVyZmFjZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlv
dSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVn
LCBvcgotICAgIC8vIFRlc3RQbHVnaW5JbnRlcmZhY2UgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RQ
bHVnaW5JbnRlcmZhY2UgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8g
dG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RQbHVnaW5JbnRlcmZhY2UgeW91IHRvIG9w
dCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0g
ICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBv
aW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIg
aGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdFBsdWdpbkludGVy
ZmFjZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFBsdWdpbkludGVyZmFjZSBoYXMgc3ViY2xhc3Nl
cyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1
aXJlIFRlc3RQbHVnaW5JbnRlcmZhY2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5p
bmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1
dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBSRUxFQVNFX0FTU0VS
VChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CiAjZW5kaWYK
KyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdFBsdWdpbkludGVyZmFjZT4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMzksMjQgKzMzOSwyMiBAQCBleHRlcm4gIkMiIHsg
ZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UmVmPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0
ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+KSB7
CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25z
dCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigp
KTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0g
X19pZGVudGlmaWVyKCI/P183VGVzdFByb21pc2VSZWplY3Rpb25FdmVudEBXZWJDb3JlQEA2QkAi
KTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/
P183VGVzdFByb21pc2VSZWplY3Rpb25FdmVudEBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAg
dm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNVRlc3RQcm9taXNl
UmVqZWN0aW9uRXZlbnRFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTI1VGVzdFByb21pc2VSZWplY3Rpb25FdmVudEVbMl07CiAjZW5kaWYK
IAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFByb21pc2VSZWplY3Rpb25FdmVudCBkb2VzIG5v
dCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0g
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RQcm9taXNlUmVqZWN0aW9u
RXZlbnQ+Ojp2YWx1ZSwgIlRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQgaXMgbm90IHBvbHltb3Jw
aGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2
ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0UHJvbWlzZVJlamVjdGlvbkV2
ZW50IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IGhhcyBzdWJj
bGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVx
dWlyZSBUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcg
aGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRy
aWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJU
KGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAg
Ly8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIg
ZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQgaGFzIHN1
YmNsYXNzZXMuIElmIFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQgaGFzIHN1YmNsYXNzZXMgdGhh
dCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBU
ZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50IHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVu
aW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmli
dXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NF
UlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlm
CisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZl
bnQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RSZWFkT25seU1hcExpa2UuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlNYXBMaWtlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzU2LDI0ICszNTYsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lk
KiBfWlRWTjdXZWJDb3JlMQogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0UmVh
ZE9ubHlNYXBMaWtlPiYmIGltcGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9s
eW1vcnBoaWNfdjxUZXN0UmVhZE9ubHlNYXBMaWtlPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lO
VEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxl
UG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9p
bnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQot
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RS
ZWFkT25seU1hcExpa2VAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRh
YmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RSZWFkT25seU1hcExpa2VAV2ViQ29y
ZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRW
TjdXZWJDb3JlMTlUZXN0UmVhZE9ubHlNYXBMaWtlRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0
ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxOVRlc3RSZWFkT25seU1hcExpa2VFWzJd
OwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RSZWFkT25seU1hcExpa2UgZG9l
cyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlv
bgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0UmVhZE9ubHlNYXBM
aWtlPjo6dmFsdWUsICJUZXN0UmVhZE9ubHlNYXBMaWtlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwot
Ci0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2Ug
YWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdFJlYWRPbmx5TWFwTGlrZSBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdFJlYWRPbmx5TWFwTGlrZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNz
ZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFJlYWRPbmx5TWFw
TGlrZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5IGFkZGlu
ZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURM
IGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4
cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRp
b24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAgICAvLyBU
ZXN0UmVhZE9ubHlNYXBMaWtlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0UmVhZE9ubHlNYXBMaWtl
IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdFJlYWRPbmx5TWFwTGlrZSB5b3UgdG8gb3B0IG91dCBvZiBi
aW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxp
ZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAg
IFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2lu
dGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0UmVhZE9u
bHlNYXBMaWtlPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMzNSwyNCArMzM1LDIyIEBAIGV4dGVybiAiQyIgeyBleHRl
cm4gdm9pZCogX1pUVk43V2ViQ29yZTEKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8
VGVzdFJlYWRPbmx5U2V0TGlrZT4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6
OmlzX3BvbHltb3JwaGljX3Y8VGVzdFJlYWRPbmx5U2V0TGlrZT4pIHsKICNpZiBFTkFCTEUoQklO
RElOR19JTlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdl
dFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZU
YWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JN
KFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0UmVhZE9ubHlTZXRMaWtlQFdlYkNvcmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0UmVhZE9ubHlTZXRMaWtl
QFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTE5VGVzdFJlYWRPbmx5U2V0TGlrZUVbMl07CisgICAgICAgIHZvaWQq
IGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTlUZXN0UmVhZE9ubHlTZXRM
aWtlRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0UmVhZE9ubHlTZXRM
aWtlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAv
LyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRl
ZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFJlYWRP
bmx5U2V0TGlrZT46OnZhbHVlLCAiVGVzdFJlYWRPbmx5U2V0TGlrZSBpcyBub3QgcG9seW1vcnBo
aWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZl
IGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RSZWFkT25seVNldExpa2UgaGFz
IHN1YmNsYXNzZXMuIElmIFRlc3RSZWFkT25seVNldExpa2UgaGFzIHN1YmNsYXNzZXMgdGhhdCBn
ZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RSZWFk
T25seVNldExpa2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBi
eSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJm
YWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRl
ciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAgICAg
ICAgLy8gVGVzdFJlYWRPbmx5U2V0TGlrZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFJlYWRPbmx5
U2V0TGlrZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9K
UygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RSZWFkT25seVNldExpa2UgeW91IHRvIG9wdCBv
dXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRh
YmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgor
ICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRh
YmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVz
dFJlYWRPbmx5U2V0TGlrZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4
dHJhTWVtb3J5Q29zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdC5jcHAJKHJldmlzaW9u
IDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzksMjQgKzIz
OSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyCiBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q+JiYgaW1w
bCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192PFRlc3RSZXBv
cnRFeHRyYU1lbW9yeUNvc3Q+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAg
IGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwu
cHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRh
YmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFJlcG9ydEV4dHJhTWVt
b3J5Q29zdEBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2lu
dGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdEBXZWJDb3Jl
QEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZO
N1dlYkNvcmUyNVRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RFWzJdOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI1VGVzdFJlcG9ydEV4dHJhTWVt
b3J5Q29zdEVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFJlcG9ydEV4
dHJhTWVtb3J5Q29zdCBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQg
dGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGlu
dGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGlj
PFRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q+Ojp2YWx1ZSwgIlRlc3RSZXBvcnRFeHRyYU1lbW9y
eUNvc3QgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNz
ZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBU
ZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0IGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0UmVwb3J0RXh0
cmFNZW1vcnlDb3N0IGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRv
SlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0IHlvdSB0
byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lw
VlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlv
bgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFi
bGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0
aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RSZXBvcnRF
eHRyYU1lbW9yeUNvc3QgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RSZXBvcnRFeHRyYU1lbW9yeUNv
c3QgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3
ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0IHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZU
YWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24K
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRl
c3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEyLDI0ICs0MTIsMjIgQEAgZXh0ZXJuICJDIiB7IGV4
dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJl
ZjxUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPiYmIGltcGwpCiB7CiAKKyAgICBp
ZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25z
dCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigp
KTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBv
aW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2VAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxl
UG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2VAV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9ICZfWlRWTjdXZWJDb3JlMzRUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
RVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNv
cmUzNFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VFWzJdOwogI2VuZGlmCiAKLSAg
ICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgZG9l
cyBub3QgaGF2ZSBhIHZ0YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlv
bgotICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlPjo6dmFsdWUsICJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlIGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFz
c2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8g
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBw
YXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmlu
ZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRv
IHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxW
VGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlv
dSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVn
LCBvcgorICAgICAgICAvLyBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlIGhhcyBz
dWJjbGFzc2VzLiBJZiBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlIGhhcyBzdWJj
bGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5
IHJlcXVpcmUgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSB5b3UgdG8gb3B0IG91
dCBvZiBiaW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFi
bGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFi
bGVQb2ludGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U2V0TGlrZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2UuY3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM5MywyNCArMzkzLDIyIEBAIGV4dGVybiAiQyIgeyBleHRlcm4g
dm9pZCogX1pUVk43V2ViQ29yZTEKIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVz
dFNldExpa2U+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9y
cGhpY192PFRlc3RTZXRMaWtlPikgewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAg
ICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBs
LnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZU
YWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4
cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RTZXRMaWtlQFdlYkNv
cmVAQDZCQCIpOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50
aWZpZXIoIj8/XzdUZXN0U2V0TGlrZUBXZWJDb3JlQEA2QkAiKTsKICNlbHNlCi0gICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxMVRlc3RTZXRMaWtlRVsyXTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxMVRl
c3RTZXRMaWtlRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0U2V0TGlr
ZSBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8g
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZp
bml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RTZXRMaWtl
Pjo6dmFsdWUsICJUZXN0U2V0TGlrZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElm
IHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUg
YnVnLCBvcgotICAgIC8vIFRlc3RTZXRMaWtlIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0U2V0TGlr
ZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3Vy
cmVudGx5IHJlcXVpcmUgVGVzdFNldExpa2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJk
ZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0
ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0
dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJ
ZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVl
IGJ1Zywgb3IKKyAgICAgICAgLy8gVGVzdFNldExpa2UgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RT
ZXRMaWtlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pT
KCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFNldExpa2UgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRh
dGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgorICAgICAgICBS
RUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRl
cik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdFNldExpa2U+
KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVy
YXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAJKHJldmlz
aW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDA1LDI0ICs0MDUsMjIgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJD
b3JlMwogSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0U2V0TGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9ucz4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6Omlz
X3BvbHltb3JwaGljX3Y8VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM+KSB7CiAj
aWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJs
ZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2
b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsK
ICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19p
ZGVudGlmaWVyKCI/P183VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNAV2ViQ29y
ZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRp
ZmllcigiPz9fN1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zQFdlYkNvcmVAQDZC
QCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2Vi
Q29yZTM1VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNFWzJdOworICAgICAgICB2
b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM1VGVzdFNldExpa2VX
aXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNFWzJdOwogI2VuZGlmCiAKLSAgICAvLyBJZiB0aGlzIGZh
aWxzIFRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIGRvZXMgbm90IGhhdmUgYSB2
dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNf
YXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJh
dGlvbnM+Ojp2YWx1ZSwgIlRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zIGlzIG5v
dCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3Ug
ZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdFNldExpa2VX
aXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTZXRMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAg
IC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0U2V0TGlrZVdpdGhPdmVycmlk
ZGVuT3BlcmF0aW9ucyB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8v
IGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRl
cmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2lu
dGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhp
cyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAg
ICAgICAvLyBUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyBoYXMgc3ViY2xhc3Nl
cy4gSWYgVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMgaGFzIHN1YmNsYXNzZXMg
dGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyB5b3UgdG8gb3B0IG91dCBvZiBi
aW5kaW5nIGhhcmRlbmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxp
ZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAg
IFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2lu
dGVyKTsKICNlbmRpZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0U2V0TGlr
ZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFN0cmluZ2lmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwCShyZXZpc2lvbiAyODgxMTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZp
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsMjQgKzI0MywyMiBAQCBleHRlcm4gIkMiIHsg
ZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UmVmPFRlc3RTdHJpbmdpZmllcj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6
OmlzX3BvbHltb3JwaGljX3Y8VGVzdFN0cmluZ2lmaWVyPikgewogI2lmIEVOQUJMRShCSU5ESU5H
X0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0VlRh
YmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxl
UG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAjaWYgUExBVEZPUk0oV0lO
KQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rl
c3RTdHJpbmdpZmllckBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFi
bGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyQFdlYkNvcmVAQDZC
QCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2Vi
Q29yZTE1VGVzdFN0cmluZ2lmaWVyRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gJl9aVFZON1dlYkNvcmUxNVRlc3RTdHJpbmdpZmllckVbMl07CiAjZW5kaWYKIAot
ICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFN0cmluZ2lmaWVyIGRvZXMgbm90IGhhdmUgYSB2dGFi
bGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNz
ZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFN0cmluZ2lmaWVyPjo6dmFsdWUsICJUZXN0U3Ry
aW5naWZpZXIgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMg
YXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAv
LyBUZXN0U3RyaW5naWZpZXIgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllciBoYXMg
c3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5
IHJlcXVpcmUgVGVzdFN0cmluZ2lmaWVyIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVu
aW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUg
dG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVh
bFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYg
eW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBi
dWcsIG9yCisgICAgICAgIC8vIFRlc3RTdHJpbmdpZmllciBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVz
dFN0cmluZ2lmaWVyIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0
byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFN0cmluZ2lmaWVyIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZU
YWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24K
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRl
c3RTdHJpbmdpZmllcj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVy
QW5vbnltb3VzT3BlcmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24u
Y3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNDMsMjQgKzI0MywyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9a
VFZON1dlYkNvcmUzCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdp
ZmllckFub255bW91c09wZXJhdGlvbj4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChz
dGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uPikg
ewogI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxW
VGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29u
c3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIo
KSk7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbkBXZWJD
b3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVu
dGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uQFdlYkNvcmVAQDZC
QCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2Vi
Q29yZTMzVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uRVsyXTsKKyAgICAgICAgdm9p
ZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3RTdHJpbmdpZmll
ckFub255bW91c09wZXJhdGlvbkVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMg
VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2dGFibGUs
IHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0
KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uPjo6
dmFsdWUsICJUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24gaXMgbm90IHBvbHltb3Jw
aGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2
ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0U3RyaW5naWZpZXJBbm9ueW1v
dXNPcGVyYXRpb24gaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllckFub255bW91c09w
ZXJhdGlvbiBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkg
d2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uIHlv
dSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBT
a2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5p
dGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRW
VGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3Ug
ZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RTdHJp
bmdpZmllckFub255bW91c09wZXJhdGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAg
ICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFN0cmluZ2lmaWVyQW5v
bnltb3VzT3BlcmF0aW9uIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAg
ICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRo
ZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFs
VlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQog
ICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlv
bj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNwcAkocmV2aXNpb24gMjg4MTE3
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmlu
Z2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsMjQgKzI2MCwy
MiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyCiBKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uPiYmIGlt
cGwpCiB7CiAKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfcG9seW1vcnBoaWNfdjxUZXN0U3Ry
aW5naWZpZXJOYW1lZE9wZXJhdGlvbj4pIHsKICNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkp
Ci0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIo
aW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBn
ZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lk
KiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3RyaW5naWZp
ZXJOYW1lZE9wZXJhdGlvbkBXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVy
YXRpb25AV2ViQ29yZUBANkJAIik7CiAjZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9p
bnRlciA9ICZfWlRWTjdXZWJDb3JlMjlUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbkVbMl07
CisgICAgICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMjlU
ZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbkVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRo
aXMgZmFpbHMgVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZ0
YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQotICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgotICAgIHN0YXRpY19h
c3NlcnQoc3RkOjppc19wb2x5bW9ycGhpYzxUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbj46
OnZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24gaXMgbm90IHBvbHltb3JwaGlj
Iik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBh
IHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJh
dGlvbiBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24gaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIFRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIHlvdSB0byBvcHQgb3V0IG9m
IGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRh
dGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVB
U0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsK
KyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RTdHJpbmdpZmllck5hbWVkT3Bl
cmF0aW9uIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbiBo
YXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1
cnJlbnRseSByZXF1aXJlIFRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uIHlvdSB0byBvcHQg
b3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZU
YWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24K
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZU
YWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRl
c3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJP
cGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
SW1wbGVtZW50ZWRBcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2MCwyNCArMjYwLDIyIEBAIGV4
dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTMKIEpTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBSZWY8VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcz4mJiBp
bXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFN0
cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcz4pIHsKICNpZiBFTkFCTEUoQklORElOR19J
TlRFR1JJVFkpCi0gICAgY29uc3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJs
ZVBvaW50ZXIoaW1wbC5wdHIoKSk7CisgICAgICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwogI2lmIFBMQVRGT1JNKFdJTikK
LSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0
U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzQFdlYkNvcmVAQDZCQCIpOworICAgICAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U3Ry
aW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM3VGVzdFN0cmlu
Z2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBc0VbMl07CisgICAgICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMzdUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25J
bXBsZW1lbnRlZEFzRVsyXTsKICNlbmRpZgogCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0U3Ry
aW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNv
IHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0
ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcz46
OnZhbHVlLCAiVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyBpcyBub3QgcG9s
eW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhl
ciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RTdHJpbmdpZmllck9w
ZXJhdGlvbkltcGxlbWVudGVkQXMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllck9w
ZXJhdGlvbkltcGxlbWVudGVkQXMgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAg
Ly8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSByZXF1aXJlIFRlc3RTdHJpbmdpZmllck9wZXJhdGlv
bkltcGxlbWVudGVkQXMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAv
LyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9p
bnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworICAgICAgICAvLyBJZiB5b3UgaGl0IHRo
aXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKKyAg
ICAgICAgLy8gVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyBoYXMgc3ViY2xh
c3Nlcy4gSWYgVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyBoYXMgc3ViY2xh
c3NlcyB0aGF0IGdldCBwYXNzZWQKKyAgICAgICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRseSBy
ZXF1aXJlIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMgeW91IHRvIG9wdCBv
dXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAgICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRh
YmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgor
ICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRh
YmxlUG9pbnRlcik7CiAjZW5kaWYKKyAgICB9CiAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVz
dFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmlu
Z2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9w
ZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsMjQgKzI0Mywy
MiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzCiBKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJp
bmc+JiYgaW1wbCkKIHsKIAorICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19wb2x5bW9ycGhpY192
PFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmc+KSB7CiAjaWYgRU5BQkxFKEJJ
TkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBn
ZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxW
VGFibGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9S
TShXSU4pCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/
P183VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZ0BXZWJDb3JlQEA2QkAiKTsK
KyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZ0BXZWJDb3JlQEA2QkAiKTsKICNl
bHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzN1Rl
c3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdFWzJdOworICAgICAgICB2b2lkKiBl
eHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTM3VGVzdFN0cmluZ2lmaWVyT3Bl
cmF0aW9uTmFtZWRUb1N0cmluZ0VbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMg
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZyBkb2VzIG5vdCBoYXZlIGEgdnRh
YmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fz
c2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9T
dHJpbmc+Ojp2YWx1ZSwgIlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcgaXMg
bm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlv
dSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3Nl
ZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0U3RyaW5naWZpZXJP
cGVyYXRpb25OYW1lZFRvU3RyaW5nIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
Ci0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZU
YWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91
IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcs
IG9yCisgICAgICAgIC8vIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcgaGFz
IHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJy
ZW50bHkgcmVxdWlyZSBUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIHlvdSB0
byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUg
U2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmlu
aXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFw
cGVyPFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmc+KGdsb2JhbE9iamVjdCwg
V1RGTW92ZShpbXBsKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5jcHAJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRP
bmx5QXR0cmlidXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU5LDI0ICsyNTksMjIgQEAgZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMwogSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZT4mJiBpbXBsKQog
ewogCisgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFN0cmluZ2lm
aWVyUmVhZE9ubHlBdHRyaWJ1dGU+KSB7CiAjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQot
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOworICAgICAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gZ2V0
VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFN0cmluZ2lmaWVy
UmVhZE9ubHlBdHRyaWJ1dGVAV2ViQ29yZUBANkJAIik7CisgICAgICAgIHZvaWQqIGV4cGVjdGVk
VlRhYmxlUG9pbnRlciA9IF9faWRlbnRpZmllcigiPz9fN1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5
QXR0cmlidXRlQFdlYkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJs
ZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTMyVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1
dGVFWzJdOworICAgICAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2Vi
Q29yZTMyVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVFWzJdOwogI2VuZGlmCiAKLSAg
ICAvLyBJZiB0aGlzIGZhaWxzIFRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlIGRvZXMg
bm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24K
LSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFN0cmluZ2lmaWVyUmVh
ZE9ubHlBdHRyaWJ1dGU+Ojp2YWx1ZSwgIlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRl
IGlzIG5vdCBwb2x5bW9ycGhpYyIpOwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlv
biB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdFN0
cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdp
ZmllclJlYWRPbmx5QXR0cmlidXRlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAotICAg
IC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0U3RyaW5naWZpZXJSZWFkT25s
eUF0dHJpYnV0ZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRlbmluZwotICAgIC8vIGJ5
IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZh
Y2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChhY3R1YWxWVGFibGVQb2ludGVy
ID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisgICAgICAgIC8vIElmIHlvdSBoaXQgdGhpcyBh
c3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgICAg
ICAvLyBUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZSBoYXMgc3ViY2xhc3Nlcy4gSWYg
VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQg
cGFzc2VkCisgICAgICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0U3Ry
aW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZSB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhhcmRl
bmluZworICAgICAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJp
YnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKICNlbmRp
ZgorICAgIH0KICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0U3RyaW5naWZpZXJSZWFkT25s
eUF0dHJpYnV0ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVh
ZFdyaXRlQXR0cmlidXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3Bw
CShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNzgsMjQgKzI3OCwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZO
N1dlYkNvcmUzCiBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdpZmll
clJlYWRXcml0ZUF0dHJpYnV0ZT4mJiBpbXBsKQogewogCisgICAgaWYgY29uc3RleHByIChzdGQ6
OmlzX3BvbHltb3JwaGljX3Y8VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlPikgewog
I2lmIEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFi
bGVQb2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qg
dm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7
CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9f
aWRlbnRpZmllcigiPz9fN1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZUBXZWJDb3Jl
QEA2QkAiKTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlm
aWVyKCI/P183VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlQFdlYkNvcmVAQDZCQCIp
OwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29y
ZTMzVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlRVsyXTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUzM1Rlc3RTdHJpbmdpZmllclJl
YWRXcml0ZUF0dHJpYnV0ZUVbMl07CiAjZW5kaWYKIAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVz
dFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNv
IHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0
ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlPjo6dmFs
dWUsICJUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUgaXMgbm90IHBvbHltb3JwaGlj
Iik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9uIHlvdSBlaXRoZXIgaGF2ZSBh
IHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVB
dHRyaWJ1dGUgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJp
YnV0ZSBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2Ug
Y3VycmVudGx5IHJlcXVpcmUgVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlIHlvdSB0
byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkgYWRkaW5nIHRoZSBTa2lw
VlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBJREwgZGVmaW5pdGlv
bgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIgPT0gZXhwZWN0ZWRWVGFi
bGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0
aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAgIC8vIFRlc3RTdHJpbmdp
ZmllclJlYWRXcml0ZUF0dHJpYnV0ZSBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFN0cmluZ2lmaWVy
UmVhZFdyaXRlQXR0cmlidXRlIGhhcyBzdWJjbGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAg
ICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdFN0cmluZ2lmaWVyUmVhZFdy
aXRlQXR0cmlidXRlIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCisgICAgICAg
IC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRlIHRvIHRoZSBp
bnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRh
YmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisgICAgfQogICAg
IHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZT4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMu
Y3BwCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzEsMjQgKzgz
MSwyMiBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxCiBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RUeXBlZGVmcz4mJiBpbXBsKQogewogCisgICAg
aWYgY29uc3RleHByIChzdGQ6OmlzX3BvbHltb3JwaGljX3Y8VGVzdFR5cGVkZWZzPikgewogI2lm
IEVOQUJMRShCSU5ESU5HX0lOVEVHUklUWSkKLSAgICBjb25zdCB2b2lkKiBhY3R1YWxWVGFibGVQ
b2ludGVyID0gZ2V0VlRhYmxlUG9pbnRlcihpbXBsLnB0cigpKTsKKyAgICAgICAgY29uc3Qgdm9p
ZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIoKSk7CiAj
aWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IF9faWRl
bnRpZmllcigiPz9fN1Rlc3RUeXBlZGVmc0BXZWJDb3JlQEA2QkAiKTsKKyAgICAgICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gX19pZGVudGlmaWVyKCI/P183VGVzdFR5cGVkZWZzQFdl
YkNvcmVAQDZCQCIpOwogI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAm
X1pUVk43V2ViQ29yZTEyVGVzdFR5cGVkZWZzRVsyXTsKKyAgICAgICAgdm9pZCogZXhwZWN0ZWRW
VGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUxMlRlc3RUeXBlZGVmc0VbMl07CiAjZW5kaWYK
IAotICAgIC8vIElmIHRoaXMgZmFpbHMgVGVzdFR5cGVkZWZzIGRvZXMgbm90IGhhdmUgYSB2dGFi
bGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNz
ZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdFR5cGVkZWZzPjo6dmFsdWUsICJUZXN0VHlwZWRl
ZnMgaXMgbm90IHBvbHltb3JwaGljIik7Ci0KLSAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0
aW9uIHlvdSBlaXRoZXIgaGF2ZSBhIHVzZSBhZnRlciBmcmVlIGJ1Zywgb3IKLSAgICAvLyBUZXN0
VHlwZWRlZnMgaGFzIHN1YmNsYXNzZXMuIElmIFRlc3RUeXBlZGVmcyBoYXMgc3ViY2xhc3NlcyB0
aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVz
dFR5cGVkZWZzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5nCi0gICAgLy8gYnkg
YWRkaW5nIHRoZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFj
ZSBJREwgZGVmaW5pdGlvbgotICAgIFJFTEVBU0VfQVNTRVJUKGFjdHVhbFZUYWJsZVBvaW50ZXIg
PT0gZXhwZWN0ZWRWVGFibGVQb2ludGVyKTsKKyAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFz
c2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgICAg
IC8vIFRlc3RUeXBlZGVmcyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdFR5cGVkZWZzIGhhcyBzdWJj
bGFzc2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgICAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5
IHJlcXVpcmUgVGVzdFR5cGVkZWZzIHlvdSB0byBvcHQgb3V0IG9mIGJpbmRpbmcgaGFyZGVuaW5n
CisgICAgICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmlidXRl
IHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
YWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwogI2VuZGlmCisg
ICAgfQogICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFRlc3RUeXBlZGVmcz4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKGltcGwpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50
U2l6ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50U2l6ZS5p
ZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFNpemUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAgICAgRW5hYmxlZEF0UnVudGlt
ZT1DU1NQYWludGluZ0FQSUVuYWJsZWQsCiAgICAgQ29uZGl0aW9uYWw9Q1NTX1BBSU5USU5HX0FQ
SSwKICAgICBFeHBvc2VkPVBhaW50V29ya2xldCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlLAogXSBpbnRlcmZhY2UgQ1NTUGFpbnRTaXplIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlIHdpZHRoOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgaGVpZ2h0OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY3NzL0RPTU1hdHJpeC5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9ET01NYXRyaXguaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBA
CiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgTGVnYWN5V2luZG93QWxpYXM9V2Vi
S2l0Q1NTTWF0cml4LAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKLSAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01NYXRyaXggOiBET01NYXRyaXhSZWFk
T25seSB7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9y
KG9wdGlvbmFsIChET01TdHJpbmcgb3Igc2VxdWVuY2U8dW5yZXN0cmljdGVkIGRvdWJsZT4pIGlu
aXQpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHkuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXhSZWFkT25seS5pZGwJKHJl
dmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXhSZWFkT25seS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAKIFsKICAgICBFeHBvcnRNYWNybz1X
RUJDT1JFX0VYUE9SVCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01NYXRyaXhSZWFkT25seSB7CiAgICAg
W0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKG9wdGlvbmFsIChE
T01TdHJpbmcgb3Igc2VxdWVuY2U8dW5yZXN0cmljdGVkIGRvdWJsZT4pIGluaXQpOwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NQ291bnRlci5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTUNvdW50ZXIuaWRsCShyZXZp
c2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NQ291bnRl
ci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDYgQEAKIAogWwogICAgIEV4cG9ydFRv
V3JhcHBlZEZ1bmN0aW9uLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50
ZXJmYWNlTmFtZT1Db3VudGVyLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBEZXBy
ZWNhdGVkQ1NTT01Db3VudGVyIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVk
Q1NTT01QcmltaXRpdmVWYWx1ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysg
U291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNiBAQAogICovCiAKIFsKLSAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlLAogICAgIEludGVyZmFjZU5hbWU9Q1NTUHJpbWl0aXZlVmFsdWUsCiAgICAg
RXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVl
IDogRGVwcmVjYXRlZENTU09NVmFsdWUgewpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RlcHJl
Y2F0ZWRDU1NPTVJHQkNvbG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Mv
RGVwcmVjYXRlZENTU09NUkdCQ29sb3IuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NUkdCQ29sb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yMCw3ICsyMCw2IEBACiAKIFsKICAgICBFeHBvcnRUb1dyYXBwZWRGdW5jdGlvbiwKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEludGVyZmFjZU5hbWU9UkdCQ29sb3IsCiAg
ICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERlcHJlY2F0ZWRDU1NPTVJHQkNvbG9yIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01SZWN0LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NUmVjdC5pZGwJKHJldmlz
aW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01SZWN0Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNiBAQAogCiBbCiAgICAgRXhwb3J0VG9XcmFw
cGVkRnVuY3Rpb24sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZh
Y2VOYW1lPVJlY3QsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERlcHJlY2F0ZWRD
U1NPTVJlY3QgewpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFs
dWUuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRl
ZENTU09NVmFsdWUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw2IEBACiAgICAgQ3Vz
dG9tSXNSZWFjaGFibGUsCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAgICBFeHBvcnRUb1dyYXBw
ZWRGdW5jdGlvbiwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEludGVyZmFj
ZU5hbWU9Q1NTVmFsdWUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERlcHJlY2F0
ZWRDU1NPTVZhbHVlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01W
YWx1ZUxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVk
Q1NTT01WYWx1ZUxpc3QuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyAr
MjUsNiBAQAogCiAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgogWwotICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1DU1NWYWx1ZUxpc3QsCiAgICAg
RXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdCA6IERl
cHJlY2F0ZWRDU1NPTVZhbHVlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3Qu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCShyZXZp
c2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAog
ICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGUsCi0gICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1c3RvbUhlYWRlciwKIF0gaW50ZXJmYWNlIE1l
ZGlhTGlzdCB7CiAgICAgc3RyaW5naWZpZXIgYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIG1lZGlhVGV4dDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZU1lZGlhLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVNZWRpYS5p
ZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZU1lZGlhLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQAogWwogICAgIExlZ2FjeU5vSW50ZXJm
YWNlT2JqZWN0LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbURPTVdpbmRv
dywKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgU3R5bGVNZWRp
YSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcg
KzIyLDYgQEAKICAgICBFeHBvcnRUb1dyYXBwZWRGdW5jdGlvbiwKICAgICBFeHBvc2VkPVdpbmRv
dywKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25lck5vZGVSb290LAotICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBTdHlsZVNoZWV0TGlzdCB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgIGdldHRlciBTdHls
ZVNoZWV0PyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NPTVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUu
aWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NP
TVZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2
IEBACiAgICAgSW50ZXJmYWNlTmFtZT1DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLAogICAgIEVu
YWJsZWRBdFJ1bnRpbWU9Q1NTVHlwZWRPTUVuYWJsZWQsCiAgICAgQ29uZGl0aW9uYWw9Q1NTX1RZ
UEVEX09NLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2lu
ZG93LFdvcmtlcixQYWludFdvcmtsZXQpLAogXSBpbnRlcmZhY2UgQ1NTT01WYXJpYWJsZVJlZmVy
ZW5jZVZhbHVlIHsKICAgICBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdmFyaWFibGUsIG9wdGlvbmFs
IENTU1VucGFyc2VkVmFsdWU/IGZhbGxiYWNrID0gbnVsbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuaWRsCShy
ZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U051bWVyaWNBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAKIFsKICAg
ICBFbmFibGVkQXRSdW50aW1lPUNTU1R5cGVkT01FbmFibGVkLAogICAgIENvbmRpdGlvbmFsPUNT
U19UWVBFRF9PTSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIsUGFpbnRXb3JrbGV0KQogXSBpbnRlcmZhY2UgQ1NTTnVtZXJpY0FycmF5
IHsKICAgICBpdGVyYWJsZTxDU1NOdW1lcmljVmFsdWU+OwpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0Fib3J0Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0Fib3J0Q29udHJvbGxlci5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9BYm9ydENvbnRyb2xsZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBA
CiAKIFsKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAogICAgIEdlbmVyYXRlQWRkT3BhcXVlUm9vdD1zaWduYWwKIF0gaW50ZXJmYWNl
IEFib3J0Q29udHJvbGxlciB7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IGNvbnN0cnVjdG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRE9NRXhjZXB0aW9uLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NRXhjZXB0aW9uLmlkbAkocmV2
aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTUV4Y2VwdGlvbi5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDYgQEAKIFsKICAgICBEb05vdENoZWNrQ29uc3RhbnRz
LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCiAgICAgRXhjZXB0aW9uCiBdIGludGVyZmFjZSBET01FeGNlcHRpb24gewogICAgIGNv
bnN0cnVjdG9yKG9wdGlvbmFsIERPTVN0cmluZyBtZXNzYWdlID0gIiIsIG9wdGlvbmFsIERPTVN0
cmluZyBuYW1lID0gIkVycm9yIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1l
bnRhdGlvbi5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01J
bXBsZW1lbnRhdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDYgQEAKIFsKICAg
ICBFeHBvcnRUb1dyYXBwZWRGdW5jdGlvbiwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxE
b2N1bWVudCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2lu
ZG93CiBdIGludGVyZmFjZSBET01JbXBsZW1lbnRhdGlvbiB7CiAgICAgW05ld09iamVjdF0gRG9j
dW1lbnRUeXBlIGNyZWF0ZURvY3VtZW50VHlwZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgRE9N
U3RyaW5nIHB1YmxpY0lkLCBET01TdHJpbmcgc3lzdGVtSWQpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0RPTVBvaW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9N
UG9pbnQuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9p
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBACiBbCiAgICAgRXhwb3NlZD0o
V2luZG93LFdvcmtlciksCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsLAotICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIERPTVBvaW50IDogRE9NUG9pbnRSZWFk
T25seSB7CiAgICAgY29uc3RydWN0b3IoRE9NUG9pbnRJbml0IHBvaW50KTsKICAgICBjb25zdHJ1
Y3RvcihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHggPSAwLCBvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHkgPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHogPSAwLCBv
cHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHcgPSAxKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9ET01Qb2ludFJlYWRPbmx5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vRE9NUG9pbnRSZWFkT25seS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIs
NiBAQAogWwogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAogICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNl
IERPTVBvaW50UmVhZE9ubHkgewogICAgIGNvbnN0cnVjdG9yKERPTVBvaW50SW5pdCBwb2ludCk7
CiAgICAgY29uc3RydWN0b3Iob3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB4ID0gMCwgb3B0
aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB5ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRv
dWJsZSB6ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB3ID0gMSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRE9NUXVhZC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0RPTVF1YWQuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRE9NUXVhZC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIAogWwogICAg
IEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24KIF0gaW50ZXJmYWNlIERPTVF1YWQgewogICAgIGNv
bnN0cnVjdG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBwMSwgb3B0aW9uYWwgRE9NUG9pbnRJbml0
IHAyLCBvcHRpb25hbCBET01Qb2ludEluaXQgcDMsIG9wdGlvbmFsIERPTVBvaW50SW5pdCBwNCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0RPTVJlY3QuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vRE9NUmVjdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAK
IFsKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01S
ZWN0IDogRE9NUmVjdFJlYWRPbmx5IHsKICAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHggPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkgPSAwLCBv
cHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHdpZHRoID0gMCwgb3B0aW9uYWwgdW5yZXN0cmlj
dGVkIGRvdWJsZSBoZWlnaHQgPSAwKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTVJl
Y3RMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdExpc3Qu
aWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NUmVjdExpc3Qu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBFeHBvcnRNYWNy
bz1XRUJDT1JFX0VYUE9SVCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4
cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBET01SZWN0TGlzdCB7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RP
TVJlY3RSZWFkT25seS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RPTVJl
Y3RSZWFkT25seS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9E
T01SZWN0UmVhZE9ubHkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBACiAgICAg
RXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciks
CiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKIF0gaW50ZXJmYWNlIERPTVJlY3RSZWFkT25seSB7CiAgICAgY29uc3RydWN0b3Iob3B0
aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB4ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRv
dWJsZSB5ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB3aWR0aCA9IDAsIG9wdGlv
bmFsIHVucmVzdHJpY3RlZCBkb3VibGUgaGVpZ2h0ID0gMCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9ET01TdHJpbmdMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vRE9NU3RyaW5nTGlzdC5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9ET01TdHJpbmdMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNiBAQAog
ICovCiAKIFsKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpCiBdIGludGVyZmFjZSBET01TdHJpbmdMaXN0IHsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RGF0YVRyYW5zZmVySXRlbS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Rh
dGFUcmFuc2Zlckl0ZW0uaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVySXRlbS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAK
IAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkLAotICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJm
YWNlIERhdGFUcmFuc2Zlckl0ZW0gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
a2luZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9JZGxlRGVhZGxpbmUuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9JZGxlRGVhZGxpbmUuaWRsCShyZXZpc2lvbiAyODgx
MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vSWRsZURlYWRsaW5lLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNyArMjcsNiBAQCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwog
CiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1yZXF1ZXN0SWRsZUNhbGxiYWNrRW5hYmxlZCwKLSAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVy
ZmFjZSBJZGxlRGVhZGxpbmUgewogICAgIFtDYWxsV2l0aD1SZWxldmFudERvY3VtZW50XSBET01I
aWdoUmVzVGltZVN0YW1wIHRpbWVSZW1haW5pbmcoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9NZXNzYWdlQ2hhbm5lbC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VDaGFubmVsLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VDaGFubmVsLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQAogICAg
IEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIENvbmRpdGlvbmFsPUNIQU5ORUxfTUVTU0FH
SU5HLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKIF0gaW50ZXJmYWNlIE1lc3NhZ2VDaGFubmVsIHsKICAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9NdXRhdGlvbk9ic2VydmVyLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNv
cmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2
IEBACiAKIFsKICAgICBDdXN0b21Jc1JlYWNoYWJsZSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAogICAgIExlZ2FjeVdpbmRvd0FsaWFzPVdlYktpdE11dGF0aW9uT2JzZXJ2ZXIsCiAg
ICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiAgICAgRXhwb3NlZD1XaW5kb3cKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNiBA
QAogWwogICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAogICAgIEdlbmVyYXRlSXNSZWFjaGFi
bGU9SW1wbEVsZW1lbnRSb290LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAg
TGVnYWN5VW5lbnVtZXJhYmxlTmFtZWRQcm9wZXJ0aWVzLAogICAgIEV4cG9zZWQ9V2luZG93CiBd
IGludGVyZmFjZSBOYW1lZE5vZGVNYXAgewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGVJ
dGVyYXRvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRv
ci5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0
b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw2IEBACiAvLyBodHRwczovL2RvbS5z
cGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1ub2RlaXRlcmF0b3IKIFsKICAgICBFeHBvcnRUb1dy
YXBwZWRGdW5jdGlvbiwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEpTQ3Vz
dG9tTWFya0Z1bmN0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBOb2RlSXRl
cmF0b3IgewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RleHREZWNvZGVyLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dERlY29kZXIuaWRsCShyZXZpc2lvbiAyODgx
MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dERlY29kZXIuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCw3ICszNCw2IEBAIGRpY3Rpb25hcnkgVGV4dERlY29kZU9wdGlvbnMgewogCiBbCiAg
ICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKIF0gaW50ZXJmYWNlIFRleHREZWNvZGVyIHsKICAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCBE
T01TdHJpbmcgbGFiZWwgPSAidXRmLTgiLCBvcHRpb25hbCBUZXh0RGVjb2Rlck9wdGlvbnMgb3B0
aW9ucyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RGVjb2RlclN0cmVhbURlY29k
ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RGVjb2RlclN0cmVh
bURlY29kZXIuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVGV4
dERlY29kZXJTdHJlYW1EZWNvZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNiBA
QAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9VHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZCwKICAg
ICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
LAogICAgIFByaXZhdGVJZGVudGlmaWVyLAogXSBpbnRlcmZhY2UgVGV4dERlY29kZXJTdHJlYW1E
ZWNvZGVyIHsKICAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgbGFiZWwsIGJvb2xlYW4gZmF0YWws
IGJvb2xlYW4gaWdub3JlQk9NKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RW5jb2Rl
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RleHRFbmNvZGVyLmlkbAko
cmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RleHRFbmNvZGVyLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNiBAQAogCiBbCiAgICAgRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgVGV4
dEVuY29kZXIgewogICAgIGNvbnN0cnVjdG9yKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9UZXh0RW5jb2RlclN0cmVhbUVuY29kZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9UZXh0RW5jb2RlclN0cmVhbUVuY29kZXIuaWRsCShyZXZpc2lvbiAyODgxMTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dEVuY29kZXJTdHJlYW1FbmNvZGVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsNyArMjYsNiBAQAogWwogICAgIEVuYWJsZWRCeVNldHRpbmc9VHJhbnNm
b3JtU3RyZWFtQVBJRW5hYmxlZCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIFByaXZhdGVJZGVudGlmaWVyLAogXSBpbnRl
cmZhY2UgVGV4dEVuY29kZXJTdHJlYW1FbmNvZGVyIHsKICAgICBjb25zdHJ1Y3RvcigpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL1RvdWNoLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vVG91Y2guaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vVG91Y2guaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBD
b25kaXRpb25hbD1UT1VDSF9FVkVOVFMsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
ICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgVG91Y2ggewogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nICAgICAgICAgICAgICAgIGNsaWVudFg7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vVG91Y2hMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVG91
Y2hMaXN0LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RvdWNo
TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIENvbmRp
dGlvbmFsPVRPVUNIX0VWRU5UUywKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAg
IEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBUb3VjaExpc3QgewogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9U
cmVlV2Fsa2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtl
ci5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2Vy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNiBAQAogLy8gaHR0cHM6Ly9kb20uc3Bl
Yy53aGF0d2cub3JnLyNpbnRlcmZhY2UtdHJlZXdhbGtlcgogWwogICAgIEV4cG9ydFRvV3JhcHBl
ZEZ1bmN0aW9uLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNDdXN0b21N
YXJrRnVuY3Rpb24sCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFRyZWVXYWxrZXIg
ewpJbmRleDogU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5pZGwJKHJldmlzaW9uIDI4ODExNykK
KysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgRmlsZUxpc3QgewogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBnZXR0ZXIgRmlsZSBp
dGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyU3luYy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyU3luYy5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZVJlYWRlclN5bmMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBA
CiAKIFsKICAgICBFeHBvc2VkPURlZGljYXRlZFdvcmtlciwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgRmlsZVJlYWRlclN5bmMgewogICAgIGNvbnN0cnVjdG9y
KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuaWRsCShyZXZpc2lvbiAyODgx
MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzUsNyArMzUsNiBAQCB0eXBlZGVmIChGaWxlIG9yIFVTVlN0cmluZykgRm9ybURhdGFF
bnRyCiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAogICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0LAogICAgIEludGVyZmFjZU5hbWU9Rm9ybURhdGEsCi0gICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSwKIF0gaW50ZXJmYWNlIERPTUZvcm1EYXRhIHsKICAgICBjb25zdHJ1Y3RvcihvcHRp
b25hbCBIVE1MRm9ybUVsZW1lbnQgZm9ybSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SW1hZ2VCaXRtYXAuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VC
aXRtYXAuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdl
Qml0bWFwLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNiBAQAogWwogICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9SW1hZ2VCaXRtYXBFbmFibGVkLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3Jr
ZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgUmVwb3J0RXh0cmFNZW1v
cnlDb3N0CiBdIGludGVyZmFjZSBJbWFnZUJpdG1hcCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgd2lkdGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRGF0
YS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURhdGEuaWRsCShy
ZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYgQEAKICAgICBDdXN0b21Ub0pTT2JqZWN0LAogICAg
IEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIp
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEltYWdlRGF0YSB7
CiAgICAgY29uc3RydWN0b3IodW5zaWduZWQgbG9uZyBzdywgdW5zaWduZWQgbG9uZyBzaCwgb3B0
aW9uYWwgSW1hZ2VEYXRhU2V0dGluZ3Mgc2V0dGluZ3MpOwogICAgIGNvbnN0cnVjdG9yKFVpbnQ4
Q2xhbXBlZEFycmF5IGRhdGEsIHVuc2lnbmVkIGxvbmcgc3csIG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgc2gsIG9wdGlvbmFsIEltYWdlRGF0YVNldHRpbmdzIHNldHRpbmdzKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVycm9yLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVycm9yLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNiBAQAog
CiBbCiAgICAgQ29uZGl0aW9uYWw9VklERU8sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTWVkaWFFcnJvciB7CiAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9FUlJfQUJPUlRFRCA9IDE7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL1RleHRNZXRyaWNzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL1RleHRNZXRyaWNzLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9UZXh0TWV0cmljcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDYgQEAK
IAogWwogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiBdIGludGVyZmFjZSBUZXh0TWV0cmljcyB7CiAgICAgLy8gRklYTUU6IEFsbCB0
aGUgdW5yZXN0cmljdGVkIGZsb2F0IGF0dHJpYnV0ZXMgYmVsb3cgc2hvdWxkIGJlIGRvdWJsZXMu
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvVGltZVJhbmdlcy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lUmFuZ2VzLmlkbAkocmV2aXNpb24gMjg4MTE3KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lUmFuZ2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNyArMjYsNiBAQAogWwogICAgIENvbmRpdGlvbmFsPVZJREVPLAogICAgIEV4cG9ydE1hY3Jv
PVdFQkNPUkVfRVhQT1JULAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhw
b3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFRpbWVSYW5nZXMgewogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvVVJM
U2VhcmNoUGFyYW1zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1VSTFNl
YXJjaFBhcmFtcy5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
VVJMU2VhcmNoUGFyYW1zLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNiBAQAogCiBb
CiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKIF0gaW50ZXJmYWNlIFVSTFNlYXJjaFBhcmFtcyB7CiAgICAgY29uc3RydWN0b3Iob3B0
aW9uYWwgKHNlcXVlbmNlPHNlcXVlbmNlPFVTVlN0cmluZz4+IG9yIHJlY29yZDxVU1ZTdHJpbmcs
IFVTVlN0cmluZz4gb3IgVVNWU3RyaW5nKSBpbml0ID0gIiIpOwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL1dlYktpdE1lZGlhS2V5RXJyb3IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwJKHJldmlzaW9uIDI4ODExNykKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvV2ViS2l0TWVkaWFLZXlFcnJvci5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBU
RURfTUVESUEsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFbmFibGVkQnlT
ZXR0aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCwKICAgICBFeHBvc2VkPVdpbmRv
dwogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFLZXlFcnJvciB7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRsCShyZXZpc2lvbiAyODgxMTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDcgKzI2LDYgQEAKIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL2NhbnZhcy5odG1sI2NhbnZhc2dyYWRpZW50CiBbCiAgICAgRXhwb3NlZD0oV2lu
ZG93LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2Ug
Q2FudmFzR3JhZGllbnQgewogICAgIC8vIG9wYXF1ZSBvYmplY3QKICAgICB1bmRlZmluZWQgYWRk
Q29sb3JTdG9wKGRvdWJsZSBvZmZzZXQsIERPTVN0cmluZyBjb2xvcik7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbAkocmV2aXNpb24gMjg4MTE3
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3Jr
ZXIpLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIENhbnZhc1Bh
dHRlcm4gewogICAgIC8vIG9wYXF1ZSBvYmplY3QKICAgICB1bmRlZmluZWQgc2V0VHJhbnNmb3Jt
KG9wdGlvbmFsIERPTU1hdHJpeDJESW5pdCB0cmFuc2Zvcm0pOwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsCShyZXZpc2lvbiAyODgxMTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiAvLyBGSVhNRTogVGhpcyBpcyBzcGVjaWZpZWQg
YXMgRXhwb3NlZD0oV2luZG93LFdvcmtlcikKIFsKICAgICBDb25kaXRpb25hbD1XRUJHTCwKLSAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVy
ZmFjZSBXZWJHTEFjdGl2ZUluZm8gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNpemU7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNoYWRlclByZWNpc2lvbkZv
cm1hdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xT
aGFkZXJQcmVjaXNpb25Gb3JtYXQuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIC8vIEZJWE1FOiBUaGlzIGlzIHNwZWNpZmllZCBhcyBF
eHBvc2VkPShXaW5kb3csV29ya2VyKQogWwogICAgIENvbmRpdGlvbmFsPVdFQkdMLAotICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNl
IFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9u
ZyByYW5nZU1pbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9y
bUxvY2F0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNiBAQAogLy8gRklYTUU6IFRoaXMgaXMgc3BlY2lmaWVkIGFzIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIpCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR0wsCi0gICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgV2ViR0xV
bmlmb3JtTG9jYXRpb24gewogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svQXVk
aW9UcmFja0NvbmZpZ3VyYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svQXVkaW9UcmFja0NvbmZpZ3VyYXRpb24uaWRsCShyZXZpc2lvbiAyODgxMTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tDb25maWd1cmF0aW9uLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNiBAQAogICovCiBbCiAgICAgQ29uZGl0aW9uYWw9
VklERU8sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5k
b3csV29ya2VyKSwKIF0gaW50ZXJmYWNlIEF1ZGlvVHJhY2tDb25maWd1cmF0aW9uIHsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvZGVjOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9UZXh0VHJhY2tDdWVMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaWRsCShyZXZpc2lvbiAyODgxMTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1WSURFTywKLSAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVy
ZmFjZSBUZXh0VHJhY2tDdWVMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbkxp
c3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
TGlzdC5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VlRUUmVnaW9uTGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKIC8vIEZJ
WE1FOiBUaGlzIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3BlYzogaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWJ2dHQvcHVsbC8zMQogWwogICAgIENvbmRpdGlvbmFsPVZJREVPLAotICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCiBd
IGludGVyZmFjZSBWVFRSZWdpb25MaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBsZW5ndGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZpZGVvVHJh
Y2tDb25maWd1cmF0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZpZGVvVHJhY2tDb25maWd1cmF0aW9uLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WaWRlb1RyYWNrQ29uZmlndXJhdGlvbi5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVZJREVPLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtl
ciksCiBdIGludGVyZmFjZSBWaWRlb1RyYWNrQ29uZmlndXJhdGlvbiB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyBjb2RlYzsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db21tYW5kTGluZUFQSUhvc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzIsNyArMzIsNiBAQAogCiBbCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCi0g
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgQ29tbWFuZExpbmVBUElI
b3N0IHsKICAgICB1bmRlZmluZWQgY2xlYXJDb25zb2xlTWVzc2FnZXMoKTsKICAgICB1bmRlZmlu
ZWQgY29weVRleHQoRE9NU3RyaW5nIHRleHQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVjdC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVj
dC5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3
ICsyNCw2IEBACiAgKi8KIAogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAg
SlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCiBdIGlu
dGVyZmFjZSBJbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QgewpAQCAtNjYsNCArNjUs
NCBAQAogICAgIGJvb2xlYW4/IHJlcXVpcmVkOwogICAgIERPTVN0cmluZz8gcm9sZTsKICAgICBi
b29sZWFuPyBzZWxlY3RlZDsKLX07ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBdWRpdERPTU9iamVjdC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckF1ZGl0RE9N
T2JqZWN0LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckF1ZGl0RE9NT2JqZWN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQs
NiBAQAogICovCiAKIFsKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEpTR2Vu
ZXJhdGVUb0pTT2JqZWN0LAogICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAogXSBpbnRlcmZh
Y2UgSW5zcGVjdG9yQXVkaXRET01PYmplY3QgewpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckF1ZGl0UmVzb3VyY2VzT2JqZWN0LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXVkaXRSZXNvdXJjZXNPYmplY3QuaWRsCShy
ZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXVk
aXRSZXNvdXJjZXNPYmplY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw2IEBACiAg
Ki8KIAogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNHZW5lcmF0ZVRv
SlNPYmplY3QsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCiBdIGludGVyZmFjZSBJbnNw
ZWN0b3JBdWRpdFJlc291cmNlc09iamVjdCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAkocmV2aXNpb24gMjg4MTE3KQor
KysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAKICAqLwogCiBbCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKICAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNl
IEluc3BlY3RvckZyb250ZW5kSG9zdCB7CiAgICAgdW5kZWZpbmVkIGxvYWRlZCgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9CYXJQcm9wLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0JhclByb3AuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0JhclByb3AuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiAKIFsK
ICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21ET01XaW5kb3csCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2Ug
QmFyUHJvcCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gdmlzaWJsZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAs
NyArMzAsNiBAQAogLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3NlbGVjdGlvbi1hcGkvI2lkbC1k
ZWYtU2VsZWN0aW9uCiBbCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tRE9N
V2luZG93LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFt
ZT1TZWxlY3Rpb24sCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIERPTVNlbGVjdGlv
biB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2
LDYgQEAKIFsKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21ET01XaW5kb3cs
CiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgSGlzdG9yeSB7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCw3ICszMCw2IEBACiAgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgSlNDdXN0b21NYXJr
RnVuY3Rpb24sCiAgICAgQ3VzdG9tSXNSZWFjaGFibGUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZQogXSBpbnRlcmZhY2UgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgewogICAgIFtDYWxsV2l0
aD1Eb2N1bWVudF0gY29uc3RydWN0b3IoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxs
YmFjaywgb3B0aW9uYWwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnkuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeS5p
ZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJFbnRyeS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAKIHR5cGVk
ZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CiAKIFsKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAogICAgIEVuYWJsZWRCeVNldHRpbmc9SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFi
bGVkLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDYgQEAK
ICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxl
PVJlYWNoYWJsZUZyb21ET01XaW5kb3csCiAgICAgSXNJbW11dGFibGVQcm90b3R5cGVFeG90aWNP
YmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBMZWdhY3lVbmZvcmdl
YWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTG9jYXRpb24gewpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAkocmV2aXNp
b24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24u
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBACiAKIC8vIGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby9uYXZpZ2F0aW9uLXRpbWluZy8jdGhlLXBlcmZvcm1hbmNlbmF2aWdhdGlvbi1pbnRl
cmZhY2UKIFsKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2lu
ZG93CiBdIGludGVyZmFjZSBQZXJmb3JtYW5jZU5hdmlnYXRpb24gewogICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFRZUEVfTkFWSUdBVEUgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3
ICsyOCw2IEBACiBbCiAgICAgQ3VzdG9tSXNSZWFjaGFibGUsCiAgICAgRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1c3RvbU1h
cmtGdW5jdGlvbiwKIF0gaW50ZXJmYWNlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgewogICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihQZXJmb3JtYW5jZU9ic2Vy
dmVyQ2FsbGJhY2sgY2FsbGJhY2spOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyRW50cnlMaXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCShyZXZpc2lvbiAyODgxMTcpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXJFbnRyeUxpc3QuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKIFsKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgUGVy
Zm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCB7CiAgICAgUGVyZm9ybWFuY2VFbnRyeUxpc3QgZ2V0
RW50cmllcygpOwogICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0IGdldEVudHJpZXNCeVR5cGUoRE9N
U3RyaW5nIHR5cGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVNlcnZl
clRpbWluZy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVNlcnZlclRpbWluZy5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmcuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICsz
MCw2IEBAIHR5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CiAKIFsKICAgICBFeHBv
c2VkPShXaW5kb3csV29ya2VyKSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAg
IEVuYWJsZWRBdFJ1bnRpbWU9U2VydmVyVGltaW5nRW5hYmxlZAogXSBpbnRlcmZhY2UgUGVyZm9y
bWFuY2VTZXJ2ZXJUaW1pbmcgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFt
ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCShyZXZp
c2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQAogCiAvLyBodHRwczovL3czYy5naXRo
dWIuaW8vbmF2aWdhdGlvbi10aW1pbmcvI3RoZS1wZXJmb3JtYW5jZXRpbWluZy1pbnRlcmZhY2UK
IFsKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBd
IGludGVyZmFjZSBQZXJmb3JtYW5jZVRpbWluZyB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbG9uZyBuYXZpZ2F0aW9uU3RhcnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1Jlc2l6ZU9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc2l6ZU9ic2VydmVyLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9SZXNpemVPYnNlcnZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYgQEAK
ICAgICBFeHBvc2VkPVdpbmRvdywKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBDdXN0
b21Jc1JlYWNoYWJsZSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFj
ZSBSZXNpemVPYnNlcnZlciB7CiAgICAgW0NhbGxXaXRoPURvY3VtZW50XSBjb25zdHJ1Y3RvcihS
ZXNpemVPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9SZXNpemVPYnNlcnZlckVudHJ5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1Jlc2l6ZU9ic2VydmVyRW50cnkuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyRW50cnkuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSw3ICsyNSw2IEBACiAKIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9yZXNpemUtb2Jz
ZXJ2ZXIvI3Jlc2l6ZS1vYnNlcnZlci1lbnRyeS1pbnRlcmZhY2UKIFsKLSAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAogICAgIEVuYWJsZWRCeVNldHRpbmc9UmVzaXplT2JzZXJ2ZXJFbmFi
bGVkLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9TY3JlZW4uaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1NjcmVlbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDYgQEAKIAogWwog
ICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbURPTVdpbmRvdywKLSAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBT
Y3JlZW4gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvVW5kb0l0ZW0uaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBA
QAogCiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1VbmRvTWFuYWdlckFQSUVuYWJsZWQsCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAg
ICBDdXN0b21Jc1JlYWNoYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9VbmRvTWFuYWdlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9VbmRvTWFuYWdlci5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvVW5kb01hbmFnZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAK
IFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVVuZG9NYW5hZ2VyQVBJRW5hYmxlZCwKLSAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbERvY3Vt
ZW50LAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBVbmRvTWFuYWdlciB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdFBvaW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1dlYktpdFBvaW50LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXRQb2ludC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcg
KzI0LDYgQEAKICAqLwogCiBbCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBF
eHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgV2ViS2l0UG9pbnQgewogICAgIGNvbnN0cnVjdG9y
KG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB4ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVk
IGZsb2F0IHkgPSAwKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGUu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGUuaWRs
CShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNiBAQAogWwogICAgIEludGVyZmFjZU5h
bWU9TWltZVR5cGUsCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9tTmF2aWdh
dG9yLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3NlZD1XaW5kb3cK
IF0gaW50ZXJmYWNlIERPTU1pbWVUeXBlIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHR5cGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBlQXJyYXku
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGVBcnJh
eS5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWlt
ZVR5cGVBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDYgQEAKIFsKICAgICBH
ZW5lcmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IsCiAgICAgTGVnYWN5VW5l
bnVtZXJhYmxlTmFtZWRQcm9wZXJ0aWVzLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiAgICAgSW50ZXJmYWNlTmFtZT1NaW1lVHlwZUFycmF5LAogICAgIEV4cG9zZWQ9V2luZG93CiBd
IGludGVyZmFjZSBET01NaW1lVHlwZUFycmF5IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvRE9NUGx1Z2luLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RP
TVBsdWdpbi5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
RE9NUGx1Z2luLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNiBAQAogWwogICAgIElu
dGVyZmFjZU5hbWU9UGx1Z2luLAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJv
bU5hdmlnYXRvciwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIExlZ2FjeVVu
ZW51bWVyYWJsZU5hbWVkUHJvcGVydGllcywKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZh
Y2UgRE9NUGx1Z2luIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJy
YXkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJy
YXkuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBs
dWdpbkFycmF5LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNiBAQAogWwogICAgIEdl
bmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvciwKICAgICBMZWdhY3lVbmVu
dW1lcmFibGVOYW1lZFByb3BlcnRpZXMsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
ICAgICBJbnRlcmZhY2VOYW1lPVBsdWdpbkFycmF5LAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGlu
dGVyZmFjZSBET01QbHVnaW5BcnJheSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWcuaWRs
CShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZy5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAKIAogWwogICAgIEN1c3RvbVRvSlNPYmpl
Y3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwog
XSBpbnRlcmZhY2UgU1ZHUGF0aFNlZyB7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEFUSFNF
R19VTktOT1dOID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZW5kZXJpbmdJbnRl
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZW5kZXJpbmdJbnRl
bnQuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVuZGVy
aW5nSW50ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNiBAQAogCiBbCiAgICAg
U3VwcHJlc3NUb0pTT2JqZWN0LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAg
RXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFNWR1JlbmRlcmluZ0ludGVudCB7CiAgICAgLy8g
UmVuZGVyaW5nIEludGVudCBUeXBlcwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VuaXRU
eXBlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VuaXRUeXBlcy5p
ZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBTdXBwcmVzc1Rv
SlNPYmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdp
bmRvdwogXSBpbnRlcmZhY2UgU1ZHVW5pdFR5cGVzIHsKICAgICAvLyBVbml0IFR5cGVzCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3
LDYgQEAKIC8vIFNWR1ZpZXdTcGVjIGludGVudGlvbmFsbHkgZG9lc24ndCBpbmhlcml0IGZyb20g
U1ZHWm9vbUFuZFBhbiAmIFNWR0ZpdFRvVmlld0JveCBvbiB0aGUgSURMcy4KIC8vIEl0IHdvdWxk
IHJlcXVpcmUgdGhhdCBhbnkgb2YgdGhvc2UgY2xhc3NlcyB3b3VsZCBiZSBSZWZDb3VudGVkLCBh
bmQgd2Ugd2FudCB0byBhdm9pZCB0aGF0LgogWwotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3Qs
CiAgICAgRXhwb3NlZD1XaW5kb3cKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvR0NPYnNl
cnZhdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9HQ09ic2Vy
dmF0aW9uLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9H
Q09ic2VydmF0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNiBAQAogCiBbCiAg
ICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX1RFU1RTVVBQT1JUX0VYUE9SVCwKIF0gaW50ZXJm
YWNlIEdDT2JzZXJ2YXRpb24gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdhc0Nv
bGxlY3RlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9NYWxsb2NTdGF0aXN0aWNz
LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9NYWxsb2NT
dGF0aXN0aWNzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNiBAQAogCiBbCiAgICAg
TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwK
ICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX1RFU1RTVVBQT1JUX0VYUE9SVCwKIF0gaW50ZXJmYWNl
IE1hbGxvY1N0YXRpc3RpY3MgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IHJlc2VydmVkVk1CeXRlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTWVtb3J5SW5m
by5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9NZW1vcnlJbmZvLmlk
bAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9NZW1vcnlJbmZv
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQAogCiBbCiAgICAgTGVnYWN5Tm9J
bnRlcmZhY2VPYmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBv
cnRNYWNybz1XRUJDT1JFX1RFU1RTVVBQT1JUX0VYUE9SVCwKIF0gaW50ZXJmYWNlIE1lbW9yeUlu
Zm8gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHVzZWRKU0hlYXBTaXpl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRpbmdz
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDb250ZW50Rmls
dGVyU2V0dGluZ3MuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3
ICs0MCw2IEBAIGVudW0gRGVjaXNpb24gewogWwogICAgIENvbmRpdGlvbmFsPUNPTlRFTlRfRklM
VEVSSU5HLAogICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAotICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MgewogICAg
IGF0dHJpYnV0ZSBib29sZWFuIGVuYWJsZWQ7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBibG9j
a2VkU3RyaW5nOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXku
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5
LmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFn
ZU92ZXJsYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAKIFsKICAgICBM
ZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBd
IGludGVyZmFjZSBNb2NrUGFnZU92ZXJsYXkgewogICAgIHVuZGVmaW5lZCBzZXRGcmFtZShkb3Vi
bGUgeCwgZG91YmxlIHksIGRvdWJsZSB3aWR0aCwgZG91YmxlIGhlaWdodCk7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRs
CShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3Jr
ZXJJbnRlcm5hbHMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiBbCiAgICAg
Q29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIsCiAgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9URVNU
U1VQUE9SVF9FWFBPUlQsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBMZWdh
Y3lOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMg
ewogICAgIHVuZGVmaW5lZCBzZXRPbmxpbmUoYm9vbGVhbiBpc09ubGluZSk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvdGVzdGluZy9UeXBlQ29udmVyc2lvbnMuaWRsCShyZXZpc2lvbiAyODgxMTcp
CisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDcgKzI1LDYgQEAKIAogWwogICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgRXhwb3J0TWFjcm89V0VCQ09S
RV9URVNUU1VQUE9SVF9FWFBPUlQsCiBdIGludGVyZmFjZSBUeXBlQ29udmVyc2lvbnMgewogICAg
IGF0dHJpYnV0ZSBieXRlIHRlc3RCeXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9X
ZWJGYWtlWFJEZXZpY2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
V2ViRmFrZVhSRGV2aWNlLmlkbAkocmV2aXNpb24gMjg4MTE3KQorKysgU291cmNlL1dlYkNvcmUv
dGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2
IEBACiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJYUkVuYWJsZWQsCiAgICAgQ29uZGl0aW9uYWw9
V0VCWFIsCiAgICAgSW50ZXJmYWNlTmFtZT1GYWtlWFJEZXZpY2UsCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKICAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNl
IFdlYkZha2VYUkRldmljZSB7CiAgIC8vIFNldHMgdGhlIHZhbHVlcyB0byBiZSB1c2VkIGZvciBz
dWJzZXF1ZW50CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29u
dHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtl
WFJJbnB1dENvbnRyb2xsZXIuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDcgKzI2LDYgQEAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5hYmxlZCwKICAg
ICBDb25kaXRpb25hbD1XRUJYUiwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAg
IEludGVyZmFjZU5hbWU9RmFrZVhSSW5wdXRDb250cm9sbGVyLAogICAgIExlZ2FjeU5vSW50ZXJm
YWNlT2JqZWN0CiBdIGludGVyZmFjZSBXZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIgewpJbmRleDog
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGwJKHJldmlzaW9uIDI4ODEx
NykKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTG9jYXRpb24uaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBACiBbCiAgICAgRXhwb3NlZD1Xb3JrZXIsCiAgICAgR2Vu
ZXJhdGVJc1JlYWNoYWJsZT1JbXBsLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBd
IGludGVyZmFjZSBXb3JrZXJMb2NhdGlvbiB7CiAgICAgc3RyaW5naWZpZXIgcmVhZG9ubHkgYXR0
cmlidXRlIFVTVlN0cmluZyBocmVmOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcg
cHJvdG9jb2w7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNsaWVudHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAKICAgICBFbmFibGVkQXRSdW50aW1lPVNlcnZpY2VX
b3JrZXJFbmFibGVkLAogICAgIEV4cG9zZWQ9U2VydmljZVdvcmtlciwKICAgICBHZW5lcmF0ZUlz
UmVhY2hhYmxlPUltcGwsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRl
cmZhY2VOYW1lPUNsaWVudHMsCiBdIGludGVyZmFjZSBTZXJ2aWNlV29ya2VyQ2xpZW50cyB7CiAg
ICAgLy8gVGhlIG9iamVjdHMgcmV0dXJuZWQgd2lsbCBiZSBuZXcgaW5zdGFuY2VzIGV2ZXJ5IHRp
bWUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9ET01QYXJzZXIuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3htbC9ET01QYXJzZXIuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBT
b3VyY2UvV2ViQ29yZS94bWwvRE9NUGFyc2VyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTgsNyAr
MTgsNiBAQAogICovCiAKIFsKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4
cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBET01QYXJzZXIgewogICAgIFtDYWxsV2l0aD1Eb2N1
bWVudF0gY29uc3RydWN0b3IoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxTZXJpYWxp
emVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwvWE1MU2VyaWFsaXplci5p
ZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxTZXJpYWxpemVy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNiBAQAogICovCiAKIFsKLSAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBY
TUxTZXJpYWxpemVyIHsKICAgICBjb25zdHJ1Y3RvcigpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
eG1sL1hQYXRoRXZhbHVhdG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhFdmFsdWF0b3IuaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhFdmFsdWF0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOSw3ICsxOSw2IEBACiAK
IC8vIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jeHBhdGhldmFsdWF0b3IKIFsKLSAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFj
ZSBYUGF0aEV2YWx1YXRvciB7CiAgICAgY29uc3RydWN0b3IoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3htbC9YUGF0aEV4cHJlc3Npb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3htbC9YUGF0aEV4cHJlc3Npb24uaWRsCShyZXZpc2lvbiAyODgxMTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAs
NiBAQAogCiBbCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgWFBhdGhFeHBy
ZXNzaW9uIHsKICAgICBYUGF0aFJlc3VsdCBldmFsdWF0ZShOb2RlIGNvbnRleHROb2RlLCBvcHRp
b25hbCB1bnNpZ25lZCBzaG9ydCB0eXBlID0gMCwgb3B0aW9uYWwgWFBhdGhSZXN1bHQ/IGluUmVz
dWx0ID0gbnVsbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhSZXN1bHQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFJlc3VsdC5pZGwJKHJldmlzaW9u
IDI4ODExNykKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFJlc3VsdC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTE5LDcgKzE5LDYgQEAKIAogWwogICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9u
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rp
b24sCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFhQYXRoUmVzdWx0IHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvci5pZGwJKHJldmlzaW9uIDI4ODExNykKKysrIFNv
dXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjks
NyArMjksNiBAQAogLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyN4c2x0cHJvY2Vzc29y
CiBbCiAgICAgQ29uZGl0aW9uYWw9WFNMVCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
LAogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBYU0xUUHJvY2Vzc29yIHsKICAgICBj
b25zdHJ1Y3RvcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449403</attachid>
            <date>2022-01-18 10:46:41 -0800</date>
            <delta_ts>2022-01-18 11:37:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235170-20220118104640.patch</filename>
            <type>text/plain</type>
            <size>38789</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODEyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTE4ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUgSURMIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTcwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICBBbHNvIHJlbW92ZSBzb21lIGJpbmRpbmdzIHRl
c3QgcmVzdWx0cyB0aGF0IGRvbid0IHNlZW0gdG8gYmUgdXNlZCBhbnkgbW9yZS4KKworICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJhbmdlLmlkbDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbjoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNNYXBMaWtlLmNwcDogUmVtb3ZlZC4KKwogMjAyMi0wMS0xOCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1
cCBzb21lIGNvZGUgYXJvdW5kIFJlbmRlckVsZW1lbnQ6OmFkZExheWVycygpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlSYW5nZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuaWRsCShyZXZp
c2lvbiAyODgxMjQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlS
YW5nZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDYgQEAKICAqLwogCiBbCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQog
XSBpbnRlcmZhY2UgSURCS2V5UmFuZ2UgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbT3ZlcnJp
ZGVJRExUeXBlPUlETElEQktleV0gYW55IGxvd2VyOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb24JKHJldmlzaW9uIDI4ODEy
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29u
CSh3b3JraW5nIGNvcHkpCkBAIC0yNjIsOSArMjYyLDYgQEAKICAgICAgICAgICAgICJjb250ZXh0
c0FsbG93ZWQiOiBbImludGVyZmFjZSIsICJuYW1lc3BhY2UiLCAiZGljdGlvbmFyeSIsICJkaWN0
aW9uYXJ5LW1lbWJlciIsICJhdHRyaWJ1dGUiLCAib3BlcmF0aW9uIiwgImNvbnN0YW50Il0sCiAg
ICAgICAgICAgICAidmFsdWVzIjogWyIqIl0KICAgICAgICAgfSwKLSAgICAgICAgIkltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUiOiB7Ci0gICAgICAgICAgICAiY29udGV4dHNBbGxvd2VkIjogWyJp
bnRlcmZhY2UiXQotICAgICAgICB9LAogICAgICAgICAiSW50ZXJmYWNlTmFtZSI6IHsKICAgICAg
ICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImludGVyZmFjZSIsICJuYW1lc3BhY2UiXSwKICAg
ICAgICAgICAgICJ2YWx1ZXMiOiBbIioiXQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTSW50ZXJmYWNlTmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTSW50ZXJmYWNlTmFtZS5jcHAJKHJl
dmlzaW9uIDI4ODEyNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU0ludGVyZmFjZU5hbWUuY3BwCShub25leGlzdGVudCkKQEAgLTEsMjgwICswLDAgQEAKLS8q
Ci0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0
LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3Mu
cGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpT
SW50ZXJmYWNlTmFtZS5oIgotCi0jaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVk
ZSAiRE9NSXNvU3Vic3BhY2VzLmgiCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0jaW5jbHVk
ZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKLSNpbmNsdWRlICJKU0RPTUV4
Y2VwdGlvbkhhbmRsaW5nLmgiCi0jaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKLSNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50
RGF0YS5oIgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Z1bmN0aW9uUHJvdG90eXBlLmg+Ci0j
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcEFuYWx5emVyLmg+Ci0jaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNDSW5saW5lcy5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTRGVzdHJ1
Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Vi
c3BhY2VJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8d3RmL0dldFB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Q
b2ludGVyUHJlcGFyYXRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL1VSTC5oPgotCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLS8vIEF0dHJpYnV0ZXMKLQotSlND
OjpFbmNvZGVkSlNWYWx1ZSBqc0ludGVyZmFjZU5hbWVDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwotYm9vbCBz
ZXRKU0ludGVyZmFjZU5hbWVDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7Ci0KLWNsYXNzIEpTSW50ZXJmYWNl
TmFtZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmplY3QgewotcHVi
bGljOgotICAgIHVzaW5nIEJhc2UgPSBKU0M6OkpTTm9uRmluYWxPYmplY3Q7Ci0gICAgc3RhdGlj
IEpTSW50ZXJmYWNlTmFtZVByb3RvdHlwZSogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIHsK
LSAgICAgICAgSlNJbnRlcmZhY2VOYW1lUHJvdG90eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpT
Qzo6YWxsb2NhdGVDZWxsPEpTSW50ZXJmYWNlTmFtZVByb3RvdHlwZT4odm0uaGVhcCkpIEpTSW50
ZXJmYWNlTmFtZVByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOwotICAgICAg
ICBwdHItPmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAgcmV0dXJuIHB0cjsKLSAgICB9Ci0K
LSAgICBERUNMQVJFX0lORk87Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6
U3Vic3BhY2VBY2Nlc3M+Ci0gICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9y
KEpTQzo6Vk0mIHZtKQotICAgIHsKLSAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0Vf
U0hBUkFCTEUoSlNJbnRlcmZhY2VOYW1lUHJvdG90eXBlLCBCYXNlKTsKLSAgICAgICAgcmV0dXJu
ICZ2bS5wbGFpbk9iamVjdFNwYWNlOwotICAgIH0KLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpT
Qzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5
cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0K
LQotcHJpdmF0ZToKLSAgICBKU0ludGVyZmFjZU5hbWVQcm90b3R5cGUoSlNDOjpWTSYgdm0sIEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgICAgICA6
IEpTQzo6SlNOb25GaW5hbE9iamVjdCh2bSwgc3RydWN0dXJlKQotICAgIHsKLSAgICB9Ci0KLSAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci1TVEFUSUNfQVNTRVJUX0lTT19T
VUJTUEFDRV9TSEFSQUJMRShKU0ludGVyZmFjZU5hbWVQcm90b3R5cGUsIEpTSW50ZXJmYWNlTmFt
ZVByb3RvdHlwZTo6QmFzZSk7Ci0KLXVzaW5nIEpTSW50ZXJmYWNlTmFtZUNvbnN0cnVjdG9yID0g
SlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNJbnRlcmZhY2VOYW1lPjsKLQotdGVt
cGxhdGU8PiBKU1ZhbHVlIEpTSW50ZXJmYWNlTmFtZUNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JT
dHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LmZ1
bmN0aW9uUHJvdG90eXBlKCk7Ci19Ci0KLXRlbXBsYXRlPD4gdm9pZCBKU0ludGVyZmFjZU5hbWVD
b25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVj
dCYgZ2xvYmFsT2JqZWN0KQotewotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBKU0ludGVyZmFjZU5hbWU6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZt
LCAiSW50ZXJmYWNlTmFtZSJfcyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci19Ci0KLXRl
bXBsYXRlPD4gY29uc3QgQ2xhc3NJbmZvIEpTSW50ZXJmYWNlTmFtZUNvbnN0cnVjdG9yOjpzX2lu
Zm8gPSB7ICJJbnRlcmZhY2VOYW1lIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU0ludGVyZmFjZU5hbWVDb25zdHJ1Y3RvcikgfTsKLQotLyog
SGFzaCB0YWJsZSBmb3IgcHJvdG90eXBlICovCi0KLXN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1
ZSBKU0ludGVyZmFjZU5hbWVQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KLXsKLSAgICB7ICJjb25z
dHJ1Y3RvciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNJbnRlcmZhY2VOYW1lQ29uc3RydWN0b3IpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU0ludGVyZmFj
ZU5hbWVDb25zdHJ1Y3RvcikgfSB9LAotfTsKLQotY29uc3QgQ2xhc3NJbmZvIEpTSW50ZXJmYWNl
TmFtZVByb3RvdHlwZTo6c19pbmZvID0geyAiSW50ZXJmYWNlTmFtZSIsICZCYXNlOjpzX2luZm8s
IG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNJbnRlcmZhY2VOYW1lUHJv
dG90eXBlKSB9OwotCi12b2lkIEpTSW50ZXJmYWNlTmFtZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtKQotewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICByZWlmeVN0
YXRpY1Byb3BlcnRpZXModm0sIEpTSW50ZXJmYWNlTmFtZTo6aW5mbygpLCBKU0ludGVyZmFjZU5h
bWVQcm90b3R5cGVUYWJsZVZhbHVlcywgKnRoaXMpOwotICAgIEpTQ19UT19TVFJJTkdfVEFHX1dJ
VEhPVVRfVFJBTlNJVElPTigpOwotfQotCi1jb25zdCBDbGFzc0luZm8gSlNJbnRlcmZhY2VOYW1l
OjpzX2luZm8gPSB7ICJJbnRlcmZhY2VOYW1lIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0ludGVyZmFjZU5hbWUpIH07Ci0KLUpTSW50ZXJm
YWNlTmFtZTo6SlNJbnRlcmZhY2VOYW1lKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8SW50ZXJmYWNlTmFtZT4mJiBpbXBsKQotICAgIDog
SlNET01XcmFwcGVyPEludGVyZmFjZU5hbWU+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKGltcGwpKQotewotfQotCi12b2lkIEpTSW50ZXJmYWNlTmFtZTo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtKQotewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICBBU1NFUlQoaW5o
ZXJpdHModm0sIGluZm8oKSkpOwotCi0gICAgc3RhdGljX2Fzc2VydCghc3RkOjppc19iYXNlX29m
PEFjdGl2ZURPTU9iamVjdCwgSW50ZXJmYWNlTmFtZT46OnZhbHVlLCAiSW50ZXJmYWNlIGlzIG5v
dCBtYXJrZWQgYXMgW0FjdGl2ZURPTU9iamVjdF0gZXZlbiB0aG91Z2ggaW1wbGVtZW50YXRpb24g
Y2xhc3Mgc3ViY2xhc3NlcyBBY3RpdmVET01PYmplY3QuIik7Ci0KLSAgICB2bS5oZWFwLnJlcG9y
dEV4dHJhTWVtb3J5QWxsb2NhdGVkKHdyYXBwZWQoKS5tZW1vcnlDb3N0KCkpOwotfQotCi1KU09i
amVjdCogSlNJbnRlcmZhY2VOYW1lOjpjcmVhdGVQcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotewotICAgIHJldHVybiBKU0ludGVyZmFjZU5hbWVQcm90
b3R5cGU6OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgSlNJbnRlcmZhY2VOYW1lUHJvdG90eXBl
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sICZnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5vYmplY3RQ
cm90b3R5cGUoKSkpOwotfQotCi1KU09iamVjdCogSlNJbnRlcmZhY2VOYW1lOjpwcm90b3R5cGUo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotewotICAgIHJldHVybiBn
ZXRET01Qcm90b3R5cGU8SlNJbnRlcmZhY2VOYW1lPih2bSwgZ2xvYmFsT2JqZWN0KTsKLX0KLQot
SlNWYWx1ZSBKU0ludGVyZmFjZU5hbWU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8SlNJbnRlcmZhY2VOYW1lQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7Ci19Ci0KLXZvaWQgSlNJbnRlcmZhY2VOYW1lOjpk
ZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQotewotICAgIEpTSW50ZXJmYWNlTmFtZSogdGhpc09i
amVjdCA9IHN0YXRpY19jYXN0PEpTSW50ZXJmYWNlTmFtZSo+KGNlbGwpOwotICAgIHRoaXNPYmpl
Y3QtPkpTSW50ZXJmYWNlTmFtZTo6fkpTSW50ZXJmYWNlTmFtZSgpOwotfQotCi1FbmNvZGVkSlNW
YWx1ZSBqc0ludGVyZmFjZU5hbWVDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCi17Ci0g
ICAgVk0mIHZtID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBhdXRvIHRo
cm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBhdXRvKiBwcm90b3R5cGUg
PSBqc0R5bmFtaWNDYXN0PEpTSW50ZXJmYWNlTmFtZVByb3RvdHlwZSo+KHZtLCBKU1ZhbHVlOjpk
ZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKFVOTElLRUxZKCFwcm90b3R5cGUpKQotICAgICAg
ICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3Bl
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTSW50ZXJmYWNlTmFtZTo6Z2V0Q29uc3Ry
dWN0b3IoSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KSwgcHJvdG90eXBlLT5nbG9iYWxP
YmplY3QoKSkpOwotfQotCi1ib29sIHNldEpTSW50ZXJmYWNlTmFtZUNvbnN0cnVjdG9yKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKLXsKLSAgICBWTSYgdm0gPSBKU0M6OmdldFZN
KGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIGF1dG8qIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNJbnRl
cmZhY2VOYW1lUHJvdG90eXBlKj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKLSAg
ICBpZiAoVU5MSUtFTFkoIXByb3RvdHlwZSkpIHsKLSAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihs
ZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIH0KLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvcgotICAgIHJldHVy
biBwcm90b3R5cGUtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3Is
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpKTsKLX0KLQotSlNDOjpJc29TdWJzcGFjZSog
SlNJbnRlcmZhY2VOYW1lOjpzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pCi17Ci0gICAgYXV0
byYgY2xpZW50RGF0YSA9ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERh
dGEpOwotICAgIGF1dG8mIHNwYWNlcyA9IGNsaWVudERhdGEuc3Vic3BhY2VzKCk7Ci0gICAgaWYg
KGF1dG8qIHNwYWNlID0gc3BhY2VzLm1fc3Vic3BhY2VGb3JJbnRlcmZhY2VOYW1lLmdldCgpKQot
ICAgICAgICByZXR1cm4gc3BhY2U7Ci0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2Jhc2Vfb2Zf
djxKU0M6OkpTRGVzdHJ1Y3RpYmxlT2JqZWN0LCBKU0ludGVyZmFjZU5hbWU+IHx8ICFKU0ludGVy
ZmFjZU5hbWU6Om5lZWRzRGVzdHJ1Y3Rpb24pOwotICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19i
YXNlX29mX3Y8SlNDOjpKU0Rlc3RydWN0aWJsZU9iamVjdCwgSlNJbnRlcmZhY2VOYW1lPikKLSAg
ICAgICAgc3BhY2VzLm1fc3Vic3BhY2VGb3JJbnRlcmZhY2VOYW1lID0gbWFrZVVuaXF1ZTxJc29T
dWJzcGFjZT4gSVNPX1NVQlNQQUNFX0lOSVQodm0uaGVhcCwgdm0uZGVzdHJ1Y3RpYmxlT2JqZWN0
SGVhcENlbGxUeXBlLmdldCgpLCBKU0ludGVyZmFjZU5hbWUpOwotICAgIGVsc2UKLSAgICAgICAg
c3BhY2VzLm1fc3Vic3BhY2VGb3JJbnRlcmZhY2VOYW1lID0gbWFrZVVuaXF1ZTxJc29TdWJzcGFj
ZT4gSVNPX1NVQlNQQUNFX0lOSVQodm0uaGVhcCwgdm0uY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwg
SlNJbnRlcmZhY2VOYW1lKTsKLSAgICBhdXRvKiBzcGFjZSA9IHNwYWNlcy5tX3N1YnNwYWNlRm9y
SW50ZXJmYWNlTmFtZS5nZXQoKTsKLUlHTk9SRV9XQVJOSU5HU19CRUdJTigidW5yZWFjaGFibGUt
Y29kZSIpCi1JR05PUkVfV0FSTklOR1NfQkVHSU4oInRhdXRvbG9naWNhbC1jb21wYXJlIikKLSAg
ICBpZiAoJkpTSW50ZXJmYWNlTmFtZTo6dmlzaXRPdXRwdXRDb25zdHJhaW50cyAhPSAmSlNDOjpK
U0NlbGw6OnZpc2l0T3V0cHV0Q29uc3RyYWludHMpCi0gICAgICAgIGNsaWVudERhdGEub3V0cHV0
Q29uc3RyYWludFNwYWNlcygpLmFwcGVuZChzcGFjZSk7Ci1JR05PUkVfV0FSTklOR1NfRU5ECi1J
R05PUkVfV0FSTklOR1NfRU5ECi0gICAgcmV0dXJuIHNwYWNlOwotfQotCi12b2lkIEpTSW50ZXJm
YWNlTmFtZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9y
KQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNJbnRlcmZhY2VOYW1lKj4oY2Vs
bCk7Ci0gICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOwot
ICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Ci0gICAgdmlzaXRv
ci5yZXBvcnRFeHRyYU1lbW9yeVZpc2l0ZWQodGhpc09iamVjdC0+d3JhcHBlZCgpLm1lbW9yeUNv
c3QoKSk7Ci19Ci0KLXNpemVfdCBKU0ludGVyZmFjZU5hbWU6OmVzdGltYXRlZFNpemUoSlNDZWxs
KiBjZWxsLCBWTSYgdm0pCi17Ci0gICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0ludGVy
ZmFjZU5hbWUqPihjZWxsKTsKLSAgICByZXR1cm4gQmFzZTo6ZXN0aW1hdGVkU2l6ZSh0aGlzT2Jq
ZWN0LCB2bSkgKyB0aGlzT2JqZWN0LT53cmFwcGVkKCkubWVtb3J5Q29zdCgpOwotfQotCi12b2lk
IEpTSW50ZXJmYWNlTmFtZTo6YW5hbHl6ZUhlYXAoSlNDZWxsKiBjZWxsLCBIZWFwQW5hbHl6ZXIm
IGFuYWx5emVyKQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNJbnRlcmZhY2VO
YW1lKj4oY2VsbCk7Ci0gICAgYW5hbHl6ZXIuc2V0V3JhcHBlZE9iamVjdEZvckNlbGwoY2VsbCwg
JnRoaXNPYmplY3QtPndyYXBwZWQoKSk7Ci0gICAgaWYgKHRoaXNPYmplY3QtPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkKLSAgICAgICAgYW5hbHl6ZXIuc2V0TGFiZWxGb3JDZWxsKGNlbGwsICJ1
cmwgIiArIHRoaXNPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dXJsKCkuc3RyaW5n
KCkpOwotICAgIEJhc2U6OmFuYWx5emVIZWFwKGNlbGwsIGFuYWx5emVyKTsKLX0KLQotYm9vbCBK
U0ludGVyZmFjZU5hbWVPd25lcjo6aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoSlNDOjpIYW5k
bGU8SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQqLCBTbG90VmlzaXRvciYgdmlzaXRvciwgY29u
c3QgY2hhcioqIHJlYXNvbikKLXsKLSAgICBVTlVTRURfUEFSQU0oaGFuZGxlKTsKLSAgICBVTlVT
RURfUEFSQU0odmlzaXRvcik7Ci0gICAgVU5VU0VEX1BBUkFNKHJlYXNvbik7Ci0gICAgcmV0dXJu
IGZhbHNlOwotfQotCi12b2lkIEpTSW50ZXJmYWNlTmFtZU93bmVyOjpmaW5hbGl6ZShKU0M6Okhh
bmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCogY29udGV4dCkKLXsKLSAgICBhdXRvKiBq
c0ludGVyZmFjZU5hbWUgPSBzdGF0aWNfY2FzdDxKU0ludGVyZmFjZU5hbWUqPihoYW5kbGUuc2xv
dCgpLT5hc0NlbGwoKSk7Ci0gICAgYXV0byYgd29ybGQgPSAqc3RhdGljX2Nhc3Q8RE9NV3JhcHBl
cldvcmxkKj4oY29udGV4dCk7Ci0gICAgdW5jYWNoZVdyYXBwZXIod29ybGQsICZqc0ludGVyZmFj
ZU5hbWUtPndyYXBwZWQoKSwganNJbnRlcmZhY2VOYW1lKTsKLX0KLQotI2lmIEVOQUJMRShCSU5E
SU5HX0lOVEVHUklUWSkKLSNpZiBQTEFURk9STShXSU4pCi0jcHJhZ21hIHdhcm5pbmcoZGlzYWJs
ZTogNDQ4MykKLWV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigi
Pz9fN0ludGVyZmFjZU5hbWVAV2ViQ29yZUBANkJAIilbXSkoKTsgfQotI2Vsc2UKLWV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTEzSW50ZXJmYWNlTmFtZUVbXTsgfQotI2Vu
ZGlmCi0jZW5kaWYKLQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxJbnRlcmZhY2VO
YW1lPiYmIGltcGwpCi17Ci0KLSNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgY29u
c3Qgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9IGdldFZUYWJsZVBvaW50ZXIoaW1wbC5wdHIo
KSk7Ci0jaWYgUExBVEZPUk0oV0lOKQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IF9faWRlbnRpZmllcigiPz9fN0ludGVyZmFjZU5hbWVAV2ViQ29yZUBANkJAIik7Ci0jZWxzZQot
ICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9ICZfWlRWTjdXZWJDb3JlMTNJbnRlcmZh
Y2VOYW1lRVsyXTsKLSNlbmRpZgotCi0gICAgLy8gSWYgdGhpcyBmYWlscyBJbnRlcmZhY2VOYW1l
IGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmlu
aXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8SW50ZXJmYWNlTmFt
ZT46OnZhbHVlLCAiSW50ZXJmYWNlTmFtZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8v
IElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZy
ZWUgYnVnLCBvcgotICAgIC8vIEludGVyZmFjZU5hbWUgaGFzIHN1YmNsYXNzZXMuIElmIEludGVy
ZmFjZU5hbWUgaGFzIHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygp
IHdlIGN1cnJlbnRseSByZXF1aXJlIEludGVyZmFjZU5hbWUgeW91IHRvIG9wdCBvdXQgb2YgYmlu
ZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9u
IGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9B
U1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwotI2Vu
ZGlmCi0gICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SW50ZXJmYWNlTmFtZT4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKGltcGwpKTsKLX0KLQotSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSW50ZXJmYWNlTmFtZSYgaW1wbCkKLXsKLSAgICByZXR1cm4gd3JhcChsZXhpY2FsR2xvYmFs
T2JqZWN0LCBnbG9iYWxPYmplY3QsIGltcGwpOwotfQotCi1JbnRlcmZhY2VOYW1lKiBKU0ludGVy
ZmFjZU5hbWU6OnRvV3JhcHBlZChKU0M6OlZNJiB2bSwgSlNDOjpKU1ZhbHVlIHZhbHVlKQotewot
ICAgIGlmIChhdXRvKiB3cmFwcGVyID0ganNEeW5hbWljQ2FzdDxKU0ludGVyZmFjZU5hbWUqPih2
bSwgdmFsdWUpKQotICAgICAgICByZXR1cm4gJndyYXBwZXItPndyYXBwZWQoKTsKLSAgICByZXR1
cm4gbnVsbHB0cjsKLX0KLQotfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTTWFwTGlrZS5jcHAJKHJldmlzaW9uIDI4ODEyNCkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU01hcExpa2UuY3BwCShu
b25leGlzdGVudCkKQEAgLTEsNDczICswLDAgQEAKLS8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQg
b2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAg
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTTWFwTGlrZS5oIgotCi0jaW5jbHVkZSAi
QWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVkZSAiRE9NSXNvU3Vic3BhY2VzLmgiCi0jaW5jbHVk
ZSAiSlNET01BdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRl
ICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgotI2luY2x1ZGUgIkpTRE9NQ29u
dmVydEFueS5oIgotI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKLSNpbmNsdWRlICJK
U0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCi0jaW5jbHVkZSAiSlNET01NYXBMaWtlLmgiCi0jaW5j
bHVkZSAiSlNET01PcGVyYXRpb24uaCIKLSNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgot
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKLSNpbmNsdWRlICJXZWJDb3JlSlND
bGllbnREYXRhLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQnVpbHRpbk5hbWVzLmg+Ci0j
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KLSNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9IZWFwQW5hbHl6ZXIuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U0NJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNEZXN0cnVjdGlibGVPYmpl
Y3RIZWFwQ2VsbFR5cGUuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdWJzcGFjZUlubGlu
ZXMuaD4KLSNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVw
YXJhdGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvVVJMLmg+Ci0KLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotLy8gRnVuY3Rpb25zCi0KLUpTQ19ERUNMQVJFX0hP
U1RfRlVOQ1RJT04oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25HZXQpOwotSlNDX0RFQ0xBUkVf
SE9TVF9GVU5DVElPTihqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkhhcyk7Ci1KU0NfREVDTEFS
RV9IT1NUX0ZVTkNUSU9OKGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uRW50cmllcyk7Ci1KU0Nf
REVDTEFSRV9IT1NUX0ZVTkNUSU9OKGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uS2V5cyk7Ci1K
U0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uVmFsdWVz
KTsKLUpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25G
b3JFYWNoKTsKLUpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oanNNYXBMaWtlUHJvdG90eXBlRnVu
Y3Rpb25TZXQpOwotSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihqc01hcExpa2VQcm90b3R5cGVG
dW5jdGlvbkNsZWFyKTsKLUpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oanNNYXBMaWtlUHJvdG90
eXBlRnVuY3Rpb25EZWxldGUpOwotCi0vLyBBdHRyaWJ1dGVzCi0KLUpTQzo6RW5jb2RlZEpTVmFs
dWUganNNYXBMaWtlQ29uc3RydWN0b3IoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKLWJvb2wgc2V0SlNNYXBMaWtlQ29uc3RydWN0
b3IoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUpOwotSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExpa2VTaXplKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Ci0KLWNs
YXNzIEpTTWFwTGlrZVByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxPYmpl
Y3QgewotcHVibGljOgotICAgIHVzaW5nIEJhc2UgPSBKU0M6OkpTTm9uRmluYWxPYmplY3Q7Ci0g
ICAgc3RhdGljIEpTTWFwTGlrZVByb3RvdHlwZSogY3JlYXRlKEpTQzo6Vk0mIHZtLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlKQotICAg
IHsKLSAgICAgICAgSlNNYXBMaWtlUHJvdG90eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6
YWxsb2NhdGVDZWxsPEpTTWFwTGlrZVByb3RvdHlwZT4odm0uaGVhcCkpIEpTTWFwTGlrZVByb3Rv
dHlwZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpOwotICAgICAgICBwdHItPmZpbmlzaENy
ZWF0aW9uKHZtKTsKLSAgICAgICAgcmV0dXJuIHB0cjsKLSAgICB9Ci0KLSAgICBERUNMQVJFX0lO
Rk87Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIEpTQzo6U3Vic3BhY2VBY2Nlc3M+
Ci0gICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQot
ICAgIHsKLSAgICAgICAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNNYXBM
aWtlUHJvdG90eXBlLCBCYXNlKTsKLSAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNl
OwotICAgIH0KLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6
OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUg
cHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlw
ZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBKU01h
cExpa2VQcm90b3R5cGUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0
cnVjdHVyZSogc3RydWN0dXJlKQotICAgICAgICA6IEpTQzo6SlNOb25GaW5hbE9iamVjdCh2bSwg
c3RydWN0dXJlKQotICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6
Vk0mKTsKLX07Ci1TVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU01hcExpa2VQ
cm90b3R5cGUsIEpTTWFwTGlrZVByb3RvdHlwZTo6QmFzZSk7Ci0KLXVzaW5nIEpTTWFwTGlrZUNv
bnN0cnVjdG9yID0gSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNNYXBMaWtlPjsK
LQotdGVtcGxhdGU8PiBKU1ZhbHVlIEpTTWFwTGlrZUNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JT
dHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LmZ1
bmN0aW9uUHJvdG90eXBlKCk7Ci19Ci0KLXRlbXBsYXRlPD4gdm9pZCBKU01hcExpa2VDb25zdHJ1
Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0KQotewotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlLCBKU01hcExpa2U6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0KSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiTWFwTGlrZSJf
cyksIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVu
Z3RoLCBqc051bWJlcigwKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci19Ci0KLXRlbXBsYXRlPD4gY29uc3QgQ2xh
c3NJbmZvIEpTTWFwTGlrZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJNYXBMaWtlIiwgJkJhc2U6
OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU01hcExpa2VD
b25zdHJ1Y3RvcikgfTsKLQotLyogSGFzaCB0YWJsZSBmb3IgcHJvdG90eXBlICovCi0KLXN0YXRp
YyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU01hcExpa2VQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0K
LXsKLSAgICB7ICJjb25zdHJ1Y3RvciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNNYXBMaWtlQ29uc3RydWN0b3IpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U01hcExpa2VDb25zdHJ1Y3RvcikgfSB9LAotICAgIHsgInNpemUiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29y
KSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPihqc01hcExpa2VTaXplKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAotICAgIHsgImdldCIsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkdldCksIChp
bnRwdHJfdCkgKDEpIH0gfSwKLSAgICB7ICJoYXMiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpG
dW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVG
dW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25IYXMpLCAoaW50cHRyX3QpICgxKSB9
IH0sCi0gICAgeyAiZW50cmllcyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihq
c01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkVudHJpZXMpLCAoaW50cHRyX3QpICgwKSB9IH0sCi0g
ICAgeyAia2V5cyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc01hcExpa2VQ
cm90b3R5cGVGdW5jdGlvbktleXMpLCAoaW50cHRyX3QpICgwKSB9IH0sCi0gICAgeyAidmFsdWVz
Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzTWFwTGlrZVByb3RvdHlwZUZ1
bmN0aW9uVmFsdWVzKSwgKGludHB0cl90KSAoMCkgfSB9LAotICAgIHsgImZvckVhY2giLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0lu
dHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzTWFw
TGlrZVByb3RvdHlwZUZ1bmN0aW9uRm9yRWFjaCksIChpbnRwdHJfdCkgKDEpIH0gfSwKLSAgICB7
ICJzZXQiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0gfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90
eXBlRnVuY3Rpb25TZXQpLCAoaW50cHRyX3QpICgyKSB9IH0sCi0gICAgeyAiY2xlYXIiLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25D
bGVhciksIChpbnRwdHJfdCkgKDApIH0gfSwKLSAgICB7ICJkZWxldGUiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxSYXdOYXRpdmVGdW5jdGlvbj4oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25EZWxldGUpLCAo
aW50cHRyX3QpICgxKSB9IH0sCi19OwotCi1jb25zdCBDbGFzc0luZm8gSlNNYXBMaWtlUHJvdG90
eXBlOjpzX2luZm8gPSB7ICJNYXBMaWtlIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0
ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU01hcExpa2VQcm90b3R5cGUpIH07Ci0KLXZvaWQgSlNN
YXBMaWtlUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCi17Ci0gICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0pOwotICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwgSlNNYXBMaWtl
OjppbmZvKCksIEpTTWFwTGlrZVByb3RvdHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7Ci0gICAgcHV0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgZ2V0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5lbnRyaWVzUHVibGljTmFtZSgpKSwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7
Ci0gICAgSlNDX1RPX1NUUklOR19UQUdfV0lUSE9VVF9UUkFOU0lUSU9OKCk7Ci19Ci0KLWNvbnN0
IENsYXNzSW5mbyBKU01hcExpa2U6OnNfaW5mbyA9IHsgIk1hcExpa2UiLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTTWFwTGlrZSkgfTsKLQot
SlNNYXBMaWtlOjpKU01hcExpa2UoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxNYXBMaWtlPiYmIGltcGwpCi0gICAgOiBKU0RPTVdyYXBw
ZXI8TWFwTGlrZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCi17Ci19
Ci0KLXZvaWQgSlNNYXBMaWtlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCi17Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOwotICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0K
LSAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Jhc2Vfb2Y8QWN0aXZlRE9NT2JqZWN0LCBNYXBM
aWtlPjo6dmFsdWUsICJJbnRlcmZhY2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZlRE9NT2JqZWN0
XSBldmVuIHRob3VnaCBpbXBsZW1lbnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFjdGl2ZURPTU9i
amVjdC4iKTsKLQotfQotCi1KU09iamVjdCogSlNNYXBMaWtlOjpjcmVhdGVQcm90b3R5cGUoVk0m
IHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotewotICAgIHJldHVybiBKU01h
cExpa2VQcm90b3R5cGU6OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVjdCwgSlNNYXBMaWtlUHJvdG90
eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sICZnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5vYmpl
Y3RQcm90b3R5cGUoKSkpOwotfQotCi1KU09iamVjdCogSlNNYXBMaWtlOjpwcm90b3R5cGUoVk0m
IHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotewotICAgIHJldHVybiBnZXRE
T01Qcm90b3R5cGU8SlNNYXBMaWtlPih2bSwgZ2xvYmFsT2JqZWN0KTsKLX0KLQotSlNWYWx1ZSBK
U01hcExpa2U6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNNYXBMaWtlQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7Ci19Ci0KLXZvaWQgSlNNYXBMaWtlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQot
ewotICAgIEpTTWFwTGlrZSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTTWFwTGlrZSo+KGNl
bGwpOwotICAgIHRoaXNPYmplY3QtPkpTTWFwTGlrZTo6fkpTTWFwTGlrZSgpOwotfQotCi10ZW1w
bGF0ZTw+IGlubGluZSBKU01hcExpa2UqIElETEF0dHJpYnV0ZTxKU01hcExpa2U+OjpjYXN0KEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUpCi17Ci0gICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8SlNNYXBMaWtlKj4oSlNDOjpnZXRWTSgm
bGV4aWNhbEdsb2JhbE9iamVjdCksIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKLX0KLQot
dGVtcGxhdGU8PiBpbmxpbmUgSlNNYXBMaWtlKiBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Y2Fz
dChKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBjYWxsRnJh
bWUpCi17Ci0gICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8SlNNYXBMaWtlKj4oSlNDOjpnZXRWTSgm
bGV4aWNhbEdsb2JhbE9iamVjdCksIGNhbGxGcmFtZS50aGlzVmFsdWUoKSk7Ci19Ci0KLUVuY29k
ZWRKU1ZhbHVlIGpzTWFwTGlrZUNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKLXsKLSAg
ICBWTSYgdm0gPSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIGF1dG8qIHByb3RvdHlwZSA9
IGpzRHluYW1pY0Nhc3Q8SlNNYXBMaWtlUHJvdG90eXBlKj4odm0sIEpTVmFsdWU6OmRlY29kZSh0
aGlzVmFsdWUpKTsKLSAgICBpZiAoVU5MSUtFTFkoIXByb3RvdHlwZSkpCi0gICAgICAgIHJldHVy
biB0aHJvd1ZNVHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUpOwotICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNNYXBMaWtlOjpnZXRDb25zdHJ1Y3RvcihKU0M6Omdl
dFZNKGxleGljYWxHbG9iYWxPYmplY3QpLCBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpKSk7Ci19
Ci0KLWJvb2wgc2V0SlNNYXBMaWtlQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKQotewotICAgIFZNJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVj
dCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAg
YXV0byogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU01hcExpa2VQcm90b3R5cGUqPih2bSwg
SlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwotICAgIGlmIChVTkxJS0VMWSghcHJvdG90eXBl
KSkgewotICAgICAgICB0aHJvd1ZNVHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93
U2NvcGUpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIC8vIFNoYWRvd2luZyBh
IGJ1aWx0LWluIGNvbnN0cnVjdG9yCi0gICAgcmV0dXJuIHByb3RvdHlwZS0+cHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRW
YWx1ZSkpOwotfQotCi1zdGF0aWMgaW5saW5lIEpTVmFsdWUganNNYXBMaWtlU2l6ZUdldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNNYXBMaWtlJiB0aGlzT2JqZWN0
KQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgUkVMRUFT
RV9BTkRfUkVUVVJOKHRocm93U2NvcGUsICh0b0pTPElETEFueT4obGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhyb3dTY29wZSwgZm9yd2FyZFNpemVUb01hcExpa2UobGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc09iamVjdCkpKSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIGpzTWFwTGlrZVNpemUoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
UHJvcGVydHlOYW1lKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNNYXBMaWtlPjo6Z2V0
PGpzTWFwTGlrZVNpemVHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJz
aXplIik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExpa2VQ
cm90b3R5cGVGdW5jdGlvbkdldEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9u
PEpTTWFwTGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMpCi17Ci0gICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gdGhyb3dTY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsK
LSAgICBVTlVTRURfUEFSQU0oY2FsbEZyYW1lKTsKLSAgICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1l
LT5hcmd1bWVudENvdW50KCkgPCAxKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJv
cihsZXhpY2FsR2xvYmFsT2JqZWN0KSk7Ci0gICAgRW5zdXJlU3RpbGxBbGl2ZVNjb3BlIGFyZ3Vt
ZW50MCA9IGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCk7Ci0gICAgYXV0byBrZXkgPSBj
b252ZXJ0PElETERPTVN0cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MC52YWx1
ZSgpKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVl
KCkpOwotICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCBKU1ZhbHVlOjplbmNvZGUo
dG9KUzxJRExBbnk+KGZvcndhcmRHZXRUb01hcExpa2UoKmxleGljYWxHbG9iYWxPYmplY3QsICpj
YWxsRnJhbWUsICpjYXN0ZWRUaGlzLCBXVEZNb3ZlKGtleSkpKSkpOwotfQotCi1KU0NfREVGSU5F
X0hPU1RfRlVOQ1RJT04oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25HZXQsIChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQotewotICAg
IHJldHVybiBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Y2FsbDxqc01hcExpa2VQcm90b3R5cGVG
dW5jdGlvbkdldEJvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAiZ2V0Iik7
Ci19Ci0KLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExpa2VQcm90b3R5
cGVGdW5jdGlvbkhhc0JvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9uPEpTTWFw
TGlrZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMpCi17Ci0gICAgYXV0byYgdm0gPSBKU0M6
OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBV
TlVTRURfUEFSQU0oY2FsbEZyYW1lKTsKLSAgICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1
bWVudENvdW50KCkgPCAxKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0KSk7Ci0gICAgRW5zdXJlU3RpbGxBbGl2ZVNjb3BlIGFyZ3VtZW50MCA9
IGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCk7Ci0gICAgYXV0byBrZXkgPSBjb252ZXJ0
PElETERPTVN0cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MC52YWx1ZSgpKTsK
LSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwot
ICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCBKU1ZhbHVlOjplbmNvZGUodG9KUzxJ
RExBbnk+KGZvcndhcmRIYXNUb01hcExpa2UoKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJh
bWUsICpjYXN0ZWRUaGlzLCBXVEZNb3ZlKGtleSkpKSkpOwotfQotCi1KU0NfREVGSU5FX0hPU1Rf
RlVOQ1RJT04oanNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25IYXMsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQotewotICAgIHJldHVy
biBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Y2FsbDxqc01hcExpa2VQcm90b3R5cGVGdW5jdGlv
bkhhc0JvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAiaGFzIik7Ci19Ci0K
LXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc01hcExpa2VQcm90b3R5cGVGdW5j
dGlvbkVudHJpZXNCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU01hcExp
a2U+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpn
ZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAgVU5V
U0VEX1BBUkFNKGNhbGxGcmFtZSk7Ci0gICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUs
IEpTVmFsdWU6OmVuY29kZSh0b0pTPElETEFueT4oZm9yd2FyZEVudHJpZXNUb01hcExpa2UoKmxl
eGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICpjYXN0ZWRUaGlzKSkpKTsKLX0KLQotSlND
X0RFRklORV9IT1NUX0ZVTkNUSU9OKGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uRW50cmllcywg
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFt
ZSkpCi17Ci0gICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU01hcExpa2U+OjpjYWxsPGpzTWFwTGlr
ZVByb3RvdHlwZUZ1bmN0aW9uRW50cmllc0JvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2Fs
bEZyYW1lLCAiZW50cmllcyIpOwotfQotCi1zdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFs
dWUganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25LZXlzQm9keShKU0M6OkpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFtZSogY2FsbEZyYW1lLCB0eXBlbmFt
ZSBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcykKLXsK
LSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgYXV0
byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFN
KHRocm93U2NvcGUpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwotICAgIFJFTEVBU0Vf
QU5EX1JFVFVSTih0aHJvd1Njb3BlLCBKU1ZhbHVlOjplbmNvZGUodG9KUzxJRExBbnk+KGZvcndh
cmRLZXlzVG9NYXBMaWtlKCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAqY2FzdGVk
VGhpcykpKSk7Ci19Ci0KLUpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihqc01hcExpa2VQcm90b3R5
cGVGdW5jdGlvbktleXMsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUpKQotewotICAgIHJldHVybiBJRExPcGVyYXRpb248SlNNYXBMaWtl
Pjo6Y2FsbDxqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbktleXNCb2R5PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhbGxGcmFtZSwgImtleXMiKTsKLX0KLQotc3RhdGljIGlubGluZSBKU0M6OkVu
Y29kZWRKU1ZhbHVlIGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uVmFsdWVzQm9keShKU0M6OkpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFtZSogY2FsbEZy
YW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Q2xhc3NQYXJhbWV0ZXIgY2Fz
dGVkVGhpcykKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVj
dCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAg
VU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwot
ICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCBKU1ZhbHVlOjplbmNvZGUodG9KUzxJ
RExBbnk+KGZvcndhcmRWYWx1ZXNUb01hcExpa2UoKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxs
RnJhbWUsICpjYXN0ZWRUaGlzKSkpKTsKLX0KLQotSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGpz
TWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uVmFsdWVzLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKLXsKLSAgICByZXR1cm4gSURMT3Bl
cmF0aW9uPEpTTWFwTGlrZT46OmNhbGw8anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25WYWx1ZXNC
b2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgInZhbHVlcyIpOwotfQotCi1z
dGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rp
b25Gb3JFYWNoQm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBK
U0M6OkNhbGxGcmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNNYXBMaWtl
Pjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcykKLXsKLSAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0
Vk0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwotICAgIFVOVVNF
RF9QQVJBTShjYWxsRnJhbWUpOwotICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50
Q291bnQoKSA8IDEpKQotICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGxleGljYWxHbG9iYWxP
YmplY3QsIHRocm93U2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGxleGljYWxH
bG9iYWxPYmplY3QpKTsKLSAgICBFbnN1cmVTdGlsbEFsaXZlU2NvcGUgYXJndW1lbnQwID0gY2Fs
bEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKTsKLSAgICBhdXRvIGNhbGxiYWNrID0gY29udmVy
dDxJRExBbnk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSk7Ci0gICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICBS
RUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKHRvSlM8SURMQW55
Pihmb3J3YXJkRm9yRWFjaFRvTWFwTGlrZSgqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFt
ZSwgKmNhc3RlZFRoaXMsIFdURk1vdmUoY2FsbGJhY2spKSkpKTsKLX0KLQotSlNDX0RFRklORV9I
T1NUX0ZVTkNUSU9OKGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0aW9uRm9yRWFjaCwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCi17Ci0g
ICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU01hcExpa2U+OjpjYWxsPGpzTWFwTGlrZVByb3RvdHlw
ZUZ1bmN0aW9uRm9yRWFjaEJvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAi
Zm9yRWFjaCIpOwotfQotCi1zdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNNYXBM
aWtlUHJvdG90eXBlRnVuY3Rpb25TZXRCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJh
dGlvbjxKU01hcExpa2U+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQotewotICAgIGF1dG8m
IHZtID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29w
ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7Ci0gICAgaWYgKFVOTElLRUxZKGNhbGxG
cmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMikpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Io
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRz
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCkpOwotICAgIEVuc3VyZVN0aWxsQWxpdmVTY29wZSBh
cmd1bWVudDAgPSBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApOwotICAgIGF1dG8ga2V5
ID0gY29udmVydDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAu
dmFsdWUoKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNW
YWx1ZSgpKTsKLSAgICBFbnN1cmVTdGlsbEFsaXZlU2NvcGUgYXJndW1lbnQxID0gY2FsbEZyYW1l
LT51bmNoZWNrZWRBcmd1bWVudCgxKTsKLSAgICBhdXRvIHZhbHVlID0gY29udmVydDxJRExET01T
dHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDEudmFsdWUoKSk7Ci0gICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICBSRUxF
QVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKHRvSlM8SURMQW55Pihm
b3J3YXJkU2V0VG9NYXBMaWtlKCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAqY2Fz
dGVkVGhpcywgV1RGTW92ZShrZXkpLCBXVEZNb3ZlKHZhbHVlKSkpKSk7Ci19Ci0KLUpTQ19ERUZJ
TkVfSE9TVF9GVU5DVElPTihqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvblNldCwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCi17Ci0g
ICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU01hcExpa2U+OjpjYWxsPGpzTWFwTGlrZVByb3RvdHlw
ZUZ1bmN0aW9uU2V0Qm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJzZXQi
KTsKLX0KLQotc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzTWFwTGlrZVByb3Rv
dHlwZUZ1bmN0aW9uQ2xlYXJCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxK
U01hcExpa2U+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQotewotICAgIGF1dG8mIHZtID0g
SlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBhdXRvIHRocm93U2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7Ci0g
ICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7Ci0gICAgdGhyb3dTY29wZS5yZWxlYXNlKCk7Ci0g
ICAgZm9yd2FyZENsZWFyVG9NYXBMaWtlKCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1l
LCAqY2FzdGVkVGhpcyk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKLX0KLQotSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGpzTWFwTGlrZVByb3RvdHlwZUZ1bmN0
aW9uQ2xlYXIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpKQotewotICAgIHJldHVybiBJRExPcGVyYXRpb248SlNNYXBMaWtlPjo6Y2Fs
bDxqc01hcExpa2VQcm90b3R5cGVGdW5jdGlvbkNsZWFyQm9keT4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsICpjYWxsRnJhbWUsICJjbGVhciIpOwotfQotCi1zdGF0aWMgaW5saW5lIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUganNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25EZWxldGVCb2R5KEpTQzo6SlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUs
IHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU01hcExpa2U+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRU
aGlzKQotewotICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsK
LSAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVT
RURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7Ci0gICAg
aWYgKFVOTElLRUxZKGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMSkpCi0gICAgICAgIHJl
dHVybiB0aHJvd1ZNRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgY3JlYXRl
Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCkpOwotICAgIEVuc3Vy
ZVN0aWxsQWxpdmVTY29wZSBhcmd1bWVudDAgPSBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50
KDApOwotICAgIGF1dG8ga2V5ID0gY29udmVydDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJv
d1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dT
Y29wZSwgSlNWYWx1ZTo6ZW5jb2RlKHRvSlM8SURMQW55Pihmb3J3YXJkRGVsZXRlVG9NYXBMaWtl
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAqY2FzdGVkVGhpcywgV1RGTW92ZShr
ZXkpKSkpKTsKLX0KLQotSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGpzTWFwTGlrZVByb3RvdHlw
ZUZ1bmN0aW9uRGVsZXRlLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENh
bGxGcmFtZSogY2FsbEZyYW1lKSkKLXsKLSAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTTWFwTGlr
ZT46OmNhbGw8anNNYXBMaWtlUHJvdG90eXBlRnVuY3Rpb25EZWxldGVCb2R5PigqbGV4aWNhbEds
b2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgImRlbGV0ZSIpOwotfQotCi1KU0M6Oklzb1N1YnNwYWNl
KiBKU01hcExpa2U6OnN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2bSkKLXsKLSAgICBhdXRvJiBj
bGllbnREYXRhID0gKnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7
Ci0gICAgYXV0byYgc3BhY2VzID0gY2xpZW50RGF0YS5zdWJzcGFjZXMoKTsKLSAgICBpZiAoYXV0
byogc3BhY2UgPSBzcGFjZXMubV9zdWJzcGFjZUZvck1hcExpa2UuZ2V0KCkpCi0gICAgICAgIHJl
dHVybiBzcGFjZTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYmFzZV9vZl92PEpTQzo6SlNE
ZXN0cnVjdGlibGVPYmplY3QsIEpTTWFwTGlrZT4gfHwgIUpTTWFwTGlrZTo6bmVlZHNEZXN0cnVj
dGlvbik7Ci0gICAgaWYgY29uc3RleHByIChzdGQ6OmlzX2Jhc2Vfb2ZfdjxKU0M6OkpTRGVzdHJ1
Y3RpYmxlT2JqZWN0LCBKU01hcExpa2U+KQotICAgICAgICBzcGFjZXMubV9zdWJzcGFjZUZvck1h
cExpa2UgPSBtYWtlVW5pcXVlPElzb1N1YnNwYWNlPiBJU09fU1VCU1BBQ0VfSU5JVCh2bS5oZWFw
LCB2bS5kZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTTWFwTGlrZSk7Ci0g
ICAgZWxzZQotICAgICAgICBzcGFjZXMubV9zdWJzcGFjZUZvck1hcExpa2UgPSBtYWtlVW5pcXVl
PElzb1N1YnNwYWNlPiBJU09fU1VCU1BBQ0VfSU5JVCh2bS5oZWFwLCB2bS5jZWxsSGVhcENlbGxU
eXBlLmdldCgpLCBKU01hcExpa2UpOwotICAgIGF1dG8qIHNwYWNlID0gc3BhY2VzLm1fc3Vic3Bh
Y2VGb3JNYXBMaWtlLmdldCgpOwotSUdOT1JFX1dBUk5JTkdTX0JFR0lOKCJ1bnJlYWNoYWJsZS1j
b2RlIikKLUlHTk9SRV9XQVJOSU5HU19CRUdJTigidGF1dG9sb2dpY2FsLWNvbXBhcmUiKQotICAg
IGlmICgmSlNNYXBMaWtlOjp2aXNpdE91dHB1dENvbnN0cmFpbnRzICE9ICZKU0M6OkpTQ2VsbDo6
dmlzaXRPdXRwdXRDb25zdHJhaW50cykKLSAgICAgICAgY2xpZW50RGF0YS5vdXRwdXRDb25zdHJh
aW50U3BhY2VzKCkuYXBwZW5kKHNwYWNlKTsKLUlHTk9SRV9XQVJOSU5HU19FTkQKLUlHTk9SRV9X
QVJOSU5HU19FTkQKLSAgICByZXR1cm4gc3BhY2U7Ci19Ci0KLXZvaWQgSlNNYXBMaWtlOjphbmFs
eXplSGVhcChKU0NlbGwqIGNlbGwsIEhlYXBBbmFseXplciYgYW5hbHl6ZXIpCi17Ci0gICAgYXV0
byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU01hcExpa2UqPihjZWxsKTsKLSAgICBhbmFseXplci5z
ZXRXcmFwcGVkT2JqZWN0Rm9yQ2VsbChjZWxsLCAmdGhpc09iamVjdC0+d3JhcHBlZCgpKTsKLSAg
ICBpZiAodGhpc09iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQotICAgICAgICBhbmFs
eXplci5zZXRMYWJlbEZvckNlbGwoY2VsbCwgInVybCAiICsgdGhpc09iamVjdC0+c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT51cmwoKS5zdHJpbmcoKSk7Ci0gICAgQmFzZTo6YW5hbHl6ZUhlYXAo
Y2VsbCwgYW5hbHl6ZXIpOwotfQotCi1ib29sIEpTTWFwTGlrZU93bmVyOjppc1JlYWNoYWJsZUZy
b21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCosIFNs
b3RWaXNpdG9yJiB2aXNpdG9yLCBjb25zdCBjaGFyKiogcmVhc29uKQotewotICAgIFVOVVNFRF9Q
QVJBTShoYW5kbGUpOwotICAgIFVOVVNFRF9QQVJBTSh2aXNpdG9yKTsKLSAgICBVTlVTRURfUEFS
QU0ocmVhc29uKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgSlNNYXBMaWtlT3duZXI6
OmZpbmFsaXplKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0
KQotewotICAgIGF1dG8qIGpzTWFwTGlrZSA9IHN0YXRpY19jYXN0PEpTTWFwTGlrZSo+KGhhbmRs
ZS5zbG90KCktPmFzQ2VsbCgpKTsKLSAgICBhdXRvJiB3b3JsZCA9ICpzdGF0aWNfY2FzdDxET01X
cmFwcGVyV29ybGQqPihjb250ZXh0KTsKLSAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJmpzTWFw
TGlrZS0+d3JhcHBlZCgpLCBqc01hcExpa2UpOwotfQotCi0jaWYgRU5BQkxFKEJJTkRJTkdfSU5U
RUdSSVRZKQotI2lmIFBMQVRGT1JNKFdJTikKLSNwcmFnbWEgd2FybmluZyhkaXNhYmxlOiA0NDgz
KQotZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183TWFw
TGlrZUBXZWJDb3JlQEA2QkAiKVtdKSgpOyB9Ci0jZWxzZQotZXh0ZXJuICJDIiB7IGV4dGVybiB2
b2lkKiBfWlRWTjdXZWJDb3JlN01hcExpa2VFW107IH0KLSNlbmRpZgotI2VuZGlmCi0KLUpTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8TWFwTGlrZT4mJiBpbXBsKQotewotCi0jaWYgRU5B
QkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50
ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwotI2lmIFBMQVRGT1JNKFdJTikKLSAg
ICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdNYXBMaWtl
QFdlYkNvcmVAQDZCQCIpOwotI2Vsc2UKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIg
PSAmX1pUVk43V2ViQ29yZTdNYXBMaWtlRVsyXTsKLSNlbmRpZgotCi0gICAgLy8gSWYgdGhpcyBm
YWlscyBNYXBMaWtlIGRvZXMgbm90IGhhdmUgYSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0
aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50
ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8
TWFwTGlrZT46OnZhbHVlLCAiTWFwTGlrZSBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8v
IElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZy
ZWUgYnVnLCBvcgotICAgIC8vIE1hcExpa2UgaGFzIHN1YmNsYXNzZXMuIElmIE1hcExpa2UgaGFz
IHN1YmNsYXNzZXMgdGhhdCBnZXQgcGFzc2VkCi0gICAgLy8gdG8gdG9KUygpIHdlIGN1cnJlbnRs
eSByZXF1aXJlIE1hcExpa2UgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAg
ICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUg
aW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxl
UG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwotI2VuZGlmCi0gICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8TWFwTGlrZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKLX0KLQot
SlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTWFwTGlrZSYgaW1wbCkKLXsKLSAg
ICByZXR1cm4gd3JhcChsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIGltcGwpOwot
fQotCi1NYXBMaWtlKiBKU01hcExpa2U6OnRvV3JhcHBlZChKU0M6OlZNJiB2bSwgSlNDOjpKU1Zh
bHVlIHZhbHVlKQotewotICAgIGlmIChhdXRvKiB3cmFwcGVyID0ganNEeW5hbWljQ2FzdDxKU01h
cExpa2UqPih2bSwgdmFsdWUpKQotICAgICAgICByZXR1cm4gJndyYXBwZXItPndyYXBwZWQoKTsK
LSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>