<?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>171487</bug_id>
          
          <creation_ts>2017-04-30 15:28:50 -0700</creation_ts>
          <short_desc>Remove support for legacy Notifications</short_desc>
          <delta_ts>2017-05-10 17:31:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>171714</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jonlee</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1303155</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 15:28:50 -0700</bug_when>
    <thetext>Remove support for legacy Notifications</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303166</commentid>
    <comment_count>1</comment_count>
      <attachid>308703</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 18:02:33 -0700</bug_when>
    <thetext>Created attachment 308703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303167</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 18:04:02 -0700</bug_when>
    <thetext>I discussed this briefly with Jon Lee in the passed, and he was not against the idea on the condition that gmail&apos;s use of local notifications still worked. I checked, and gmail&apos;s use of local notifications works just fine without legacy notifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303171</commentid>
    <comment_count>3</comment_count>
      <attachid>308704</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 18:28:48 -0700</bug_when>
    <thetext>Created attachment 308704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303172</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 18:29:40 -0700</bug_when>
    <thetext>First patch didn&apos;t apply, but I am thinking the tools may be broken again, and not working for removed files :(. Maybe this second upload will prove me wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303173</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 18:34:04 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #4)
&gt; First patch didn&apos;t apply, but I am thinking the tools may be broken again,
&gt; and not working for removed files :(. Maybe this second upload will prove me
&gt; wrong.

Bummer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303175</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 18:36:06 -0700</bug_when>
    <thetext>Filed https://bugs.webkit.org/show_bug.cgi?id=171488 to track the patch applying issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303178</commentid>
    <comment_count>7</comment_count>
      <attachid>308706</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 19:13:47 -0700</bug_when>
    <thetext>Created attachment 308706
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303179</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-30 19:14:31 -0700</bug_when>
    <thetext>Attempting workout by not removing any directories, only the files within. Will need second pass to remove empty directories.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303319</commentid>
    <comment_count>9</comment_count>
      <attachid>308743</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-05-01 12:05:39 -0700</bug_when>
    <thetext>Created attachment 308743
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304817</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-05-04 13:56:03 -0700</bug_when>
    <thetext>Committed r216206: &lt;http://trac.webkit.org/changeset/216206&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305007</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-04 22:33:32 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 171714</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305144</commentid>
    <comment_count>12</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-05-05 09:22:19 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #11)
&gt; Re-opened since this is blocked by bug 171714

The rollout does appear to have stopped the LayoutTest crashes seen on the bots.

Crashlog and details in: https://bugs.webkit.org/show_bug.cgi?id=171705</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306681</commentid>
    <comment_count>13</comment_count>
      <attachid>309564</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-05-09 17:17:07 -0700</bug_when>
    <thetext>Created attachment 309564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307090</commentid>
    <comment_count>14</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-05-10 17:29:39 -0700</bug_when>
    <thetext>Committed r216641: &lt;http://trac.webkit.org/changeset/216641&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307091</commentid>
    <comment_count>15</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-05-10 17:31:07 -0700</bug_when>
    <thetext>Re-landed with fix to use ActiveDOMObject::stop, rather than ContextDestructionObserver::contextDestroyed as the override where we unregister the notification.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308703</attachid>
            <date>2017-04-30 18:02:33 -0700</date>
            <delta_ts>2017-04-30 18:28:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171487-20170430180212.patch</filename>
            <type>text/plain</type>
            <size>321300</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjAw
MikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA0
LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBv
cnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zTWFjLmNtYWtlOgorICAg
ICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvdG9vbHMv
dnNwcm9wcy9GZWF0dXJlRGVmaW5lcy5wcm9wczoKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvdG9v
bHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnByb3BzOgorCiAyMDE3LTA0LTI1ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdW1dpbl0gRW5h
YmxlIG9mIFgtQ29udGVudC1UeXBlLU9wdGlvbnM6IG5vc25pZmYgaGVhZGVyCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNC0z
MCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0
IGZvciBsZWdhY3kgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRpb24gb2YgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TLgorCiAyMDE3LTA0LTMwICBPbGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwu
Y29tPgogCiAgICAgICAgIFdlIGluaXRpYWxpemUgZnVuY3Rpb25zIHRvbyBlYXJseSBpbiBhbiBl
dmFsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTYwMDIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNiBAQCBFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSA9IEVOQUJMRV9LCiBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUgPSBF
TkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEU7CiBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQTsKLUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlM7CiBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyA9
IEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFVFRFUlBSRVNTW3Nkaz1p
cGhvbmUqXSA9IEVOQUJMRV9MRVRURVJQUkVTUzsKIEVOQUJMRV9MSU5LX1BSRUZFVENIID0gOwpA
QCAtMjU1LDQgKzI1NCw0IEBAIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UXyA9ICQoRU5B
QkwKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX05PID0gRU5BQkxFX1ZBUklBVElPTl9G
T05UUzsKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX1lFUyA9IDsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVO
QUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RF
TEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRF
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJU
TEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FO
SU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90
aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRpb24gb2Yg
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TLgorCiAyMDE3LTA0LTI5ICBZdXN1a2UgU3V6dWtp
ICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIE1vdmUgV2ViQ29yZSBDUFVUaW1l
IHRvIFdURiBhbmQgaW1wbGVtZW50IGl0IGluIGFsbCB0aGUgcGxhdGZvcm1zCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3Rm
L0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XVEYvd3RmL0Zl
YXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzOCwxMCArNTM4LDYgQEAgdGhlIHB1
YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0bwogI2RlZmluZSBFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSAwCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKLSNkZWZpbmUgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIDAKLSNl
bmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpCiAjZGVm
aW5lIEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTIDAKICNlbmRpZgpJbmRleDogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICBSZW1vdmUgZmlsZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRpb24gb2YgRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgUmVtb3ZlIElETCBmaWxlcy4KKworICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oOiBSZW1vdmVkLgorICAg
ICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIE1vZHVsZXMv
bm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlm
aWNhdGlvbnMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29y
a2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5p
bjoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJUaHJlYWQuaDoKKyAgICAgICAgUmVtb3ZlIGNvZGUgbGVnYWN5IE5vdGlmaWNhdGlvbiBjb2Rl
LiBSZXBsYWNlIHVzZSBvZiBOb3RpZmljYXRpb25DZW50ZXIgd2l0aCBkaXJlY3QKKyAgICAgICAg
Y2FsbHMgdG8gdGhlIE5vdGlmaWNhdGlvbkNsaWVudC4KKwogMjAxNy0wNC0zMCAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbGVnYWN5
IENsaWVudFJlY3QgLyBDbGllbnRSZWN0TGlzdApJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJl
dmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0yNjEsMTEgKzI2MSw4IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVT
CiAKICAgICBNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRp
bHMuaWRsCiAKLSAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9u
cy5pZGwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAotICAgIE1v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCiAgICAgTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKLSAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbAogCiAg
ICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuaWRsCiAKQEAgLTk4Miwx
MSArOTc5LDggQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogCiAgICAgTW9kdWxlcy9uYXZpZ2F0b3Jj
b250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmNwcAogCi0gICAgTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwCiAgICAgTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5jcHAKLSAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmNwcAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25D
b250cm9sbGVyLmNwcAotICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29w
ZU5vdGlmaWNhdGlvbnMuY3BwCiAKICAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyLmNwcAogICAgIE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2
ZW50LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMTYw
MDIpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkp
CkBAIC0yMDIsMTEgKzIwMiw4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2lnbmFsaW5nU3RhdGUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tFdmVudC5pZGwgXAotICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKLSAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9xdW90YS9OYXZpZ2F0b3JTdG9yYWdlUXVvdGEuaWRsIFwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEzOSw2IEBAIEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9LRVlCT0FSRF9D
T0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsKIEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gqXSA9IEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TW3Nk
az1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVf
TEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwogRU5BQkxFX0xJ
TktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklBVElPTl9GT05U
U19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfTk8gPSBF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfWUVT
ID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9E
RVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5j
cHAJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IkRPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCIKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLSNpbmNsdWRlICJET01XaW5kb3cuaCIK
LSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgot
I2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotRE9NV2luZG93Tm90aWZpY2F0aW9uczo6RE9NV2luZG93
Tm90aWZpY2F0aW9ucyhET01XaW5kb3cqIHdpbmRvdykKLSAgICA6IERPTVdpbmRvd1Byb3BlcnR5
KHdpbmRvdy0+ZnJhbWUoKSkKLSAgICAsIG1fd2luZG93KHdpbmRvdykKLXsKLX0KLQotRE9NV2lu
ZG93Tm90aWZpY2F0aW9uczo6fkRPTVdpbmRvd05vdGlmaWNhdGlvbnMoKQotewotfQotCi1jb25z
dCBjaGFyKiBET01XaW5kb3dOb3RpZmljYXRpb25zOjpzdXBwbGVtZW50TmFtZSgpCi17Ci0gICAg
cmV0dXJuICJET01XaW5kb3dOb3RpZmljYXRpb25zIjsKLX0KLQotRE9NV2luZG93Tm90aWZpY2F0
aW9ucyogRE9NV2luZG93Tm90aWZpY2F0aW9uczo6ZnJvbShET01XaW5kb3cqIHdpbmRvdykKLXsK
LSAgICBET01XaW5kb3dOb3RpZmljYXRpb25zKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8RE9N
V2luZG93Tm90aWZpY2F0aW9ucyo+KFN1cHBsZW1lbnQ8RE9NV2luZG93Pjo6ZnJvbSh3aW5kb3cs
IHN1cHBsZW1lbnROYW1lKCkpKTsKLSAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAgICAgYXV0
byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxET01XaW5kb3dOb3RpZmljYXRpb25z
Pih3aW5kb3cpOwotICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKLSAg
ICAgICAgcHJvdmlkZVRvKHdpbmRvdywgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBw
bGVtZW50KSk7Ci0gICAgfQotICAgIHJldHVybiBzdXBwbGVtZW50OwotfQotCi1Ob3RpZmljYXRp
b25DZW50ZXIqIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoRE9N
V2luZG93JiB3aW5kb3cpCi17Ci0gICAgcmV0dXJuIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmZy
b20oJndpbmRvdyktPndlYmtpdE5vdGlmaWNhdGlvbnMoKTsKLX0KLQotdm9pZCBET01XaW5kb3dO
b3RpZmljYXRpb25zOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKQotewot
ICAgIG1fc3VzcGVuZGVkTm90aWZpY2F0aW9uQ2VudGVyID0gV1RGTW92ZShtX25vdGlmaWNhdGlv
bkNlbnRlcik7Ci0gICAgRE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpOwotfQotCi12b2lkIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OnJlY29u
bmVjdEZyYW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbihGcmFtZSogZnJhbWUpCi17Ci0gICAgRE9N
V2luZG93UHJvcGVydHk6OnJlY29ubmVjdEZyYW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbihmcmFt
ZSk7Ci0gICAgbV9ub3RpZmljYXRpb25DZW50ZXIgPSBXVEZNb3ZlKG1fc3VzcGVuZGVkTm90aWZp
Y2F0aW9uQ2VudGVyKTsKLX0KLQotdm9pZCBET01XaW5kb3dOb3RpZmljYXRpb25zOjp3aWxsRGVz
dHJveUdsb2JhbE9iamVjdEluQ2FjaGVkRnJhbWUoKQotewotICAgIG1fc3VzcGVuZGVkTm90aWZp
Y2F0aW9uQ2VudGVyID0gbnVsbHB0cjsKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6d2lsbERlc3Ry
b3lHbG9iYWxPYmplY3RJbkNhY2hlZEZyYW1lKCk7Ci19Ci0KLXZvaWQgRE9NV2luZG93Tm90aWZp
Y2F0aW9uczo6d2lsbERlc3Ryb3lHbG9iYWxPYmplY3RJbkZyYW1lKCkKLXsKLSAgICBtX25vdGlm
aWNhdGlvbkNlbnRlciA9IG51bGxwdHI7Ci0gICAgRE9NV2luZG93UHJvcGVydHk6OndpbGxEZXN0
cm95R2xvYmFsT2JqZWN0SW5GcmFtZSgpOwotfQotCi12b2lkIERPTVdpbmRvd05vdGlmaWNhdGlv
bnM6OndpbGxEZXRhY2hHbG9iYWxPYmplY3RGcm9tRnJhbWUoKQotewotICAgIG1fbm90aWZpY2F0
aW9uQ2VudGVyID0gbnVsbHB0cjsKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6d2lsbERldGFjaEds
b2JhbE9iamVjdEZyb21GcmFtZSgpOwotfQotCi1Ob3RpZmljYXRpb25DZW50ZXIqIERPTVdpbmRv
d05vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoKQotewotICAgIGlmICghbV93aW5k
b3ctPmlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLQotICAgIGlmIChtX25vdGlmaWNhdGlvbkNlbnRlcikKLSAgICAgICAgcmV0dXJuIG1fbm90
aWZpY2F0aW9uQ2VudGVyLmdldCgpOwotCi0gICAgYXV0byogZG9jdW1lbnQgPSBtX3dpbmRvdy0+
ZG9jdW1lbnQoKTsKLSAgICBpZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAKLSAgICBhdXRvKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2Up
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgYXV0byogcHJvdmlkZXIgPSBOb3RpZmlj
YXRpb25Db250cm9sbGVyOjpjbGllbnRGcm9tKCpwYWdlKTsKLSAgICBpZiAoIXByb3ZpZGVyKQot
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gTm90
aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGUoKmRvY3VtZW50LCBwcm92aWRlcik7Ci0gICAgcmV0dXJu
IG1fbm90aWZpY2F0aW9uQ2VudGVyLmdldCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RP
TVdpbmRvd05vdGlmaWNhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oCShyZXZpc2lvbiAyMTYw
MDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90
aWZpY2F0aW9ucy5oCShub25leGlzdGVudCkKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAwNiwgMjAwNywgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0
cyBzdWJzaWRpYXJ5KC1pZXMpCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5Lmgi
Ci0jaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBET01XaW5kb3c7Ci1jbGFzcyBO
b3RpZmljYXRpb25DZW50ZXI7Ci0KLWNsYXNzIERPTVdpbmRvd05vdGlmaWNhdGlvbnMgOiBwdWJs
aWMgU3VwcGxlbWVudDxET01XaW5kb3c+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewotcHVi
bGljOgotICAgIGV4cGxpY2l0IERPTVdpbmRvd05vdGlmaWNhdGlvbnMoRE9NV2luZG93Kik7Ci0g
ICAgdmlydHVhbCB+RE9NV2luZG93Tm90aWZpY2F0aW9ucygpOwotCi0gICAgc3RhdGljIE5vdGlm
aWNhdGlvbkNlbnRlciogd2Via2l0Tm90aWZpY2F0aW9ucyhET01XaW5kb3cmKTsKLSAgICBzdGF0
aWMgRE9NV2luZG93Tm90aWZpY2F0aW9ucyogZnJvbShET01XaW5kb3cqKTsKLQotICAgIHZvaWQg
ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCByZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqKSBvdmVycmlkZTsK
LSAgICB2b2lkIHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0SW5DYWNoZWRGcmFtZSgpIG92ZXJyaWRl
OwotICAgIHZvaWQgd2lsbERlc3Ryb3lHbG9iYWxPYmplY3RJbkZyYW1lKCkgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCB3aWxsRGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCkgb3ZlcnJpZGU7Ci0KLXBy
aXZhdGU6Ci0gICAgTm90aWZpY2F0aW9uQ2VudGVyKiB3ZWJraXROb3RpZmljYXRpb25zKCk7Ci0g
ICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7Ci0KLSAgICBET01XaW5kb3cq
IG1fd2luZG93OwotICAgIFJlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IG1fbm90aWZpY2F0aW9u
Q2VudGVyOwotICAgIFJlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IG1fc3VzcGVuZGVkTm90aWZp
Y2F0aW9uQ2VudGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmlj
YXRpb25zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwJKHJldmlzaW9uIDIxNjAwMikKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25z
LmlkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBD
b25kaXRpb25hbD1OT1RJRklDQVRJT05TfExFR0FDWV9OT1RJRklDQVRJT05TLAotXSBwYXJ0aWFs
IGludGVyZmFjZSBET01XaW5kb3cgewotI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNhdGlvbnM7Ci0jZW5kaWYKLX07
Ci0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNzggKzMxLDMzIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKIAotI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgotI2luY2x1ZGUgIkRPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50
ZXIuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgi
CiAjaW5jbHVkZSAiV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotTm90aWZpY2F0
aW9uOjpOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5
LCBVUkwmJiBpY29uVVJMLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBOb3RpZmlj
YXRpb25DZW50ZXImIG5vdGlmaWNhdGlvbkNlbnRlcikKLSAgICA6IEFjdGl2ZURPTU9iamVjdCgm
Y29udGV4dCkKLSAgICAsIG1faWNvbihXVEZNb3ZlKGljb25VUkwpKQotICAgICwgbV90aXRsZSh0
aXRsZSkKLSAgICAsIG1fYm9keShib2R5KQotICAgICwgbV9ub3RpZmljYXRpb25DZW50ZXIoJm5v
dGlmaWNhdGlvbkNlbnRlcikKLXsKLX0KLQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKLQogTm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTdHJpbmcmIHRpdGxlKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZkb2N1bWVudCkKICAg
ICAsIG1fdGl0bGUodGl0bGUpCiAgICAgLCBtX3N0YXRlKElkbGUpCi0gICAgLCBtX25vdGlmaWNh
dGlvbkNlbnRlcihET01XaW5kb3dOb3RpZmljYXRpb25zOjp3ZWJraXROb3RpZmljYXRpb25zKCpk
b2N1bWVudC5kb21XaW5kb3coKSkpCiAgICAgLCBtX3Rhc2tUaW1lcihzdGQ6Om1ha2VfdW5pcXVl
PFRpbWVyPihbdGhpc10gKCkgeyBzaG93KCk7IH0pKQogewotICAgIC8vIEZJWE1FOiBTZWVtcyB0
aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNob3VsZCBub3QgYmUgY2hh
bmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCi0gICAgLy8gQnV0IHRoZSByZXN0IG9mIHRoZSBjb2Rl
IGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0IGNhc2UuCi0gICAgQVNT
RVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7CiAgICAgbV90YXNrVGltZXItPnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCi0jZW5kaWYKLQogTm90aWZpY2F0aW9uOjp+Tm90aWZpY2F0
aW9uKCkgCiB7CiB9CiAKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLUV4Y2Vw
dGlvbk9yPFJlZjxOb3RpZmljYXRpb24+PiBOb3RpZmljYXRpb246OmNyZWF0ZShjb25zdCBTdHJp
bmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTm90aWZpY2F0aW9uQ2VudGVyJiBwcm92aWRl
cikKLXsgCi0gICAgaWYgKHByb3ZpZGVyLmNoZWNrUGVybWlzc2lvbigpICE9IE5vdGlmaWNhdGlv
bkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBT
RUNVUklUWV9FUlIgfTsKLQotICAgIFVSTCBjb21wbGV0ZWRJY29uVVJMID0gaWNvblVSTC5pc0Vt
cHR5KCkgPyBVUkwoKSA6IGNvbnRleHQuY29tcGxldGVVUkwoaWNvblVSTCk7Ci0gICAgaWYgKCFj
b21wbGV0ZWRJY29uVVJMLmlzRW1wdHkoKSAmJiAhY29tcGxldGVkSWNvblVSTC5pc1ZhbGlkKCkp
Ci0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBTWU5UQVhfRVJSIH07Ci0KLSAgICBhdXRvIG5v
dGlmaWNhdGlvbiA9IGFkb3B0UmVmKCpuZXcgTm90aWZpY2F0aW9uKHRpdGxlLCBib2R5LCBXVEZN
b3ZlKGNvbXBsZXRlZEljb25VUkwpLCBjb250ZXh0LCBwcm92aWRlcikpOwotICAgIG5vdGlmaWNh
dGlvbi5nZXQoKS5zdXNwZW5kSWZOZWVkZWQoKTsKLSAgICByZXR1cm4gV1RGTW92ZShub3RpZmlj
YXRpb24pOwotfQotCi0jZW5kaWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQotCiBzdGF0
aWMgU3RyaW5nIGRpcmVjdGlvblN0cmluZyhOb3RpZmljYXRpb246OkRpcmVjdGlvbiBkaXJlY3Rp
b24pCiB7CiAgICAgLy8gRklYTUU6IFN0b3JpbmcgdGhpcyBhcyBhIHN0cmluZyBpcyBub3QgdGhl
IHJpZ2h0IHdheSB0byBkbyBpdC4KQEAgLTEyMiwzOCArNzcsMzggQEAgc3RhdGljIFN0cmluZyBk
aXJlY3Rpb25TdHJpbmcoTm90aWZpY2F0aQogUmVmPE5vdGlmaWNhdGlvbj4gTm90aWZpY2F0aW9u
OjpjcmVhdGUoRG9jdW1lbnQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IE9w
dGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0byBub3RpZmljYXRpb24gPSBhZG9wdFJlZigqbmV3
IE5vdGlmaWNhdGlvbihjb250ZXh0LCB0aXRsZSkpOwotICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5t
X2JvZHkgPSBvcHRpb25zLmJvZHk7Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLm1fdGFnID0gb3B0
aW9ucy50YWc7Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLm1fbGFuZyA9IG9wdGlvbnMubGFuZzsK
LSAgICBub3RpZmljYXRpb24uZ2V0KCkubV9kaXJlY3Rpb24gPSBkaXJlY3Rpb25TdHJpbmcob3B0
aW9ucy5kaXIpOworICAgIG5vdGlmaWNhdGlvbi0+bV9ib2R5ID0gb3B0aW9ucy5ib2R5OworICAg
IG5vdGlmaWNhdGlvbi0+bV90YWcgPSBvcHRpb25zLnRhZzsKKyAgICBub3RpZmljYXRpb24tPm1f
bGFuZyA9IG9wdGlvbnMubGFuZzsKKyAgICBub3RpZmljYXRpb24tPm1fZGlyZWN0aW9uID0gZGly
ZWN0aW9uU3RyaW5nKG9wdGlvbnMuZGlyKTsKICAgICBpZiAoIW9wdGlvbnMuaWNvbi5pc0VtcHR5
KCkpIHsKICAgICAgICAgYXV0byBpY29uVVJMID0gY29udGV4dC5jb21wbGV0ZVVSTChvcHRpb25z
Lmljb24pOwogICAgICAgICBpZiAoaWNvblVSTC5pc1ZhbGlkKCkpCi0gICAgICAgICAgICBub3Rp
ZmljYXRpb24uZ2V0KCkubV9pY29uID0gaWNvblVSTDsKKyAgICAgICAgICAgIG5vdGlmaWNhdGlv
bi0+bV9pY29uID0gaWNvblVSTDsKICAgICB9Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLnN1c3Bl
bmRJZk5lZWRlZCgpOworICAgIG5vdGlmaWNhdGlvbi0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAg
cmV0dXJuIG5vdGlmaWNhdGlvbjsKIH0KIAotI2VuZGlmCi0KIHZvaWQgTm90aWZpY2F0aW9uOjpz
aG93KCkgCiB7CiAgICAgLy8gcHJldmVudCBkb3VibGUtc2hvd2luZwotICAgIGlmIChtX3N0YXRl
ID09IElkbGUgJiYgbV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgpKSB7Ci0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCi0gICAgICAgIGF1dG8qIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4o
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkucGFnZSgpOwotICAgICAgICBpZiAoIXBhZ2UpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChOb3RpZmljYXRpb25Db250cm9sbGVyOjpm
cm9tKHBhZ2UpLT5jbGllbnQoKS5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSB7Ci0gICAgICAg
ICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotI2VuZGlmCi0gICAgICAgIGlmIChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCktPnNo
b3codGhpcykpIHsKLSAgICAgICAgICAgIG1fc3RhdGUgPSBTaG93aW5nOwotICAgICAgICAgICAg
c2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwotICAgICAgICB9CisgICAgaWYgKG1fc3RhdGUgIT0g
SWRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byogcGFnZSA9IGRvd25jYXN0PERvY3Vt
ZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQor
ICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiBjbGllbnQgPSBOb3RpZmljYXRpb25Db250cm9s
bGVyOjpmcm9tKHBhZ2UpLT5jbGllbnQoKTsKKworICAgIGlmIChjbGllbnQuY2hlY2tQZXJtaXNz
aW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uQWxsb3dlZCkgeworICAgICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBpZiAoY2xpZW50LnNob3codGhpcykpIHsKKyAgICAgICAgbV9z
dGF0ZSA9IFNob3dpbmc7CisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKICAgICB9
CiB9CiAKQEAgLTE2MiwxMCArMTE3LDEyIEBAIHZvaWQgTm90aWZpY2F0aW9uOjpjbG9zZSgpCiAg
ICAgc3dpdGNoIChtX3N0YXRlKSB7CiAgICAgY2FzZSBJZGxlOgogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFNob3dpbmc6Ci0gICAgICAgIGlmIChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50
KCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCktPmNhbmNlbCh0
aGlzKTsKKyAgICBjYXNlIFNob3dpbmc6IHsKKyAgICAgICAgYXV0byogcGFnZSA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCk7CisgICAgICAgIGlm
IChwYWdlKQorICAgICAgICAgICAgTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShwYWdlKS0+
Y2xpZW50KCkuY2FuY2VsKHRoaXMpOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBD
bG9zZWQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTE3NCw4ICsxMzEsMTAgQEAgdm9pZCBO
b3RpZmljYXRpb246OmNsb3NlKCkKIHZvaWQgTm90aWZpY2F0aW9uOjpjb250ZXh0RGVzdHJveWVk
KCkKIHsKICAgICBBY3RpdmVET01PYmplY3Q6OmNvbnRleHREZXN0cm95ZWQoKTsKLSAgICBpZiAo
bV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgpKQotICAgICAgICBtX25vdGlmaWNhdGlvbkNl
bnRlci0+Y2xpZW50KCktPm5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZCh0aGlzKTsKKworICAg
IGF1dG8qIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4oKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSkucGFnZSgpOworICAgIGlmIChwYWdlKQorICAgICAgICBOb3RpZmljYXRpb25Db250cm9sbGVy
Ojpmcm9tKHBhZ2UpLT5jbGllbnQoKS5ub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQodGhpcyk7
CiB9CiAKIGNvbnN0IGNoYXIqIE5vdGlmaWNhdGlvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0CkBAIC0yMTksOCArMTc4LDYgQEAgdm9pZCBOb3RpZmljYXRpb246OmRpc3BhdGNoRXJyb3JF
dmVudCgpCiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJv
ckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQot
CiBTdHJpbmcgTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
ICAgICByZXR1cm4gcGVybWlzc2lvblN0cmluZyhOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9t
KGRvY3VtZW50LnBhZ2UoKSktPmNsaWVudCgpLmNoZWNrUGVybWlzc2lvbigmZG9jdW1lbnQpKTsK
QEAgLTI0NSw4ICsyMDIsNiBAQCB2b2lkIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24o
RG9jCiAgICAgTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShkb2N1bWVudC5wYWdlKCkpLT5j
bGllbnQoKS5yZXF1ZXN0UGVybWlzc2lvbigmZG9jdW1lbnQsIFdURk1vdmUoY2FsbGJhY2spKTsK
IH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCShyZXZpc2lvbiAyMTYwMDIpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKQEAgLTQ0LDE3ICs0NCwxMSBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBEb2N1bWVudDsKLWNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKIGNsYXNz
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIAogY2xhc3MgTm90aWZpY2F0aW9uIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
LSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPE5vdGlmaWNhdGlvbj4+IGNyZWF0ZShjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE5vdGlmaWNhdGlvbkNlbnRlciYpOwotI2VuZGlmCi0K
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBlbnVtIGNsYXNzIERpcmVjdGlvbiB7IEF1
dG8sIEx0ciwgUnRsIH07CiAgICAgc3RydWN0IE9wdGlvbnMgewogICAgICAgICBEaXJlY3Rpb24g
ZGlyOwpAQCAtNjQsNyArNTgsNiBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyBpY29uOwogICAg
IH07CiAgICAgc3RhdGljIFJlZjxOb3RpZmljYXRpb24+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0
IFN0cmluZyYgdGl0bGUsIGNvbnN0IE9wdGlvbnMmKTsKLSNlbmRpZgogICAgIAogICAgIHZpcnR1
YWwgfk5vdGlmaWNhdGlvbigpOwogCkBAIC05NCwxMSArODcsOSBAQCBwdWJsaWM6CiAKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGZpbmFsaXplKCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBzdGF0aWMgU3RyaW5nIHBlcm1pc3Npb24oRG9jdW1lbnQmKTsKICAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgU3RyaW5nIHBlcm1pc3Npb25TdHJpbmcoTm90aWZpY2F0aW9uQ2xpZW50
OjpQZXJtaXNzaW9uKTsKICAgICBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihEb2N1bWVu
dCYsIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpOwotI2VuZGlmCiAK
ICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7IH0KIApAQCAtMTA2LDEzICs5Nyw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWZDb3VudGVk
OjpkZXJlZjsKIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0g
ICAgTm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwg
VVJMJiYgaWNvblVSTCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE5vdGlmaWNhdGlvbkNlbnRl
ciYpOwotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRp
b24oRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSNlbmRpZgogCiAgICAgRXZlbnRU
YXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBOb3RpZmljYXRpb25FdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KIApAQCAtMTMzLDEzICsx
MTgsOSBAQCBwcml2YXRlOgogICAgIGVudW0gU3RhdGUgeyBJZGxlLCBTaG93aW5nLCBDbG9zZWQg
fTsKICAgICBTdGF0ZSBtX3N0YXRlIHsgSWRsZSB9OwogCi0gICAgUmVmUHRyPE5vdGlmaWNhdGlv
bkNlbnRlcj4gbV9ub3RpZmljYXRpb25DZW50ZXI7Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fdGFza1RpbWVyOwotI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCwzNiArMzAsMzggQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9Tk9USUZJ
Q0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUywKKyAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJ
T05TLAogICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9S
VCwKLSNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FU
SU9OUwogICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0aXRsZSwgb3B0aW9uYWwgTm90aWZpY2F0
aW9uT3B0aW9ucyBvcHRpb25zKSwKICAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPURvY3VtZW50LAot
I2VuZGlmCiBdIGludGVyZmFjZSBOb3RpZmljYXRpb24gOiBFdmVudFRhcmdldCB7CiAgICAgdm9p
ZCBzaG93KCk7Ci0gICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9OT1RJRklDQVRJT05TLCBJbXBsZW1l
bnRlZEFzPWNsb3NlXSB2b2lkIGNhbmNlbCgpOwotICAgIFtDb25kaXRpb25hbD1OT1RJRklDQVRJ
T05TXSB2b2lkIGNsb3NlKCk7CisgICAgdm9pZCBjbG9zZSgpOwogCi0gICAgW0NvbmRpdGlvbmFs
PU5PVElGSUNBVElPTlMsIENhbGxXaXRoPURvY3VtZW50XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBwZXJtaXNzaW9uOwotICAgIFtDb25kaXRpb25hbD1OT1RJRklDQVRJT05T
LCBDYWxsV2l0aD1Eb2N1bWVudF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24ob3B0aW9u
YWwgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBjYWxsYmFjayk7CisgICAgW0NhbGxX
aXRoPURvY3VtZW50XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwZXJtaXNz
aW9uOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24ob3B0aW9uYWwgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBjYWxsYmFjayk7CiAK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2xpY2s7CisgICAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbmVycm9yOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jbG9zZTsKICAg
ICBbSW1wbGVtZW50ZWRBcz1vbnNob3ddIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25kaXNwbGF5
OwotICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lcnJvcjsKICAgICBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9uc2hvdzsKIAotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfTk9USUZJQ0FUSU9O
U10gYXR0cmlidXRlIERPTVN0cmluZyBkaXI7Ci0gICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9OT1RJ
RklDQVRJT05TXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlcGxhY2VJZDsKLQotICAgIFtDb25kaXRp
b25hbD1OT1RJRklDQVRJT05TXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhZzsKKyAgICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHRhZzsKIH07CiAKLVtDb25kaXRpb25hbD1OT1RJRklDQVRJT05TXSBlbnVt
IE5vdGlmaWNhdGlvbkRpcmVjdGlvbiB7ICJhdXRvIiwgImx0ciIsICJydGwiIH07CitbCisgICAg
Q29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUworXSBlbnVtIE5vdGlmaWNhdGlvbkRpcmVjdGlvbiB7
CisgICAgImF1dG8iLAorICAgICJsdHIiLAorICAgICJydGwiCit9OwogCi1bQ29uZGl0aW9uYWw9
Tk9USUZJQ0FUSU9OU10gZGljdGlvbmFyeSBOb3RpZmljYXRpb25PcHRpb25zIHsKK1sKKyAgICBD
b25kaXRpb25hbD1OT1RJRklDQVRJT05TCitdIGRpY3Rpb25hcnkgTm90aWZpY2F0aW9uT3B0aW9u
cyB7CiAgICAgTm90aWZpY2F0aW9uRGlyZWN0aW9uIGRpciA9ICJhdXRvIjsKICAgICBET01TdHJp
bmcgbGFuZyA9ICIiOwogICAgIERPTVN0cmluZyBib2R5ID0gIiI7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
NTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAq
IG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0g
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotCi0jaW5jbHVkZSAiTm90aWZp
Y2F0aW9uQ2VudGVyLmgiCi0KLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAi
Tm90aWZpY2F0aW9uLmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPE5vdGlmaWNhdGlvbkNlbnRlcj4gTm90aWZpY2F0aW9u
Q2VudGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTm90aWZpY2F0
aW9uQ2xpZW50KiBjbGllbnQpCi17Ci0gICAgYXV0byBub3RpZmljYXRpb25DZW50ZXIgPSBhZG9w
dFJlZigqbmV3IE5vdGlmaWNhdGlvbkNlbnRlcihjb250ZXh0LCBjbGllbnQpKTsKLSAgICBub3Rp
ZmljYXRpb25DZW50ZXItPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiBub3RpZmljYXRp
b25DZW50ZXI7Ci19Ci0KLU5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90aWZpY2F0aW9uQ2VudGVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE5vdGlmaWNhdGlvbkNsaWVudCogY2xpZW50
KQotICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQotICAgICwgbV9jbGllbnQoY2xpZW50
KQotICAgICwgbV90aW1lcihbdGhpc10oKSB7IHRpbWVyRmlyZWQoKTsgfSkKLXsKLX0KLQotI2lm
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotRXhjZXB0aW9uT3I8UmVmPE5vdGlmaWNh
dGlvbj4+IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uKGNvbnN0IFN0cmlu
ZyYgaWNvblVSSSwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5KQotewot
ICAgIGlmICghbV9jbGllbnQgfHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfU1RBVEVfRVJSIH07Ci0gICAgcmV0dXJuIE5vdGlm
aWNhdGlvbjo6Y3JlYXRlKHRpdGxlLCBib2R5LCBpY29uVVJJLCAqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCAqdGhpcyk7Ci19Ci0KLWludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlz
c2lvbigpCi17Ci0gICAgaWYgKCFtX2NsaWVudCB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KQotICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwot
Ci0gICAgc3dpdGNoIChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkt
PmNhblNob3dOb3RpZmljYXRpb25zKCkpIHsKLSAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdh
eXNBbGxvdzoKLSAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFs
bG93ZWQ7Ci0gICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToKLSAgICAgICAgcmV0
dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZDsKLSAgICBjYXNlIFNlY3Vy
aXR5T3JpZ2luOjpBc2s6Ci0gICAgICAgIHJldHVybiBtX2NsaWVudC0+Y2hlY2tQZXJtaXNzaW9u
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIG1fY2xpZW50LT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKTsKLX0KLQotdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJt
aXNzaW9uKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCi17Ci0gICAgaWYgKCFtX2Ns
aWVudCB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBzd2l0Y2ggKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2Fu
U2hvd05vdGlmaWNhdGlvbnMoKSkgewotICAgIGNhc2UgU2VjdXJpdHlPcmlnaW46OkFsd2F5c0Fs
bG93OgotICAgIGNhc2UgU2VjdXJpdHlPcmlnaW46OkFsd2F5c0Rlbnk6Ci0gICAgICAgIGlmICht
X2NhbGxiYWNrcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIHJlZigpOyAvLyBCYWxhbmNlZCBi
eSB0aGUgZGVyZWZzIGluIE5vdGlmaWNhdGlvbkNlbnRlcjo6c3RvcCBhbmQgTm90aWZpY2F0aW9u
Q2VudGVyOjp0aW1lckZpcmVkLgotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKLSAgICAgICAgfQotICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
LSAgICAgICAgICAgIGlmIChjYWxsYmFjaykKLSAgICAgICAgICAgICAgICBjYWxsYmFjay0+aGFu
ZGxlRXZlbnQoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIFNlY3Vy
aXR5T3JpZ2luOjpBc2s6Ci0gICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0UGVybWlzc2lvbihzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoY2FsbGJhY2spKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIG1fY2xpZW50LT5yZXF1
ZXN0UGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoY2FsbGJhY2sp
KTsKLX0KLQotI2VuZGlmCi0KLXZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wKCkKLXsKLSAg
ICBpZiAoIW1fY2xpZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBDbGVhciBtX2NsaWVu
dCBpbW1lZGlhdGVseSB0byBndWFyYW50ZWUgcmVlbnRyYW50IGNhbGxzIHRvIE5vdGlmaWNhdGlv
bkNlbnRlciBkbyBub3RoaW5nLgotICAgIC8vIEFsc28gcHJvdGVjdCB8dGhpc3wgc28gaXQncyBu
b3QgaW5kaXJlY3RseSBkZXN0cm95ZWQgdW5kZXIgdXMgYnkgd29yayBkb25lIGJ5IHRoZSBjbGll
bnQuCi0gICAgYXV0byYgY2xpZW50ID0gKnN0ZDo6ZXhjaGFuZ2UobV9jbGllbnQsIG51bGxwdHIp
OwotICAgIFJlZjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotCi0g
ICAgaWYgKCFtX2NhbGxiYWNrcy5pc0VtcHR5KCkpCi0gICAgICAgIGRlcmVmKCk7IC8vIEJhbGFu
Y2VkIGJ5IHRoZSByZWYgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbi4K
LQotICAgIG1fdGltZXIuc3RvcCgpOwotICAgIG1fY2FsbGJhY2tzLmNsZWFyKCk7Ci0KLSAgICBj
bGllbnQuY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSk7Ci0gICAgY2xpZW50LmNsZWFyTm90aWZpY2F0aW9ucyhzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwotfQotCi1jb25zdCBjaGFyKiBOb3RpZmljYXRpb25DZW50ZXI6OmFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdAotewotICAgIHJldHVybiAiTm90aWZpY2F0aW9uQ2VudGVyIjsKLX0KLQot
Ym9vbCBOb3RpZmljYXRpb25DZW50ZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdAotewotICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgTm90aWZpY2F0
aW9ucyBiZWNhdXNlIHRob3NlIGFyZSBBY3RpdmVET01PYmplY3QgdG9vLgotICAgIC8vIFRoZSBO
b3RpZmljYXRpb25DZW50ZXIgY2FuIHNhZmVseSBiZSBzdXNwZW5kZWQgaWYgdGhlcmUgYXJlIG5v
IHBlbmRpbmcgcGVybWlzc2lvbiByZXF1ZXN0cy4KLSAgICByZXR1cm4gbV9jYWxsYmFja3MuaXNF
bXB0eSgpICYmICghbV9jbGllbnQgfHwgIW1fY2xpZW50LT5oYXNQZW5kaW5nUGVybWlzc2lvblJl
cXVlc3RzKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpOwotfQotCi12b2lkIE5vdGlmaWNhdGlv
bkNlbnRlcjo6dGltZXJGaXJlZCgpCi17Ci0gICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICBhdXRv
IGNhbGxiYWNrcyA9IFdURk1vdmUobV9jYWxsYmFja3MpOwotICAgIGZvciAoYXV0byYgY2FsbGJh
Y2sgOiBjYWxsYmFja3MpCi0gICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgZGVyZWYoKTsgLy8gQmFs
YW5jZWQgYnkgdGhlIHJlZiBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9u
LgotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMK
LW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5oCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw3OCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICog
bWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
Ci0jaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIE5v
dGlmaWNhdGlvbjsKLWNsYXNzIE5vdGlmaWNhdGlvbkNsaWVudDsKLWNsYXNzIFZvaWRDYWxsYmFj
azsKLQotY2xhc3MgTm90aWZpY2F0aW9uQ2VudGVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8
Tm90aWZpY2F0aW9uQ2VudGVyPiwgcHJpdmF0ZSBBY3RpdmVET01PYmplY3QgewotcHVibGljOgot
ICAgIHN0YXRpYyBSZWY8Tm90aWZpY2F0aW9uQ2VudGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIE5vdGlmaWNhdGlvbkNsaWVudCopOwotCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQotICAgIEV4Y2VwdGlvbk9yPFJlZjxOb3RpZmljYXRpb24+PiBjcmVhdGVOb3Rp
ZmljYXRpb24oY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIGJvZHkpOwotCi0gICAgaW50IGNoZWNrUGVybWlzc2lvbigpOwotICAgIHZvaWQg
cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJik7Ci0jZW5kaWYKLQotICAg
IE5vdGlmaWNhdGlvbkNsaWVudCogY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0K
LQotICAgIHVzaW5nIEFjdGl2ZURPTU9iamVjdDo6aGFzUGVuZGluZ0FjdGl2aXR5OwotCi1wcml2
YXRlOgotICAgIE5vdGlmaWNhdGlvbkNlbnRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTm90
aWZpY2F0aW9uQ2xpZW50Kik7Ci0KLSAgICB2b2lkIHN0b3AoKSBmaW5hbDsKLSAgICBjb25zdCBj
aGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7Ci0KLSAgICB2b2lkIHRpbWVy
RmlyZWQoKTsKLQotICAgIE5vdGlmaWNhdGlvbkNsaWVudCogbV9jbGllbnQ7Ci0gICAgVmVjdG9y
PHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4+IG1fY2FsbGJhY2tzOwotICAgIFRpbWVyIG1fdGltZXI7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1u
YXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5pZGwJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCShub25leGlzdGVudCkKQEAgLTEsNDEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1l
dDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi1bCi0gICAgQWN0aXZlRE9NT2JqZWN0LAotICAgIENvbmRpdGlvbmFsPUxFR0FD
WV9OT1RJRklDQVRJT05TLAotICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotXSBpbnRlcmZhY2UgTm90
aWZpY2F0aW9uQ2VudGVyIHsKLSAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gTm90aWZpY2F0aW9uIGNy
ZWF0ZU5vdGlmaWNhdGlvbihET01TdHJpbmcgaWNvblVybCwgRE9NU3RyaW5nIHRpdGxlLCBET01T
dHJpbmcgYm9keSk7Ci0KLSAgIGxvbmcgY2hlY2tQZXJtaXNzaW9uKCk7Ci0gICB2b2lkIHJlcXVl
c3RQZXJtaXNzaW9uKG9wdGlvbmFsIFZvaWRDYWxsYmFjaz8gY2FsbGJhY2spOwotfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2xpZW50LmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNzAsMTIgKzcwLDcgQEAgcHVibGljOgogICAgIC8vIFJlcXVlc3RzIHVzZXIgcGVybWlzc2lv
biB0byBzaG93IGRlc2t0b3Agbm90aWZpY2F0aW9ucyBmcm9tIGEgcGFydGljdWxhcgogICAgIC8v
IHNjcmlwdCBjb250ZXh0LiBUaGUgY2FsbGJhY2sgcGFyYW1ldGVyIHNob3VsZCBiZSBydW4gd2hl
biB0aGUgdXNlciBoYXMKICAgICAvLyBtYWRlIGEgZGVjaXNpb24uCi0jaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgUmVmUHRyPFZvaWRDYWxsYmFjaz4mJikgPSAwOwotI2VuZGlm
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrPiYmKSA9IDA7Ci0jZW5kaWYKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5k
aW5nUGVybWlzc2lvblJlcXVlc3RzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBjb25zdCA9IDA7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIxNjAwMikK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb25DbGllbnQuaCIKIApA
QCAtNjMsNCArNjMsNCBAQCB2b2lkIHByb3ZpZGVOb3RpZmljYXRpb24oUGFnZSogcGFnZSwgTm90
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5P
VElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgJKHJldmlzaW9uIDIx
NjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC01Miw0ICs1Miw0IEBAIHByaXZhdGU6CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElG
SUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29y
a2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25z
LmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmlj
YXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAJKG5vbmV4aXN0ZW50KQpA
QCAtMSw4MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnMuaCIKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLSNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50
ZXIuaCIKLSNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgotI2luY2x1ZGUgIldvcmtlclRo
cmVhZC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9uczo6V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zKFdvcmtlckdsb2JhbFNjb3Bl
JiBzY29wZSkKLSAgICA6IG1fY29udGV4dCgmc2NvcGUpCi17Ci19Ci0KLVdvcmtlckdsb2JhbFNj
b3BlTm90aWZpY2F0aW9uczo6fldvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucygpCi17Ci19
Ci0KLWNvbnN0IGNoYXIqIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9uczo6c3VwcGxlbWVu
dE5hbWUoKQotewotICAgIHJldHVybiAiV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zIjsK
LX0KLQotV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zKiBXb3JrZXJHbG9iYWxTY29wZU5v
dGlmaWNhdGlvbnM6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQotewotICAgIFdvcmtl
ckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyo+KFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+
Ojpmcm9tKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSkpOwotICAgIGlmICghc3VwcGxlbWVudCkg
ewotICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckds
b2JhbFNjb3BlTm90aWZpY2F0aW9ucz4oc2NvcGUpOwotICAgICAgICBzdXBwbGVtZW50ID0gbmV3
U3VwcGxlbWVudC5nZXQoKTsKLSAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVudE5h
bWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7Ci0gICAgfQotICAgIHJldHVybiBzdXBwbGVt
ZW50OwotfQotCi1Ob3RpZmljYXRpb25DZW50ZXIqIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9uczo6d2Via2l0Tm90aWZpY2F0aW9ucyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCi17Ci0g
ICAgcmV0dXJuIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9uczo6ZnJvbShzY29wZSktPndl
YmtpdE5vdGlmaWNhdGlvbnMoKTsKLX0KLQotTm90aWZpY2F0aW9uQ2VudGVyKiBXb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoKQotewotICAgIC8vIEZJ
WE1FOiBBcyBvZiB0aGlzIHdyaXRpbmcsIHRoaXMgYWx3YXlzIHBhc3NlcyBudWxscHRyIGZvciB0
aGUgY2xpZW50LgotICAgIC8vIElmIGl0IHdhc24ndCBmb3IgdGhhdCwgdGhlIG5vdGlmaWNhdGlv
biBjZW50ZXIgY3JlYXRlIGZ1bmN0aW9uIGNvdWxkIGJlIHRha2luZyBhIHJlZmVyZW5jZS4KLSAg
ICAvLyBIb3cgaXMgaXQgdXNlZnVsIHRvIGNyZWF0ZSBhIG5vdGlmaWNhdGlvbiBjZW50ZXIgd2l0
aCBubyBjbGllbnQ/Ci0gICAgaWYgKCFtX25vdGlmaWNhdGlvbkNlbnRlcikKLSAgICAgICAgbV9u
b3RpZmljYXRpb25DZW50ZXIgPSBOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZSgqbV9jb250ZXh0
LCBtX2NvbnRleHQtPnRocmVhZCgpLmdldE5vdGlmaWNhdGlvbkNsaWVudCgpKTsKLSAgICByZXR1
cm4gbV9ub3RpZmljYXRpb25DZW50ZXIuZ2V0KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9u
cy5oCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmgJKG5vbmV4aXN0ZW50KQpAQCAt
MSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5LCAyMDEzLCAyMDE0
LCAyMDE1LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQot
I2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgTm90aWZpY2F0aW9uQ2VudGVyOwotY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7Ci0KLWNsYXNz
IFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtl
ckdsb2JhbFNjb3BlPiB7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgV29ya2VyR2xvYmFsU2NvcGVO
b3RpZmljYXRpb25zKFdvcmtlckdsb2JhbFNjb3BlJik7Ci0gICAgdmlydHVhbCB+V29ya2VyR2xv
YmFsU2NvcGVOb3RpZmljYXRpb25zKCk7Ci0KLSAgICBzdGF0aWMgTm90aWZpY2F0aW9uQ2VudGVy
KiB3ZWJraXROb3RpZmljYXRpb25zKFdvcmtlckdsb2JhbFNjb3BlJik7Ci0gICAgc3RhdGljIFdv
cmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyogZnJvbShXb3JrZXJHbG9iYWxTY29wZSYpOwot
Ci1wcml2YXRlOgotICAgIE5vdGlmaWNhdGlvbkNlbnRlciogd2Via2l0Tm90aWZpY2F0aW9ucygp
OwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOwotCi0gICAgV29ya2Vy
R2xvYmFsU2NvcGUqIG1fY29udGV4dDsKLSAgICBSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBt
X25vdGlmaWNhdGlvbkNlbnRlcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xv
YmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbAko
cmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5pZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICoKLSAq
LwotCi1bCi0gICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9O
UywKLV0gcGFydGlhbCBpbnRlcmZhY2UgV29ya2VyR2xvYmFsU2NvcGUgewotI2lmIGRlZmluZWQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlm
aWNhdGlvbnM7Ci0jZW5kaWYKLX07Ci0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24g
MjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE3LTA0LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICBSZW1vdmUgZGVmaW5pdGlvbiBv
ZiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMuCisKIDIwMTctMDQtMjUgIERhbmllbCBCYXRl
cyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV1bV2luXSBFbmFibGUgb2Yg
WC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZiBoZWFkZXIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEz
OSw2IEBAIEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9L
RVlCT0FSRF9DT0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsK
IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gq
XSA9IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7
CiBFTkFCTEVfTEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwog
RU5BQkxFX0xJTktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklB
VElPTl9GT05UU19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9O
T1RfTk8gPSBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19J
Rl9OT1RfWUVTID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
REVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVS
RSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZG
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxNjAwMikK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMTU3MSwxMSArMTU3MSw3IEBACiAJCTMzNTAzQzlBMTAxNzlBNzQwMDNC
NDdFMSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRp
b25DbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkzMzUwM0NBMzEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOUYxMDE3OUFE
NzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmNwcCAqLzsgfTsKIAkJMzM1MDNDQTQxMDE3OUFE
NzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmlj
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkzMzUwM0NBNTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDQTExMDE3
OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLzsgfTsKLQkJMzM1MDND
QTYxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3
RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLzsgfTsKIAkJMzM1MDNDQzcxMDE3QTFCMTAw
M0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NDNjEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9u
LmNwcCAqLzsgfTsKLQkJMzM5MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNl
bnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLzsgfTsK
LQkJMzM5MENBNTYwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5MENBNTIwRkZDMTU3
QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oICovOyB9OwogCQkzMzlCNUI2MzEzMURB
QTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2ll
c1N0cmF0ZWd5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMzNEMDIxMkQxMzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0b3JhZ2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxM0YwMUVBMTI3MEUxMEQw
MERGQkE3MSAvKiBDb29raWVTdG9yYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzU3MTg4M0VFRjYxODc5Mzc1MUU0MDg5IC8qIFJlbmRlck1h
dGhNTE1lbmNsb3NlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5j
cHAgKi87IH07CkBAIC00MDQ4LDggKzQwNDQsNiBAQAogCQk5N0FBQkQyNzE0RkEwOUQ1MDA3NDU3
QUUgLyogV2ViU29ja2V0SGFuZHNoYWtlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5N0FBQkQwQzE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0SGFu
ZHNoYWtlLmggKi87IH07CiAJCTk3QUFCRDJDMTRGQTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5N0FBQkQxMTE0RkEwOUQ1MDA3NDU3QUUgLyogV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuY3BwICovOyB9OwogCQk5N0FBQkQyRDE0RkEwOUQ1MDA3NDU3
QUUgLyogV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QUFCRDEyMTRGQTA5RDUwMDc0NTdBRSAv
KiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk3QjM4RTI3MTUxQzQyNzEwMDQ2MjJFOSAv
KiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5N0IzOEUyNDE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2luZG93Tm90
aWZpY2F0aW9ucy5oICovOyB9OwotCQk5N0IzOEUyODE1MUM0MjczMDA0NjIyRTkgLyogRE9NV2lu
ZG93Tm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5N0IzOEUyMzE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0
aW9ucy5jcHAgKi87IH07CiAJCTk3QjhGRkQxMTZBRTdGOTYwMDM4Mzg4RCAvKiBDaGFyYWN0ZXJS
ZWZlcmVuY2VQYXJzZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5N0I4RkZDRjE2QUU3RjkyMDAzODM4OEQgLyogQ2hhcmFjdGVyUmVmZXJl
bmNlUGFyc2VySW5saW5lcy5oICovOyB9OwogCQk5N0JDNjlEQzE1MDVGMDc2MDAxQjc0QUMgLyog
Q2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTdCQzY5RDgxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZlcnNpb25X
cmFwcGVyLmNwcCAqLzsgfTsKIAkJOTdCQzY5REQxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZl
cnNpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5N0JDNjlEOTE1MDVGMDc2MDAxQjc0QUMgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCAq
LzsgfTsKQEAgLTQwOTgsOCArNDA5Miw2IEBACiAJCTk3RENFMjAyMTA4MDdDNzUwMDU3RDM5NCAv
KiBIaXN0b3J5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTdEQ0UyMDAxMDgwN0M3NTAwNTdEMzk0IC8qIEhpc3RvcnlDb250cm9sbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTdF
NDAyOEYxM0E2OTZFRDAwOTEzRDY3IC8qIEljb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3RTQwMjhEMTNBNjk2RUQwMDkxM0Q2
NyAvKiBJY29uQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTk3RTQwMjkwMTNBNjk2RUQwMDkxM0Q2
NyAvKiBJY29uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTdFNDAyOEUxM0E2OTZFRDAwOTEzRDY3IC8qIEljb25Db250cm9sbGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTdGOEU2
NjUxNTFENEE0QjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0Y4RTY2MTE1
MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcCAqLzsg
fTsKLQkJOTdGOEU2NjYxNTFENEE0RTAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTdGOEU2NjIxNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9u
cy5oICovOyB9OwogCQk5ODMxQUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQb2xpY3ku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk4MzFBRTQ5
MTU0MjI1QTIwMEZFMjY0NCAvKiBSZWZlcnJlclBvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk4NDI2NEYxMTJENTI4MEEwMDBEODhBNCAv
KiBMaW5rTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5ODQyNjRFRjEyRDUyODBBMDAwRDg4QTQgLyogTGlua0xvYWRlckNsaWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk4NUJC
OTZEMTNBOTQwNTgwMDdBMEI2OSAvKiBMaW5rUmVsQXR0cmlidXRlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk4NUJCOTZCMTNBOTQwNTgwMDdBMEI2
OSAvKiBMaW5rUmVsQXR0cmlidXRlLmNwcCAqLzsgfTsKQEAgLTkxODgsMTIgKzkxODAsNyBAQAog
CQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBmaWxlRW5jb2RpbmcgPSA0OyBwYXRoID0gTm90aWZpY2F0aW9uQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzNTAzQzlGMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlm
aWNhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlm
aWNhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzNTAzQ0EwMTAxNzlB
RDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU05vdGlmaWNhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkz
MzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25DZW50ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3RTEg
LyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNOb3RpZmljYXRpb25DZW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzM1MDNDQzYxMDE3QTFCMTAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3RpZmljYXRpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9u
Q2VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNh
dGlvbkNlbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzOTBDQTUyMEZG
QzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTm90aWZpY2F0aW9uQ2VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTMzOTBDQTUzMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5vdGlmaWNhdGlvbkNlbnRlci5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzOUI1QjYyMTMxREFBMzIwMEY0OEQwMiAvKiBDb29r
aWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29va2llc1N0
cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1
REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2Fs
aXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBwYXRoID0gImV4dHJhY3QtbG9jYWxpemFibGUt
c3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjE3NCw5ICsxMjE2
MSw2IEBACiAJCTk3QUFCRDBDMTRGQTA5RDUwMDc0NTdBRSAvKiBXZWJTb2NrZXRIYW5kc2hha2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0SGFuZHNoYWtlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QUFCRDExMTRGQTA5RDUwMDc0NTdBRSAv
KiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QUFCRDEyMTRGQTA5RDUwMDc0NTdBRSAv
KiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk5N0IzOEUyMzE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2lu
ZG93Tm90aWZpY2F0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOTdCMzhFMjQxNTFDNDI2NDAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93Tm90aWZpY2F0aW9ucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0IzOEUyNTE1MUM0MjY0MDA0NjIyRTkg
LyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9N
V2luZG93Tm90aWZpY2F0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3
QjhGRkNGMTZBRTdGOTIwMDM4Mzg4RCAvKiBDaGFyYWN0ZXJSZWZlcmVuY2VQYXJzZXJJbmxpbmVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoYXJhY3RlclJlZmVyZW5jZVBh
cnNlcklubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdCQzY5RDgxNTA1
RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdCQzY5RDkxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZl
cnNpb25XcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoYW5nZVZl
cnNpb25XcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjI0MSw5ICsx
MjIyNSw2IEBACiAJCTk3RTQwMjhFMTNBNjk2RUQwMDkxM0Q2NyAvKiBJY29uQ29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJY29uQ29udHJvbGxlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0U5RUM4QjE1REM0OTJGMDA0RjJFNzEgLyogSlNW
b2lkQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNW
b2lkQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0U5RUM4QzE1
REM0OTJGMDA0RjJFNzEgLyogSlNWb2lkQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNWb2lkQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOTdGOEU2NjExNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5
N0Y4RTY2MjE1MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3BlTm90
aWZpY2F0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0Y4RTY2MzE1MUQ0
QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5ODMxQUU0OTE1NDIyNUEyMDBGRTI2NDQgLyogUmVm
ZXJyZXJQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmZXJyZXJQ
b2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTg0MjY0RUYxMkQ1MjgwQTAw
MEQ4OEE0IC8qIExpbmtMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGlua0xvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
ODVCQjk2QjEzQTk0MDU4MDA3QTBCNjkgLyogTGlua1JlbEF0dHJpYnV0ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMaW5rUmVsQXR0cmlidXRlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NDc1LDIzICsxNzQ1NiwxNCBAQAogCQkzMzNGNzAz
RDBGQjQ5QzE2MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJOTdCMzhFMjMxNTFDNDI2NDAwNDYyMkU5IC8qIERP
TVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwICovLAotCQkJCTk3QjM4RTI0MTUxQzQyNjQwMDQ2MjJF
OSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggKi8sCi0JCQkJOTdCMzhFMjUxNTFDNDI2NDAw
NDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsICovLAogCQkJCTMzNTAzQ0M2MTAx
N0ExQjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwICovLAogCQkJCTMzM0Y3MDRGMEZCNDlD
QTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaCAqLywKIAkJCQkzMzNGNzA0RTBGQjQ5Q0EyMDA4
RTEyQTYgLyogTm90aWZpY2F0aW9uLmlkbCAqLywKLQkJCQkzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5
NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLywKLQkJCQkzMzkwQ0E1MjBGRkMxNTdCMDA5
MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggKi8sCi0JCQkJMzM5MENBNTMwRkZDMTU3QjAw
OTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5pZGwgKi8sCiAJCQkJMzM1MDNDOTkxMDE3OUE3
NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oICovLAogCQkJCTMxMjhDQTY3MTQ3MzMx
NTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQkzMTI4Q0E2
QTE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovLAogCQkJCTMx
RUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aCAqLywKIAkJCQkzMUVDMUQ1MDE0RkVGRDA4MDBDOTQ2NjIgLyogTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbCAqLywKLQkJCQk5N0Y4RTY2MTE1MUQ0QTNGMDBEMkQxODEgLyogV29y
a2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcCAqLywKLQkJCQk5N0Y4RTY2MjE1MUQ0QTNG
MDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmggKi8sCi0JCQkJOTdG
OEU2NjMxNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5p
ZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9IG5vdGlmaWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwpAQCAtMTc1MDEsOCArMTc0NzMsNiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJ
MzM1MDNDOUYxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmNwcCAqLywKIAkJCQkz
MzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLywKLQkJCQkzMzUw
M0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovLAotCQkJ
CTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICovLAog
CQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5jcHAgKi8sCiAJCQkJMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkpOwpAQCAtMjY5ODIsNyArMjY5NTIs
NiBAQAogCQkJCTE0MDNCOTk3MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxRkEyRDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5kb3dFeHRlbnNp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBET01X
aW5kb3dJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTk3QjM4RTI3MTUxQzQy
NzEwMDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0QyQUQwNDE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg5RjYwQjExMTU3RjY4NkUwMDc1RTE1NyAvKiBET01XaW5kb3dRdW90YS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVBRDYxNkE0ODYxNjAwOTc1QTI1IC8qIERPTVdpbmRv
d1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNyw3ICsyNzkwNiw2IEBA
CiAJCQkJQkNEOUMyQzMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTm9kZUxpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFEMjBCMThEMThFOUQyMzcwMDVBODA4MyAvKiBKU05vZGVMaXN0Q3VzdG9tLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMzUwM0NBNDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmlj
YXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTMzNTAzQ0E2MTAxNzlBRDcwMDNCNDdFMSAvKiBK
U05vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFFQzFFMjkxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3RTQ2RjZGQjE2MjdBMkNBMDAwNjIyMjMgLyogSlNPRVNFbGVtZW50SW5kZXhV
aW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MDAxNzg4MTEyRTAzNzA3MDA2NDg0NjIgLyogSlNP
RVNTdGFuZGFyZERlcml2YXRpdmVzLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NTgzLDcgKzI4NTUx
LDYgQEAKIAkJCQk5MzgyQUFCNDBEOEMzODYxMDBGMzU3QTYgLyogTm9kZVdpdGhJbmRleC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTQ2QjQxRjkxQ0IyNEU3MDAwOEYxMURFIC8qIE5vRXZlbnREaXNw
YXRjaEFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEyQzBDNDExNDZEQzZDQzAwMTZD
OTExIC8qIE5vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMzM5MENBNTYwRkZDMTU3
QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzM1
MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzEyOENBNkIxNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJDNCAvKiBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLApAQCAtMjk5ODQsNyAr
Mjk5NTEsNiBAQAogCQkJCUEzRTI2NDMxMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1
ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29y
a2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQ0I0MUJCNEM0RTgwMDEy
ODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJOTdGOEU2NjYxNTFENEE0RTAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEIwRjU0NkE4MjAwQjBGMUJBIC8q
IFdvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzYyMURC
N0Y4QzEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBNTRBMEM2QzFEQjgzMUY5MDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yUHJveHku
aCBpbiBIZWFkZXJzICovLApAQCAtMzA5NzIsNyArMzA5MzgsNiBAQAogCQkJCTUxN0ZCQTFFMTUx
QUIxN0MwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDE4QzM5NTYxQzhEQUM3RjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxODVGQzc0MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVk
RGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTdCMzhFMjgxNTFDNDI3MzAwNDYyMkU5
IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdEMkFE
MDMxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUFBMkE1QUQ3MTZBNDg2MUEwMDk3NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50aGVz
aXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThDQ0JCNDgxNTFGODMxNjAwQUI3Q0U5IC8qIERP
TVdpbmRvd1dlYkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzE5MjAsNyArMzE4ODUs
NiBAQAogCQkJCUJDRDlDMkMyMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05vZGVMaXN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDRDlDMjY1MEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVMaXN0Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzNTAzQ0EzMTAxNzlBRDcwMDNCNDdFMSAvKiBK
U05vdGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkzMzUwM0NBNTEwMTc5QUQ3MDAz
QjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFF
QzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdFNDZGNkZBMTYyN0EyQ0EwMDA2MjIyMyAvKiBKU09F
U0VsZW1lbnRJbmRleFVpbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTAwMTc4ODAxMkUwMzcw
NzAwNjQ4NDYyIC8qIEpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTMyNTcyLDcgKzMyNTM2LDYgQEAKIAkJCQk0RkZDMDIyQjE2NDNCNzEwMDA0RTE2MzggLyog
Tm9kZVJhcmVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0MzEwNUI4MTY3NTBGMEMwMERC
MkZCOCAvKiBOb2RlVHJhdmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzNTAzQ0M3MTAx
N0ExQjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzM5
MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkzMTI4Q0E2ODE0NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTUxM0Q1MTE2NzdGMDg4MDAxNDlGQ0IgLyog
Tm90SW1wbGVtZW50ZWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1NjlEMEEwRDdFMkI4MjAw
N0MzOTgzIC8qIE5QX2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzM2ODQsNyArMzM2
NDcsNiBAQAogCQkJCTJFNDM0NjQ4MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29w
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MThDMzk1QTFDOERENjk5MDA1MUM4QTMgLyogV29y
a2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkNCMzFCQjRD
NEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJOTdGOEU2NjUxNTFENEE0QjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNj
b3BlTm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTRBMEM2MTFEQjdGOEMx
MDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBNTRBMEM2QjFEQjgzMUY5MDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yUHJveHkuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkU0MzQ2NEMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckxv
Y2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0RmFjdG9yeS5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXRGYWN0b3J5LmluCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBAIE1l
ZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFTdHJlYW1UcmFjayBjb25k
aXRpb25hbD1NRURJQV9TVFJFQU0KIE1lc3NhZ2VQb3J0CiBOb2RlCi1Ob3RpZmljYXRpb24gY29u
ZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUworTm90aWZpY2F0aW9u
IGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMKIFBlcmZvcm1hbmNlIGNvbmRpdGlvbmFsPVdFQl9U
SU1JTkcKIFJUQ0RhdGFDaGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMKIFJUQ0RUTUZTZW5kZXIg
Y29uZGl0aW9uYWw9V0VCX1JUQ19EVE1GCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRlICJET01Ub2tlbkxpc3Qu
aCIKICNpbmNsdWRlICJET01VUkwuaCIKICNpbmNsdWRlICJET01XaW5kb3dFeHRlbnNpb24uaCIK
LSNpbmNsdWRlICJET01XaW5kb3dOb3RpZmljYXRpb25zLmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90
aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB1bnNpZ25lZCB3b3JrZXJUaHJlYWRDb3VudCgpOwogICAg
IHN0YXRpYyB2b2lkIHJlbGVhc2VGYXN0TWFsbG9jRnJlZU1lbW9yeUluQWxsVGhyZWFkcygpOwog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb25DbGllbnQqIGdl
dE5vdGlmaWNhdGlvbkNsaWVudCgpIHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uQ2xpZW50OyB9CiAg
ICAgdm9pZCBzZXROb3RpZmljYXRpb25DbGllbnQoTm90aWZpY2F0aW9uQ2xpZW50KiBjbGllbnQp
IHsgbV9ub3RpZmljYXRpb25DbGllbnQgPSBjbGllbnQ7IH0KICNlbmRpZgpAQCAtMTEwLDcgKzEx
MCw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyVGhyZWFkU3RhcnR1
cERhdGE+IG1fc3RhcnR1cERhdGE7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IE5vdGlmaWNhdGlvbkNsaWVudCogbV9ub3RpZmljYXRpb25DbGllbnQgeyBudWxscHRyIH07CiAj
ZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDQtMzAg
IFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBm
b3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAg
ICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIFJlbW92ZSBsZWdhY3kgbm90aWZpY2F0aW9uIHNwZWNpZmljIGNvZGUuCisK
IDIwMTctMDQtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBE
cm9wIHN1cHBvcnQgZm9yIGxlZ2FjeSBDbGllbnRSZWN0IC8gQ2xpZW50UmVjdExpc3QKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEz
OSw2IEBAIEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9L
RVlCT0FSRF9DT0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsK
IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gq
XSA9IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7
CiBFTkFCTEVfTEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwog
RU5BQkxFX0xJTktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklB
VElPTl9GT05UU19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9O
T1RfTk8gPSBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19J
Rl9OT1RfWUVTID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
REVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVS
RSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZG
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlz
aW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICAgICAgICAgZW5jb2RlciA8PCBidW5k
bGVQYXJhbWV0ZXJEYXRhLT5kYXRhUmVmZXJlbmNlKCk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgZW5jb2RlciA8PCBub3RpZmljYXRpb25QZXJtaXNzaW9uczsK
ICNlbmRpZgogCkBAIC0yNzgsNyArMjc4LDcgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjpkZWNvZAogICAgIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlz
c2lvbnMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2
aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTUwLDcgKzE1MCw3IEBAIHN0cnVjdCBX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBSZWZQdHI8QVBJOjpEYXRhPiBidW5k
bGVQYXJhbWV0ZXJEYXRhOwogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPFN0cmluZywgYm9vbD4gbm90aWZpY2F0aW9u
UGVybWlzc2lvbnM7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDksNyArNzA5
LDcgQEAgV2ViUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTgogCiAgICAgcGFy
YW1ldGVycy5kZWZhdWx0UmVxdWVzdFRpbWVvdXRJbnRlcnZhbCA9IEFQSTo6VVJMUmVxdWVzdDo6
ZGVmYXVsdFRpbWVvdXRJbnRlcnZhbCgpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
ICAgICAvLyBGSVhNRTogVGhlcmUgc2hvdWxkIGJlIGEgZ2VuZXJpYyB3YXkgZm9yIHN1cHBsZW1l
bnRzIHRvIGFkZCB0byB0aGUgaW50aWFsaXphdGlvbiBwYXJhbWV0ZXJzLgogICAgIHN1cHBsZW1l
bnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5PigpLT5wb3B1bGF0ZUNvcHlPZk5vdGlmaWNh
dGlvblBlcm1pc3Npb25zKHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnMpOwogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlz
aW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOCw3ICsxMjgsNyBAQAogI2luY2x1ZGUgIldlYlRvRGF0YWJh
c2VQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCIKICNlbmRpZgogCkBAIC0x
ODIsNyArMTgyLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAgICAgYWRkU3VwcGxlbWVu
dDxXZWJDb29raWVNYW5hZ2VyPigpOwogICAgIGFkZFN1cHBsZW1lbnQ8QXV0aGVudGljYXRpb25N
YW5hZ2VyPigpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBhZGRTdXBwbGVt
ZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI+KCk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
OSw4ICs3OSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Vc2VyU3R5bGVTaGVldC5oPgogCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCIKICNlbmRpZgogCkBAIC01NDAs
NyArNTM5LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0VXNlclN0eWxlU2hlZXRMbwogCiB2
b2lkIEluamVjdGVkQnVuZGxlOjpzZXRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKFdlYlBhZ2Uq
IHBhZ2UsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBwYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIoKS0+c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyhvcmlnaW5TdHJp
bmcsIGFsbG93ZWQpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocGFnZSk7CkBAIC01NTEsNyAr
NTUwLDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0V2ViTm90aWZpY2F0aW9uUAogCiB2b2lk
IEluamVjdGVkQnVuZGxlOjpyZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucyhXZWJQ
YWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcGFnZS0+bm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPnJlbW92ZUFsbFBlcm1pc3Npb25z
Rm9yVGVzdGluZygpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocGFnZSk7CkBAIC01NjAsNyAr
NTU5LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVtb3ZlQWxsV2ViTm90aWZpYwogCiB1aW50
NjRfdCBJbmplY3RlZEJ1bmRsZTo6d2ViTm90aWZpY2F0aW9uSUQoSlNDb250ZXh0UmVmIGpzQ29u
dGV4dCwgSlNWYWx1ZVJlZiBqc05vdGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogICAgIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uID0gSlNOb3Rp
ZmljYXRpb246OnRvV3JhcHBlZCh0b0pTKGpzQ29udGV4dCktPnZtKCksIHRvSlModG9KUyhqc0Nv
bnRleHQpLCBqc05vdGlmaWNhdGlvbikpOwogICAgIGlmICghbm90aWZpY2F0aW9uKQogICAgICAg
ICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NldHRpbmdzLmg+
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlv
bk1hbmFnZXIuaCIKICNlbmRpZgogCkBAIC00NCw3ICs0NCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVSZXF1ZXN0SUQoKQogewogICAgIHN0YXRpYyB1
aW50NjRfdCB1bmlxdWVSZXF1ZXN0SUQgPSAxOwpAQCAtNTcsNyArNTcsNyBAQCBSZWY8Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKHBhZ2UpKTsKIH0KIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYWdlKiBwYWdlKQog
ICAgIDogbV9wYWdlKHBhZ2UpCiB7CkBAIC04NiwzOCArODYsMTUgQEAgdm9pZCBOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZQogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCi12b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFJlZlB0cjxXZWJDb3JlOjpW
b2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCi17Ci0gICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKLSAgICBpZiAocGVy
bWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7Ci0g
ICAgICAgIGlmIChjYWxsYmFjaykKLSAgICAgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAotICAgIHVpbnQ2NF90IHJlcXVlc3RJRCA9
IGdlbmVyYXRlUmVxdWVzdElEKCk7Ci0gICAgbV9vcmlnaW5Ub0lETWFwLnNldChvcmlnaW4sIHJl
cXVlc3RJRCk7Ci0gICAgbV9pZFRvT3JpZ2luTWFwLnNldChyZXF1ZXN0SUQsIG9yaWdpbik7Ci0g
ICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChyZXF1ZXN0SUQsIFdURk1vdmUoY2FsbGJhY2sp
KTsKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlm
aWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsKLX0KLSNl
bmRpZgotCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2Vs
UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgdWludDY0X3QgaWQgPSBtX29yaWdpblRvSURNYXAudGFrZShvcmlnaW4pOwog
ICAgIGlmICghaWQpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBtX2lkVG9PcmlnaW5NYXAu
cmVtb3ZlKGlkKTsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBtX2lkVG9DYWxsYmFj
a01hcC5yZW1vdmUoaWQpOwotI2VuZGlmCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQotICAgIG1faWRUb1ZvaWRDYWxsYmFja01hcC5yZW1vdmUoaWQpOwotI2VuZGlmCiAjZWxzZQog
ICAgIFVOVVNFRF9QQVJBTShvcmlnaW4pOwogI2VuZGlmCkBAIC0xMjUsNyArMTAyLDcgQEAgdm9p
ZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZQogCiBib29sIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6aGFzUGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhT
ZWN1cml0eU9yaWdpbiogb3JpZ2luKSBjb25zdAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgcmV0dXJuIG1fb3JpZ2luVG9JRE1hcC5jb250YWlucyhvcmlnaW4pOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ob3JpZ2luKTsKQEAgLTEzNSw3ICsxMTIsNyBAQCBib29sIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlCiAKIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVy
bWlzc2lvbiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnBlcm1pc3Npb25M
ZXZlbChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4pCiB7Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICBpZiAoIW1fcGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5ub3Rp
ZmljYXRpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uRGVuaWVkOwogICAgIApAQCAtMTQ4LDcgKzEyNSw3IEBAIE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbiBOb3RpZmljYXQKIAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXI6OnNldFBlcm1pc3Npb25MZXZlbEZvclRlc3RpbmcoY29uc3QgU3RyaW5n
JiBvcmlnaW5TdHJpbmcsIGJvb2wgYWxsb3dlZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0
aW9uTWFuYWdlcj4oKS0+ZGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24ob3JpZ2luU3RyaW5n
LCBhbGxvd2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpblN0cmluZyk7CkBAIC0x
NTgsMTQgKzEzNSwxNCBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
CiAKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpyZW1vdmVBbGxQ
ZXJtaXNzaW9uc0ZvclRlc3RpbmcoKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAg
ICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5h
Z2VyPigpLT5yZW1vdmVBbGxQZXJtaXNzaW9uc0ZvclRlc3RpbmcoKTsKICNlbmRpZgogfQogCiB2
b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlm
aWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbih1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgYWxsb3dl
ZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghaXNSZXF1ZXN0SURW
YWxpZChyZXF1ZXN0SUQpKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3NywyMiArMTU0LDExIEBA
IHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2UKIAogICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKS0+ZGlk
VXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24ob3JpZ2luLT50b1N0cmluZygpLCBhbGxvd2VkKTsK
IAotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBSZWZQdHI8V2ViQ29yZTo6
Vm9pZENhbGxiYWNrPiB2b2lkQ2FsbGJhY2sgPSBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXAudGFrZShy
ZXF1ZXN0SUQpOwotICAgIGlmICh2b2lkQ2FsbGJhY2spIHsKLSAgICAgICAgdm9pZENhbGxiYWNr
LT5oYW5kbGVFdmVudCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0KLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKICAg
ICBpZiAoIWNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgY2FsbGJhY2stPmhh
bmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvblN0cmluZyhhbGxvd2VkID8gTm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCA6IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVy
bWlzc2lvbkRlbmllZCkpOwotI2VuZGlmCi0KICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVl
c3RJRCk7CiAgICAgVU5VU0VEX1BBUkFNKGFsbG93ZWQpOwpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAkocmV2aXNpb24gMjE2
MDAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw5ICs1
Miw2IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHN0YXJ0
UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpOwogI2VuZGlmCi0jaWYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQotICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luKiwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJik7Ci0jZW5kaWYKICAgICB2b2lk
IGNhbmNlbFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKTsKICAgICBib29sIGhhc1Bl
bmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKSBjb25zdDsK
ICAgICAKQEAgLTcyLDEzICs2OSwxMCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+PiBtX2lkVG9DYWxsYmFja01hcDsKICNlbmRpZgotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2Vi
Q29yZTo6Vm9pZENhbGxiYWNrPj4gbV9pZFRvVm9pZENhbGxiYWNrTWFwOwotI2VuZGlmCiAgICAg
SGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+LCB1aW50NjRfdD4gbV9vcmln
aW5Ub0lETWFwOwogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbj4+IG1faWRUb09yaWdpbk1hcDsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgV2ViUGFnZSogbV9wYWdlOwogI2VuZGlmCiB9OwpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyLmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVz
c2FnZXMuaCIKQEAgLTQ3LDcgKzQ3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1
aW50NjRfdCBnZW5lcmF0ZU5vdGlmaWNhdGlvbklEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3Qg
dW5pcXVlTm90aWZpY2F0aW9uSUQgPSAxOwpAQCAtNjMsNyArNjMsNyBAQCBjb25zdCBjaGFyKiBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzdXBwCiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpXZWJO
b3RpZmljYXRpb25NYW5hZ2VyKFdlYlByb2Nlc3MqIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3Mo
cHJvY2VzcykKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIG1fcHJvY2Vzcy0+
YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksICp0aGlzKTsKICNlbmRpZgogfQpAQCAtNzQsNyArNzQsNyBAQCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjp+V2ViTm90aWZpY2F0aW9uCiAKIHZvaWQgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgbV9w
ZXJtaXNzaW9uc01hcCA9IHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnM7CiAjZWxz
ZQogICAgIFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJzKTsKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjppbml0aWFsaXplKAogCiB2b2lkIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXI6OmRpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKGNvbnN0IFN0cmluZyYgb3Jp
Z2luU3RyaW5nLCBib29sIGFsbG93ZWQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
ICAgICBtX3Blcm1pc3Npb25zTWFwLnNldChvcmlnaW5TdHJpbmcsIGFsbG93ZWQpOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ob3JpZ2luU3RyaW5nKTsKQEAgLTkzLDIzICs5MywyMiBAQCB2b2lk
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFVwZGF0ZU5vCiAKIHZvaWQgV2ViTm90aWZpY2F0
aW9uTWFuYWdlcjo6ZGlkUmVtb3ZlTm90aWZpY2F0aW9uRGVjaXNpb25zKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBvcmlnaW5TdHJpbmdzKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgc2l6ZV90IGNvdW50ID0gb3JpZ2luU3Ry
aW5ncy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAg
ICAgICBtX3Blcm1pc3Npb25zTWFwLnJlbW92ZShvcmlnaW5TdHJpbmdzW2ldKTsKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyAgICBmb3IgKGF1dG8mIG9yaWdpblN0cmluZyA6IG9yaWdpblN0
cmluZ3MpCisgICAgICAgIG1fcGVybWlzc2lvbnNNYXAucmVtb3ZlKG9yaWdpblN0cmluZyk7CiAj
ZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW5TdHJpbmdzKTsKICNlbmRpZgogfQogCi1Ob3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6cG9saWN5
Rm9yT3JpZ2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luICpvcmlnaW4pIGNvbnN0CitOb3RpZmlj
YXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6cG9saWN5Rm9y
T3JpZ2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pIGNvbnN0CiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW9yaWdpbikKICAgICAgICAgcmV0dXJuIE5v
dGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQ7CiAKICAgICBBU1NFUlQoIW9y
aWdpbi0+aXNVbmlxdWUoKSk7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+Ojpjb25zdF9pdGVy
YXRvciBpdCA9IG1fcGVybWlzc2lvbnNNYXAuZmluZChvcmlnaW4tPnRvUmF3U3RyaW5nKCkpOwor
ICAgIGF1dG8gaXQgPSBtX3Blcm1pc3Npb25zTWFwLmZpbmQob3JpZ2luLT50b1Jhd1N0cmluZygp
KTsKICAgICBpZiAoaXQgIT0gbV9wZXJtaXNzaW9uc01hcC5lbmQoKSkKICAgICAgICAgcmV0dXJu
IGl0LT52YWx1ZSA/IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CiAjZWxzZQpAQCAtMTIxLDE0ICsxMjAs
MTQgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaQogCiB2b2lkIFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXI6OnJlbW92ZUFsbFBlcm1pc3Npb25zRm9yVGVzdGluZygpCiB7
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBtX3Blcm1pc3Npb25zTWFwLmNsZWFy
KCk7CiAjZW5kaWYKIH0KIAogdWludDY0X3QgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6bm90aWZp
Y2F0aW9uSURGb3JUZXN0aW5nKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFub3RpZmljYXRpb24pCiAgICAgICAgIHJl
dHVybiAwOwogICAgIHJldHVybiBtX25vdGlmaWNhdGlvbk1hcC5nZXQobm90aWZpY2F0aW9uKTsK
QEAgLTE0MCw3ICsxMzksNyBAQCB1aW50NjRfdCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpub3Rp
ZmljCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3RpZmljYXRpb24qIG5v
dGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIGlmICghbm90aWZpY2F0aW9uIHx8ICFwYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygp
Lm5vdGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKQEAg
LTE0OCwxNCArMTQ3LDEwIEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3Rp
ZmkKICAgICBtX25vdGlmaWNhdGlvbk1hcC5zZXQobm90aWZpY2F0aW9uLCBub3RpZmljYXRpb25J
RCk7CiAgICAgbV9ub3RpZmljYXRpb25JRE1hcC5zZXQobm90aWZpY2F0aW9uSUQsIG5vdGlmaWNh
dGlvbik7CiAgICAgCi0gICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBt
X25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpLml0ZXJhdG9yOworICAgIGF1dG8gaXQgPSBt
X25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpLml0ZXJhdG9yOwogICAgIGl0LT52YWx1ZS5h
cHBlbmQobm90aWZpY2F0aW9uSUQpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAg
bV9wcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT50aXRsZSgpLCBub3RpZmlj
YXRpb24tPmJvZHkoKSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCkuc3RyaW5nKCksIG5vdGlmaWNh
dGlvbi0+dGFnKCksIG5vdGlmaWNhdGlvbi0+bGFuZygpLCBub3RpZmljYXRpb24tPmRpcigpLCBu
b3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+
dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQpLCBwYWdlLT5wYWdlSUQoKSk7Ci0jZWxzZQotICAg
IG1fcHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+dGl0bGUoKSwgbm90aWZp
Y2F0aW9uLT5ib2R5KCksIG5vdGlmaWNhdGlvbi0+aWNvblVSTCgpLnN0cmluZygpLCBub3RpZmlj
YXRpb24tPnJlcGxhY2VJZCgpLCBub3RpZmljYXRpb24tPmxhbmcoKSwgbm90aWZpY2F0aW9uLT5k
aXIoKSwgbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3Jp
Z2luKCktPnRvU3RyaW5nKCksIG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOwotI2Vu
ZGlmCiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShub3RpZmljYXRp
b24pOwpAQCAtMTY2LDcgKzE2MSw3IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hv
dyhOb3RpZmkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwoTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNhdGlvbiB8fCAhcGFnZS0+Y29yZVBhZ2UoKS0+c2V0
dGluZ3MoKS5ub3RpZmljYXRpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgCkBA
IC0xODMsNyArMTc4LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwoTm90
aQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNsZWFyTm90aWZpY2F0aW9ucyhXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJQYWdlKiBwYWdlKQogewot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6
aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZmluZChjb250ZXh0KTsKICAg
ICBpZiAoaXQgPT0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmVuZCgpKQogICAgICAgICByZXR1
cm47CkBAIC0yMDgsNyArMjAzLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjbGVh
ck5vdGlmaQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZERlc3Ryb3lOb3RpZmlj
YXRpb24oTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCA9IG1f
bm90aWZpY2F0aW9uTWFwLnRha2Uobm90aWZpY2F0aW9uKTsKICAgICBpZiAoIW5vdGlmaWNhdGlv
bklEKQogICAgICAgICByZXR1cm47CkBAIC0yMjQsNyArMjE5LDcgQEAgdm9pZCBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyOjpkaWREZXN0cm95TgogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OmRpZFNob3dOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzTm90aWZpY2F0aW9uSURWYWxpZChub3Rp
ZmljYXRpb25JRCkpCiAgICAgICAgIHJldHVybjsKICAgICAKQEAgLTI0MCw3ICsyMzUsNyBAQCB2
b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFNob3dOb3RpCiAKIHZvaWQgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9u
SUQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzTm90aWZpY2F0
aW9uSURWYWxpZChub3RpZmljYXRpb25JRCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjU4LDcg
KzI1Myw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tOb3QKIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbG9zZU5vdGlmaWNhdGlvbnMoY29uc3QgVmVj
dG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgc2l6ZV90IGNvdW50ID0gbm90aWZpY2F0aW9uSURzLnNpemUoKTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgdWludDY0X3Qgbm90
aWZpY2F0aW9uSUQgPSBub3RpZmljYXRpb25JRHNbaV07CkBAIC0yNzksNyArMjc0LDcgQEAgdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbG9zZU5vdAogI2VuZGlmCiB9CiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpyZW1v
dmVOb3RpZmljYXRpb25Gcm9tQ29udGV4dE1hcCh1aW50NjRfdCBub3RpZmljYXRpb25JRCwgTm90
aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7CiAgICAgLy8gVGhpcyBpcyBhIGhlbHBlciBmdW5j
dGlvbiBmb3IgbWFuYWdpbmcgdGhlIGhhc2ggbWFwcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNh
dGlvbk1hbmFnZXIuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtODAsMTMgKzgwLDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRDbG9zZU5vdGlmaWNh
dGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKTsKICAgICB2b2lk
IGRpZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgb3Jp
Z2luU3RyaW5ncyk7CiAgICAgCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2b2lk
IHJlbW92ZU5vdGlmaWNhdGlvbkZyb21Db250ZXh0TWFwKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklE
LCBXZWJDb3JlOjpOb3RpZmljYXRpb24qKTsKICNlbmRpZgogCiAgICAgV2ViUHJvY2VzcyogbV9w
cm9jZXNzOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB0eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIHVpbnQ2NF90PiBOb3RpZmljYXRpb25N
YXA7CiAgICAgTm90aWZpY2F0aW9uTWFwIG1fbm90aWZpY2F0aW9uTWFwOwogICAgIApJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25D
bGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25D
bGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oIgpAQCAtNzIs
MTkgKzcyLDEwIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb24KICAg
ICBkZWxldGUgdGhpczsKIH0KIAotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLXZv
aWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiYmIGNhbGxi
YWNrKQotewotICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
KCktPnN0YXJ0UmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBXVEZNb3ZlKGNhbGxi
YWNrKSk7Ci19Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogdm9pZCBXZWJO
b3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYgY2Fs
bGJhY2spCiB7CiAgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIFdURk1vdmUoY2Fs
bGJhY2spKTsKIH0KLSNlbmRpZgogCiBib29sIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6aGFzUGVu
ZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSBj
b25zdAogewpAQCAtMTA1LDQgKzk2LDQgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9u
IFdlYk5vdGlmaQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
LmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgV2ViTm90aWZpY2F0aW9uQ2xpZW50X2gKICNkZWZpbmUgV2ViTm90
aWZpY2F0aW9uQ2xpZW50X2gKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKICNpbmNs
dWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5oPgogCkBAIC01MSwxMiArNTEsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ry
b3llZChXZWJDb3JlOjpOb3RpZmljYXRpb24qKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmaWNh
dGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBvdmVycmlkZTsKLSNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCi0gICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJikgb3ZlcnJp
ZGU7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBSZWZQdHI8V2ViQ29y
ZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiYmKSBvdmVycmlkZTsKLSNlbmRpZgog
ICAgIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKICAgICBib29sIGhhc1BlbmRpbmdQZXJtaXNzaW9uUmVx
dWVzdHMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGNvbnN0IG92ZXJyaWRlOwog
ICAgIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwpAQCAtNjYsNiArNjEsNiBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAKICNlbmRpZiAvLyBXZWJOb3RpZmljYXRpb25DbGllbnRfaApJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAko
cmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsNyArNDMyLDcgQEAgV2ViUGFnZTo6V2Vi
UGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZwogI2lmIEVOQUJMRShHRU9MT0NBVElPTikKICAg
ICBXZWJDb3JlOjpwcm92aWRlR2VvbG9jYXRpb25UbyhtX3BhZ2UuZ2V0KCksIG5ldyBXZWJHZW9s
b2NhdGlvbkNsaWVudCh0aGlzKSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIFdlYkNvcmU6OnByb3ZpZGVOb3RpZmljYXRpb24obV9wYWdlLmdldCgpLCBuZXcgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50KHRoaXMpKTsKICNlbmRpZgogI2lmIEVOQUJMRShWSUJSQVRJT04p
CkBAIC0zMTk4LDcgKzMxOTgsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNv
bnN0IFdlCiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9uc0tleSgpKSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgc2V0dGluZ3Muc2V0Tm90aWZpY2F0aW9uc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpub3RpZmljYXRpb25zRW5hYmxlZEtleSgpKSk7
CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1v
dmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1t
OgorICAgICAgICAqIFdlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFt
ZTpncm91cE5hbWU6XSk6CisgICAgICAgICgtW1dlYlZpZXcgX25vdGlmaWNhdGlvbklERm9yVGVz
dGluZzpdKToKKyAgICAgICAgUmVtb3ZlIGxlZ2FjeSBub3RpZmljYXRpb24gc3BlY2lmaWMgY29k
ZS4KKwogMjAxNy0wNC0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gUmVwbGFjZXMgdXNlcyBvZiBbZ2V04oCmKCkgYWxsb2NdIHdpdGggYWxsb2Pi
gKZJbnN0YW5jZSgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjE2MDAyKQorKysg
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJ
KHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNiBAQCBFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSA9IEVOQUJMRV9LCiBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUgPSBFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEU7CiBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMgPSBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQTsKLUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlM7CiBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyA9IEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFVFRFUlBSRVNTW3Nkaz1pcGhv
bmUqXSA9IEVOQUJMRV9MRVRURVJQUkVTUzsKIEVOQUJMRV9MSU5LX1BSRUZFVENIID0gOwpAQCAt
MjU1LDQgKzI1NCw0IEBAIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UXyA9ICQoRU5BQkwK
IEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX05PID0gRU5BQkxFX1ZBUklBVElPTl9GT05U
UzsKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX1lFUyA9IDsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQ
UExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJM
RV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVU
RSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
Ql9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVH
QVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1B
VElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNM
VCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCA8V2ViQ29yZS9Ob3RpZmljYXRpb25D
bGllbnQuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW1wb3J0IDxXZWJDb3Jl
L05vdGlmaWNhdGlvbi5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KICNpbXBvcnQgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIFdlYk5vdGlmaWNhdGlvbkNs
aWVudChXZWJWaWV3ICopOwogICAgIFdlYlZpZXcgKndlYlZpZXcoKSB7IHJldHVybiBtX3dlYlZp
ZXc7IH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgLy8gRm9yIHRlc3Rpbmcg
cHVycG9zZXMuCiAgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSURGb3JUZXN0aW5nKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbiopOwogI2VuZGlmCkBAIC01OSw5ICs1OSw2IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
IG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbiopIG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxl
ckRlc3Ryb3llZCgpIG92ZXJyaWRlOwotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
LSAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiYmKSBvdmVycmlkZTsKLSNlbmRpZgog
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpIG92ZXJyaWRlOwogI2VuZGlmCkBAIC02OSwxMiArNjYs
MTIgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGNvbnN0IG92ZXJyaWRlOwogICAgIFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwogCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqKTsKICNlbmRp
ZgogCiAgICAgV2ViVmlldyAqbV93ZWJWaWV3OwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgUmV0YWluUHRyPFdl
Yk5vdGlmaWNhdGlvbj4+IG1fbm90aWZpY2F0aW9uTWFwOwogICAgIAogICAgIHR5cGVkZWYgSGFz
aE1hcDxSZWZQdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4sIFZlY3RvcjxSZXRh
aW5QdHI8V2ViTm90aWZpY2F0aW9uPj4+IE5vdGlmaWNhdGlvbkNvbnRleHRNYXA7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50Lm1tCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAg
LTI1LDQ4ICsyNSwzMCBAQAogCiAjaW1wb3J0ICJXZWJOb3RpZmljYXRpb25DbGllbnQuaCIKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW1wb3J0ICJXZWJEZWxlZ2F0ZUltcGxlbWVu
dGF0aW9uQ2FjaGluZy5oIgogI2ltcG9ydCAiV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaCIKICNp
bXBvcnQgIldlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViU2VjdXJpdHlPcmln
aW5JbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQg
IldlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
PgogI2ltcG9ydCA8d3RmL0Jsb2NrT2JqQ0V4Y2VwdGlvbnMuaD4KICNlbmRpZgogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCi0jaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oPgotI2VuZGlmCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQot
I2ltcG9ydCA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KLSNlbmRpZgotCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBAaW50ZXJmYWNlIFdl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIDogTlNPYmplY3QgPFdlYkFsbG93RGVueVBvbGlj
eUxpc3RlbmVyPgogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIFJlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IF9jYWxsYmFjazsKLSNlbmRpZgotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfdm9pZENh
bGxiYWNrOwotICAgIGJvb2wgX2lzTGVnYWN5UmVxdWVzdDsKLSNlbmRpZgogfQotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrOwotI2VuZGlmCi0jaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQotLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjazsKLSNlbmRpZgotCiBAZW5kCiAjZW5kaWYKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVOb3Rp
ZmljYXRpb25JRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IHVuaXF1ZU5vdGlmaWNhdGlvbklE
ID0gMTsKQEAgLTgxLDcgKzYzLDcgQEAgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpXZWJOb3RpZmlj
YXRpb25DbAogCiBib29sIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6c2hvdyhOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICgh
W21fd2ViVmlldyBfbm90aWZpY2F0aW9uUHJvdmlkZXJdKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKQEAgLTg5LDcgKzcxLDcgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnNob3coTm90
aWZpYwogICAgIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+IHdlYk5vdGlmaWNhdGlvbiA9IGFk
b3B0TlMoW1tXZWJOb3RpZmljYXRpb24gYWxsb2NdIGluaXRXaXRoQ29yZU5vdGlmaWNhdGlvbjpu
b3RpZmljYXRpb24gbm90aWZpY2F0aW9uSUQ6bm90aWZpY2F0aW9uSURdKTsKICAgICBtX25vdGlm
aWNhdGlvbk1hcC5zZXQobm90aWZpY2F0aW9uLCB3ZWJOb3RpZmljYXRpb24pOwogCi0gICAgTm90
aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRN
YXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBWZWN0b3I8UmV0
YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4+KCkpLml0ZXJhdG9yOworICAgIGF1dG8gaXQgPSBtX25v
dGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCBWZWN0b3I8UmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4+KCkpLml0ZXJhdG9yOwog
ICAgIGl0LT52YWx1ZS5hcHBlbmQod2ViTm90aWZpY2F0aW9uKTsKIAogICAgIFtbbV93ZWJWaWV3
IF9ub3RpZmljYXRpb25Qcm92aWRlcl0gc2hvd05vdGlmaWNhdGlvbjp3ZWJOb3RpZmljYXRpb24u
Z2V0KCkgZnJvbVdlYlZpZXc6bV93ZWJWaWV3XTsKQEAgLTEwMiw3ICs4NCw3IEBAIGJvb2wgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50OjpzaG93KE5vdGlmaWMKIAogdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNhdGlvbiAqd2ViTm90aWZpY2F0aW9uID0g
bV9ub3RpZmljYXRpb25NYXAuZ2V0KG5vdGlmaWNhdGlvbikuZ2V0KCk7CiAgICAgaWYgKCF3ZWJO
b3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTExNSw4ICs5Nyw4IEBAIHZvaWQgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50OjpjYW5jZWwoTm90aWYKIAogdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCi0gICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlm
aWNhdGlvbkNvbnRleHRNYXAuZmluZChjb250ZXh0KTsKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyAgICBhdXRvIGl0ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmZpbmQoY29udGV4dCk7
CiAgICAgaWYgKGl0ID09IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5lbmQoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIApAQCAtMTM5LDEyICsxMjEsMTIgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OmNsZWFyTm90aWZpYwogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZp
Y2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgUmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4g
d2ViTm90aWZpY2F0aW9uID0gbV9ub3RpZmljYXRpb25NYXAudGFrZShub3RpZmljYXRpb24pOwog
ICAgIGlmICghd2ViTm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBOb3RpZmlj
YXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5m
aW5kKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICBhdXRvIGl0
ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmZpbmQobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOwogICAgIEFTU0VSVChpdCAhPSBtX25vdGlmaWNhdGlvbkNvbnRleHRN
YXAuZW5kKCkpOwogICAgIHNpemVfdCBpbmRleCA9IGl0LT52YWx1ZS5maW5kKHdlYk5vdGlmaWNh
dGlvbik7CiAgICAgQVNTRVJUKGluZGV4ICE9IG5vdEZvdW5kKTsKQEAgLTE2Myw3ICsxNDUsNyBA
QCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uCiAgICAgZGVsZXRlIHRo
aXM7CiB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRp
b25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyICpsaXN0ZW5lcikKIHsKICAgICBTRUwg
c2VsZWN0b3IgPSBAc2VsZWN0b3Iod2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25S
ZXF1ZXN0RnJvbU9yaWdpbjpsaXN0ZW5lcjopOwpAQCAtMTgwLDIwICsxNjIsOSBAQCB2b2lkIFdl
Yk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLXZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1
ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8Vm9p
ZENhbGxiYWNrPiYmIGNhbGxiYWNrKQotewotICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKLSAgICBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIgPSBbW1dlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aFZvaWRDYWxsYmFjazpjYWxs
YmFja107Ci0gICAgcmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOwotICAgIFts
aXN0ZW5lciByZWxlYXNlXTsKLSAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotfQotI2Vu
ZGlmCi0KIGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpoYXNQZW5kaW5nUGVybWlzc2lvblJl
cXVlc3RzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBjb25zdAogewotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgLy8gV2Uga25vdyBwZXJtaXNzaW9uIHdhcyByZXF1ZXN0ZWQgYnV0
IHdlIGRvbid0IGtub3cgaWYgdGhlIGNsaWVudCByZXNwb25kZWQuIEluIHRoaXMgY2FzZSwgd2Ug
cGxheSBpdAogICAgIC8vIHNhZmUgYW5kIHByZXN1bWUgdGhlcmUgaXMgb25lIHBlbmRpbmcgc28g
dGhhdCBBY3RpdmVET01PYmplY3RzIGRvbid0IGdldCBzdXNwZW5kZWQuCiAgICAgcmV0dXJuIG1f
ZXZlclJlcXVlc3RlZFBlcm1pc3Npb247CkBAIC0yMTUsNyArMTg2LDcgQEAgdm9pZCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaQogCiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IGlmICghY29udGV4dCB8fCAhY29udGV4dC0+aXNEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4g
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwogICAgIGlmICghW1ttX3dlYlZp
ZXcgcHJlZmVyZW5jZXNdIG5vdGlmaWNhdGlvbnNFbmFibGVkXSkKQEAgLTIzOSw3ICsyMTAsOCBA
QCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpCiAjZW5kaWYKIH0KIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisKIHVpbnQ2NF90IFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6bm90aWZpY2F0aW9uSURGb3JUZXN0aW5nKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogbm90
aWZpY2F0aW9uKQogewogICAgIHJldHVybiBbbV9ub3RpZmljYXRpb25NYXAuZ2V0KG5vdGlmaWNh
dGlvbikuZ2V0KCkgbm90aWZpY2F0aW9uSURdOwpAQCAtMjQ3LDcgKzIxOSw2IEBAIHVpbnQ2NF90
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2EKIAogQGltcGxlbWVudGF0aW9uIFdlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIC0g
KGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrPiljYWxsYmFjawogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAt
MjU2LDQ4ICsyMjcsMTcgQEAgLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3Rp
ZgogICAgIF9jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgIHJldHVybiBzZWxmOwogfQotI2VuZGlm
Ci0KLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0tIChpZClpbml0V2l0aFZvaWRD
YWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrCi17Ci0gICAgaWYgKCEo
c2VsZiA9IFtzdXBlciBpbml0XSkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0KLSAgICBfaXNMZWdh
Y3lSZXF1ZXN0ID0gdHJ1ZTsKLSAgICBfdm9pZENhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgcmV0
dXJuIHNlbGY7Ci19Ci0jZW5kaWYKIAogLSAodm9pZClhbGxvdwogewotI2lmIEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKLSAgICBpZiAoX2lzTGVnYWN5UmVxdWVzdCkgewotICAgICAgICBp
ZiAoX3ZvaWRDYWxsYmFjaykKLSAgICAgICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50
KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICBpZiAoX2NhbGxiYWNrKQogICAgICAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50
KE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvblN0cmluZyhOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb25BbGxvd2VkKSk7Ci0jZW5kaWYKIH0KIAogLSAodm9pZClkZW55CiB7Ci0jaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIGlmIChfaXNMZWdhY3lSZXF1ZXN0KSB7Ci0gICAg
ICAgIGlmIChfdm9pZENhbGxiYWNrKQotICAgICAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxl
RXZlbnQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQogICAgIGlmIChfY2FsbGJhY2spCiAgICAgICAgIF9jYWxsYmFjay0+aGFuZGxl
RXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKE5vdGlmaWNhdGlvbkNsaWVudDo6
UGVybWlzc2lvbkRlbmllZCkpOwotI2VuZGlmCiB9CiAKICNpZiBQTEFURk9STShJT1MpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQkocmV2aXNp
b24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24u
bW0JKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2ltcG9ydCAiV2ViTm90aWZp
Y2F0aW9uSW50ZXJuYWwuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW1wb3J0
ICJXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNh
dGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+CkBAIC00
Miw3ICs0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQGludGVyZmFjZSBXZWJOb3Rp
ZmljYXRpb25Qcml2YXRlIDogTlNPYmplY3QKIHsKIEBwdWJsaWMKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQogICAgIFJlZlB0cjxOb3RpZmljYXRpb24+IF9pbnRlcm5hbDsKICAgICB1aW50
NjRfdCBfbm90aWZpY2F0aW9uSUQ7CiAjZW5kaWYKQEAgLTUyLDggKzUyLDkgQEAgQGludGVyZmFj
ZSBXZWJOb3RpZmljYXRpb25Qcml2YXRlIDogTlNPYgogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlm
aWNhdGlvblByaXZhdGUKIEBlbmQKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBAaW1w
bGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9uIChXZWJOb3RpZmljYXRpb25JbnRlcm5hbCkKKwog
Tm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogewogICAg
IGlmICghbm90aWZpY2F0aW9uLT5fcHJpdmF0ZSkKQEAgLTg3LDcgKzg4LDcgQEAgLSAodm9pZClk
ZWFsbG9jCiAKIC0gKE5TU3RyaW5nICopdGl0bGUKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIHJldHVybiBjb3JlKHNlbGYpLT50aXRsZSgpOwogI2Vsc2UKICAgICByZXR1cm4g
bmlsOwpAQCAtOTYsNyArOTcsNyBAQCAtIChOU1N0cmluZyAqKXRpdGxlCiAKIC0gKE5TU3RyaW5n
ICopYm9keQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUo
c2VsZiktPmJvZHkoKTsKICNlbHNlCiAgICAgcmV0dXJuIG5pbDsKQEAgLTEwNSw3ICsxMDYsNyBA
QCAtIChOU1N0cmluZyAqKWJvZHkKIAogLSAoTlNTdHJpbmcgKil0YWcKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIHJldHVybiBjb3JlKHNlbGYpLT50YWcoKTsKICNlbHNlCiAg
ICAgcmV0dXJuIG5pbDsKQEAgLTExNCw3ICsxMTUsNyBAQCAtIChOU1N0cmluZyAqKXRhZwogCiAt
IChOU1N0cmluZyAqKWljb25VUkwKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IHJldHVybiBjb3JlKHNlbGYpLT5pY29uVVJMKCk7CiAjZWxzZQogICAgIHJldHVybiBuaWw7CkBA
IC0xMjMsNyArMTI0LDcgQEAgLSAoTlNTdHJpbmcgKilpY29uVVJMCiAKIC0gKE5TU3RyaW5nICop
bGFuZwogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUoc2Vs
ZiktPmxhbmcoKTsKICNlbHNlCiAgICAgcmV0dXJuIG5pbDsKQEAgLTEzMiw3ICsxMzMsNyBAQCAt
IChOU1N0cmluZyAqKWxhbmcKIAogLSAoTlNTdHJpbmcgKilkaXIKIHsKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIHJldHVybiBjb3JlKHNlbGYpLT5kaXIoKTsKICNlbHNlCiAgICAg
cmV0dXJuIG5pbDsKQEAgLTE0MSw3ICsxNDIsNyBAQCAtIChOU1N0cmluZyAqKWRpcgogCiAtIChX
ZWJTZWN1cml0eU9yaWdpbiAqKW9yaWdpbgogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgcmV0dXJuIFtbW1dlYlNlY3VyaXR5T3JpZ2luIGFsbG9jXSBfaW5pdFdpdGhXZWJDb3Jl
U2VjdXJpdHlPcmlnaW46Y29yZShzZWxmKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1
cml0eU9yaWdpbigpXSBhdXRvcmVsZWFzZV07CiAjZWxzZQogICAgIHJldHVybiBuaWw7CkBAIC0x
NTAsNyArMTUxLDcgQEAgLSAoV2ViU2VjdXJpdHlPcmlnaW4gKilvcmlnaW4KIAogLSAodWludDY0
X3Qpbm90aWZpY2F0aW9uSUQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHJl
dHVybiBfcHJpdmF0ZS0+X25vdGlmaWNhdGlvbklEOwogI2Vsc2UKICAgICByZXR1cm4gMDsKQEAg
LTE1OSwyOCArMTYwLDI4IEBAIC0gKHVpbnQ2NF90KW5vdGlmaWNhdGlvbklECiAKIC0gKHZvaWQp
ZGlzcGF0Y2hTaG93RXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGNv
cmUoc2VsZiktPmRpc3BhdGNoU2hvd0V2ZW50KCk7CiAjZW5kaWYKIH0KIAogLSAodm9pZClkaXNw
YXRjaENsb3NlRXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGNvcmUo
c2VsZiktPmRpc3BhdGNoQ2xvc2VFdmVudCgpOwogI2VuZGlmCiB9CiAKIC0gKHZvaWQpZGlzcGF0
Y2hDbGlja0V2ZW50CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBjb3JlKHNl
bGYpLT5kaXNwYXRjaENsaWNrRXZlbnQoKTsKICNlbmRpZgogfQogCiAtICh2b2lkKWRpc3BhdGNo
RXJyb3JFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgY29yZShzZWxm
KS0+ZGlzcGF0Y2hFcnJvckV2ZW50KCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbkludGVybmFsLmgJKHJldmlzaW9u
IDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uSW50
ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW1wb3J0ICJXZWJO
b3RpZmljYXRpb24uaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQ4MSw3ICsxNDgxLDcgQEAgLSAo
dm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYQogI2lmIEVOQUJMRShHRU9MT0NB
VElPTikKICAgICBXZWJDb3JlOjpwcm92aWRlR2VvbG9jYXRpb25UbyhfcHJpdmF0ZS0+cGFnZSwg
bmV3IFdlYkdlb2xvY2F0aW9uQ2xpZW50KHNlbGYpKTsKICNlbmRpZgotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6cHJvdmlkZU5vdGlmaWNhdGlvbihfcHJpdmF0ZS0+
cGFnZSwgbmV3IFdlYk5vdGlmaWNhdGlvbkNsaWVudChzZWxmKSk7CiAjZW5kaWYKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQpAQCAtMTAwMzMsNyArMTAwMzMsNyBAQCAtICh2b2lkKV9u
b3RpZmljYXRpb25zRGlkQ2xvc2U6KE5TQXJyYXkgCiAKIC0gKHVpbnQ2NF90KV9ub3RpZmljYXRp
b25JREZvclRlc3Rpbmc6KEpTVmFsdWVSZWYpanNOb3RpZmljYXRpb24KIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIGF1dG8qIHBhZ2UgPSBfcHJpdmF0ZS0+cGFnZTsKICAgICBp
ZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiAwOwpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNp
b24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6V2Vi
Q2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9u
c0RlbGVnYXRlLmg6CisgICAgICAgIFJlbW92ZSBsZWdhY3kgbm90aWZpY2F0aW9uIHNwZWNpZmlj
IGNvZGUuCisKIDIwMTctMDQtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBNb2Rlcm5pemUgRnJhbWUuaApJbmRleDogU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZp
c2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4RmlsZVBhdGhzTGlzdFNpemUKIAogV2ViQ2hyb21lQ2xpZW50OjpXZWJDaHJv
bWVDbGllbnQoV2ViVmlldyogd2ViVmlldykKICAgICA6IG1fd2ViVmlldyh3ZWJWaWV3KQotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgLCBtX25vdGlmaWNhdGlvbnNEZWxlZ2F0ZShz
dGQ6Om1ha2VfdW5pcXVlPFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+KHdlYlZpZXcp
KQogI2VuZGlmCiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBleGl0VmlkZW9GdWxsc2NyZWVuRm9y
VmlkZW9FbGVtZW50KFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQmKSBmaW5hbDsKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpOb3RpZmljYXRpb25D
bGllbnQqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50Kj4obV9ub3RpZmljYXRpb25z
RGVsZWdhdGUuZ2V0KCkpOyB9CiAjZW5kaWYKIApAQCAtMTc2LDcgKzE3Niw3IEBAIHByaXZhdGU6
CiAKICAgICBXZWJWaWV3KiBtX3dlYlZpZXc7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlPiBt
X25vdGlmaWNhdGlvbnNEZWxlZ2F0ZTsKICNlbmRpZgogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BO
b3RpZmljYXRpb25zRGVsZWdhdGUuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRG9j
dW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTIyMyw0ICsyMjMsNCBA
QCBDT01QdHI8SVdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+CiAgICAgcmV0dXJuIGRl
bGVnYXRlOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmgJKHJldmlzaW9uIDIxNjAwMikK
KysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvTm90aWZpY2F0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25D
bGllbnQuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKIGludGVyZmFjZSBJV2Vi
RGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlcjsKIApAQCAtNTAsMTIgKzUwLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3Qp
OwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250
cm9sbGVyRGVzdHJveWVkKCk7Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTZWN1cml0eU9yaWdpbios
IFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+JiYpOwotI2VuZGlmCi0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luKiwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjaz4mJik7Ci0jZW5kaWYKICAgICBib29sIGhhc1BlbmRpbmdQZXJtaXNzaW9uUmVxdWVz
dHMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGNvbnN0IG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xp
ZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBVUkwmKTsKSW5kZXg6IFNvdXJj
ZS9jbWFrZS9PcHRpb25zTWFjLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRp
b25zTWFjLmNtYWtlCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvY21ha2UvT3B0aW9uc01h
Yy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfSU5QVVRfVFlQRV9USU1FIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgUFJJVkFURSBP
TikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfRU5DUllQ
VEVEX01FRElBIFBSSVZBVEUgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTIFBSSVZBVEUgT04p
CiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVUVEVSUFJFU1MgUFJJ
VkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MSU5LX1BS
RUZFVENIIFBSSVZBVEUgT0ZGKQpJbmRleDogU291cmNlL2NtYWtlL09wdGlvbnNXaW4uY21ha2UK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL09wdGlvbnNXaW4uY21ha2UJKHJldmlzaW9uIDIx
NjAwMikKKysrIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw3ICszNyw2IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV8K
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUg
UFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUsgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyBQVUJMSUMgT04pCi1XRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgUFVCTElD
IE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfTElOS19QUkVGRVRDSCBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX01BVEhNTCBQVUJMSUMgT04pCkluZGV4OiBTb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTEzNiw3ICsxMzYsNiBAQCBtYWNybyhXRUJL
SVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9KSVQgIkVu
YWJsZSBKdXN0SW5UaW1lIGphdmFzY3JpcHQgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgIlRvZ2ds
ZSBsZWdhY3kgY3NzIHZlbmRvciBwcmVmaXggc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEgIlN1cHBvcnQg
bGVnYWN5IEVNRSIgUFJJVkFURSBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TICJUb2dnbGUgTGVnYWN5IERlc2t0b3AgTm90aWZpY2F0aW9u
cyBTdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyAiVG9nZ2xlIExlZ2FjeSBWZW5kb3IgUHJlZml4IFN1cHBv
cnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0xFVFRFUlBS
RVNTICJUb2dnbGUgbGV0dGVycHJlc3Mgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX0xJTktfUFJFRkVUQ0ggIlRvZ2dsZSBwcmUgZmV0Y2hpbmcg
c3VwcG9ydCIgUFJJVkFURSBPRkYpCkluZGV4OiBTb3VyY2UvY21ha2UvdG9vbHMvdnNwcm9wcy9G
ZWF0dXJlRGVmaW5lcy5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvdG9vbHMvdnNw
cm9wcy9GZWF0dXJlRGVmaW5lcy5wcm9wcwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL2Nt
YWtlL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMucHJvcHMJKHdvcmtpbmcgY29weSkKQEAg
LTQ1LDcgKzQ1LDYgQEAKICAgICA8RU5BQkxFX0lOVEw+RU5BQkxFX0lOVEw8L0VOQUJMRV9JTlRM
PgogICAgIDxFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM+RU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTPC9FTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM+CiAg
ICAgPEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBPkVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBPC9FTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQT4KLSAgICA8RU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TIC8+CiAgICAgPEVOQUJMRV9MSU5LX1BSRUZFVENIIC8+CiAgICAgPEVO
QUJMRV9MSU5LX1BSRVJFTkRFUiAvPgogICAgIDxFTkFCTEVfTUFUSE1MPkVOQUJMRV9NQVRITUw8
L0VOQUJMRV9NQVRITUw+CkBAIC04NSw3ICs4NCw3IEBACiAgIDwvUHJvcGVydHlHcm91cD4KICAg
PEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz4kKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKTskKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyk7JChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKTskKEVOQUJMRV9DQU5WQVNfUEFUSCk7JChFTkFCTEVf
Q0FOVkFTX1BST1hZKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ1NTM19D
T05ESVRJT05BTF9SVUxFUyk7JChFTkFCTEVfQ1NTX0lNQUdFX1NFVCk7JChFTkFCTEVfQ1NTM19U
RVhUKTskKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspOyQoRU5BQkxFX0NTU19TSEFE
RVJTKTskKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpOyQoRU5BQkxFX0NTU19SRUdJT05TKTskKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCk7JChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lERSk7JChF
TkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEKTsk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSk7JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCk7JChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJM
RV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9FTkNSWVBURURfTUVESUEpOyQoRU5BQkxFX0ZF
VENIX0FQSSk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTsk
KEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSElHSF9EUElf
Q0FOVkFTKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
OyQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspOyQoRU5BQkxFX0lOVEwpOyQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKTsk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKTskKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUyk7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTElOS19QUkVSRU5ERVIpOyQo
RU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7JChFTkFCTEVfTUlDUk9EQVRB
KTskKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUyk7JChFTkFCTEVfU1RSRUFNU19BUEkpOyQoRU5BQkxFX1NDUklQVEVE
X1NQRUVDSCk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCk7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX1NUWUxFX1NDT1BFRCk7JChFTkFCTEVf
U1VCUElYRUxfTEFZT1VUKTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxF
X1NWR19GT05UUyk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX1ZJREVPX1RSQUNLKTskKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKTskKEVOQUJMRV9XRUJfQU5JTUFUSU9OUyk7JChFTkFCTEVf
V0VCX0FVRElPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV0VCX1RJTUlORyk7JChF
TkFCTEVfV0VCR0wpOyQoRU5BQkxFX1dFQkdQVSk7JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpOyQo
RU5BQkxFX1hIUl9USU1FT1VUKTskKEVOQUJMRV9YU0xUKTslKFByZXByb2Nlc3NvckRlZmluaXRp
b25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM+JChFTkFCTEVfM0RfVFJBTlNGT1JNUyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpOyQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCk7JChFTkFCTEVfQ0FOVkFTX1BBVEgpOyQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NTUzNfQ09ORElUSU9O
QUxfUlVMRVMpOyQoRU5BQkxFX0NTU19JTUFHRV9TRVQpOyQoRU5BQkxFX0NTUzNfVEVYVCk7JChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKTskKEVOQUJMRV9DU1NfU0hBREVSUyk7JChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKTskKEVOQUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpOyQoRU5BQkxFX0NTU19TSEFQRV9JTlNJREUpOyQoRU5BQkxFX0NT
U19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRCk7JChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpOyQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUik7JChFTkFC
TEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpOyQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7JChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCk7JChFTkFCTEVfRU5DUllQVEVEX01FRElBKTskKEVOQUJMRV9GRVRDSF9BUEkp
OyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSk7JChFTkFCTEVf
R0FNRVBBRCk7JChFTkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUyk7
JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKTskKEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKTskKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpOyQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
OyQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKTskKEVO
QUJMRV9JTlRMKTskKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyk7JChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSk7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVf
TElOS19QUkVSRU5ERVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7
JChFTkFCTEVfTUlDUk9EQVRBKTskKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpOyQoRU5BQkxF
X05PVElGSUNBVElPTlMpOyQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RB
KTskKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyk7JChFTkFCTEVfU1RSRUFNU19BUEkp
OyQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCk7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX1NUWUxF
X1NDT1BFRCk7JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKTskKEVOQUJMRV9TVkdfRE9NX09CSkNf
QklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX1ZJ
REVPX1RSQUNLKTskKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKTskKEVOQUJMRV9XRUJfQU5J
TUFUSU9OUyk7JChFTkFCTEVfV0VCX0FVRElPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFC
TEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV0VCR0wpOyQoRU5BQkxFX1dFQkdQVSk7JChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpOyQoRU5BQkxFX1hIUl9USU1FT1VUKTskKEVOQUJMRV9YU0xUKTslKFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9D
bENvbXBpbGU+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KQEAgLTI2
NSwxMCArMjY0LDYgQEAKICAgICAgIDxWYWx1ZT4kKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKTwvVmFsdWU+CiAgICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZT50cnVlPC9FbnZpcm9ubWVu
dFZhcmlhYmxlPgogICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMiPgotICAgICAgPFZhbHVlPiQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKTwvVmFsdWU+Ci0gICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZT50cnVl
PC9FbnZpcm9ubWVudFZhcmlhYmxlPgotICAgIDwvQnVpbGRNYWNybz4KICAgICA8QnVpbGRNYWNy
byBJbmNsdWRlPSJFTkFCTEVfTElOS19QUkVGRVRDSCI+CiAgICAgICA8VmFsdWU+JChFTkFCTEVf
TElOS19QUkVGRVRDSCk8L1ZhbHVlPgogICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+dHJ1ZTwv
RW52aXJvbm1lbnRWYXJpYWJsZT4KSW5kZXg6IFNvdXJjZS9jbWFrZS90b29scy92c3Byb3BzL0Zl
YXR1cmVEZWZpbmVzQ2Fpcm8ucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL3Rvb2xz
L3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby5wcm9wcwkocmV2aXNpb24gMjE2MDAyKQorKysg
U291cmNlL2NtYWtlL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby5wcm9wcwkod29y
a2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBAQAogICAgIDxFTkFCTEVfSU5UTD5FTkFCTEVfSU5U
TDwvRU5BQkxFX0lOVEw+CiAgICAgPEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUz5F
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM8L0VOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUz4KICAgICA8RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEgLz4KLSAgICA8
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIC8+CiAgICAgPEVOQUJMRV9MSU5LX1BSRUZFVENI
IC8+CiAgICAgPEVOQUJMRV9MSU5LX1BSRVJFTkRFUiAvPgogICAgIDxFTkFCTEVfTUFUSE1MPkVO
QUJMRV9NQVRITUw8L0VOQUJMRV9NQVRITUw+CkBAIC04NCw3ICs4Myw3IEBACiAgIDwvUHJvcGVy
dHlHcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAg
IDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4kKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKTskKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORyk7JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKTskKEVOQUJMRV9DQU5WQVNfUEFU
SCk7JChFTkFCTEVfQ0FOVkFTX1BST1hZKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChF
TkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyk7JChFTkFCTEVfQ1NTX0lNQUdFX1NFVCk7JChF
TkFCTEVfQ1NTM19URVhUKTskKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspOyQoRU5B
QkxFX0NTU19TSEFERVJTKTskKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpOyQoRU5BQkxFX0NTU19S
RUdJT05TKTskKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCk7JChFTkFCTEVfQ1NTX1NIQVBF
X0lOU0lERSk7JChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19V
TlBSRUZJWEVEKTskKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSk7JChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
OyQoRU5BQkxFX0ZFVENIX0FQSSk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFC
TEVfSElHSF9EUElfQ0FOVkFTKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspOyQoRU5BQkxFX0lOVEwpOyQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKTskKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKTskKEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTElOS19Q
UkVSRU5ERVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7JChFTkFC
TEVfTUlDUk9EQVRBKTskKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpOyQoRU5BQkxFX05PVElG
SUNBVElPTlMpOyQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RBKTskKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyk7JChFTkFCTEVfU0NSSVBURURfU1BFRUNIKTsk
KEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKTsk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxF
X1NRTF9EQVRBQkFTRSk7JChFTkFCTEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVUJQSVhFTF9M
QVlPVVQpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRT
KTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfVklERU9fVFJBQ0spOyQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpOyQoRU5BQkxFX1dFQl9BTklNQVRJT05TKTskKEVOQUJMRV9XRUJfQVVESU8p
OyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XRUJH
TCk7JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpOyQoRU5BQkxFX1hIUl9USU1FT1VUKTskKEVOQUJM
RV9YU0xUKTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+JChFTkFCTEVfM0RfVFJBTlNGT1JN
Uyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpOyQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCk7JChFTkFCTEVf
Q0FOVkFTX1BBVEgpOyQoRU5BQkxFX0NBTlZBU19QUk9YWSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpOyQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpOyQoRU5BQkxFX0NTU19JTUFH
RV9TRVQpOyQoRU5BQkxFX0NTUzNfVEVYVCk7JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKTskKEVOQUJMRV9DU1NfU0hBREVSUyk7JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKTskKEVO
QUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpOyQoRU5BQkxF
X0NTU19TSEFQRV9JTlNJREUpOyQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJB
TlNJVElPTlNfVU5QUkVGSVhFRCk7JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpOyQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUik7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpOyQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKTskKEVOQUJMRV9GRVRDSF9BUEkpOyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSk7JChFTkFCTEVfR0FNRVBBRCk7JChFTkFCTEVfR0VPTE9DQVRJ
T04pOyQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUyk7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKTskKEVOQUJM
RV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpOyQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpOyQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSk7
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKTskKEVOQUJMRV9JTlRMKTskKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUyk7JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSk7JChF
TkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTElOS19QUkVSRU5ERVIpOyQoRU5BQkxFX01B
VEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7JChFTkFCTEVfTUlDUk9EQVRBKTskKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUyk7JChFTkFCTEVfU0NSSVBURURfU1BFRUNIKTskKEVOQUJMRV9TSEFSRURfV09SS0VS
Uyk7JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKTskKEVOQUJMRV9NRURJQV9TT1VSQ0Up
OyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7JChFTkFC
TEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpOyQoRU5BQkxFX1NWR19E
T01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChF
TkFCTEVfVklERU9fVFJBQ0spOyQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpOyQoRU5BQkxF
X1dFQl9BTklNQVRJT05TKTskKEVOQUJMRV9XRUJfQVVESU8pOyQoRU5BQkxFX1dFQl9TT0NLRVRT
KTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XRUJHTCk7JChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpOyQoRU5BQkxFX1hIUl9USU1FT1VUKTskKEVOQUJMRV9YU0xUKTslKFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9DbENvbXBpbGU+
CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KQEAgLTI2NCwxMCArMjYz
LDYgQEAKICAgICAgIDxWYWx1ZT4kKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyk8
L1ZhbHVlPgogICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+dHJ1ZTwvRW52aXJvbm1lbnRWYXJp
YWJsZT4KICAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TIj4KLSAgICAgIDxWYWx1ZT4kKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUyk8L1ZhbHVlPgotICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+dHJ1ZTwvRW52
aXJvbm1lbnRWYXJpYWJsZT4KLSAgICA8L0J1aWxkTWFjcm8+CiAgICAgPEJ1aWxkTWFjcm8gSW5j
bHVkZT0iRU5BQkxFX0xJTktfUFJFRkVUQ0giPgogICAgICAgPFZhbHVlPiQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpPC9WYWx1ZT4KICAgICAgIDxFbnZpcm9ubWVudFZhcmlhYmxlPnRydWU8L0Vudmly
b25tZW50VmFyaWFibGU+CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYwMDIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZpY2F0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcx
NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS93aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlci5jcHA6Cisg
ICAgICAgIChEUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyOjpjaGVja05vdGlmaWNhdGlv
blBlcm1pc3Npb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5w
bToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorICAgICAgICBSZW1vdmUgdXNlIGFuZCBkZWZpbml0aW9uIG9mIEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUy4KKwogMjAxNy0wNC0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gSGF2ZSBjaGVjay13ZWJraXQtc3R5bGUgYWR2
aXNlIGFnYWluc3QgdXNlIG9mIFtnZXTigKZDbGFzcygpIGFsbG9jXQpJbmRleDogVG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9u
UHJlc2VudGVyLmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjUsNyArMTI1LDcgQEAgSFJFU1VMVCBEUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVy
OgogCiAgICAgKnJlc3VsdCA9IDA7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IEpTU3RyaW5nUmVmIGpzT3JpZ2luID0gSlNTdHJpbmdDcmVhdGVXaXRoQlNUUihvcmlnaW4pOwog
ICAgIGJvb2wgYWxsb3dlZCA9IDo6Z1Rlc3RSdW5uZXItPmNoZWNrRGVza3RvcE5vdGlmaWNhdGlv
blBlcm1pc3Npb24oanNPcmlnaW4pOwogCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0Zl
YXR1cmVMaXN0LnBtCShyZXZpc2lvbiAyMTYwMDIpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHBl
cmwvRmVhdHVyZUxpc3QucG0JKHdvcmtpbmcgY29weSkKQEAgLTI4MSw5ICsyODEsNiBAQCBteSBA
ZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImxlZ2FjeS1lbmNyeXB0ZWQtbWVkaWEiLCBk
ZXNjID0+ICJUb2dnbGUgTGVnYWN5IEVNRSBWMiBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwk
bGVnYWN5RW5jcnlwdGVkTWVkaWFTdXBwb3J0IH0sCiAKLSAgICB7IG9wdGlvbiA9PiAibGVnYWN5
LW5vdGlmaWNhdGlvbnMiLCBkZXNjID0+ICJUb2dnbGUgTGVnYWN5IE5vdGlmaWNhdGlvbnMgc3Vw
cG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyIsIGRl
ZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRsZWdhY3lOb3RpZmljYXRpb25zU3VwcG9ydCB9LAotCiAg
ICAgeyBvcHRpb24gPT4gImxlZ2FjeS12ZW5kb3ItcHJlZml4ZXMiLCBkZXNjID0+ICJUb2dnbGUg
TGVnYWN5IFZlbmRvciBQcmVmaXggc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGxlZ2FjeVZl
bmRvclByZWZpeFN1cHBvcnQgfSwKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lv
biAyMTYwMDIpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNyArMTM5LDYgQEAgRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgPSBFTkFCTEVfSwogRU5BQkxFX0tFWUJPQVJEX0NPREVf
QVRUUklCVVRFID0gRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFOwogRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
OwogRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUFbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUE7Ci1FTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlNbc2RrPW1h
Y29zeCpdID0gRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TOwogRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRVRU
RVJQUkVTU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfTEVUVEVSUFJFU1M7CiBFTkFCTEVfTElOS19Q
UkVGRVRDSCA9IDsKQEAgLTI1NSw0ICsyNTQsNCBAQCBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lG
X05PVF8gPSAkKEVOQUJMCiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9OTyA9IEVOQUJM
RV9WQVJJQVRJT05fRk9OVFM7CiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9ZRVMgPSA7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVR
VUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
S0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsOTMgQEAKKzIwMTctMDQt
MzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9y
dCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIC0gUmVtb3ZlIGZhc3Qvbm90aWZpY2F0aW9ucy8uIEl0IHdhcyBz
a2lwcGVkIG9uIGFsbCBwbGF0Zm9ybXMgYW5kIHVzZSBsZWdhY3kgTm90aWZpY2F0aW9ucyBBUEku
CisgICAgICAgIC0gUmVtb3ZlIGh0dHAvbm90aWZpY2F0aW9ucy9sZWdhY3kuIEl0IHRlc3RlZCB0
aGUgbGVnYWN5IEFQSS4KKyAgICAgICAgLSBVcGRhdGUgdHdvIHRlc3RzIGluIGZhc3QvaGlzdG9y
eSB0byB1c2UgdGhlIG5vbi1sZWdhY3kgQVBJIHRvIHRlc3QgcGFnZSBjYWNoZSArIG5vdGlmaWNh
dGlvbnMuCisgICAgICAgIC0gVXBkYXRlIFRlc3RFeHBlY3RhdGlvbnMgZm9yIHJlbW92YWxzLgor
CisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWw6CisgICAgICAgICogZmFzdC9o
aXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWw6CisgICAgICAg
ICogZmFzdC9ub3RpZmljYXRpb25zOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1p
c3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwt
cmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y2hlY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jbGljay1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aC1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13
aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lv
bi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWRvY3VtZW50LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2
ZW50LXN0b3AtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1t
dWx0aS1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5v
LWljb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcmVwbGFjZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNz
aW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1
ZXN0LXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVy
bWlzc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9u
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90
aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVy
bWlzc2lvbi13aGlsZS1yZWxvYWRpbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25v
dGlmaWNhdGlvbnMvcmVzb3VyY2VzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0
aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3Rp
ZmljYXRpb25zLWlmcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3k6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L2V2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmln
YXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVxdWVzdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qt
bm8tY2FsbGJhY2suaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9ub3RpZnktb3BlbmVyLWRvbmUu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9zaG93Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGlj
ay5odG1sOiBSZW1vdmVkLgorCiAyMDE3LTA0LTMwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5pdGlhbGl6ZSBhIG5ldyBsYXlvdXQgc3RhdGUgd2hpbGUgYmFp
bGluZyBvdXQgb2Ygc2ltcGxlIGxpbmUgbGF5b3V0IG9ubHkgd2hlbiBuZWVkZWQuCkluZGV4OiBM
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTEyMjUsMTAgKzEyMjUsNiBAQCBmYXN0L2V2ZW50
cy9kZXN0cm95ZWQtYXRvbWljLXN0cmluZy5odG1sCiAjIFRlc3QgZGlzYWJsZWQgaW4gcjEyODQz
CiBmYXN0L2xvYWRlci9mb3JtLWV2ZW50cy1iYWNrLWZvcndhcmQuaHRtbCBbIFNraXAgXQogCi0j
IFRlc3RzIGxhbmRlZCBkaXNhYmxlZCBpbiByNDcwNTYgZm9yIHdlYmtpdC5vcmcvYi8yNTQ2Mzsg
bmV2ZXIgZW5hYmxlZAotZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3Rv
cC1wcm9wYWdhdGlvbi5odG1sIFsgU2tpcCBdCi1mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1tdWx0aS1ldmVudHMuaHRtbCBbIFNraXAgXQotCiAjIFRlc3QgZGlzYWJsZWQgaW4gcjQy
NjI4CiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdC1nb2JhY2stcmVwb3N0LXBvbGljeS5odG1s
IFsgU2tpcCBdCiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIg
KzAsMCBAQAotUEFTUwotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS5odG1sCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFm
dGVyLWNsb3NlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NCArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsg
Ijxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2Fu
T3BlbldpbmRvd3MoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgd2luID0gd2luZG93
Lm9wZW4oJ2Fib3V0OmJsYW5rJyk7Ci0gICAgICAgICAgICBpZiAod2luLndlYmtpdE5vdGlmaWNh
dGlvbnMgPT09IHVuZGVmaW5lZCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFTUyIpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBub3RpZmljYXRpb25DZW50ZXI9d2lu
LndlYmtpdE5vdGlmaWNhdGlvbnM7Ci0gICAgICAgICAgICAgICAgd2luLmNsb3NlKCk7Ci0gICAg
ICAgICAgICAgICAgdHJ5IHsgCi0gICAgICAgICAgICAgICAgICAgIG49bm90aWZpY2F0aW9uQ2Vu
dGVyLmNyZWF0ZU5vdGlmaWNhdGlvbignJyk7IAotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUp
IHt9Ci0gICAgICAgICAgICAgICAgLy8gSnVzdCBtYWtlIHN1cmUgd2UgZG9uJ3QgY3Jhc2guCi0g
ICAgICAgICAgICAgICAgbG9nKCJQQVNTIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1k
ZWxldGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBp
cyBkZWxldGFibGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIE5vdGlm
aWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZWZhdWx0IgotUEFTUyBkZWxldGUgTm90aWZpY2F0aW9u
LnBlcm1pc3Npb24gaXMgdHJ1ZQotUEFTUyBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyB1bmRl
ZmluZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJt
aXNzc2lvbi1kZWxldGFibGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCShyZXZp
c2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgZGVsZXRhYmxlLiIpOwot
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlZmF1
bHQiKTsKLXNob3VsZEJlVHJ1ZSgiZGVsZXRlIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIik7Ci1z
aG91bGRCZVVuZGVmaW5lZCgiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1
ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBA
Ci1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogZmlsZTovLwotREVT
S1RPUCBOT1RJRklDQVRJT04gUEVSTUlTU0lPTiBSRVFVRVNUIENBTkNFTExFRDogZmlsZTovLwot
UmVxdWVzdGluZyBhbmQgY2FuY2VsbGluZyBub3RpZmljYXRpb24gcGVybWlzc2lvbi4uLgotCi1Q
YXNzIGlmIG5vdGlmaWNhdGlvbiBpcyBjYW5jZWxsZWQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1
ZXN0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ0ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi0gICAgICAg
IC8vIFRpbWVvdXQgaXMgdG8gZW5zdXJlIHRoYXQgdGhlIGlmcmFtZSB3YXMgcmVtb3ZlZC4KLSAg
ICAgICAgc2V0VGltZW91dChpc0RvbmUsNTAwKTsKLQotICAgICAgICBmdW5jdGlvbiBsb2cobWVz
c2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJl
c3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAg
IAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
KSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGlu
dGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS5pbm5lckhUTUw9IlBhc3MgaWYgbm90aWZpY2F0
aW9uIGlzIGNhbmNlbGxlZCI7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBpc0RvbmUo
KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotCi0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7
Ij4KLSAgICA8cD5SZXF1ZXN0aW5nIGFuZCBjYW5jZWxsaW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNz
aW9uLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxkaXYgaWQ9InRlc3Qi
PgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBl
cm1pc3Npb24uaHRtbCIgd2lkdGg9ODAwIGhlaWdodD04MDA+PC9pZnJhbWU+Ci08L2Rpdj4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotQ2hlY2tpbmcgcGVybWlzc2lvbi4uLgotCi1Q
QVNTOiBQZXJtaXNzaW9uIG5vdCBncmFudGVkLgotUEFTUzogUGVybWlzc2lvbiBncmFudGVkLgot
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVj
ay1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYw
MDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVj
ay1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0
cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAg
ICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKTsKLSAgICAgICAgICAgIGlmIChOICE9
IDApIHsKLSAgICAgICAgICAgICAgICBsb2coIlBBU1M6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQu
Iik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogUGVy
bWlzc2lvbiBzaG91bGRuJ3QgYmUgZ3JhbnRlZC4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgTiA9IHdpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpOwotICAgICAgICAgICAgaWYgKE4gPT0g
MCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFTUzogUGVybWlzc2lvbiBncmFudGVkLiIpOwot
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IFBlcm1pc3Np
b24gbm90IGdyYW50ZWQuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHA+Q2hlY2tpbmcgcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5U
ZXN0cygpOwotPC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jbGljay1ldmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDggKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJ
T046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQot
REVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TaG93aW5nIG5vdGlmaWNh
dGlvbnMuCi0KLVRvIGV4ZXJjaXNlIG1hbnVhbGx5LCBncmFudCBub3RpZmljYXRpb24gcGVybWlz
c2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdlLCB0aGVuIGNsaWNrIG9uIHRoZSBub3RpZmljYXRpb24u
IFlvdSBzaG91bGQgc2VlIGEgIlBBU1MiIG1lc3NhZ2UuCi0KLVBBU1M6IGNsaWNrIGV2ZW50IGZp
cmVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQpAQCAtMSw5ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0
bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJ
Q0FUSU9OIENMT1NFRDogTmV3IEUtbWFpbAotQ2hlY2sgdGhhdCB3aW5kb3cuZm9jdXMoKSBpcyBu
b3QgcmVzdHJpY3RlZCBkdXJpbmcgbm90aWZpY2F0aW9uIGNsaWNrIGV2ZW50cy4KLQotVG8gZXhl
cmNpc2UgbWFudWFsbHksIGRpc2FibGUgcG9wLXVwIGJsb2NraW5nLCBncmFudCBub3RpZmljYXRp
b24gcGVybWlzc2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdlLCB0aGVuIGNsaWNrIG9uIHRoZSBub3Rp
ZmljYXRpb24uIFlvdSBzaG91bGQgc2VlIHR3byAiUEFTUyIgbWVzc2FnZXMgYW5kIHRoaXMgd2lu
ZG93IHNob3VsZCBiZSBmb2N1c2VkLgotCi1QQVNTOiBjbGljayBldmVudCBmaXJlZC4KLVBBU1M6
IGZvY3VzIGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZv
Y3VzLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSw1MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2Fn
ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0KLSAgICAgICAg
ZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSgp
OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmlj
YXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRp
b25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gT3BlbiBh
IG5ldyB3aW5kb3csIHNvIHdlIGRvbid0IGhhdmUgdGhlIGZvY3VzLgotICAgICAgICAgICAgdmFy
IFcgPSB3aW5kb3cub3BlbigiYWJvdXQ6YmxhbmsiKTsKLSAgICAgICAgICAgIFcuZm9jdXMoKTsK
LQotICAgICAgICAgICAgd2luZG93Lm9uZm9jdXMgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBm
b2N1cyBldmVudCBmaXJlZC4iKTsgfQotCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVl
dCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLm9uY2xpY2sgPSBmdW5jdGlvbigp
IHsgbG9nKCJQQVNTOiBjbGljayBldmVudCBmaXJlZC4iKTsgd2luZG93LmZvY3VzKCk7IE4uY2Fu
Y2VsKCk7ICB9Ci0gICAgICAgICAgICBOLnNob3coKTsKLQotICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0ZUxlZ2Fj
eVdlYk5vdGlmaWNhdGlvbkNsaWNrKCJOZXcgRS1tYWlsIik7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+Q2hlY2sgdGhhdCB3aW5kb3cuZm9jdXMoKSBpcyBu
b3QgcmVzdHJpY3RlZCBkdXJpbmcgbm90aWZpY2F0aW9uIGNsaWNrIGV2ZW50cy48L3A+Ci0KLTxw
PlRvIGV4ZXJjaXNlIG1hbnVhbGx5LCBkaXNhYmxlIHBvcC11cCBibG9ja2luZywgZ3JhbnQgbm90
aWZpY2F0aW9uIHBlcm1pc3Npb25zIGFuZCBsb2FkIHRoaXMgcGFnZSwgdGhlbiBjbGljayBvbiB0
aGUgbm90aWZpY2F0aW9uLiAgWW91IHNob3VsZCBzZWUgdHdvICJQQVNTIiBtZXNzYWdlcyBhbmQg
dGhpcyB3aW5kb3cgc2hvdWxkIGJlIGZvY3VzZWQuPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCShy
ZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1jbGljay1ldmVudC5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDQgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0g
bWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24g
cnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAg
ICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVl
dCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLm9uY2xpY2sgPSBmdW5jdGlvbigp
IHsgbG9nKCJQQVNTOiBjbGljayBldmVudCBmaXJlZC4iKTsgTi5jYW5jZWwoKTsgIH0KLSAgICAg
ICAgICAgIE4uc2hvdygpOwotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0ZUxlZ2FjeVdlYk5vdGlmaWNhdGlvbkNs
aWNrKCJOZXcgRS1tYWlsIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHA+U2hvd2luZyBub3RpZmljYXRpb25zLjwvcD4KLQotPHA+VG8gZXhlcmNpc2UgbWFu
dWFsbHksIGdyYW50IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2Us
IHRoZW4gY2xpY2sgb24gdGhlIG5vdGlmaWNhdGlvbi4gIFlvdSBzaG91bGQgc2VlIGEgIlBBU1Mi
IG1lc3NhZ2UuPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0
cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikK
KysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVj
dG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1
ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiBmaWxl
Oi8vCi1SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IFBlcm1p
c3Npb24gY2FsbGJhY2sgaW52b2tlZC4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikK
KysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVj
dG9yLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rp
b24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cuTm90aWZpY2F0aW9uKSB7Ci0gICAgICAg
ICAgICAgICAgbG9nKCJGQUlMOiBObyBOb3RpZmljYXRpb24gaW50ZXJmYWNlISIpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy5Ob3RpZmlj
YXRpb24ucmVxdWVzdFBlcm1pc3Npb24oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxv
ZygiUEFTUzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICAp
OwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8cD5SZXF1
ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0
cygpOwotPC9zY3JpcHQ+Ci0KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aC1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiAs
IHRpdGxlIEhlbGxvIHdvcmxkLCB0ZXh0IAotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVy
bWlzc2lvbi4uLgotCi1QQVNTOiBzaG93IGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1p
c3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24g
MjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y29uc3RydWN0b3Itd2l0aC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNyAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBm
dW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93Lk5vdGlmaWNhdGlvbikgewot
ICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gTm90aWZpY2F0aW9uIGNvbnN0cnVjdG9yISIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IG5ldyBO
b3RpZmljYXRpb24oIkhlbGxvIHdvcmxkIik7Ci0gICAgICAgICAgICBOLm9uc2hvdyA9IGZ1bmN0
aW9uKCkgeyBsb2coIlBBU1M6IHNob3cgZXZlbnQgZmlyZWQuIik7IH0KLSAgICAgICAgICAgIE4u
b25lcnJvciA9IGZ1bmN0aW9uKCkgeyBsb2coIkZBSUw6IGVycm9yIGV2ZW50IGZpcmVkLiIpOyB9
Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsgfSwgMTAwKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVu
VGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aG91dC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1TZW5kaW5nIG5vdGlmaWNhdGlv
bnMgd2l0aG91dCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGVycm9yIGV2ZW50IGZpcmVkLgotCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1
Y3Rvci13aXRob3V0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1p
c3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5j
dGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAg
ICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIC8vIE5P
IFBFUk1JU1NJT04gdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgaWYgKCF3aW5kb3cuTm90aWZpY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAg
bG9nKCJGQUlMOiBObyBOb3RpZmljYXRpb24gY29uc3RydWN0b3IhIik7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gbmV3IE5vdGlmaWNhdGlvbigiSGVs
bG8gd29ybGQiKTsKLSAgICAgICAgICAgIE4ub25zaG93ID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJ
TDogc2hvdyBldmVudCBmaXJlZC4iKTsgfQotICAgICAgICAgICAgTi5vbmVycm9yID0gZnVuY3Rp
b24oKSB7IGxvZygiUEFTUzogZXJyb3IgZXZlbnQgZmlyZWQuIik7IH0KLSAgICAgICAgICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAxMDApOwot
ICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90
aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
ZGlzcGxheS1jbG9zZS1ldmVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3Nl
LWV2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLURFU0tU
T1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRv
bmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJQ0FUSU9OIENMT1NFRDogTmV3IEUtbWFpbAotU2Vu
ZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLgotCi1QQVNTOiBkaXNwbGF5IGV2
ZW50IGludm9rZWQuCi1QQVNTOiBjbG9zZSBldmVudCBpbnZva2VkLgotCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xv
c2UtZXZlbnRzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsg
Ijxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxl
Oi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
aWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygi
RkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNh
dGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmln
aHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygi
UEFTUzogZGlzcGxheSBldmVudCBpbnZva2VkLiIpOyBOLmNhbmNlbCgpOyB9Ci0gICAgICAgICAg
ICBOLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBjbG9zZSBldmVudCBpbnZva2Vk
LiIpOyB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfQotICAgICAgICAgICAgTi5zaG93KCk7Ci0g
ICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3Rp
ZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
ICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsK
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQt
Y2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMiArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMzY6IFVuY2F1Z2h0IEludmFsaWRTdGF0ZUVycm9yIChET00g
RXhjZXB0aW9uIDExKTogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLg0KLVBBU1MN
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1
bWVudC1jbG9zZS1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MCArMCww
IEBACi08aHRtbD4KLSAgICA8Ym9keT4KLSAgICAgICAgPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
LSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8i
KTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewot
ICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZh
Y2UhIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZhciB0YXJnZXQgPSB3aW5kb3cu
b3BlbigiYWJvdXQ6YmxhbmsiKTsKLSAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSB0YXJn
ZXQud2Via2l0Tm90aWZpY2F0aW9uczsKLSAgICAgICAgICAgIHRhcmdldC5sb2NhdGlvbi5yZWxv
YWQoKTsKLSAgICAgICAgICAgIHZhciB0aW1lciA9IHNldEludGVydmFsKCJjcmFzaCgpIiwgNjAp
OwotICAgICAgICAgICAgc2V0VGltZW91dCgiZmluaXNoKCkiLCAxMDApOwotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBjcmFzaCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIGEg
PSBbXTsKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDB4MTAwOyBpKyspCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICB0cnkKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgYS5wdXNoKG5ldyBXZWJHTEJ5dGVBcnJh
eSgpKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBjYXRjaCAo
ZSkge30KLSAgICAgICAgICAgICAgICAgICAgYS5wdXNoKEFycmF5KGkpLmpvaW4oIkFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBIikpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBk
ZWxldGUgYTsKLSAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24o
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoKCkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTsKLSAgICAgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlBB
U1MiOwotICAgICAgICAgICAgICAgIHRhcmdldC5jbG9zZSgpOwotICAgICAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4K
LTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1w
cm9wYWdhdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24t
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi1ERVNLVE9QIE5PVElG
SUNBVElPTjogaWNvbiBodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5nLCB0aXRsZSBOZXcgRS1t
YWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xP
U0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4u
Ci0KLVBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlzcGxheSkgY2FwdHVyZSBjYWxsYmFjayBpbnZv
a2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLmh0
bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8g
d2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3Jl
YXRlTm90aWZpY2F0aW9uKCJodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5nIiwgIk5ldyBFLW1h
aWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlz
dGVuZXIoImRpc3BsYXkiLCBmdW5jdGlvbihlKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5l
cihkaXNwbGF5KSBub24tY2FwdHVyZSBjYWxsYmFjayBpbnZva2VkIik7IH0pOwotICAgICAgICAg
ICAgTi5vbmRpc3BsYXkgPSAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZSkgeyBsb2coIlBBU1M6
IG9uZGlzcGxheSBhdHRyaWJ1dGUgZXZlbnQgY2FsbGJhY2sgaW52b2tlZC4iKTsgfQotICAgICAg
ICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJkaXNwbGF5IiwgZnVuY3Rpb24oZSkgeyBsb2coIlBB
U1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlzcGxheSkgY2FwdHVyZSBjYWxsYmFjayBpbnZva2VkIik7
IGUuc3RvcFByb3BhZ2F0aW9uKCk7IH0sIHRydWUgKTsKLSAgICAgICAgICAgIE4uc2hvdygpOwot
ICAgICAgICAgICAgTi5jYW5jZWwoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9w
PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1l
dmVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBA
Ci1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiBodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5n
LCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBO
T1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0
aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhcHR1cmUg
Y2FsbGJhY2sgIzEgaW52b2tlZAotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVy
ZSBjYWxsYmFjayAjMiBpbnZva2VkCi1QQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBjYWxs
YmFjayAjMSBpbnZva2VkCi1QQVNTOiBvbmNsb3NlIGF0dHJpYnV0ZSBldmVudCBjYWxsYmFjayBp
bnZva2VkLgotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FsbGJhY2sgIzMgaW52b2tl
ZAotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1t
dWx0aS1ldmVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbAkocmV2aXNpb24gMjE2MDAyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZl
bnRzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAg
ICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4i
OwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAg
ICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiaHR0cDovL2xvY2FsaG9z
dC9teV9pY29uLnBuZyIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwot
ICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2co
IlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNrICMxIGludm9rZWQiKTsgfSk7
Ci0gICAgICAgICAgICBOLm9uY2xvc2UgPSAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxv
ZygiUEFTUzogb25jbG9zZSBhdHRyaWJ1dGUgZXZlbnQgY2FsbGJhY2sgaW52b2tlZC4iKTsgfQot
ICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2co
IlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhcHR1cmUgY2FsbGJhY2sgIzEgaW52b2tl
ZCIpOyB9LCB0cnVlICk7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwg
ZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVyZSBj
YWxsYmFjayAjMiBpbnZva2VkIik7IH0sIHRydWUgKTsKLSAgICAgICAgICAgIE4uYWRkRXZlbnRM
aXN0ZW5lcigiY2xvc2UiLCBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBhZGRFdmVudExpc3RlbmVy
KGNsb3NlKSBjYWxsYmFjayAjMyBpbnZva2VkIik7IH0pOwotICAgICAgICAgICAgTi5zaG93KCk7
Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48
L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWlj
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1uby1pY29u
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotREVTS1RPUCBOT1RJ
RklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBh
dCA4IQotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLgotCi0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1uby1pY29uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90
aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0
aW9ucygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3Rp
ZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmlj
YXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAg
ICAgICAgTS5zaG93KCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLSAgICAK
LSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3Nj
cmlwdD4KLQotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24t
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwICswLDAgQEAKLUNoZWNrIGZv
ciBleGlzdGVuY2Ugb2YgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi1QQVNTIHdpbmRvdy5Ob3RpZmljYXRpb24gaXMgZGVmaW5lZC4KLVBBU1Mg
d2luZG93Lk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzIGRlZmluZWQuCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1p
c3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MjEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotCTxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keT4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1kZXNjcmlwdGlvbigiQ2hl
Y2sgZm9yIGV4aXN0ZW5jZSBvZiBOb3RpZmljYXRpb24ucGVybWlzc2lvbiIpOwotCi1zaG91bGRC
ZURlZmluZWQoIndpbmRvdy5Ob3RpZmljYXRpb24iKTsKLXNob3VsZEJlRGVmaW5lZCgid2luZG93
Lk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIik7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBs
YWNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQpAQCAtMSw3ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUg
TmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJQ0FU
SU9OOiBpY29uICwgdGl0bGUgQWxhcm0sIHRleHQgSXQncyB0aW1lIHRvIHdha2UgdXAhCi1SRVBM
QUNJTkcgTk9USUZJQ0FUSU9OIE5ldyBFLW1haWwKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29u
ICwgdGl0bGUgTmV3IHJlcGx5LCB0ZXh0IENvcnJlY3Rpb24sIDg6MTUKLVNob3dpbmcgbm90aWZp
Y2F0aW9ucyB3aXRoIHJlcGxhY2UgSUQuLi4KLQotCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVk
LnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbAko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtcmVwbGFjZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDEgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVz
c2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVu
VGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lv
bigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAg
ICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNl
ISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTSA9IHdp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1h
aWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBNLnJlcGxhY2VJZCA9
ICJOZXdNYWlsIjsKLSAgICAgICAgICAgIE0uc2hvdygpOwotICAgICAgICAgICAgdmFyIG90aGVy
ID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiQWxh
cm0iLCAiSXQncyB0aW1lIHRvIHdha2UgdXAhIik7Ci0gICAgICAgICAgICBvdGhlci5zaG93KCk7
Ci0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbigiIiwgIk5ldyByZXBseSIsICJDb3JyZWN0aW9uLCA4OjE1Iik7Ci0gICAgICAg
ICAgICBOLnJlcGxhY2VJZCA9ICJOZXdNYWlsIjsKLSAgICAgICAgICAgIE4uc2hvdygpOyAgICAg
ICAgICAKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TaG93
aW5nIG5vdGlmaWNhdGlvbnMgd2l0aCByZXBsYWNlIElELi4uPC9wPgotPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbApfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNB
VElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogZmlsZTovLwotUmVxdWVzdGluZyBub3RpZmljYXRp
b24gcGVybWlzc2lvbi4uLgotCi1QQVNTOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuCi0K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVl
c3QtcGVybWlzc2lvbi1vcHRpb25hbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9u
LW9wdGlvbmFsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlv
bmFsLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotUEFTUyB3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucyBpcyBkZWZpbmVkLgotUEFTUyB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVy
bWlzc2lvbi1vcHRpb25hbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC5odG1s
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwuaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDExICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucyIpOwotc2hvdWxkTm90VGhyb3coIndpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zLnJlcXVlc3RQZXJtaXNzaW9uKCkiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVz
dC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIx
NjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJl
cXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVz
c2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVu
VGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAg
ICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oCi0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLiIpOyB9
Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgICA8cD5SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uPC9wPgotICAg
IAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLQotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjooUlRMKSBp
Y29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLVNob3dp
bmcgYSBub3RpZmljYXRpb24gd2l0aCBkaXJlY3Rpb24gInJ0bCIuLi4KLQotCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1y
dGwtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSAr
MCwwICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRt
bAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNz
YWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5U
ZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9u
KCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAg
ICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2Uh
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBNID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFp
bCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE0uZGlyID0gInJ0bCI7
Ci0gICAgICAgICAgICBNLnNob3coKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5TaG93aW5nIGEgbm90aWZpY2F0aW9uIHdpdGggZGlyZWN0aW9uICJydGwi
Li4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLSAgIAotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotCi08L2JvZHk+Ci08
L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTEgKzAsMCAjIwotTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsMjQgKzAsMCBAQAotTm9ybWFsIGlmcmFtZS4gU2hvdWxkIGluaGVyaXQgcGVybWlzc2lv
bnMuCi0KLQotU2FuZGJveGVkIGlmcmFtZSwgd2l0aCBhbGxvdy1zYW1lLW9yaWdpbi4gU2hvdWxk
IGluaGVyaXQgcGVybWlzc2lvbnMuCi0KLQotU2FuZGJveGVkIGlmcmFtZSwgd2l0aG91dCBhbGxv
dy1zYW1lLW9yaWdpbi4gU2hvdWxkIG5vdCBpbmhlcml0IHBlcm1pc3Npb25zLgotCi0KLQotLS0t
LS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0t
LQotQWxsb3dlZAotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1l
MS0tPi0tPicKLS0tLS0tLS0tCi1BbGxvd2VkCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUyLS0+LS0+JwotLS0tLS0tLS0KLURlbmllZApJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlz
c2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAg
fQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHA+Tm9ybWFsIGlmcmFtZS4g
U2hvdWxkIGluaGVyaXQgcGVybWlzc2lvbnMuPC9wPgotICAgIDxpZnJhbWUgc3JjPSJyZXNvdXJj
ZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbCI+PC9pZnJhbWU+Ci0KLSAgICA8cD5TYW5kYm94
ZWQgaWZyYW1lLCB3aXRoIGFsbG93LXNhbWUtb3JpZ2luLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNz
aW9ucy48L3A+Ci0gICAgPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUt
b3JpZ2luIgotICAgICAgICAgICAgc3JjPSJyZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUu
aHRtbCI+PC9pZnJhbWU+Ci0KLSAgICA8cD5TYW5kYm94ZWQgaWZyYW1lLCB3aXRob3V0IGFsbG93
LXNhbWUtb3JpZ2luLiBTaG91bGQgbm90IGluaGVyaXQgcGVybWlzc2lvbnMuPC9wPgotICAgIDxp
ZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIKLSAgICAgICAgICAgIHNyYz0icmVzb3VyY2Vz
L25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93
LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKQEAgLTEgKzAsMCBAQAotVGhpcyB0ZXN0IG5lZWRzIHRvIHJ1biBtYW51YWxseSBhbmQgY2Fu
bm90IHJ1biBpbnNpZGUgRHVtcFJlbmRlclRyZWUuIFBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFz
aCBvbiBydW5uaW5nIHRoZSB0ZXN0IGFsb25nd2l0aCB3aXRoIGEgY291cGxlIG9mIHBhZ2UgcmVs
b2Fkcy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCShyZXZp
c2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDIzICswLDAg
QEAKLTxodG1sPiANCi0gICAgPGhlYWQ+IA0KLSAgICAgICAgPHNjcmlwdD4gDQotICAgICAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpDQotICAgICAgICAgICAgew0KLSAgICAgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpDQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsNCi0gICAgICAgICAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgICAgICB7DQot
ICAgICAgICAgICAgICAgICAgICB2YXIgd2luID0gd2luZG93Lm9wZW4oImFib3V0OmJsYW5rIik7
DQotICAgICAgICAgICAgICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gd2luLndlYmtpdE5vdGlm
aWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsNCi0gICAgICAgICAgICAgICAgICAgIG5v
dGlmaWNhdGlvbi5zaG93KCk7DQotICAgICAgICAgICAgICAgICAgICB3aW4uY2xvc2UoKTsNCi0g
ICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5jYW5jZWwoKTsNCi0gICAgICAgICAgICAg
ICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICA8L3NjcmlwdD4gDQotICAgIDwvaGVhZD4g
DQotICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4gDQotICAgICAgICA8cD5UaGlzIHRlc3Qg
bmVlZHMgdG8gcnVuIG1hbnVhbGx5IGFuZCBjYW5ub3QgcnVuIGluc2lkZSBEdW1wUmVuZGVyVHJl
ZS4gUGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoIG9uIHJ1bm5pbmcgdGhlIHRlc3QgYWxvbmd3
aXRoIHdpdGggYSBjb3VwbGUgb2YgcGFnZSByZWxvYWRzLjwvcD4NCi0gICAgPC9ib2R5PiANCi08
L2h0bWw+DQotDQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtd2l0aC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKQEAgLTEsNCArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiBodHRwOi8v
MC4wLjAuMC9teV9pY29uLnBuZywgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmln
aHQgYXQgOCEKLVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBl
cm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJt
aXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgot
ICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxi
cj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8v
Iik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAg
ICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYg
KCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJ
TDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY3JlYXRlTm90aWZpY2F0aW9uKCJodHRwOi8vMC4wLjAuMC9teV9pY29uLnBuZyIsICJOZXcg
RS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTS5vbmRpc3Bs
YXkgPSBmdW5jdGlvbigpIHsgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7IH0KLSAgICAgICAgICAg
IE0uc2hvdygpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxw
PlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi0gICAg
Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+
Ci0KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0
ICswLDAgQEAKLVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi4KLQot
UEFTUzogRXhjZXB0aW9uIHRocm93bi4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1w
ZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAg
ICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICAvLyBOTyBQRVJNSVNT
SU9OIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAg
ICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZp
Y2F0aW9uKCJodHRwOi8vMC4wLjAuMC9teV9pY29uLnBuZyIsICJOZXcgRS1tYWlsIiwgIk1lZXQg
bWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgICAgIE4uc2hvdygpOwotICAgICAgICAg
ICAgICAgIGxvZygiRkFJTDogU2hvdWxkIGhhdmUgdGhyb3duIHNlY3VyaXR5IGV4Y2VwdGlvbi4i
KTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICBsb2coIlBBU1M6
IEV4Y2VwdGlvbiB0aHJvd24uIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQg
cGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlm
aWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9u
LXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAy
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9u
LXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0cyB0aGF0IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uIHJl
cXVlc3RzIGR1cmluZyBwYWdlIHJlbG9hZCBkbyBub3QgY2F1c2UgYSBjcmFzaC4KLQotUEFTUzog
VGVzdCBwYXNzZWQgaWYgd2Ugc2F3IG5vIGNyYXNoLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Np
b24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlm
aWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNz
aW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGls
ZS1yZWxvYWRpbmcuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGJvZHk+Ci08cD5UaGlzIHRlc3RzIHRoYXQgbm90aWZpY2F0aW9uIHBlcm1pc3Np
b24gcmVxdWVzdHMgZHVyaW5nIHBhZ2UgcmVsb2FkIGRvIG5vdCBjYXVzZSBhIGNyYXNoLjwvcD4K
LTxwIGlkPSJtZXNzYWdlIj5GQUlMOiBUZXN0IGRpZCBub3QgcnVuIHRvIGNvbXBsZXRpb24geWV0
LjwvcD4KLTxzY3JpcHQ+Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi12
YXIgdHJpZXMgPSBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSA+Pj4gMDsKLWlmICh0cmllcyA8
IDEwKSB7Ci0gICAgbG9jYXRpb24uaGFzaCA9ICIjIiArICh0cmllcyArIDEpOwotICAgIGxvY2F0
aW9uLnJlbG9hZCgpOwotCi0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgd2Vi
a2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpOwotICAgIH0sIDApOwotfSBlbHNl
IHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVzc2FnZSIpLnRleHRDb250ZW50ID0g
IlBBU1M6IFRlc3QgcGFzc2VkIGlmIHdlIHNhdyBubyBjcmFzaC4iOwotICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLTwvc2Ny
aXB0PgotPC9ib2R5PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5n
Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5h
dGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkRlbGV0ZWQ6IHN2bjptaW1lLXR5
cGUKIyMgLTEgKzAsMCAjIwotdGV4dC9odG1sClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZp
Y2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNl
bC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1
ZXN0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI4ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBm
dW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgcGFyZW50LmRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+
IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5p
Z25vcmVMZWdhY3lXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBl
cm1pc3Npb24oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiRkFJTDogUGVybWlz
c2lvbiBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICApOwotCi0gICAgICAgIH0K
LSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291
cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbAko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291
cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDx0aXRsZT5Ob3RpZmlj
YXRpb25zOiBJZnJhbWUgdGVzdC48L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHAgaWQ9
Imhhc1Blcm1pc3Npb24iPjwvcD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaGFzUGVybWlzc2lvbiIpLmlubmVyVGV4dCA9Ci0gICAgICAgICAgICAhd2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSA/ICJBbGxvd2VkIiA6ICJEZW5pZWQi
OwotICAgIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLW5vbi1zdXNwZW5kYWJsZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNh
dGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLW5vbi1zdXNwZW5kYWJsZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgZnVuY3Rpb24KICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucGFnZV9jYWNo
ZV9ub3RpZmljYXRpb25zX3Rlc3Rfc3RhcnRlZCA9IHRydWU7CiAKICAgICAvLyBUaGlzIG5vdGlm
aWNhdGlvbiBpcyBzaG93biBhbmQgc2hvdWxkIG5vdCBiZSBzdXNwZW5kYWJsZS4KLSAgICBub3Rp
ZmljYXRpb24gPSB3ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbignJywgJ3Rp
dGxlIDInLCAnYm9keScpOworICAgIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oJ3Rp
dGxlJywgeyBib2R5OiAnYm9keScgfSk7CiAgICAgbm90aWZpY2F0aW9uLm9uZXJyb3IgPSBmdW5j
dGlvbigpIHsKICAgICAgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90IHNob3cgdGhlIG5vdGlmaWNh
dGlvbiIpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKQEAgLTQ2LDcgKzQ2LDYgQEAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbgogICAgICAgICAvLyBGb3JjZSBhIGJh
Y2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KICAgICAgICAgd2luZG93LmxvY2F0aW9u
LmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwiOwogICAgIH07Ci0gICAg
bm90aWZpY2F0aW9uLnNob3coKTsKIH0sIGZhbHNlKTsKIAogPC9zY3JpcHQ+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFibGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1u
b3RpZmljYXRpb24tc3VzcGVuZGFibGUuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDI4ICsyOSwyNCBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigicGFnZWhpZGUiLCBmdW5jCiB9LCBmYWxzZSk7CiAKIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7Ci0gICAgLy8gVGhpcyBub3RpZmljYXRpb24gaXMgaW4g
aWRsZSBzdGF0ZSBhbmQgc2hvdWxkIGJlIHN1c3BlbmRhYmxlLgotICAgIG5vdGlmaWNhdGlvbjEg
PSB3ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbignJywgJ3RpdGxlIDEnLCAn
Ym9keScpOwotCiAgICAgLy8gVGhpcyBub3RpZmljYXRpb24gaXMgc2hvd24gYW5kIHNob3VsZCBi
ZSBzdXNwZW5kYWJsZSBvbmNlIGl0IGlzIGNsb3NlZC4KLSAgICBub3RpZmljYXRpb24yID0gd2Vi
a2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAyJywgJ2JvZHkn
KTsKLSAgICBub3RpZmljYXRpb24yLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgeworICAgIG5vdGlm
aWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oJ3RpdGxlJywgeyBib2R5OiAnYm9keScgfSk7Cisg
ICAgbm90aWZpY2F0aW9uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAvLyBDbG9z
ZSB0aGUgbm90aWZpY2F0aW9uLgogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgbm90aWZpY2F0aW9uMi5jYW5jZWwoKTsKKyAgICAgICAgICAgIG5vdGlmaWNhdGlv
bi5jbG9zZSgpOwogICAgICAgICB9LCAwKTsKICAgICB9OwotICAgIG5vdGlmaWNhdGlvbjIub25l
cnJvciA9IGZ1bmN0aW9uKCkgeworICAgIG5vdGlmaWNhdGlvbi5vbmVycm9yID0gZnVuY3Rpb24o
KSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBkaXNwbGF5IHRoZSBub3RpZmljYXRp
b24iKTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfTsKLSAgICBub3RpZmljYXRpb24y
Lm9uY2xvc2UgPSBmdW5jdGlvbigpIHsKKyAgICBub3RpZmljYXRpb24ub25jbG9zZSA9IGZ1bmN0
aW9uKCkgewogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgLy8g
Rm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBhZ2UuCiAgICAgICAgICAgICB3
aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJjZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbCI7
CiAgICAgICAgIH0sIDApOwogICAgIH07Ci0gICAgbm90aWZpY2F0aW9uMi5zaG93KCk7CiB9LCBm
YWxzZSk7CiAKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsMiArMCwwIEBACi1QQVNTCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwJKHJl
dmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb24tYWZ0ZXItY2xvc2UuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ0ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1
blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB3aW4g
PSB3aW5kb3cub3BlbignYWJvdXQ6YmxhbmsnKTsKLSAgICAgICAgICAgIGlmICh3aW4ud2Via2l0
Tm90aWZpY2F0aW9ucyA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJQQVNT
Iik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbkNl
bnRlcj13aW4ud2Via2l0Tm90aWZpY2F0aW9uczsKLSAgICAgICAgICAgICAgICB3aW4uY2xvc2Uo
KTsKLSAgICAgICAgICAgICAgICB0cnkgeyAKLSAgICAgICAgICAgICAgICAgICAgbj1ub3RpZmlj
YXRpb25DZW50ZXIuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsgCi0gICAgICAgICAgICAgICAgfSBj
YXRjaCAoZSkge30KLSAgICAgICAgICAgICAgICAvLyBKdXN0IG1ha2Ugc3VyZSB3ZSBkb24ndCBj
cmFzaC4KLSAgICAgICAgICAgICAgICBsb2coIlBBU1MiKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1p
c3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IE5vdGlmaWNhdGlvbi5wZXJt
aXNzaW9uIGlzIGRlbGV0YWJsZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgImRlZmF1bHQiCi1QQVNTIGRlbGV0ZSBOb3Rp
ZmljYXRpb24ucGVybWlzc2lvbiBpcyB0cnVlCi1QQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9u
IGlzIHVuZGVmaW5lZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLmh0
bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1k
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyBkZWxldGFi
bGUuIik7Ci0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24i
LCAiZGVmYXVsdCIpOwotc2hvdWxkQmVUcnVlKCJkZWxldGUgTm90aWZpY2F0aW9uLnBlcm1pc3Np
b24iKTsKLXNob3VsZEJlVW5kZWZpbmVkKCJOb3RpZmljYXRpb24ucGVybWlzc2lvbiIpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1
ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiBmaWxl
Oi8vCi1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1QgQ0FOQ0VMTEVEOiBm
aWxlOi8vCi1SZXF1ZXN0aW5nIGFuZCBjYW5jZWxsaW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9u
Li4uCi0KLVBhc3MgaWYgbm90aWZpY2F0aW9uIGlzIGNhbmNlbGxlZApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlz
c2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDQgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0K
LSAgICAgICAgLy8gVGltZW91dCBpcyB0byBlbnN1cmUgdGhhdCB0aGUgaWZyYW1lIHdhcyByZW1v
dmVkLgotICAgICAgICBzZXRUaW1lb3V0KGlzRG9uZSw1MDApOwotCi0gICAgICAgIGZ1bmN0aW9u
IGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlm
aWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNh
dGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLmlubmVySFRNTD0iUGFzcyBpZiBu
b3RpZmljYXRpb24gaXMgY2FuY2VsbGVkIjsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9u
IGlzRG9uZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVu
VGVzdHMoKTsiPgotICAgIDxwPlJlcXVlc3RpbmcgYW5kIGNhbmNlbGxpbmcgbm90aWZpY2F0aW9u
IHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPGRpdiBp
ZD0idGVzdCI+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJl
cXVlc3QtcGVybWlzc2lvbi5odG1sIiB3aWR0aD04MDAgaGVpZ2h0PTgwMD48L2lmcmFtZT4KLTwv
ZGl2PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2st
cGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1DaGVja2luZyBwZXJtaXNzaW9u
Li4uCi0KLVBBU1M6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQuCi1QQVNTOiBQZXJtaXNzaW9uIGdy
YW50ZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNoZWNrLXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLmh0bWwJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNoZWNrLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ4ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9
IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9u
IHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAg
ICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNl
ISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpOwotICAgICAgICAgICAg
aWYgKE4gIT0gMCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFTUzogUGVybWlzc2lvbiBub3Qg
Z3JhbnRlZC4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJG
QUlMOiBQZXJtaXNzaW9uIHNob3VsZG4ndCBiZSBncmFudGVkLiIpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmls
ZTovLyIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBOID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCk7Ci0gICAgICAgICAgICBp
ZiAoTiA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJQQVNTOiBQZXJtaXNzaW9uIGdyYW50
ZWQuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDog
UGVybWlzc2lvbiBub3QgZ3JhbnRlZC4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5DaGVja2luZyBwZXJtaXNzaW9uLi4uPC9w
PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZl
bnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsOCArMCwwIEBACi1ERVNLVE9QIE5P
VElGSUNBVElPTjogaWNvbiAsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0
IGF0IDghCi1ERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5ldyBFLW1haWwKLVNob3dpbmcg
bm90aWZpY2F0aW9ucy4KLQotVG8gZXhlcmNpc2UgbWFudWFsbHksIGdyYW50IG5vdGlmaWNhdGlv
biBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2UsIHRoZW4gY2xpY2sgb24gdGhlIG5vdGlm
aWNhdGlvbi4gWW91IHNob3VsZCBzZWUgYSAiUEFTUyIgbWVzc2FnZS4KLQotUEFTUzogY2xpY2sg
ZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1m
b2N1cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGlj
b24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RP
UCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1DaGVjayB0aGF0IHdpbmRvdy5mb2N1
cygpIGlzIG5vdCByZXN0cmljdGVkIGR1cmluZyBub3RpZmljYXRpb24gY2xpY2sgZXZlbnRzLgot
Ci1UbyBleGVyY2lzZSBtYW51YWxseSwgZGlzYWJsZSBwb3AtdXAgYmxvY2tpbmcsIGdyYW50IG5v
dGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2UsIHRoZW4gY2xpY2sgb24g
dGhlIG5vdGlmaWNhdGlvbi4gWW91IHNob3VsZCBzZWUgdHdvICJQQVNTIiBtZXNzYWdlcyBhbmQg
dGhpcyB3aW5kb3cgc2hvdWxkIGJlIGZvY3VzZWQuCi0KLVBBU1M6IGNsaWNrIGV2ZW50IGZpcmVk
LgotUEFTUzogZm9jdXMgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2st
ZXZlbnQtZm9jdXMuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDUxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxv
ZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNv
bXBsZXRlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtp
dE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5v
dGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAv
LyBPcGVuIGEgbmV3IHdpbmRvdywgc28gd2UgZG9uJ3QgaGF2ZSB0aGUgZm9jdXMuCi0gICAgICAg
ICAgICB2YXIgVyA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIpOwotICAgICAgICAgICAgVy5m
b2N1cygpOwotCi0gICAgICAgICAgICB3aW5kb3cub25mb2N1cyA9IGZ1bmN0aW9uKCkgeyBsb2co
IlBBU1M6IGZvY3VzIGV2ZW50IGZpcmVkLiIpOyB9Ci0KLSAgICAgICAgICAgIHZhciBOID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFp
bCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25jbGljayA9IGZ1
bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVkLiIpOyB3aW5kb3cuZm9jdXMo
KTsgTi5jYW5jZWwoKTsgIH0KLSAgICAgICAgICAgIE4uc2hvdygpOwotCi0gICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNpbXVs
YXRlTGVnYWN5V2ViTm90aWZpY2F0aW9uQ2xpY2soIk5ldyBFLW1haWwiKTsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5DaGVjayB0aGF0IHdpbmRvdy5mb2N1
cygpIGlzIG5vdCByZXN0cmljdGVkIGR1cmluZyBub3RpZmljYXRpb24gY2xpY2sgZXZlbnRzLjwv
cD4KLQotPHA+VG8gZXhlcmNpc2UgbWFudWFsbHksIGRpc2FibGUgcG9wLXVwIGJsb2NraW5nLCBn
cmFudCBub3RpZmljYXRpb24gcGVybWlzc2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdlLCB0aGVuIGNs
aWNrIG9uIHRoZSBub3RpZmljYXRpb24uICBZb3Ugc2hvdWxkIHNlZSB0d28gIlBBU1MiIG1lc3Nh
Z2VzIGFuZCB0aGlzIHdpbmRvdyBzaG91bGQgYmUgZm9jdXNlZC48L3A+Ci08ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50
Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBm
dW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlv
bnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAg
ICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2Uh
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFp
bCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25jbGljayA9IGZ1
bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVkLiIpOyBOLmNhbmNlbCgpOyAg
fQotICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNpbXVsYXRlTGVnYWN5V2ViTm90aWZp
Y2F0aW9uQ2xpY2soIk5ldyBFLW1haWwiKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08cD5TaG93aW5nIG5vdGlmaWNhdGlvbnMuPC9wPgotCi08cD5UbyBleGVy
Y2lzZSBtYW51YWxseSwgZ3JhbnQgbm90aWZpY2F0aW9uIHBlcm1pc3Npb25zIGFuZCBsb2FkIHRo
aXMgcGFnZSwgdGhlbiBjbGljayBvbiB0aGUgbm90aWZpY2F0aW9uLiAgWW91IHNob3VsZCBzZWUg
YSAiUEFTUyIgbWVzc2FnZS48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAK
LTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CkBAIC0xLDUgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT04gUEVSTUlTU0lPTiBSRVFVRVNU
RUQ6IGZpbGU6Ly8KLVJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24uLi4KLQotUEFT
UzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Np
b24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24g
MjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAg
ICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlu
bmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy5Ob3RpZmljYXRpb24pIHsK
LSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2UhIik7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93
Lk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigKLSAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsgbG9nKCJQQVNTOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuIik7IH0KLSAgICAg
ICAgICAgICk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAg
IDxwPlJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi08ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
LXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotCi08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRo
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9O
OiBpY29uICwgdGl0bGUgSGVsbG8gd29ybGQsIHRleHQgCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMg
d2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IHNob3cgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdp
dGgtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi5odG1sCShy
ZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cuTm90aWZpY2F0
aW9uKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBOb3RpZmljYXRpb24gY29uc3Ry
dWN0b3IhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBO
ID0gbmV3IE5vdGlmaWNhdGlvbigiSGVsbG8gd29ybGQiKTsKLSAgICAgICAgICAgIE4ub25zaG93
ID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogc2hvdyBldmVudCBmaXJlZC4iKTsgfQotICAgICAg
ICAgICAgTi5vbmVycm9yID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJTDogZXJyb3IgZXZlbnQgZmly
ZWQuIik7IH0KLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOyB9LCAxMDApOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48L3A+
Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRo
b3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLVNlbmRpbmcgbm90
aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi4KLQotUEFTUzogZXJyb3IgZXZlbnQgZmly
ZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhv
dXQtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Np
b24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAg
ICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7
Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAg
ICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gTk8gUEVSTUlTU0lPTiB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy5Ob3RpZmljYXRpb24pIHsKLSAgICAgICAg
ICAgICAgICBsb2coIkZBSUw6IE5vIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3RvciEiKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSBuZXcgTm90aWZpY2F0
aW9uKCJIZWxsbyB3b3JsZCIpOwotICAgICAgICAgICAgTi5vbnNob3cgPSBmdW5jdGlvbigpIHsg
bG9nKCJGQUlMOiBzaG93IGV2ZW50IGZpcmVkLiIpOyB9Ci0gICAgICAgICAgICBOLm9uZXJyb3Ig
PSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBlcnJvciBldmVudCBmaXJlZC4iKTsgfQotICAgICAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7IH0s
IDEwMCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2Vu
ZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQgcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3Rz
KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAw
MikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3Bs
YXktY2xvc2UtZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBA
QAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1l
ZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1t
YWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGRp
c3BsYXkgZXZlbnQgaW52b2tlZC4KLVBBU1M6IGNsb3NlIGV2ZW50IGludm9rZWQuCi0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xv
c2UtZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlz
cGxheS1jbG9zZS1ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM5ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1
blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Np
b24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAg
ICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQg
bWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTi5vbmRpc3BsYXkgPSBmdW5jdGlvbigp
IHsgbG9nKCJQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7IE4uY2FuY2VsKCk7IH0KLSAg
ICAgICAgICAgIE4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsb3NlIGV2ZW50
IGludm9rZWQuIik7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9Ci0gICAgICAgICAgICBOLnNo
b3coKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5k
aW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5U
ZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAy
MTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1k
b2N1bWVudC1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwyICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNjogVW5jYXVnaHQgSW52YWxpZFN0YXRlRXJy
b3IgKERPTSBFeGNlcHRpb24gMTEpOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUu
DQotUEFTUw0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2guaHRt
bAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2guaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDUwICswLDAgQEAKLTxodG1sPgotICAgIDxib2R5PgotICAgICAgICA8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgotICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigi
ZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25z
IGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdmFyIHRhcmdldCA9
IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIpOwotICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlv
biA9IHRhcmdldC53ZWJraXROb3RpZmljYXRpb25zOwotICAgICAgICAgICAgdGFyZ2V0LmxvY2F0
aW9uLnJlbG9hZCgpOwotICAgICAgICAgICAgdmFyIHRpbWVyID0gc2V0SW50ZXJ2YWwoImNyYXNo
KCkiLCA2MCk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KCJmaW5pc2goKSIsIDEwMCk7Ci0KLSAg
ICAgICAgICAgIGZ1bmN0aW9uIGNyYXNoKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICB2YXIgYSA9IFtdOwotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMHgxMDA7
IGkrKykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHRyeQotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhLnB1c2gobmV3IFdlYkdM
Qnl0ZUFycmF5KCkpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
IGNhdGNoIChlKSB7fQotICAgICAgICAgICAgICAgICAgICBhLnB1c2goQXJyYXkoaSkuam9pbigi
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiKSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIGRlbGV0ZSBhOwotICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVy
bWlzc2lvbigpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBmaW5pc2go
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpOwot
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhU
TUwgPSAiUEFTUyI7Ci0gICAgICAgICAgICAgICAgdGFyZ2V0LmNsb3NlKCk7Ci0gICAgICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAg
PC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVu
dC1zdG9wLXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9w
YWdhdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLURFU0tU
T1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0dHA6Ly9sb2NhbGhvc3QvbXlfaWNvbi5wbmcsIHRpdGxl
IE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1ERVNLVE9QIE5PVElGSUNB
VElPTiBDTE9TRUQ6IE5ldyBFLW1haWwKLVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1p
c3Npb24uLi4KLQotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBjYXB0dXJlIGNhbGxi
YWNrIGludm9rZWQKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFn
YXRpb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAg
ICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdy
YW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBp
ZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJG
QUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly9sb2NhbGhvc3QvbXlfaWNvbi5wbmciLCAi
TmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4uYWRk
RXZlbnRMaXN0ZW5lcigiZGlzcGxheSIsIGZ1bmN0aW9uKGUpIHsgbG9nKCJQQVNTOiBhZGRFdmVu
dExpc3RlbmVyKGRpc3BsYXkpIG5vbi1jYXB0dXJlIGNhbGxiYWNrIGludm9rZWQiKTsgfSk7Ci0g
ICAgICAgICAgICBOLm9uZGlzcGxheSA9ICAgICAgICAgICAgICAgICBmdW5jdGlvbihlKSB7IGxv
ZygiUEFTUzogb25kaXNwbGF5IGF0dHJpYnV0ZSBldmVudCBjYWxsYmFjayBpbnZva2VkLiIpOyB9
Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImRpc3BsYXkiLCBmdW5jdGlvbihlKSB7
IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBjYXB0dXJlIGNhbGxiYWNrIGlu
dm9rZWQiKTsgZS5zdG9wUHJvcGFnYXRpb24oKTsgfSwgdHJ1ZSApOwotICAgICAgICAgICAgTi5z
aG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Np
b24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtbXVsdGktZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDEw
ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0dHA6Ly9sb2NhbGhvc3QvbXlf
aWNvbi5wbmcsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1E
RVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5ldyBFLW1haWwKLVNlbmRpbmcgbm90aWZpY2F0
aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkg
Y2FwdHVyZSBjYWxsYmFjayAjMSBpbnZva2VkCi1QQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3Nl
KSBjYXB0dXJlIGNhbGxiYWNrICMyIGludm9rZWQKLVBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xv
c2UpIGNhbGxiYWNrICMxIGludm9rZWQKLVBBU1M6IG9uY2xvc2UgYXR0cmlidXRlIGV2ZW50IGNh
bGxiYWNrIGludm9rZWQuCi1QQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBjYWxsYmFjayAj
MyBpbnZva2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLW11bHRpLWV2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1t
dWx0aS1ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQwICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2Ug
KyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykg
ewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRl
cmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBO
ID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJodHRwOi8v
bG9jYWxob3N0L215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0
IDghIik7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwgZnVuY3Rpb24o
KSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FsbGJhY2sgIzEgaW52b2tl
ZCIpOyB9KTsKLSAgICAgICAgICAgIE4ub25jbG9zZSA9ICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsgbG9nKCJQQVNTOiBvbmNsb3NlIGF0dHJpYnV0ZSBldmVudCBjYWxsYmFjayBpbnZva2Vk
LiIpOyB9Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwgZnVuY3Rpb24o
KSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVyZSBjYWxsYmFjayAj
MSBpbnZva2VkIik7IH0sIHRydWUgKTsKLSAgICAgICAgICAgIE4uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xvc2UiLCBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBj
YXB0dXJlIGNhbGxiYWNrICMyIGludm9rZWQiKTsgfSwgdHJ1ZSApOwotICAgICAgICAgICAgTi5h
ZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGFkZEV2ZW50
TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNrICMzIGludm9rZWQiKTsgfSk7Ci0gICAgICAgICAgICBO
LnNob3coKTsKLSAgICAgICAgICAgIE4uY2FuY2VsKCk7Ci0gICAgICAgIH0KLSAgICA8L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlz
c2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAgIAotICAgIAotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtbm8taWNvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LW5vLWljb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1ERVNL
VE9QIE5PVElGSUNBVElPTjogaWNvbiAsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0
b25pZ2h0IGF0IDghCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0K
LQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8t
aWNvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLW5vLWljb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAg
ICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdy
YW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmR1bXBOb3RpZmljYXRpb25zKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBO
b3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdl
YmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgCi0gICAgICAgICAgICB2YXIgTSA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0
ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7
Ci0gICAgICAgICAgICBNLnNob3coKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9w
PgotICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMo
KTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPC9ib2R5PgotPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVy
bWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAot
Q2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBOb3RpZmljYXRpb24ucGVybWlzc2lvbgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLVBBU1Mgd2luZG93Lk5vdGlmaWNhdGlvbiBpcyBkZWZpbmVk
LgotUEFTUyB3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgZGVmaW5lZC4KLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwyMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0JPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci0KLTxib2R5PgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgotPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWRlc2NyaXB0
aW9uKCJDaGVjayBmb3IgZXhpc3RlbmNlIG9mIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIik7Ci0K
LXNob3VsZEJlRGVmaW5lZCgid2luZG93Lk5vdGlmaWNhdGlvbiIpOwotc2hvdWxkQmVEZWZpbmVk
KCJ3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXJlcGxhY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24g
LCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBO
T1RJRklDQVRJT046IGljb24gLCB0aXRsZSBBbGFybSwgdGV4dCBJdCdzIHRpbWUgdG8gd2FrZSB1
cCEKLVJFUExBQ0lORyBOT1RJRklDQVRJT04gTmV3IEUtbWFpbAotREVTS1RPUCBOT1RJRklDQVRJ
T046IGljb24gLCB0aXRsZSBOZXcgcmVwbHksIHRleHQgQ29ycmVjdGlvbiwgODoxNQotU2hvd2lu
ZyBub3RpZmljYXRpb25zIHdpdGggcmVwbGFjZSBJRC4uLgotCi0KClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2Ut
ZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCww
ICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFj
ZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAg
ewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5j
dGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMp
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBp
bnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZh
ciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAi
TmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE0ucmVw
bGFjZUlkID0gIk5ld01haWwiOwotICAgICAgICAgICAgTS5zaG93KCk7Ci0gICAgICAgICAgICB2
YXIgb3RoZXIgPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24o
IiIsICJBbGFybSIsICJJdCdzIHRpbWUgdG8gd2FrZSB1cCEiKTsKLSAgICAgICAgICAgIG90aGVy
LnNob3coKTsKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMu
Y3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IHJlcGx5IiwgIkNvcnJlY3Rpb24sIDg6MTUiKTsK
LSAgICAgICAgICAgIE4ucmVwbGFjZUlkID0gIk5ld01haWwiOwotICAgICAgICAgICAgTi5zaG93
KCk7ICAgICAgICAgIAotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxwPlNob3dpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHJlcGxhY2UgSUQuLi48L3A+Ci08ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVz
dHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1s
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1MRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURFU0tUT1Ag
Tk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiBmaWxlOi8vCi1SZXF1ZXN0aW5nIG5v
dGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IFBlcm1pc3Npb24gY2FsbGJhY2sgaW52
b2tlZC4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBl
cm1pc3Npb24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Np
b24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi1Q
QVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIGlzIGRlZmluZWQuCi1QQVNTIHdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVx
dWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlv
bmFsLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1zaG91bGRCZURlZmluZWQoIndpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zIik7Ci1zaG91bGROb3RUaHJvdygid2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2
aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNiArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAg
ewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5j
dGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7
Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVy
ZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4g
PSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9r
ZWQuIik7IH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotICAgIDxwPlJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24uLi48
L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLTxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotCi08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1y
dGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJ0bC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9O
OihSVEwpIGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4
IQotU2hvd2luZyBhIG5vdGlmaWNhdGlvbiB3aXRoIGRpcmVjdGlvbiAicnRsIi4uLgotCi0KClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXJ0bC1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0xICswLDAgIyMKLUxGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXJ0bC5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM5ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7
Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1M
ICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0
aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBl
cm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykK
LSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
KSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGlu
dGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFy
IE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJO
ZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTS5kaXIg
PSAicnRsIjsKLSAgICAgICAgICAgIE0uc2hvdygpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNob3dpbmcgYSBub3RpZmljYXRpb24gd2l0aCBkaXJlY3Rp
b24gInJ0bCIuLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotICAgCi08c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLTwv
Ym9keT4KLTwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1z
YW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyNCArMCwwIEBACi1Ob3JtYWwgaWZyYW1lLiBTaG91bGQgaW5oZXJpdCBw
ZXJtaXNzaW9ucy4KLQotCi1TYW5kYm94ZWQgaWZyYW1lLCB3aXRoIGFsbG93LXNhbWUtb3JpZ2lu
LiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy4KLQotCi1TYW5kYm94ZWQgaWZyYW1lLCB3aXRo
b3V0IGFsbG93LXNhbWUtb3JpZ2luLiBTaG91bGQgbm90IGluaGVyaXQgcGVybWlzc2lvbnMuCi0K
LQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicK
LS0tLS0tLS0tCi1BbGxvd2VkCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88
IS0tZnJhbWUxLS0+LS0+JwotLS0tLS0tLS0KLUFsbG93ZWQKLQotLS0tLS0tLS0KLUZyYW1lOiAn
PCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTItLT4tLT4nCi0tLS0tLS0tLQotRGVuaWVkCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBl
cm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAy
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJv
eC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwot
ICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8cD5Ob3JtYWwg
aWZyYW1lLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy48L3A+Ci0gICAgPGlmcmFtZSBzcmM9
InJlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sIj48L2lmcmFtZT4KLQotICAgIDxw
PlNhbmRib3hlZCBpZnJhbWUsIHdpdGggYWxsb3ctc2FtZS1vcmlnaW4uIFNob3VsZCBpbmhlcml0
IHBlcm1pc3Npb25zLjwvcD4KLSAgICA8aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMgYWxs
b3ctc2FtZS1vcmlnaW4iCi0gICAgICAgICAgICBzcmM9InJlc291cmNlcy9ub3RpZmljYXRpb25z
LWlmcmFtZS5odG1sIj48L2lmcmFtZT4KLQotICAgIDxwPlNhbmRib3hlZCBpZnJhbWUsIHdpdGhv
dXQgYWxsb3ctc2FtZS1vcmlnaW4uIFNob3VsZCBub3QgaW5oZXJpdCBwZXJtaXNzaW9ucy48L3A+
Ci0gICAgPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIgotICAgICAgICAgICAgc3JjPSJy
ZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbCI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSArMCwwIEBACi1UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIG1hbnVhbGx5
IGFuZCBjYW5ub3QgcnVuIGluc2lkZSBEdW1wUmVuZGVyVHJlZS4gUGFzc2VzIGlmIGl0IGRvZXMg
bm90IGNyYXNoIG9uIHJ1bm5pbmcgdGhlIHRlc3QgYWxvbmd3aXRoIHdpdGggYSBjb3VwbGUgb2Yg
cGFnZSByZWxvYWRzLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLmh0
bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MjMgKzAsMCBAQAotPGh0bWw+IA0KLSAgICA8aGVhZD4gDQotICAgICAgICA8c2NyaXB0PiANCi0g
ICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkNCi0gICAgICAgICAgICB7DQotICAgICAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCi0gICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOw0KLSAgICAgICAgICAgICAgICBlbHNlDQotICAgICAgICAgICAg
ICAgIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhciB3aW4gPSB3aW5kb3cub3BlbigiYWJvdXQ6
YmxhbmsiKTsNCi0gICAgICAgICAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSB3aW4ud2Vi
a2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycpOw0KLSAgICAgICAgICAgICAg
ICAgICAgbm90aWZpY2F0aW9uLnNob3coKTsNCi0gICAgICAgICAgICAgICAgICAgIHdpbi5jbG9z
ZSgpOw0KLSAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLmNhbmNlbCgpOw0KLSAgICAg
ICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgIDwvc2NyaXB0PiANCi0gICAg
PC9oZWFkPiANCi0gICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPiANCi0gICAgICAgIDxwPlRo
aXMgdGVzdCBuZWVkcyB0byBydW4gbWFudWFsbHkgYW5kIGNhbm5vdCBydW4gaW5zaWRlIER1bXBS
ZW5kZXJUcmVlLiBQYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2ggb24gcnVubmluZyB0aGUgdGVz
dCBhbG9uZ3dpdGggd2l0aCBhIGNvdXBsZSBvZiBwYWdlIHJlbG9hZHMuPC9wPg0KLSAgICA8L2Jv
ZHk+IA0KLTwvaHRtbD4NCi0NCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29u
IGh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQg
bWUgdG9uaWdodCBhdCA4IQotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4u
LgotCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXdpdGgtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13
aXRoLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQwICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3Nh
Z2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRl
c3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24o
ImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAg
bG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5n
IiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBN
Lm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfQotICAg
ICAgICAgICAgTS5zaG93KCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLSAg
ICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08
L3NjcmlwdD4KLQotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CkBAIC0xLDQgKzAsMCBAQAotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQgcGVybWlzc2lv
bi4uLgotCi1QQVNTOiBFeGNlcHRpb24gdGhyb3duLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Npb24uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13
aXRob3V0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5j
dGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAg
ICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIC8vIE5P
IFBFUk1JU1NJT04gdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykg
ewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRl
cmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHRyeSB7
Ci0gICAgICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVh
dGVOb3RpZmljYXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwi
LCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICAgICAgTi5zaG93KCk7Ci0g
ICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBTaG91bGQgaGF2ZSB0aHJvd24gc2VjdXJpdHkgZXhj
ZXB0aW9uLiIpOwotICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgIGxv
ZygiUEFTUzogRXhjZXB0aW9uIHRocm93bi4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMg
d2l0aG91dCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVl
c3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3Rp
ZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3Rp
ZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKQEAgLTEsMyArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgbm90aWZpY2F0aW9uIHBlcm1p
c3Npb24gcmVxdWVzdHMgZHVyaW5nIHBhZ2UgcmVsb2FkIGRvIG5vdCBjYXVzZSBhIGNyYXNoLgot
Ci1QQVNTOiBUZXN0IHBhc3NlZCBpZiB3ZSBzYXcgbm8gY3Jhc2guCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24t
cGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVl
c3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9u
LXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNz
aW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjcgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxwPlRoaXMgdGVzdHMgdGhhdCBub3RpZmljYXRpb24g
cGVybWlzc2lvbiByZXF1ZXN0cyBkdXJpbmcgcGFnZSByZWxvYWQgZG8gbm90IGNhdXNlIGEgY3Jh
c2guPC9wPgotPHAgaWQ9Im1lc3NhZ2UiPkZBSUw6IFRlc3QgZGlkIG5vdCBydW4gdG8gY29tcGxl
dGlvbiB5ZXQuPC9wPgotPHNjcmlwdD4KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci19Ci0KLXZhciB0cmllcyA9IGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpID4+PiAwOwotaWYg
KHRyaWVzIDwgMTApIHsKLSAgICBsb2NhdGlvbi5oYXNoID0gIiMiICsgKHRyaWVzICsgMSk7Ci0g
ICAgbG9jYXRpb24ucmVsb2FkKCk7Ci0KLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB3ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCk7Ci0gICAgfSwgMCk7
Ci19IGVsc2UgewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtZXNzYWdlIikudGV4dENv
bnRlbnQgPSAiUEFTUzogVGVzdCBwYXNzZWQgaWYgd2Ugc2F3IG5vIGNyYXNoLiI7Ci0gICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2JvZHk+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1y
ZWxvYWRpbmcuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAs
MCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKRGVsZXRlZDogc3Zu
Om1pbWUtdHlwZQojIyAtMSArMCwwICMjCi10ZXh0L2h0bWwKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNl
cy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlv
bnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjggKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0g
ICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBwYXJl
bnQuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0
cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmlnbm9yZUxlZ2FjeVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0cygpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5y
ZXF1ZXN0UGVybWlzc2lvbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJGQUlM
OiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuIik7IH0KLSAgICAgICAgICAgICk7Ci0KLSAg
ICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0cygp
OyI+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFt
ZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHRpdGxl
Pk5vdGlmaWNhdGlvbnM6IElmcmFtZSB0ZXN0LjwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAg
ICA8cCBpZD0iaGFzUGVybWlzc2lvbiI+PC9wPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJoYXNQZXJtaXNzaW9uIikuaW5uZXJUZXh0ID0KLSAgICAgICAg
ICAgICF3ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpID8gIkFsbG93ZWQiIDog
IkRlbmllZCI7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJl
cXVlc3QtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNz
aW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHBhcmVudC5kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAg
ICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaWdub3JlTGVnYWN5V2ViTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKCkgeyBsb2coIkZBSUw6IFBlcm1pc3Npb24gY2FsbGJhY2sgaW52
b2tlZC4iKTsgfQotICAgICAgICAgICAgKTsKLQotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9u
cy1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDIxNjAwMikK
KysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9u
cy1pZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8dGl0bGU+Tm90aWZpY2F0aW9uczogSWZyYW1lIHRl
c3QuPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxwIGlkPSJoYXNQZXJtaXNzaW9uIj48
L3A+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhhc1Bl
cm1pc3Npb24iKS5pbm5lclRleHQgPQotICAgICAgICAgICAgIXdlYmtpdE5vdGlmaWNhdGlvbnMu
Y2hlY2tQZXJtaXNzaW9uKCkgPyAiQWxsb3dlZCIgOiAiRGVuaWVkIjsKLSAgICA8L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xLDExICswLDAgQEAKLVNlbmRpbmcgZG91YmxlLXNob3cgbm90aWZpY2F0aW9uLi4uCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zIGlzIGRlZmluZWQuCi1QQVNTIG9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZAotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVn
YWN5L2RvdWJsZS1zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
bm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci1kZXNjcmlwdGlvbigiU2VuZGluZyBkb3VibGUtc2hvdyBub3RpZmljYXRpb24u
Li4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5ncmFudFdl
Yk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Ci19Ci0KLXNob3VsZEJlRGVmaW5lZCgid2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMiKTsKLQotdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmlj
YXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBt
ZSB0b25pZ2h0IGF0IDghIik7Ci1OLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotICAgIHRlc3RQ
YXNzZWQoIm9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZCIpOwotICAgIHRlc3RDb21wbGV0
ZWQoKTsKLX07Ci1OLnNob3coKTsKLU4uc2hvdygpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9ldmVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNwYXRj
aCBvZiB0aGUgZXZlbnQgaGFuZGxlcnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1HcmFudGluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotUEFTUyB3ZWJr
aXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2
ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBvbmNsaWNrIGV2ZW50IGhhbmRsZXIgd2FzIGNh
bGxlZAotUEFTUyBvbmNsb3NlIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRt
bAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQl0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLQotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRp
c3BhdGNoIG9mIHRoZSBldmVudCBoYW5kbGVycy4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRlc3RS
dW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotfQotCi1zaG91
bGRCZSgid2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7Ci0KLXZh
ciBuID0gd2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJ0aXRsZSIs
ICJib2R5Iik7Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9uZGlz
cGxheSBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0ZXN0UnVubmVyLnNpbXVsYXRlV2Vi
Tm90aWZpY2F0aW9uQ2xpY2sodGhpcyk7Ci19Owotbi5vbmNsaWNrID0gZnVuY3Rpb24oKSB7Ci0J
dGVzdFBhc3NlZCgib25jbGljayBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0aGlzLmNh
bmNlbCgpOwotfTsKLW4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9uY2xv
c2UgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfTsKLW4u
b25lcnJvciA9IGZ1bmN0aW9uKCkgewotCXRlc3RGYWlsZWQoIm9uZXJyb3IgZXZlbnQgaGFuZGxl
ciBzaG91bGQgbm90IGJlIGNhbGxlZCIpOwotCXRlc3RDb21wbGV0ZWQoKTsKLX07Ci1uLnNob3co
KTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRo
ZW4tbmF2aWdhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAot
bWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKLVRlc3RzIHRoYXQgd2UgYXJl
IG5vdCBjcmFzaGluZyB3aGVuIGEgcGVybWlzc2lvbiByZXF1ZXN0IGlzIGFuc3dlcmVkIGFmdGVy
IG5hdmlnYXRpbmcKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGhpcyB0
ZXN0IGRpZCBub3QgY3Jhc2gKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKHJl
dmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBhcmUgbm90IGNyYXNoaW5nIHdoZW4gYSBwZXJtaXNzaW9u
IHJlcXVlc3QgaXMgYW5zd2VyZWQgYWZ0ZXIgbmF2aWdhdGluZyIpOwotanNUZXN0SXNBc3luYyA9
IHRydWU7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgdGVzdFJ1bm5lci5zZXRDYW5PcGVu
V2luZG93cygpOwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9u
KGV2ZW50KQotewotICB0ZXN0UGFzc2VkKCJUaGlzIHRlc3QgZGlkIG5vdCBjcmFzaCIpOwotICB0
YXJnZXQuY2xvc2UoKTsKLSAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLQotZnVuY3Rpb24gcnVuVGVz
dCgpCi17Ci0gIHRhcmdldCA9IHdpbmRvdy5vcGVuKCdyZXNvdXJjZXMvcmVxdWVzdC1wZXJtaXNz
aW9uLXRoZW4tbmF2aWdhdGUuaHRtbCcpOwotfQotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBkZWZhdWx0IHBlcm1p
c3Npb24KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkg
aXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBp
cyAwCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uCi1Q
QVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDIKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2Fs
bGJhY2stZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxNSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVxdWVzdGluZyBwZXJtaXNzaW9u
IHdpdGhvdXQgYSBjYWxsYmFjayB3b3Jrcy4gVGhpcyBzdXBwb3J0cyBsZWdhY3kgQVBJLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGgg
ZGVmYXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNr
UGVybWlzc2lvbigpIGlzIDEKLVBBU1Mgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlz
c2lvbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdp
dGggbm9uLWRlZmF1bHQgcGVybWlzc2lvbgotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cy5jaGVja1Blcm1pc3Npb24oKSBpcyAyCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVz
dFBlcm1pc3Npb24oKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jl
cXVlc3Qtbm8tY2FsbGJhY2suaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRo
b3V0IGEgY2FsbGJhY2sgd29ya3MuIFRoaXMgc3VwcG9ydHMgbGVnYWN5IEFQSS4iKTsKLQotZnVu
Y3Rpb24gc3RlcDEoKSB7Ci0gICAgZGVidWcoIlJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIGRl
ZmF1bHQgcGVybWlzc2lvbiIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIxIik7Ci0gICAgc2hvdWxkTm90VGhyb3coIndlYmtp
dE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotICAgIHNldFRpbWVvdXQoc3Rl
cDIsIDApOwotfQotCi1mdW5jdGlvbiBzdGVwMigpIHsKLSAgICB0ZXN0UnVubmVyLmRlbnlXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIGRlYnVnKCJSZXF1ZXN0aW5nIHBl
cm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsKLSAgICBz
aG91bGROb3RUaHJvdygid2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIik7
Ci0gICAgdGVzdENvbXBsZXRlZCgpOwotfQotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBzdGVwMSgpOwotfQotPC9zY3JpcHQ+
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVl
c3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3JlcXVlc3QuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwzMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25v
dGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlzc2lvbiBpcyBtYWRlLiIpOwot
Ci1mdW5jdGlvbiBzdGVwMSgpIHsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdp
dGggZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKLSAgICB3ZWJraXROb3RpZmljYXRp
b25zLnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgewotICAgICAgICBzaG91bGRCZSgid2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMCIpOwotICAgICAg
ICBzZXRUaW1lb3V0KHN0ZXAyLCAwKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gc3RlcDIoKSB7
Ci0gICAgdGVzdFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0VVJMKTsK
LSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRlZmF1bHQgcGVybWlz
c2lvbiIpOwotICAgIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVj
a1Blcm1pc3Npb24oKSIsICIyIik7Ci0gICAgICAgIHRlc3RDb21wbGV0ZWQoKTsKLSAgICB9KTsK
LX0KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0gICAgc3RlcDEoKTsKLX0KLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25l
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0bWwJKHJldmlzaW9uIDIxNjAw
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3Vy
Y2VzL25vdGlmeS1vcGVuZXItZG9uZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1vcGVuZXIucG9zdE1lc3NhZ2UoIkRPTkUiLCAn
KicpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiByZXF1ZXN0UGVybWlzc2lvbigpCi17Ci0gIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgeyB9KTsKLX0KLQotd2luZG93Lm9udW5sb2Fk
ID0gcmVxdWVzdFBlcm1pc3Npb247Ci13aW5kb3cubG9jYXRpb24gPSAibm90aWZ5LW9wZW5lci1k
b25lLmh0bWwiCi08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xl
Z2FjeS9zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIwICswLDAgQEAKLVRo
aXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBvbnNob3cgZXZlbnQgaGFuZGxl
ci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsgdGhy
ZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3IgKERPTSBFeGNlcHRpb24gMTgpOiBUaGUgb3BlcmF0
aW9uIGlzIGluc2VjdXJlLi4KLUdyYW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAu
MTo4MDAwCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigp
IGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyB0aGlz
Lm9uZGlzcGxheSBpcyB0aGlzLm9uc2hvdwotRGVueWluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAyCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlm
aWNhdGlvbignJywgJ3RpdGxlIDMnLCAnYm9keScpOyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlF
cnJvciAoRE9NIEV4Y2VwdGlvbiAxOCk6IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUuLgotUmVz
ZXR0aW5nIGFsbCBwZXJtaXNzaW9ucwotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5j
aGVja1Blcm1pc3Npb24oKSBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9zaG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi1kZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBo
YW5kbGVyLiIpOwotCi12YXIgbiA9IG51bGw7Ci1mdW5jdGlvbiBwYXJ0MSgpIHsKLQlzaG91bGRC
ZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMSIpOwot
CXNob3VsZFRocm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRp
b24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsiKTsKLQlzZXRUaW1lb3V0KHBhcnQyLCAwKTsKLX0K
LQotZnVuY3Rpb24gcGFydDIoKSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiAr
IHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRl
c3RVUkwpOwotCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSIsICIwIik7Ci0KLQluID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRl
Tm90aWZpY2F0aW9uKCIiLCAidGl0bGUgMiIsICJib2R5Iik7Ci0Jbi5vbmRpc3BsYXkgPSBmdW5j
dGlvbigpIHsKLQkJdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxl
ZCIpOwotCQlzaG91bGRCZSgidGhpcy5vbmRpc3BsYXkiLCAidGhpcy5vbnNob3ciKTsKLQkJc2V0
VGltZW91dChwYXJ0MywgMCk7Ci0JfTsKLQluLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLQkJdGVz
dEZhaWxlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIik7Ci0J
CXNldFRpbWVvdXQocGFydDMsIDApOwotCX07Ci0Jbi5zaG93KCk7Ci19Ci0KLWZ1bmN0aW9uIHBh
cnQzKCkgewotCWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRl
c3RSdW5uZXIuZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0Jc2hvdWxk
QmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsK
LQlzaG91bGRUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCcnLCAndGl0bGUgMycsICdib2R5Jyk7Iik7Ci0Jc2V0VGltZW91dChwYXJ0NCwgMCk7Ci19
Ci0KLWZ1bmN0aW9uIHBhcnQ0KCkgewotCWRlYnVnKCJSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25z
Iik7Ci0JdGVzdFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwot
CXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIs
ICIxIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfQotCi1wYXJ0MSgpOwotPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93
LW9uLWNsaWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9w
ZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24u
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlv
bnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAotUEFTUyBjbGlja2luZyBvbiBub3RpZmljYXRpb24g
c3VjY2Vzc2Z1bGx5IG9wZW5lZCBhIHdpbmRvdwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93
LW9uLWNsaWNrLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNz
aW9uKHRlc3RVUkwpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3ModHJ1ZSk7Ci0g
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNs
aWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24uIik7Ci0KLXNob3VsZEJlKCJ3ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLXZhciBuID0gd2Via2l0Tm90aWZp
Y2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICIiLCAiIik7Ci1uLm9uZGlzcGxheSA9IGZ1
bmN0aW9uKCkgewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHRoaXMpOwotfTsKLW4ub25jbGljayA9IGZ1
bmN0aW9uKCkgewotICAgIHdpbmRvdy5vcGVuKCcvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvd2lu
ZG93LXNob3ctb24tY2xpY2suaHRtbCcpOwotfTsKLW4uc2hvdygpOwotCi1mdW5jdGlvbiBvbldp
bmRvd09wZW4oKSB7Ci0gICAgdGVzdFBhc3NlZCgnY2xpY2tpbmcgb24gbm90aWZpY2F0aW9uIHN1
Y2Nlc3NmdWxseSBvcGVuZWQgYSB3aW5kb3cnKTsKLSAgICB0ZXN0Q29tcGxldGVkKCk7Ci19Ci08
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L2RvdWJsZS1zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICsw
LDAgQEAKLVNlbmRpbmcgZG91YmxlLXNob3cgbm90aWZpY2F0aW9uLi4uCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIGlzIGRl
ZmluZWQuCi1QQVNTIG9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZAotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJs
ZS1zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0
aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci1kZXNjcmlwdGlvbigiU2VuZGluZyBkb3VibGUtc2hvdyBub3RpZmljYXRpb24uLi4iKTsKLQot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNh
dGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci19Ci0KLXNob3VsZEJlRGVmaW5lZCgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMiKTsKLQot
dmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0
dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0
IGF0IDghIik7Ci1OLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotICAgIHRlc3RQYXNzZWQoIm9u
ZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZCIpOwotICAgIHRlc3RDb21wbGV0ZWQoKTsKLX07
Ci1OLnNob3coKTsKLU4uc2hvdygpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNwYXRjaCBvZiB0aGUg
ZXZlbnQgaGFuZGxlcnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1HcmFudGlu
ZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotUEFTUyB3ZWJraXROb3RpZmlj
YXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRs
ZXIgd2FzIGNhbGxlZAotUEFTUyBvbmNsaWNrIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFT
UyBvbmNsb3NlIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRtbAkocmV2aXNp
b24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQl0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLQotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9m
IHRoZSBldmVudCBoYW5kbGVycy4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0JZGVi
dWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZ3Jh
bnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotfQotCi1zaG91bGRCZSgid2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7Ci0KLXZhciBuID0gd2Vi
a2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJ0aXRsZSIsICJib2R5Iik7
Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9uZGlzcGxheSBldmVu
dCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0ZXN0UnVubmVyLnNpbXVsYXRlV2ViTm90aWZpY2F0
aW9uQ2xpY2sodGhpcyk7Ci19Owotbi5vbmNsaWNrID0gZnVuY3Rpb24oKSB7Ci0JdGVzdFBhc3Nl
ZCgib25jbGljayBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0aGlzLmNhbmNlbCgpOwot
fTsKLW4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9uY2xvc2UgZXZlbnQg
aGFuZGxlciB3YXMgY2FsbGVkIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfTsKLW4ub25lcnJvciA9
IGZ1bmN0aW9uKCkgewotCXRlc3RGYWlsZWQoIm9uZXJyb3IgZXZlbnQgaGFuZGxlciBzaG91bGQg
bm90IGJlIGNhbGxlZCIpOwotCXRlc3RDb21wbGV0ZWQoKTsKLX07Ci1uLnNob3coKTsKLTwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9u
b3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdh
dGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotbWFpbiBmcmFt
ZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKLVRlc3RzIHRoYXQgd2UgYXJlIG5vdCBjcmFz
aGluZyB3aGVuIGEgcGVybWlzc2lvbiByZXF1ZXN0IGlzIGFuc3dlcmVkIGFmdGVyIG5hdmlnYXRp
bmcKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGhpcyB0ZXN0IGRpZCBu
b3QgY3Jhc2gKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L25v
dGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZp
Y2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKHJldmlzaW9uIDIx
NjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90
aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigi
VGVzdHMgdGhhdCB3ZSBhcmUgbm90IGNyYXNoaW5nIHdoZW4gYSBwZXJtaXNzaW9uIHJlcXVlc3Qg
aXMgYW5zd2VyZWQgYWZ0ZXIgbmF2aWdhdGluZyIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygp
OwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGV2ZW50KQot
ewotICB0ZXN0UGFzc2VkKCJUaGlzIHRlc3QgZGlkIG5vdCBjcmFzaCIpOwotICB0YXJnZXQuY2xv
c2UoKTsKLSAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0g
IHRhcmdldCA9IHdpbmRvdy5vcGVuKCdyZXNvdXJjZXMvcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4t
bmF2aWdhdGUuaHRtbCcpOwotfQotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBy
ZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBkZWZhdWx0IHBlcm1pc3Npb24KLVBB
U1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFT
UyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAwCi1SZXF1
ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDIKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2stZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIx
NjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVx
dWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNSArMCww
IEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGhvdXQg
YSBjYWxsYmFjayB3b3Jrcy4gVGhpcyBzdXBwb3J0cyBsZWdhY3kgQVBJLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggZGVmYXVsdCBw
ZXJtaXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lv
bigpIGlzIDEKLVBBU1Mgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRl
ZmF1bHQgcGVybWlzc2lvbgotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Bl
cm1pc3Npb24oKSBpcyAyCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Np
b24oKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8t
Y2FsbGJhY2suaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRob3V0IGEgY2Fs
bGJhY2sgd29ya3MuIFRoaXMgc3VwcG9ydHMgbGVnYWN5IEFQSS4iKTsKLQotZnVuY3Rpb24gc3Rl
cDEoKSB7Ci0gICAgZGVidWcoIlJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIGRlZmF1bHQgcGVy
bWlzc2lvbiIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVj
a1Blcm1pc3Npb24oKSIsICIxIik7Ci0gICAgc2hvdWxkTm90VGhyb3coIndlYmtpdE5vdGlmaWNh
dGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotICAgIHNldFRpbWVvdXQoc3RlcDIsIDApOwot
fQotCi1mdW5jdGlvbiBzdGVwMigpIHsKLSAgICB0ZXN0UnVubmVyLmRlbnlXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIGRlYnVnKCJSZXF1ZXN0aW5nIHBlcm1pc3Npb24g
d2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsKLSAgICBzaG91bGROb3RU
aHJvdygid2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIik7Ci0gICAgdGVz
dENvbXBsZXRlZCgpOwotfQotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBzdGVwMSgpOwotfQotPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3JlcXVlc3QuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlv
bnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlzc2lvbiBpcyBtYWRlLiIpOwotCi1mdW5jdGlv
biBzdGVwMSgpIHsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggZGVmYXVs
dCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LmNoZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKLSAgICB3ZWJraXROb3RpZmljYXRpb25zLnJlcXVl
c3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgewotICAgICAgICBzaG91bGRCZSgid2luZG93LndlYmtp
dE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMCIpOwotICAgICAgICBzZXRUaW1l
b3V0KHN0ZXAyLCAwKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gc3RlcDIoKSB7Ci0gICAgdGVz
dFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0VVJMKTsKLSAgICBkZWJ1
ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRlZmF1bHQgcGVybWlzc2lvbiIpOwot
ICAgIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Np
b24oKSIsICIyIik7Ci0gICAgICAgIHRlc3RDb21wbGV0ZWQoKTsKLSAgICB9KTsKLX0KLQotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgc3RlcDEoKTsKLX0KLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9y
ZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzL25vdGlm
eS1vcGVuZXItZG9uZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxzY3JpcHQ+Ci1vcGVuZXIucG9zdE1lc3NhZ2UoIkRPTkUiLCAnKicpOwotPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3Vy
Y2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKHJldmlzaW9uIDIxNjAw
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3Vy
Y2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiByZXF1
ZXN0UGVybWlzc2lvbigpCi17Ci0gIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQ
ZXJtaXNzaW9uKGZ1bmN0aW9uKCkgeyB9KTsKLX0KLQotd2luZG93Lm9udW5sb2FkID0gcmVxdWVz
dFBlcm1pc3Npb247Ci13aW5kb3cubG9jYXRpb24gPSAibm90aWZ5LW9wZW5lci1kb25lLmh0bWwi
Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvc2hvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIwICswLDAgQEAKLVRoaXMgdGVzdCBs
b29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBvbnNob3cgZXZlbnQgaGFuZGxlci4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsgdGhyZXcgZXhjZXB0
aW9uIFNlY3VyaXR5RXJyb3IgKERPTSBFeGNlcHRpb24gMTgpOiBUaGUgb3BlcmF0aW9uIGlzIGlu
c2VjdXJlLi4KLUdyYW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCi1Q
QVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBB
U1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyB0aGlzLm9uZGlzcGxh
eSBpcyB0aGlzLm9uc2hvdwotRGVueWluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBp
cyAyCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbign
JywgJ3RpdGxlIDMnLCAnYm9keScpOyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvciAoRE9N
IEV4Y2VwdGlvbiAxOCk6IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUuLgotUmVzZXR0aW5nIGFs
bCBwZXJtaXNzaW9ucwotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9zaG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sCShub25leGlzdGVudCkK
QEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3Rp
ZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi1kZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBoYW5kbGVyLiIp
OwotCi12YXIgbiA9IG51bGw7Ci1mdW5jdGlvbiBwYXJ0MSgpIHsKLQlzaG91bGRCZSgid2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMSIpOwotCXNob3VsZFRo
cm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0
aXRsZSAxJywgJ2JvZHknKTsiKTsKLQlzZXRUaW1lb3V0KHBhcnQyLCAwKTsKLX0KLQotZnVuY3Rp
b24gcGFydDIoKSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwp
OwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwot
CXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIs
ICIwIik7Ci0KLQluID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCIiLCAidGl0bGUgMiIsICJib2R5Iik7Ci0Jbi5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsK
LQkJdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZCIpOwotCQlz
aG91bGRCZSgidGhpcy5vbmRpc3BsYXkiLCAidGhpcy5vbnNob3ciKTsKLQkJc2V0VGltZW91dChw
YXJ0MywgMCk7Ci0JfTsKLQluLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLQkJdGVzdEZhaWxlZCgi
b25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIik7Ci0JCXNldFRpbWVv
dXQocGFydDMsIDApOwotCX07Ci0Jbi5zaG93KCk7Ci19Ci0KLWZ1bmN0aW9uIHBhcnQzKCkgewot
CWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRlc3RSdW5uZXIu
ZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0Jc2hvdWxkQmUoIndpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsKLQlzaG91bGRU
aHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnLCAn
dGl0bGUgMycsICdib2R5Jyk7Iik7Ci0Jc2V0VGltZW91dChwYXJ0NCwgMCk7Ci19Ci0KLWZ1bmN0
aW9uIHBhcnQ0KCkgewotCWRlYnVnKCJSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25zIik7Ci0JdGVz
dFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwotCXNob3VsZEJl
KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIxIik7Ci0J
dGVzdENvbXBsZXRlZCgpOwotfQotCi1wYXJ0MSgpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNr
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93
cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24uCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQ
ZXJtaXNzaW9uKCkgaXMgMAotUEFTUyBjbGlja2luZyBvbiBub3RpZmljYXRpb24gc3VjY2Vzc2Z1
bGx5IG9wZW5lZCBhIHdpbmRvdwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNr
Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZp
Y2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewotICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RV
UkwpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3ModHJ1ZSk7Ci0gICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBh
IG5hdGl2ZSBub3RpZmljYXRpb24uIik7Ci0KLXNob3VsZEJlKCJ3ZWJraXROb3RpZmljYXRpb25z
LmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLXZhciBuID0gd2Via2l0Tm90aWZpY2F0aW9ucy5j
cmVhdGVOb3RpZmljYXRpb24oIiIsICIiLCAiIik7Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkg
ewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0
ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHRoaXMpOwotfTsKLW4ub25jbGljayA9IGZ1bmN0aW9uKCkg
ewotICAgIHdpbmRvdy5vcGVuKCcvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvd2luZG93LXNob3ct
b24tY2xpY2suaHRtbCcpOwotfTsKLW4uc2hvdygpOwotCi1mdW5jdGlvbiBvbldpbmRvd09wZW4o
KSB7Ci0gICAgdGVzdFBhc3NlZCgnY2xpY2tpbmcgb24gbm90aWZpY2F0aW9uIHN1Y2Nlc3NmdWxs
eSBvcGVuZWQgYSB3aW5kb3cnKTsKLSAgICB0ZXN0Q29tcGxldGVkKCk7Ci19Ci08L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3Vy
Y2VzL25vdGlmeS1vcGVuZXItZG9uZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzL25vdGlmeS1vcGVuZXItZG9u
ZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9ub3RpZnktb3BlbmVyLWRvbmUuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0Pgotb3BlbmVy
LnBvc3RNZXNzYWdlKCJET05FIiwgJyonKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvcmVxdWVzdC1wZXJtaXNz
aW9uLXRoZW4tbmF2aWdhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhl
bi1uYXZpZ2F0ZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhl
bi1uYXZpZ2F0ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08c2NyaXB0PgotZnVuY3Rpb24gcmVxdWVzdFBlcm1pc3Npb24oKQotewotICB3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbihmdW5jdGlvbigpIHsgfSk7
Ci19Ci0KLXdpbmRvdy5vbnVubG9hZCA9IHJlcXVlc3RQZXJtaXNzaW9uOwotd2luZG93LmxvY2F0
aW9uID0gIm5vdGlmeS1vcGVuZXItZG9uZS5odG1sIgotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE2MDAyKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkK
QEAgLTE2MiwxOSArMTYyLDkgQEAgd2Via2l0Lm9yZy9iLzk4OTI3IGZhc3QvZG9tL0RldmljZU1v
dGlvbgogd2Via2l0Lm9yZy9iLzk4OTI3IGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uIFsgU2tp
cCBdCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNjk3IFNr
aXAgZmlsZTovLyBiYXNlZCBub3RpZmljYXRpb25zIHRlc3RzCi1mYXN0L25vdGlmaWNhdGlvbnMK
IGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRt
bAogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwK
IAotIyB3ZSBkbyBub3QgZW5hYmxlIGxlZ2FjeSBub3RpZmljYXRpb25zCi1odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwKLWh0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sCi1odHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAotaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9ldmVudHMuaHRtbAotaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9z
aG93Lmh0bWwKLWh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRt
bAotaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1w
ZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAotCiAjIERhdGFsaXN0IGlzIG5vdCB5ZXQgZW5h
YmxlZC4KIHdlYmtpdC5vcmcvYi85ODkzNCBmYXN0L2Zvcm1zL2RhdGFsaXN0IFsgU2tpcCBdCiAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lv
biAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwko
d29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMv
ZGV2aWNlLXByb3hpbWl0CiBwcmludGluZwogCiAjIFdlYiBOb3RpZmljYXRpb25zIGFyZSBub3Qg
c3VwcG9ydGVkIG9uIGlPUy4KLWZhc3Qvbm90aWZpY2F0aW9ucwogaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zCiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRh
YmxlLmh0bWwKIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJs
ZS5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDYgQEAgZmFzdC9ldmVudHMvYXR0ZW1w
dC1zY3JvbGwtd2l0aC1uby1zY3JvbAogIyBQaXhlbCB0ZXN0IGRvZXNuJ3QgcmVwYWludCBlbnRp
cmUgdmlldyBzbyByZXN1bHQgaXMgY29ycnVwdGVkIGJ5IHByZXZpb3VzIHRlc3QKIHdlYmtpdC5v
cmcvYi8yMTkxNiB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzE3ODg1
NS54bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgRmFpbHVyZSBdCiAKLSMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNjk3IFNraXAgZmlsZTovLyBiYXNlZCBub3Rp
ZmljYXRpb25zIHRlc3RzCi1mYXN0L25vdGlmaWNhdGlvbnMKLQogIyBUaGlzIHBvcnQgZG9lc24n
dCBzdXBwb3J0IGRldGVjdGluZyBzbG93IHVubG9hZCBoYW5kbGVycy4KIGZhc3QvZG9tL1dpbmRv
dy9zbG93LXVubG9hZC1oYW5kbGVyLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1o
YW5kbGVyLW9ubHktZnJhbWUtaXMtc3RvcHBlZC5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw3
ICsxNDQsNiBAQCBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhCiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi8gWyBTa2lwIF0KIAogIyBUT0RPIFRoaXMgcG9ydCBkb2Vzbid0IHN1
cHBvcnQgTm90aWZpY2F0aW9ucy4KLWZhc3Qvbm90aWZpY2F0aW9ucy8gWyBTa2lwIF0KIGh0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy8gWyBTa2lwIF0KIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5v
dGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbCBbIFNraXAgXQogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308704</attachid>
            <date>2017-04-30 18:28:48 -0700</date>
            <delta_ts>2017-04-30 19:13:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171487-20170430182827.patch</filename>
            <type>text/plain</type>
            <size>321300</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjAw
MikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA0
LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBv
cnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zTWFjLmNtYWtlOgorICAg
ICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvdG9vbHMv
dnNwcm9wcy9GZWF0dXJlRGVmaW5lcy5wcm9wczoKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvdG9v
bHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnByb3BzOgorCiAyMDE3LTA0LTI1ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdW1dpbl0gRW5h
YmxlIG9mIFgtQ29udGVudC1UeXBlLU9wdGlvbnM6IG5vc25pZmYgaGVhZGVyCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNC0z
MCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0
IGZvciBsZWdhY3kgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRpb24gb2YgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TLgorCiAyMDE3LTA0LTMwICBPbGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwu
Y29tPgogCiAgICAgICAgIFdlIGluaXRpYWxpemUgZnVuY3Rpb25zIHRvbyBlYXJseSBpbiBhbiBl
dmFsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTYwMDIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNiBAQCBFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSA9IEVOQUJMRV9LCiBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUgPSBF
TkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEU7CiBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQTsKLUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlM7CiBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyA9
IEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFVFRFUlBSRVNTW3Nkaz1p
cGhvbmUqXSA9IEVOQUJMRV9MRVRURVJQUkVTUzsKIEVOQUJMRV9MSU5LX1BSRUZFVENIID0gOwpA
QCAtMjU1LDQgKzI1NCw0IEBAIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UXyA9ICQoRU5B
QkwKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX05PID0gRU5BQkxFX1ZBUklBVElPTl9G
T05UUzsKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX1lFUyA9IDsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVO
QUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RF
TEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRF
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJU
TEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FO
SU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90
aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRpb24gb2Yg
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TLgorCiAyMDE3LTA0LTI5ICBZdXN1a2UgU3V6dWtp
ICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIE1vdmUgV2ViQ29yZSBDUFVUaW1l
IHRvIFdURiBhbmQgaW1wbGVtZW50IGl0IGluIGFsbCB0aGUgcGxhdGZvcm1zCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3Rm
L0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XVEYvd3RmL0Zl
YXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzOCwxMCArNTM4LDYgQEAgdGhlIHB1
YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0bwogI2RlZmluZSBFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSAwCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKLSNkZWZpbmUgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIDAKLSNl
bmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpCiAjZGVm
aW5lIEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTIDAKICNlbmRpZgpJbmRleDogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICBSZW1vdmUgZmlsZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRpb24gb2YgRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgUmVtb3ZlIElETCBmaWxlcy4KKworICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oOiBSZW1vdmVkLgorICAg
ICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIE1vZHVsZXMv
bm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlm
aWNhdGlvbnMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29y
a2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5p
bjoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJUaHJlYWQuaDoKKyAgICAgICAgUmVtb3ZlIGNvZGUgbGVnYWN5IE5vdGlmaWNhdGlvbiBjb2Rl
LiBSZXBsYWNlIHVzZSBvZiBOb3RpZmljYXRpb25DZW50ZXIgd2l0aCBkaXJlY3QKKyAgICAgICAg
Y2FsbHMgdG8gdGhlIE5vdGlmaWNhdGlvbkNsaWVudC4KKwogMjAxNy0wNC0zMCAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbGVnYWN5
IENsaWVudFJlY3QgLyBDbGllbnRSZWN0TGlzdApJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJl
dmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0yNjEsMTEgKzI2MSw4IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVT
CiAKICAgICBNb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRp
bHMuaWRsCiAKLSAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9u
cy5pZGwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAotICAgIE1v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCiAgICAgTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwKLSAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbAogCiAg
ICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuaWRsCiAKQEAgLTk4Miwx
MSArOTc5LDggQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogCiAgICAgTW9kdWxlcy9uYXZpZ2F0b3Jj
b250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVudFV0aWxzLmNwcAogCi0gICAgTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwCiAgICAgTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5jcHAKLSAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmNwcAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25D
b250cm9sbGVyLmNwcAotICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29w
ZU5vdGlmaWNhdGlvbnMuY3BwCiAKICAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyLmNwcAogICAgIE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2
ZW50LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMTYw
MDIpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkp
CkBAIC0yMDIsMTEgKzIwMiw4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2lnbmFsaW5nU3RhdGUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tFdmVudC5pZGwgXAotICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKLSAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9xdW90YS9OYXZpZ2F0b3JTdG9yYWdlUXVvdGEuaWRsIFwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEzOSw2IEBAIEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9LRVlCT0FSRF9D
T0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsKIEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gqXSA9IEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TW3Nk
az1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVf
TEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwogRU5BQkxFX0xJ
TktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklBVElPTl9GT05U
U19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfTk8gPSBF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfWUVT
ID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVO
QUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9E
RVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5j
cHAJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyNyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IkRPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCIKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLSNpbmNsdWRlICJET01XaW5kb3cuaCIK
LSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgot
I2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotRE9NV2luZG93Tm90aWZpY2F0aW9uczo6RE9NV2luZG93
Tm90aWZpY2F0aW9ucyhET01XaW5kb3cqIHdpbmRvdykKLSAgICA6IERPTVdpbmRvd1Byb3BlcnR5
KHdpbmRvdy0+ZnJhbWUoKSkKLSAgICAsIG1fd2luZG93KHdpbmRvdykKLXsKLX0KLQotRE9NV2lu
ZG93Tm90aWZpY2F0aW9uczo6fkRPTVdpbmRvd05vdGlmaWNhdGlvbnMoKQotewotfQotCi1jb25z
dCBjaGFyKiBET01XaW5kb3dOb3RpZmljYXRpb25zOjpzdXBwbGVtZW50TmFtZSgpCi17Ci0gICAg
cmV0dXJuICJET01XaW5kb3dOb3RpZmljYXRpb25zIjsKLX0KLQotRE9NV2luZG93Tm90aWZpY2F0
aW9ucyogRE9NV2luZG93Tm90aWZpY2F0aW9uczo6ZnJvbShET01XaW5kb3cqIHdpbmRvdykKLXsK
LSAgICBET01XaW5kb3dOb3RpZmljYXRpb25zKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8RE9N
V2luZG93Tm90aWZpY2F0aW9ucyo+KFN1cHBsZW1lbnQ8RE9NV2luZG93Pjo6ZnJvbSh3aW5kb3cs
IHN1cHBsZW1lbnROYW1lKCkpKTsKLSAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAgICAgYXV0
byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxET01XaW5kb3dOb3RpZmljYXRpb25z
Pih3aW5kb3cpOwotICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKLSAg
ICAgICAgcHJvdmlkZVRvKHdpbmRvdywgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBw
bGVtZW50KSk7Ci0gICAgfQotICAgIHJldHVybiBzdXBwbGVtZW50OwotfQotCi1Ob3RpZmljYXRp
b25DZW50ZXIqIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoRE9N
V2luZG93JiB3aW5kb3cpCi17Ci0gICAgcmV0dXJuIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmZy
b20oJndpbmRvdyktPndlYmtpdE5vdGlmaWNhdGlvbnMoKTsKLX0KLQotdm9pZCBET01XaW5kb3dO
b3RpZmljYXRpb25zOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKQotewot
ICAgIG1fc3VzcGVuZGVkTm90aWZpY2F0aW9uQ2VudGVyID0gV1RGTW92ZShtX25vdGlmaWNhdGlv
bkNlbnRlcik7Ci0gICAgRE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpOwotfQotCi12b2lkIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OnJlY29u
bmVjdEZyYW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbihGcmFtZSogZnJhbWUpCi17Ci0gICAgRE9N
V2luZG93UHJvcGVydHk6OnJlY29ubmVjdEZyYW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbihmcmFt
ZSk7Ci0gICAgbV9ub3RpZmljYXRpb25DZW50ZXIgPSBXVEZNb3ZlKG1fc3VzcGVuZGVkTm90aWZp
Y2F0aW9uQ2VudGVyKTsKLX0KLQotdm9pZCBET01XaW5kb3dOb3RpZmljYXRpb25zOjp3aWxsRGVz
dHJveUdsb2JhbE9iamVjdEluQ2FjaGVkRnJhbWUoKQotewotICAgIG1fc3VzcGVuZGVkTm90aWZp
Y2F0aW9uQ2VudGVyID0gbnVsbHB0cjsKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6d2lsbERlc3Ry
b3lHbG9iYWxPYmplY3RJbkNhY2hlZEZyYW1lKCk7Ci19Ci0KLXZvaWQgRE9NV2luZG93Tm90aWZp
Y2F0aW9uczo6d2lsbERlc3Ryb3lHbG9iYWxPYmplY3RJbkZyYW1lKCkKLXsKLSAgICBtX25vdGlm
aWNhdGlvbkNlbnRlciA9IG51bGxwdHI7Ci0gICAgRE9NV2luZG93UHJvcGVydHk6OndpbGxEZXN0
cm95R2xvYmFsT2JqZWN0SW5GcmFtZSgpOwotfQotCi12b2lkIERPTVdpbmRvd05vdGlmaWNhdGlv
bnM6OndpbGxEZXRhY2hHbG9iYWxPYmplY3RGcm9tRnJhbWUoKQotewotICAgIG1fbm90aWZpY2F0
aW9uQ2VudGVyID0gbnVsbHB0cjsKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6d2lsbERldGFjaEds
b2JhbE9iamVjdEZyb21GcmFtZSgpOwotfQotCi1Ob3RpZmljYXRpb25DZW50ZXIqIERPTVdpbmRv
d05vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoKQotewotICAgIGlmICghbV93aW5k
b3ctPmlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLQotICAgIGlmIChtX25vdGlmaWNhdGlvbkNlbnRlcikKLSAgICAgICAgcmV0dXJuIG1fbm90
aWZpY2F0aW9uQ2VudGVyLmdldCgpOwotCi0gICAgYXV0byogZG9jdW1lbnQgPSBtX3dpbmRvdy0+
ZG9jdW1lbnQoKTsKLSAgICBpZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAKLSAgICBhdXRvKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2Up
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgYXV0byogcHJvdmlkZXIgPSBOb3RpZmlj
YXRpb25Db250cm9sbGVyOjpjbGllbnRGcm9tKCpwYWdlKTsKLSAgICBpZiAoIXByb3ZpZGVyKQot
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gTm90
aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGUoKmRvY3VtZW50LCBwcm92aWRlcik7Ci0gICAgcmV0dXJu
IG1fbm90aWZpY2F0aW9uQ2VudGVyLmdldCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RP
TVdpbmRvd05vdGlmaWNhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oCShyZXZpc2lvbiAyMTYw
MDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90
aWZpY2F0aW9ucy5oCShub25leGlzdGVudCkKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAwNiwgMjAwNywgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0
cyBzdWJzaWRpYXJ5KC1pZXMpCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5Lmgi
Ci0jaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBET01XaW5kb3c7Ci1jbGFzcyBO
b3RpZmljYXRpb25DZW50ZXI7Ci0KLWNsYXNzIERPTVdpbmRvd05vdGlmaWNhdGlvbnMgOiBwdWJs
aWMgU3VwcGxlbWVudDxET01XaW5kb3c+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewotcHVi
bGljOgotICAgIGV4cGxpY2l0IERPTVdpbmRvd05vdGlmaWNhdGlvbnMoRE9NV2luZG93Kik7Ci0g
ICAgdmlydHVhbCB+RE9NV2luZG93Tm90aWZpY2F0aW9ucygpOwotCi0gICAgc3RhdGljIE5vdGlm
aWNhdGlvbkNlbnRlciogd2Via2l0Tm90aWZpY2F0aW9ucyhET01XaW5kb3cmKTsKLSAgICBzdGF0
aWMgRE9NV2luZG93Tm90aWZpY2F0aW9ucyogZnJvbShET01XaW5kb3cqKTsKLQotICAgIHZvaWQg
ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCByZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqKSBvdmVycmlkZTsK
LSAgICB2b2lkIHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0SW5DYWNoZWRGcmFtZSgpIG92ZXJyaWRl
OwotICAgIHZvaWQgd2lsbERlc3Ryb3lHbG9iYWxPYmplY3RJbkZyYW1lKCkgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCB3aWxsRGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCkgb3ZlcnJpZGU7Ci0KLXBy
aXZhdGU6Ci0gICAgTm90aWZpY2F0aW9uQ2VudGVyKiB3ZWJraXROb3RpZmljYXRpb25zKCk7Ci0g
ICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7Ci0KLSAgICBET01XaW5kb3cq
IG1fd2luZG93OwotICAgIFJlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IG1fbm90aWZpY2F0aW9u
Q2VudGVyOwotICAgIFJlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IG1fc3VzcGVuZGVkTm90aWZp
Y2F0aW9uQ2VudGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmlj
YXRpb25zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwJKHJldmlzaW9uIDIxNjAwMikKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25z
LmlkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBD
b25kaXRpb25hbD1OT1RJRklDQVRJT05TfExFR0FDWV9OT1RJRklDQVRJT05TLAotXSBwYXJ0aWFs
IGludGVyZmFjZSBET01XaW5kb3cgewotI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNhdGlvbnM7Ci0jZW5kaWYKLX07
Ci0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNzggKzMxLDMzIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKIAotI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgotI2luY2x1ZGUgIkRPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50
ZXIuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgi
CiAjaW5jbHVkZSAiV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotTm90aWZpY2F0
aW9uOjpOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5
LCBVUkwmJiBpY29uVVJMLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBOb3RpZmlj
YXRpb25DZW50ZXImIG5vdGlmaWNhdGlvbkNlbnRlcikKLSAgICA6IEFjdGl2ZURPTU9iamVjdCgm
Y29udGV4dCkKLSAgICAsIG1faWNvbihXVEZNb3ZlKGljb25VUkwpKQotICAgICwgbV90aXRsZSh0
aXRsZSkKLSAgICAsIG1fYm9keShib2R5KQotICAgICwgbV9ub3RpZmljYXRpb25DZW50ZXIoJm5v
dGlmaWNhdGlvbkNlbnRlcikKLXsKLX0KLQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKLQogTm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTdHJpbmcmIHRpdGxlKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZkb2N1bWVudCkKICAg
ICAsIG1fdGl0bGUodGl0bGUpCiAgICAgLCBtX3N0YXRlKElkbGUpCi0gICAgLCBtX25vdGlmaWNh
dGlvbkNlbnRlcihET01XaW5kb3dOb3RpZmljYXRpb25zOjp3ZWJraXROb3RpZmljYXRpb25zKCpk
b2N1bWVudC5kb21XaW5kb3coKSkpCiAgICAgLCBtX3Rhc2tUaW1lcihzdGQ6Om1ha2VfdW5pcXVl
PFRpbWVyPihbdGhpc10gKCkgeyBzaG93KCk7IH0pKQogewotICAgIC8vIEZJWE1FOiBTZWVtcyB0
aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNob3VsZCBub3QgYmUgY2hh
bmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCi0gICAgLy8gQnV0IHRoZSByZXN0IG9mIHRoZSBjb2Rl
IGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0IGNhc2UuCi0gICAgQVNT
RVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7CiAgICAgbV90YXNrVGltZXItPnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCi0jZW5kaWYKLQogTm90aWZpY2F0aW9uOjp+Tm90aWZpY2F0
aW9uKCkgCiB7CiB9CiAKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLUV4Y2Vw
dGlvbk9yPFJlZjxOb3RpZmljYXRpb24+PiBOb3RpZmljYXRpb246OmNyZWF0ZShjb25zdCBTdHJp
bmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTm90aWZpY2F0aW9uQ2VudGVyJiBwcm92aWRl
cikKLXsgCi0gICAgaWYgKHByb3ZpZGVyLmNoZWNrUGVybWlzc2lvbigpICE9IE5vdGlmaWNhdGlv
bkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBT
RUNVUklUWV9FUlIgfTsKLQotICAgIFVSTCBjb21wbGV0ZWRJY29uVVJMID0gaWNvblVSTC5pc0Vt
cHR5KCkgPyBVUkwoKSA6IGNvbnRleHQuY29tcGxldGVVUkwoaWNvblVSTCk7Ci0gICAgaWYgKCFj
b21wbGV0ZWRJY29uVVJMLmlzRW1wdHkoKSAmJiAhY29tcGxldGVkSWNvblVSTC5pc1ZhbGlkKCkp
Ci0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBTWU5UQVhfRVJSIH07Ci0KLSAgICBhdXRvIG5v
dGlmaWNhdGlvbiA9IGFkb3B0UmVmKCpuZXcgTm90aWZpY2F0aW9uKHRpdGxlLCBib2R5LCBXVEZN
b3ZlKGNvbXBsZXRlZEljb25VUkwpLCBjb250ZXh0LCBwcm92aWRlcikpOwotICAgIG5vdGlmaWNh
dGlvbi5nZXQoKS5zdXNwZW5kSWZOZWVkZWQoKTsKLSAgICByZXR1cm4gV1RGTW92ZShub3RpZmlj
YXRpb24pOwotfQotCi0jZW5kaWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQotCiBzdGF0
aWMgU3RyaW5nIGRpcmVjdGlvblN0cmluZyhOb3RpZmljYXRpb246OkRpcmVjdGlvbiBkaXJlY3Rp
b24pCiB7CiAgICAgLy8gRklYTUU6IFN0b3JpbmcgdGhpcyBhcyBhIHN0cmluZyBpcyBub3QgdGhl
IHJpZ2h0IHdheSB0byBkbyBpdC4KQEAgLTEyMiwzOCArNzcsMzggQEAgc3RhdGljIFN0cmluZyBk
aXJlY3Rpb25TdHJpbmcoTm90aWZpY2F0aQogUmVmPE5vdGlmaWNhdGlvbj4gTm90aWZpY2F0aW9u
OjpjcmVhdGUoRG9jdW1lbnQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IE9w
dGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0byBub3RpZmljYXRpb24gPSBhZG9wdFJlZigqbmV3
IE5vdGlmaWNhdGlvbihjb250ZXh0LCB0aXRsZSkpOwotICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5t
X2JvZHkgPSBvcHRpb25zLmJvZHk7Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLm1fdGFnID0gb3B0
aW9ucy50YWc7Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLm1fbGFuZyA9IG9wdGlvbnMubGFuZzsK
LSAgICBub3RpZmljYXRpb24uZ2V0KCkubV9kaXJlY3Rpb24gPSBkaXJlY3Rpb25TdHJpbmcob3B0
aW9ucy5kaXIpOworICAgIG5vdGlmaWNhdGlvbi0+bV9ib2R5ID0gb3B0aW9ucy5ib2R5OworICAg
IG5vdGlmaWNhdGlvbi0+bV90YWcgPSBvcHRpb25zLnRhZzsKKyAgICBub3RpZmljYXRpb24tPm1f
bGFuZyA9IG9wdGlvbnMubGFuZzsKKyAgICBub3RpZmljYXRpb24tPm1fZGlyZWN0aW9uID0gZGly
ZWN0aW9uU3RyaW5nKG9wdGlvbnMuZGlyKTsKICAgICBpZiAoIW9wdGlvbnMuaWNvbi5pc0VtcHR5
KCkpIHsKICAgICAgICAgYXV0byBpY29uVVJMID0gY29udGV4dC5jb21wbGV0ZVVSTChvcHRpb25z
Lmljb24pOwogICAgICAgICBpZiAoaWNvblVSTC5pc1ZhbGlkKCkpCi0gICAgICAgICAgICBub3Rp
ZmljYXRpb24uZ2V0KCkubV9pY29uID0gaWNvblVSTDsKKyAgICAgICAgICAgIG5vdGlmaWNhdGlv
bi0+bV9pY29uID0gaWNvblVSTDsKICAgICB9Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLnN1c3Bl
bmRJZk5lZWRlZCgpOworICAgIG5vdGlmaWNhdGlvbi0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAg
cmV0dXJuIG5vdGlmaWNhdGlvbjsKIH0KIAotI2VuZGlmCi0KIHZvaWQgTm90aWZpY2F0aW9uOjpz
aG93KCkgCiB7CiAgICAgLy8gcHJldmVudCBkb3VibGUtc2hvd2luZwotICAgIGlmIChtX3N0YXRl
ID09IElkbGUgJiYgbV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgpKSB7Ci0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCi0gICAgICAgIGF1dG8qIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4o
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkucGFnZSgpOwotICAgICAgICBpZiAoIXBhZ2UpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChOb3RpZmljYXRpb25Db250cm9sbGVyOjpm
cm9tKHBhZ2UpLT5jbGllbnQoKS5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSB7Ci0gICAgICAg
ICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotI2VuZGlmCi0gICAgICAgIGlmIChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCktPnNo
b3codGhpcykpIHsKLSAgICAgICAgICAgIG1fc3RhdGUgPSBTaG93aW5nOwotICAgICAgICAgICAg
c2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwotICAgICAgICB9CisgICAgaWYgKG1fc3RhdGUgIT0g
SWRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byogcGFnZSA9IGRvd25jYXN0PERvY3Vt
ZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQor
ICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiBjbGllbnQgPSBOb3RpZmljYXRpb25Db250cm9s
bGVyOjpmcm9tKHBhZ2UpLT5jbGllbnQoKTsKKworICAgIGlmIChjbGllbnQuY2hlY2tQZXJtaXNz
aW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uQWxsb3dlZCkgeworICAgICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBpZiAoY2xpZW50LnNob3codGhpcykpIHsKKyAgICAgICAgbV9z
dGF0ZSA9IFNob3dpbmc7CisgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKICAgICB9
CiB9CiAKQEAgLTE2MiwxMCArMTE3LDEyIEBAIHZvaWQgTm90aWZpY2F0aW9uOjpjbG9zZSgpCiAg
ICAgc3dpdGNoIChtX3N0YXRlKSB7CiAgICAgY2FzZSBJZGxlOgogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFNob3dpbmc6Ci0gICAgICAgIGlmIChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50
KCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCktPmNhbmNlbCh0
aGlzKTsKKyAgICBjYXNlIFNob3dpbmc6IHsKKyAgICAgICAgYXV0byogcGFnZSA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCk7CisgICAgICAgIGlm
IChwYWdlKQorICAgICAgICAgICAgTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShwYWdlKS0+
Y2xpZW50KCkuY2FuY2VsKHRoaXMpOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBD
bG9zZWQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTE3NCw4ICsxMzEsMTAgQEAgdm9pZCBO
b3RpZmljYXRpb246OmNsb3NlKCkKIHZvaWQgTm90aWZpY2F0aW9uOjpjb250ZXh0RGVzdHJveWVk
KCkKIHsKICAgICBBY3RpdmVET01PYmplY3Q6OmNvbnRleHREZXN0cm95ZWQoKTsKLSAgICBpZiAo
bV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgpKQotICAgICAgICBtX25vdGlmaWNhdGlvbkNl
bnRlci0+Y2xpZW50KCktPm5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZCh0aGlzKTsKKworICAg
IGF1dG8qIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4oKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSkucGFnZSgpOworICAgIGlmIChwYWdlKQorICAgICAgICBOb3RpZmljYXRpb25Db250cm9sbGVy
Ojpmcm9tKHBhZ2UpLT5jbGllbnQoKS5ub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQodGhpcyk7
CiB9CiAKIGNvbnN0IGNoYXIqIE5vdGlmaWNhdGlvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0CkBAIC0yMTksOCArMTc4LDYgQEAgdm9pZCBOb3RpZmljYXRpb246OmRpc3BhdGNoRXJyb3JF
dmVudCgpCiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJv
ckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQot
CiBTdHJpbmcgTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
ICAgICByZXR1cm4gcGVybWlzc2lvblN0cmluZyhOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9t
KGRvY3VtZW50LnBhZ2UoKSktPmNsaWVudCgpLmNoZWNrUGVybWlzc2lvbigmZG9jdW1lbnQpKTsK
QEAgLTI0NSw4ICsyMDIsNiBAQCB2b2lkIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24o
RG9jCiAgICAgTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShkb2N1bWVudC5wYWdlKCkpLT5j
bGllbnQoKS5yZXF1ZXN0UGVybWlzc2lvbigmZG9jdW1lbnQsIFdURk1vdmUoY2FsbGJhY2spKTsK
IH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCShyZXZpc2lvbiAyMTYwMDIpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKQEAgLTQ0LDE3ICs0NCwxMSBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBEb2N1bWVudDsKLWNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKIGNsYXNz
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazsKIAogY2xhc3MgTm90aWZpY2F0aW9uIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
LSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPE5vdGlmaWNhdGlvbj4+IGNyZWF0ZShjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE5vdGlmaWNhdGlvbkNlbnRlciYpOwotI2VuZGlmCi0K
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBlbnVtIGNsYXNzIERpcmVjdGlvbiB7IEF1
dG8sIEx0ciwgUnRsIH07CiAgICAgc3RydWN0IE9wdGlvbnMgewogICAgICAgICBEaXJlY3Rpb24g
ZGlyOwpAQCAtNjQsNyArNTgsNiBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyBpY29uOwogICAg
IH07CiAgICAgc3RhdGljIFJlZjxOb3RpZmljYXRpb24+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0
IFN0cmluZyYgdGl0bGUsIGNvbnN0IE9wdGlvbnMmKTsKLSNlbmRpZgogICAgIAogICAgIHZpcnR1
YWwgfk5vdGlmaWNhdGlvbigpOwogCkBAIC05NCwxMSArODcsOSBAQCBwdWJsaWM6CiAKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGZpbmFsaXplKCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBzdGF0aWMgU3RyaW5nIHBlcm1pc3Npb24oRG9jdW1lbnQmKTsKICAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgU3RyaW5nIHBlcm1pc3Npb25TdHJpbmcoTm90aWZpY2F0aW9uQ2xpZW50
OjpQZXJtaXNzaW9uKTsKICAgICBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihEb2N1bWVu
dCYsIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpOwotI2VuZGlmCiAK
ICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7IH0KIApAQCAtMTA2LDEzICs5Nyw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWZDb3VudGVk
OjpkZXJlZjsKIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0g
ICAgTm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwg
VVJMJiYgaWNvblVSTCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE5vdGlmaWNhdGlvbkNlbnRl
ciYpOwotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRp
b24oRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSNlbmRpZgogCiAgICAgRXZlbnRU
YXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBOb3RpZmljYXRpb25FdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KIApAQCAtMTMzLDEzICsx
MTgsOSBAQCBwcml2YXRlOgogICAgIGVudW0gU3RhdGUgeyBJZGxlLCBTaG93aW5nLCBDbG9zZWQg
fTsKICAgICBTdGF0ZSBtX3N0YXRlIHsgSWRsZSB9OwogCi0gICAgUmVmUHRyPE5vdGlmaWNhdGlv
bkNlbnRlcj4gbV9ub3RpZmljYXRpb25DZW50ZXI7Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fdGFza1RpbWVyOwotI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCwzNiArMzAsMzggQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9Tk9USUZJ
Q0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUywKKyAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJ
T05TLAogICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9S
VCwKLSNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FU
SU9OUwogICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0aXRsZSwgb3B0aW9uYWwgTm90aWZpY2F0
aW9uT3B0aW9ucyBvcHRpb25zKSwKICAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPURvY3VtZW50LAot
I2VuZGlmCiBdIGludGVyZmFjZSBOb3RpZmljYXRpb24gOiBFdmVudFRhcmdldCB7CiAgICAgdm9p
ZCBzaG93KCk7Ci0gICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9OT1RJRklDQVRJT05TLCBJbXBsZW1l
bnRlZEFzPWNsb3NlXSB2b2lkIGNhbmNlbCgpOwotICAgIFtDb25kaXRpb25hbD1OT1RJRklDQVRJ
T05TXSB2b2lkIGNsb3NlKCk7CisgICAgdm9pZCBjbG9zZSgpOwogCi0gICAgW0NvbmRpdGlvbmFs
PU5PVElGSUNBVElPTlMsIENhbGxXaXRoPURvY3VtZW50XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBwZXJtaXNzaW9uOwotICAgIFtDb25kaXRpb25hbD1OT1RJRklDQVRJT05T
LCBDYWxsV2l0aD1Eb2N1bWVudF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24ob3B0aW9u
YWwgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBjYWxsYmFjayk7CisgICAgW0NhbGxX
aXRoPURvY3VtZW50XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwZXJtaXNz
aW9uOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24ob3B0aW9uYWwgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBjYWxsYmFjayk7CiAK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2xpY2s7CisgICAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbmVycm9yOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jbG9zZTsKICAg
ICBbSW1wbGVtZW50ZWRBcz1vbnNob3ddIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25kaXNwbGF5
OwotICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lcnJvcjsKICAgICBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9uc2hvdzsKIAotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfTk9USUZJQ0FUSU9O
U10gYXR0cmlidXRlIERPTVN0cmluZyBkaXI7Ci0gICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9OT1RJ
RklDQVRJT05TXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlcGxhY2VJZDsKLQotICAgIFtDb25kaXRp
b25hbD1OT1RJRklDQVRJT05TXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhZzsKKyAgICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHRhZzsKIH07CiAKLVtDb25kaXRpb25hbD1OT1RJRklDQVRJT05TXSBlbnVt
IE5vdGlmaWNhdGlvbkRpcmVjdGlvbiB7ICJhdXRvIiwgImx0ciIsICJydGwiIH07CitbCisgICAg
Q29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUworXSBlbnVtIE5vdGlmaWNhdGlvbkRpcmVjdGlvbiB7
CisgICAgImF1dG8iLAorICAgICJsdHIiLAorICAgICJydGwiCit9OwogCi1bQ29uZGl0aW9uYWw9
Tk9USUZJQ0FUSU9OU10gZGljdGlvbmFyeSBOb3RpZmljYXRpb25PcHRpb25zIHsKK1sKKyAgICBD
b25kaXRpb25hbD1OT1RJRklDQVRJT05TCitdIGRpY3Rpb25hcnkgTm90aWZpY2F0aW9uT3B0aW9u
cyB7CiAgICAgTm90aWZpY2F0aW9uRGlyZWN0aW9uIGRpciA9ICJhdXRvIjsKICAgICBET01TdHJp
bmcgbGFuZyA9ICIiOwogICAgIERPTVN0cmluZyBib2R5ID0gIiI7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
NTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAq
IG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0g
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotCi0jaW5jbHVkZSAiTm90aWZp
Y2F0aW9uQ2VudGVyLmgiCi0KLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAi
Tm90aWZpY2F0aW9uLmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPE5vdGlmaWNhdGlvbkNlbnRlcj4gTm90aWZpY2F0aW9u
Q2VudGVyOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTm90aWZpY2F0
aW9uQ2xpZW50KiBjbGllbnQpCi17Ci0gICAgYXV0byBub3RpZmljYXRpb25DZW50ZXIgPSBhZG9w
dFJlZigqbmV3IE5vdGlmaWNhdGlvbkNlbnRlcihjb250ZXh0LCBjbGllbnQpKTsKLSAgICBub3Rp
ZmljYXRpb25DZW50ZXItPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiBub3RpZmljYXRp
b25DZW50ZXI7Ci19Ci0KLU5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90aWZpY2F0aW9uQ2VudGVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE5vdGlmaWNhdGlvbkNsaWVudCogY2xpZW50
KQotICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQotICAgICwgbV9jbGllbnQoY2xpZW50
KQotICAgICwgbV90aW1lcihbdGhpc10oKSB7IHRpbWVyRmlyZWQoKTsgfSkKLXsKLX0KLQotI2lm
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotRXhjZXB0aW9uT3I8UmVmPE5vdGlmaWNh
dGlvbj4+IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uKGNvbnN0IFN0cmlu
ZyYgaWNvblVSSSwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5KQotewot
ICAgIGlmICghbV9jbGllbnQgfHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfU1RBVEVfRVJSIH07Ci0gICAgcmV0dXJuIE5vdGlm
aWNhdGlvbjo6Y3JlYXRlKHRpdGxlLCBib2R5LCBpY29uVVJJLCAqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCAqdGhpcyk7Ci19Ci0KLWludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlz
c2lvbigpCi17Ci0gICAgaWYgKCFtX2NsaWVudCB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KQotICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwot
Ci0gICAgc3dpdGNoIChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkt
PmNhblNob3dOb3RpZmljYXRpb25zKCkpIHsKLSAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdh
eXNBbGxvdzoKLSAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFs
bG93ZWQ7Ci0gICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToKLSAgICAgICAgcmV0
dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZDsKLSAgICBjYXNlIFNlY3Vy
aXR5T3JpZ2luOjpBc2s6Ci0gICAgICAgIHJldHVybiBtX2NsaWVudC0+Y2hlY2tQZXJtaXNzaW9u
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIG1fY2xpZW50LT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKTsKLX0KLQotdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJt
aXNzaW9uKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCi17Ci0gICAgaWYgKCFtX2Ns
aWVudCB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBzd2l0Y2ggKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2Fu
U2hvd05vdGlmaWNhdGlvbnMoKSkgewotICAgIGNhc2UgU2VjdXJpdHlPcmlnaW46OkFsd2F5c0Fs
bG93OgotICAgIGNhc2UgU2VjdXJpdHlPcmlnaW46OkFsd2F5c0Rlbnk6Ci0gICAgICAgIGlmICht
X2NhbGxiYWNrcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIHJlZigpOyAvLyBCYWxhbmNlZCBi
eSB0aGUgZGVyZWZzIGluIE5vdGlmaWNhdGlvbkNlbnRlcjo6c3RvcCBhbmQgTm90aWZpY2F0aW9u
Q2VudGVyOjp0aW1lckZpcmVkLgotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKLSAgICAgICAgfQotICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
LSAgICAgICAgICAgIGlmIChjYWxsYmFjaykKLSAgICAgICAgICAgICAgICBjYWxsYmFjay0+aGFu
ZGxlRXZlbnQoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIFNlY3Vy
aXR5T3JpZ2luOjpBc2s6Ci0gICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0UGVybWlzc2lvbihzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoY2FsbGJhY2spKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIG1fY2xpZW50LT5yZXF1
ZXN0UGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoY2FsbGJhY2sp
KTsKLX0KLQotI2VuZGlmCi0KLXZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wKCkKLXsKLSAg
ICBpZiAoIW1fY2xpZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBDbGVhciBtX2NsaWVu
dCBpbW1lZGlhdGVseSB0byBndWFyYW50ZWUgcmVlbnRyYW50IGNhbGxzIHRvIE5vdGlmaWNhdGlv
bkNlbnRlciBkbyBub3RoaW5nLgotICAgIC8vIEFsc28gcHJvdGVjdCB8dGhpc3wgc28gaXQncyBu
b3QgaW5kaXJlY3RseSBkZXN0cm95ZWQgdW5kZXIgdXMgYnkgd29yayBkb25lIGJ5IHRoZSBjbGll
bnQuCi0gICAgYXV0byYgY2xpZW50ID0gKnN0ZDo6ZXhjaGFuZ2UobV9jbGllbnQsIG51bGxwdHIp
OwotICAgIFJlZjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotCi0g
ICAgaWYgKCFtX2NhbGxiYWNrcy5pc0VtcHR5KCkpCi0gICAgICAgIGRlcmVmKCk7IC8vIEJhbGFu
Y2VkIGJ5IHRoZSByZWYgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbi4K
LQotICAgIG1fdGltZXIuc3RvcCgpOwotICAgIG1fY2FsbGJhY2tzLmNsZWFyKCk7Ci0KLSAgICBj
bGllbnQuY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSk7Ci0gICAgY2xpZW50LmNsZWFyTm90aWZpY2F0aW9ucyhzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwotfQotCi1jb25zdCBjaGFyKiBOb3RpZmljYXRpb25DZW50ZXI6OmFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdAotewotICAgIHJldHVybiAiTm90aWZpY2F0aW9uQ2VudGVyIjsKLX0KLQot
Ym9vbCBOb3RpZmljYXRpb25DZW50ZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdAotewotICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgTm90aWZpY2F0
aW9ucyBiZWNhdXNlIHRob3NlIGFyZSBBY3RpdmVET01PYmplY3QgdG9vLgotICAgIC8vIFRoZSBO
b3RpZmljYXRpb25DZW50ZXIgY2FuIHNhZmVseSBiZSBzdXNwZW5kZWQgaWYgdGhlcmUgYXJlIG5v
IHBlbmRpbmcgcGVybWlzc2lvbiByZXF1ZXN0cy4KLSAgICByZXR1cm4gbV9jYWxsYmFja3MuaXNF
bXB0eSgpICYmICghbV9jbGllbnQgfHwgIW1fY2xpZW50LT5oYXNQZW5kaW5nUGVybWlzc2lvblJl
cXVlc3RzKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpOwotfQotCi12b2lkIE5vdGlmaWNhdGlv
bkNlbnRlcjo6dGltZXJGaXJlZCgpCi17Ci0gICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICBhdXRv
IGNhbGxiYWNrcyA9IFdURk1vdmUobV9jYWxsYmFja3MpOwotICAgIGZvciAoYXV0byYgY2FsbGJh
Y2sgOiBjYWxsYmFja3MpCi0gICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgZGVyZWYoKTsgLy8gQmFs
YW5jZWQgYnkgdGhlIHJlZiBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9u
LgotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMK
LW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5oCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw3OCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICog
bWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
Ci0jaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIE5v
dGlmaWNhdGlvbjsKLWNsYXNzIE5vdGlmaWNhdGlvbkNsaWVudDsKLWNsYXNzIFZvaWRDYWxsYmFj
azsKLQotY2xhc3MgTm90aWZpY2F0aW9uQ2VudGVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8
Tm90aWZpY2F0aW9uQ2VudGVyPiwgcHJpdmF0ZSBBY3RpdmVET01PYmplY3QgewotcHVibGljOgot
ICAgIHN0YXRpYyBSZWY8Tm90aWZpY2F0aW9uQ2VudGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIE5vdGlmaWNhdGlvbkNsaWVudCopOwotCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQotICAgIEV4Y2VwdGlvbk9yPFJlZjxOb3RpZmljYXRpb24+PiBjcmVhdGVOb3Rp
ZmljYXRpb24oY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIGJvZHkpOwotCi0gICAgaW50IGNoZWNrUGVybWlzc2lvbigpOwotICAgIHZvaWQg
cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJik7Ci0jZW5kaWYKLQotICAg
IE5vdGlmaWNhdGlvbkNsaWVudCogY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0K
LQotICAgIHVzaW5nIEFjdGl2ZURPTU9iamVjdDo6aGFzUGVuZGluZ0FjdGl2aXR5OwotCi1wcml2
YXRlOgotICAgIE5vdGlmaWNhdGlvbkNlbnRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTm90
aWZpY2F0aW9uQ2xpZW50Kik7Ci0KLSAgICB2b2lkIHN0b3AoKSBmaW5hbDsKLSAgICBjb25zdCBj
aGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7Ci0KLSAgICB2b2lkIHRpbWVy
RmlyZWQoKTsKLQotICAgIE5vdGlmaWNhdGlvbkNsaWVudCogbV9jbGllbnQ7Ci0gICAgVmVjdG9y
PHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4+IG1fY2FsbGJhY2tzOwotICAgIFRpbWVyIG1fdGltZXI7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQoKUHJvcGVydHkgY2hhbmdl
cyBvbjogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1u
YXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5pZGwJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCShub25leGlzdGVudCkKQEAgLTEsNDEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1l
dDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi1bCi0gICAgQWN0aXZlRE9NT2JqZWN0LAotICAgIENvbmRpdGlvbmFsPUxFR0FD
WV9OT1RJRklDQVRJT05TLAotICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotXSBpbnRlcmZhY2UgTm90
aWZpY2F0aW9uQ2VudGVyIHsKLSAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gTm90aWZpY2F0aW9uIGNy
ZWF0ZU5vdGlmaWNhdGlvbihET01TdHJpbmcgaWNvblVybCwgRE9NU3RyaW5nIHRpdGxlLCBET01T
dHJpbmcgYm9keSk7Ci0KLSAgIGxvbmcgY2hlY2tQZXJtaXNzaW9uKCk7Ci0gICB2b2lkIHJlcXVl
c3RQZXJtaXNzaW9uKG9wdGlvbmFsIFZvaWRDYWxsYmFjaz8gY2FsbGJhY2spOwotfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2xpZW50LmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNzAsMTIgKzcwLDcgQEAgcHVibGljOgogICAgIC8vIFJlcXVlc3RzIHVzZXIgcGVybWlzc2lv
biB0byBzaG93IGRlc2t0b3Agbm90aWZpY2F0aW9ucyBmcm9tIGEgcGFydGljdWxhcgogICAgIC8v
IHNjcmlwdCBjb250ZXh0LiBUaGUgY2FsbGJhY2sgcGFyYW1ldGVyIHNob3VsZCBiZSBydW4gd2hl
biB0aGUgdXNlciBoYXMKICAgICAvLyBtYWRlIGEgZGVjaXNpb24uCi0jaWYgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgUmVmUHRyPFZvaWRDYWxsYmFjaz4mJikgPSAwOwotI2VuZGlm
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrPiYmKSA9IDA7Ci0jZW5kaWYKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5k
aW5nUGVybWlzc2lvblJlcXVlc3RzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBjb25zdCA9IDA7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIxNjAwMikK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb25DbGllbnQuaCIKIApA
QCAtNjMsNCArNjMsNCBAQCB2b2lkIHByb3ZpZGVOb3RpZmljYXRpb24oUGFnZSogcGFnZSwgTm90
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5P
VElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgJKHJldmlzaW9uIDIx
NjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC01Miw0ICs1Miw0IEBAIHByaXZhdGU6CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElG
SUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29y
a2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25z
LmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmlj
YXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAJKG5vbmV4aXN0ZW50KQpA
QCAtMSw4MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnMuaCIKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLSNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50
ZXIuaCIKLSNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgotI2luY2x1ZGUgIldvcmtlclRo
cmVhZC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9uczo6V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zKFdvcmtlckdsb2JhbFNjb3Bl
JiBzY29wZSkKLSAgICA6IG1fY29udGV4dCgmc2NvcGUpCi17Ci19Ci0KLVdvcmtlckdsb2JhbFNj
b3BlTm90aWZpY2F0aW9uczo6fldvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucygpCi17Ci19
Ci0KLWNvbnN0IGNoYXIqIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9uczo6c3VwcGxlbWVu
dE5hbWUoKQotewotICAgIHJldHVybiAiV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zIjsK
LX0KLQotV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zKiBXb3JrZXJHbG9iYWxTY29wZU5v
dGlmaWNhdGlvbnM6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQotewotICAgIFdvcmtl
ckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyo+KFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+
Ojpmcm9tKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSkpOwotICAgIGlmICghc3VwcGxlbWVudCkg
ewotICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlckds
b2JhbFNjb3BlTm90aWZpY2F0aW9ucz4oc2NvcGUpOwotICAgICAgICBzdXBwbGVtZW50ID0gbmV3
U3VwcGxlbWVudC5nZXQoKTsKLSAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVudE5h
bWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7Ci0gICAgfQotICAgIHJldHVybiBzdXBwbGVt
ZW50OwotfQotCi1Ob3RpZmljYXRpb25DZW50ZXIqIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9uczo6d2Via2l0Tm90aWZpY2F0aW9ucyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCi17Ci0g
ICAgcmV0dXJuIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9uczo6ZnJvbShzY29wZSktPndl
YmtpdE5vdGlmaWNhdGlvbnMoKTsKLX0KLQotTm90aWZpY2F0aW9uQ2VudGVyKiBXb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoKQotewotICAgIC8vIEZJ
WE1FOiBBcyBvZiB0aGlzIHdyaXRpbmcsIHRoaXMgYWx3YXlzIHBhc3NlcyBudWxscHRyIGZvciB0
aGUgY2xpZW50LgotICAgIC8vIElmIGl0IHdhc24ndCBmb3IgdGhhdCwgdGhlIG5vdGlmaWNhdGlv
biBjZW50ZXIgY3JlYXRlIGZ1bmN0aW9uIGNvdWxkIGJlIHRha2luZyBhIHJlZmVyZW5jZS4KLSAg
ICAvLyBIb3cgaXMgaXQgdXNlZnVsIHRvIGNyZWF0ZSBhIG5vdGlmaWNhdGlvbiBjZW50ZXIgd2l0
aCBubyBjbGllbnQ/Ci0gICAgaWYgKCFtX25vdGlmaWNhdGlvbkNlbnRlcikKLSAgICAgICAgbV9u
b3RpZmljYXRpb25DZW50ZXIgPSBOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZSgqbV9jb250ZXh0
LCBtX2NvbnRleHQtPnRocmVhZCgpLmdldE5vdGlmaWNhdGlvbkNsaWVudCgpKTsKLSAgICByZXR1
cm4gbV9ub3RpZmljYXRpb25DZW50ZXIuZ2V0KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9u
cy5oCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmgJKG5vbmV4aXN0ZW50KQpAQCAt
MSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5LCAyMDEzLCAyMDE0
LCAyMDE1LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQot
I2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgTm90aWZpY2F0aW9uQ2VudGVyOwotY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7Ci0KLWNsYXNz
IFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtl
ckdsb2JhbFNjb3BlPiB7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgV29ya2VyR2xvYmFsU2NvcGVO
b3RpZmljYXRpb25zKFdvcmtlckdsb2JhbFNjb3BlJik7Ci0gICAgdmlydHVhbCB+V29ya2VyR2xv
YmFsU2NvcGVOb3RpZmljYXRpb25zKCk7Ci0KLSAgICBzdGF0aWMgTm90aWZpY2F0aW9uQ2VudGVy
KiB3ZWJraXROb3RpZmljYXRpb25zKFdvcmtlckdsb2JhbFNjb3BlJik7Ci0gICAgc3RhdGljIFdv
cmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyogZnJvbShXb3JrZXJHbG9iYWxTY29wZSYpOwot
Ci1wcml2YXRlOgotICAgIE5vdGlmaWNhdGlvbkNlbnRlciogd2Via2l0Tm90aWZpY2F0aW9ucygp
OwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOwotCi0gICAgV29ya2Vy
R2xvYmFsU2NvcGUqIG1fY29udGV4dDsKLSAgICBSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBt
X25vdGlmaWNhdGlvbkNlbnRlcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xv
YmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbAko
cmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5pZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICoKLSAq
LwotCi1bCi0gICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9O
UywKLV0gcGFydGlhbCBpbnRlcmZhY2UgV29ya2VyR2xvYmFsU2NvcGUgewotI2lmIGRlZmluZWQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlm
aWNhdGlvbnM7Ci0jZW5kaWYKLX07Ci0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24g
MjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE3LTA0LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICBSZW1vdmUgZGVmaW5pdGlvbiBv
ZiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMuCisKIDIwMTctMDQtMjUgIERhbmllbCBCYXRl
cyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV1bV2luXSBFbmFibGUgb2Yg
WC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZiBoZWFkZXIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEz
OSw2IEBAIEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9L
RVlCT0FSRF9DT0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsK
IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gq
XSA9IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7
CiBFTkFCTEVfTEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwog
RU5BQkxFX0xJTktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklB
VElPTl9GT05UU19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9O
T1RfTk8gPSBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19J
Rl9OT1RfWUVTID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
REVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVS
RSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZG
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxNjAwMikK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMTU3MSwxMSArMTU3MSw3IEBACiAJCTMzNTAzQzlBMTAxNzlBNzQwMDNC
NDdFMSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRp
b25DbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkzMzUwM0NBMzEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOUYxMDE3OUFE
NzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmNwcCAqLzsgfTsKIAkJMzM1MDNDQTQxMDE3OUFE
NzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmlj
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkzMzUwM0NBNTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDQTExMDE3
OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLzsgfTsKLQkJMzM1MDND
QTYxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3
RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLzsgfTsKIAkJMzM1MDNDQzcxMDE3QTFCMTAw
M0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NDNjEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9u
LmNwcCAqLzsgfTsKLQkJMzM5MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNl
bnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLzsgfTsK
LQkJMzM5MENBNTYwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5MENBNTIwRkZDMTU3
QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oICovOyB9OwogCQkzMzlCNUI2MzEzMURB
QTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2ll
c1N0cmF0ZWd5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMzNEMDIxMkQxMzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0b3JhZ2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxM0YwMUVBMTI3MEUxMEQw
MERGQkE3MSAvKiBDb29raWVTdG9yYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzU3MTg4M0VFRjYxODc5Mzc1MUU0MDg5IC8qIFJlbmRlck1h
dGhNTE1lbmNsb3NlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5j
cHAgKi87IH07CkBAIC00MDQ4LDggKzQwNDQsNiBAQAogCQk5N0FBQkQyNzE0RkEwOUQ1MDA3NDU3
QUUgLyogV2ViU29ja2V0SGFuZHNoYWtlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5N0FBQkQwQzE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0SGFu
ZHNoYWtlLmggKi87IH07CiAJCTk3QUFCRDJDMTRGQTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5N0FBQkQxMTE0RkEwOUQ1MDA3NDU3QUUgLyogV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuY3BwICovOyB9OwogCQk5N0FBQkQyRDE0RkEwOUQ1MDA3NDU3
QUUgLyogV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QUFCRDEyMTRGQTA5RDUwMDc0NTdBRSAv
KiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk3QjM4RTI3MTUxQzQyNzEwMDQ2MjJFOSAv
KiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5N0IzOEUyNDE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2luZG93Tm90
aWZpY2F0aW9ucy5oICovOyB9OwotCQk5N0IzOEUyODE1MUM0MjczMDA0NjIyRTkgLyogRE9NV2lu
ZG93Tm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5N0IzOEUyMzE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0
aW9ucy5jcHAgKi87IH07CiAJCTk3QjhGRkQxMTZBRTdGOTYwMDM4Mzg4RCAvKiBDaGFyYWN0ZXJS
ZWZlcmVuY2VQYXJzZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5N0I4RkZDRjE2QUU3RjkyMDAzODM4OEQgLyogQ2hhcmFjdGVyUmVmZXJl
bmNlUGFyc2VySW5saW5lcy5oICovOyB9OwogCQk5N0JDNjlEQzE1MDVGMDc2MDAxQjc0QUMgLyog
Q2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTdCQzY5RDgxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZlcnNpb25X
cmFwcGVyLmNwcCAqLzsgfTsKIAkJOTdCQzY5REQxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZl
cnNpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5N0JDNjlEOTE1MDVGMDc2MDAxQjc0QUMgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCAq
LzsgfTsKQEAgLTQwOTgsOCArNDA5Miw2IEBACiAJCTk3RENFMjAyMTA4MDdDNzUwMDU3RDM5NCAv
KiBIaXN0b3J5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTdEQ0UyMDAxMDgwN0M3NTAwNTdEMzk0IC8qIEhpc3RvcnlDb250cm9sbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTdF
NDAyOEYxM0E2OTZFRDAwOTEzRDY3IC8qIEljb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3RTQwMjhEMTNBNjk2RUQwMDkxM0Q2
NyAvKiBJY29uQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTk3RTQwMjkwMTNBNjk2RUQwMDkxM0Q2
NyAvKiBJY29uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTdFNDAyOEUxM0E2OTZFRDAwOTEzRDY3IC8qIEljb25Db250cm9sbGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTdGOEU2
NjUxNTFENEE0QjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0Y4RTY2MTE1
MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcCAqLzsg
fTsKLQkJOTdGOEU2NjYxNTFENEE0RTAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTdGOEU2NjIxNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9u
cy5oICovOyB9OwogCQk5ODMxQUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQb2xpY3ku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk4MzFBRTQ5
MTU0MjI1QTIwMEZFMjY0NCAvKiBSZWZlcnJlclBvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk4NDI2NEYxMTJENTI4MEEwMDBEODhBNCAv
KiBMaW5rTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5ODQyNjRFRjEyRDUyODBBMDAwRDg4QTQgLyogTGlua0xvYWRlckNsaWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk4NUJC
OTZEMTNBOTQwNTgwMDdBMEI2OSAvKiBMaW5rUmVsQXR0cmlidXRlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk4NUJCOTZCMTNBOTQwNTgwMDdBMEI2
OSAvKiBMaW5rUmVsQXR0cmlidXRlLmNwcCAqLzsgfTsKQEAgLTkxODgsMTIgKzkxODAsNyBAQAog
CQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBmaWxlRW5jb2RpbmcgPSA0OyBwYXRoID0gTm90aWZpY2F0aW9uQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzNTAzQzlGMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlm
aWNhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlm
aWNhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzNTAzQ0EwMTAxNzlB
RDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU05vdGlmaWNhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkz
MzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25DZW50ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3RTEg
LyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNOb3RpZmljYXRpb25DZW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzM1MDNDQzYxMDE3QTFCMTAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3RpZmljYXRpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9u
Q2VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNh
dGlvbkNlbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzOTBDQTUyMEZG
QzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTm90aWZpY2F0aW9uQ2VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTMzOTBDQTUzMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5vdGlmaWNhdGlvbkNlbnRlci5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzOUI1QjYyMTMxREFBMzIwMEY0OEQwMiAvKiBDb29r
aWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29va2llc1N0
cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM2NjJGOTg0MDQ3Q0VEQkU1
REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxvY2Fs
aXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBwYXRoID0gImV4dHJhY3QtbG9jYWxpemFibGUt
c3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjE3NCw5ICsxMjE2
MSw2IEBACiAJCTk3QUFCRDBDMTRGQTA5RDUwMDc0NTdBRSAvKiBXZWJTb2NrZXRIYW5kc2hha2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0SGFuZHNoYWtlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QUFCRDExMTRGQTA5RDUwMDc0NTdBRSAv
KiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QUFCRDEyMTRGQTA5RDUwMDc0NTdBRSAv
KiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk5N0IzOEUyMzE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2lu
ZG93Tm90aWZpY2F0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOTdCMzhFMjQxNTFDNDI2NDAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93Tm90aWZpY2F0aW9ucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0IzOEUyNTE1MUM0MjY0MDA0NjIyRTkg
LyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9N
V2luZG93Tm90aWZpY2F0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3
QjhGRkNGMTZBRTdGOTIwMDM4Mzg4RCAvKiBDaGFyYWN0ZXJSZWZlcmVuY2VQYXJzZXJJbmxpbmVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoYXJhY3RlclJlZmVyZW5jZVBh
cnNlcklubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdCQzY5RDgxNTA1
RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdCQzY5RDkxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZl
cnNpb25XcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoYW5nZVZl
cnNpb25XcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjI0MSw5ICsx
MjIyNSw2IEBACiAJCTk3RTQwMjhFMTNBNjk2RUQwMDkxM0Q2NyAvKiBJY29uQ29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJY29uQ29udHJvbGxlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0U5RUM4QjE1REM0OTJGMDA0RjJFNzEgLyogSlNW
b2lkQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNW
b2lkQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0U5RUM4QzE1
REM0OTJGMDA0RjJFNzEgLyogSlNWb2lkQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNWb2lkQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOTdGOEU2NjExNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5
N0Y4RTY2MjE1MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3BlTm90
aWZpY2F0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0Y4RTY2MzE1MUQ0
QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5ODMxQUU0OTE1NDIyNUEyMDBGRTI2NDQgLyogUmVm
ZXJyZXJQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmZXJyZXJQ
b2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTg0MjY0RUYxMkQ1MjgwQTAw
MEQ4OEE0IC8qIExpbmtMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGlua0xvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
ODVCQjk2QjEzQTk0MDU4MDA3QTBCNjkgLyogTGlua1JlbEF0dHJpYnV0ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMaW5rUmVsQXR0cmlidXRlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NDc1LDIzICsxNzQ1NiwxNCBAQAogCQkzMzNGNzAz
RDBGQjQ5QzE2MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJOTdCMzhFMjMxNTFDNDI2NDAwNDYyMkU5IC8qIERP
TVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwICovLAotCQkJCTk3QjM4RTI0MTUxQzQyNjQwMDQ2MjJF
OSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggKi8sCi0JCQkJOTdCMzhFMjUxNTFDNDI2NDAw
NDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsICovLAogCQkJCTMzNTAzQ0M2MTAx
N0ExQjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwICovLAogCQkJCTMzM0Y3MDRGMEZCNDlD
QTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaCAqLywKIAkJCQkzMzNGNzA0RTBGQjQ5Q0EyMDA4
RTEyQTYgLyogTm90aWZpY2F0aW9uLmlkbCAqLywKLQkJCQkzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5
NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLywKLQkJCQkzMzkwQ0E1MjBGRkMxNTdCMDA5
MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggKi8sCi0JCQkJMzM5MENBNTMwRkZDMTU3QjAw
OTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5pZGwgKi8sCiAJCQkJMzM1MDNDOTkxMDE3OUE3
NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oICovLAogCQkJCTMxMjhDQTY3MTQ3MzMx
NTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQkzMTI4Q0E2
QTE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovLAogCQkJCTMx
RUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aCAqLywKIAkJCQkzMUVDMUQ1MDE0RkVGRDA4MDBDOTQ2NjIgLyogTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbCAqLywKLQkJCQk5N0Y4RTY2MTE1MUQ0QTNGMDBEMkQxODEgLyogV29y
a2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcCAqLywKLQkJCQk5N0Y4RTY2MjE1MUQ0QTNG
MDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmggKi8sCi0JCQkJOTdG
OEU2NjMxNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5p
ZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9IG5vdGlmaWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwpAQCAtMTc1MDEsOCArMTc0NzMsNiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJ
MzM1MDNDOUYxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmNwcCAqLywKIAkJCQkz
MzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLywKLQkJCQkzMzUw
M0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovLAotCQkJ
CTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICovLAog
CQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5jcHAgKi8sCiAJCQkJMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkpOwpAQCAtMjY5ODIsNyArMjY5NTIs
NiBAQAogCQkJCTE0MDNCOTk3MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxRkEyRDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5kb3dFeHRlbnNp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBET01X
aW5kb3dJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTk3QjM4RTI3MTUxQzQy
NzEwMDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0QyQUQwNDE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg5RjYwQjExMTU3RjY4NkUwMDc1RTE1NyAvKiBET01XaW5kb3dRdW90YS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVBRDYxNkE0ODYxNjAwOTc1QTI1IC8qIERPTVdpbmRv
d1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNyw3ICsyNzkwNiw2IEBA
CiAJCQkJQkNEOUMyQzMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTm9kZUxpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFEMjBCMThEMThFOUQyMzcwMDVBODA4MyAvKiBKU05vZGVMaXN0Q3VzdG9tLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMzUwM0NBNDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmlj
YXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTMzNTAzQ0E2MTAxNzlBRDcwMDNCNDdFMSAvKiBK
U05vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFFQzFFMjkxNEZGNjBF
RTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3RTQ2RjZGQjE2MjdBMkNBMDAwNjIyMjMgLyogSlNPRVNFbGVtZW50SW5kZXhV
aW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MDAxNzg4MTEyRTAzNzA3MDA2NDg0NjIgLyogSlNP
RVNTdGFuZGFyZERlcml2YXRpdmVzLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NTgzLDcgKzI4NTUx
LDYgQEAKIAkJCQk5MzgyQUFCNDBEOEMzODYxMDBGMzU3QTYgLyogTm9kZVdpdGhJbmRleC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTQ2QjQxRjkxQ0IyNEU3MDAwOEYxMURFIC8qIE5vRXZlbnREaXNw
YXRjaEFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEyQzBDNDExNDZEQzZDQzAwMTZD
OTExIC8qIE5vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMzM5MENBNTYwRkZDMTU3
QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzM1
MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzEyOENBNkIxNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJDNCAvKiBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLApAQCAtMjk5ODQsNyAr
Mjk5NTEsNiBAQAogCQkJCUEzRTI2NDMxMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1
ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29y
a2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQ0I0MUJCNEM0RTgwMDEy
ODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJOTdGOEU2NjYxNTFENEE0RTAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEIwRjU0NkE4MjAwQjBGMUJBIC8q
IFdvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzYyMURC
N0Y4QzEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBNTRBMEM2QzFEQjgzMUY5MDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yUHJveHku
aCBpbiBIZWFkZXJzICovLApAQCAtMzA5NzIsNyArMzA5MzgsNiBAQAogCQkJCTUxN0ZCQTFFMTUx
QUIxN0MwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDE4QzM5NTYxQzhEQUM3RjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxODVGQzc0MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVk
RGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTdCMzhFMjgxNTFDNDI3MzAwNDYyMkU5
IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdEMkFE
MDMxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUFBMkE1QUQ3MTZBNDg2MUEwMDk3NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50aGVz
aXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThDQ0JCNDgxNTFGODMxNjAwQUI3Q0U5IC8qIERP
TVdpbmRvd1dlYkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzE5MjAsNyArMzE4ODUs
NiBAQAogCQkJCUJDRDlDMkMyMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05vZGVMaXN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDRDlDMjY1MEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVMaXN0Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzNTAzQ0EzMTAxNzlBRDcwMDNCNDdFMSAvKiBK
U05vdGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkzMzUwM0NBNTEwMTc5QUQ3MDAz
QjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFF
QzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdFNDZGNkZBMTYyN0EyQ0EwMDA2MjIyMyAvKiBKU09F
U0VsZW1lbnRJbmRleFVpbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTAwMTc4ODAxMkUwMzcw
NzAwNjQ4NDYyIC8qIEpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTMyNTcyLDcgKzMyNTM2LDYgQEAKIAkJCQk0RkZDMDIyQjE2NDNCNzEwMDA0RTE2MzggLyog
Tm9kZVJhcmVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0MzEwNUI4MTY3NTBGMEMwMERC
MkZCOCAvKiBOb2RlVHJhdmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzNTAzQ0M3MTAx
N0ExQjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzM5
MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkzMTI4Q0E2ODE0NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTUxM0Q1MTE2NzdGMDg4MDAxNDlGQ0IgLyog
Tm90SW1wbGVtZW50ZWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1NjlEMEEwRDdFMkI4MjAw
N0MzOTgzIC8qIE5QX2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzM2ODQsNyArMzM2
NDcsNiBAQAogCQkJCTJFNDM0NjQ4MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29w
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MThDMzk1QTFDOERENjk5MDA1MUM4QTMgLyogV29y
a2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkNCMzFCQjRD
NEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJOTdGOEU2NjUxNTFENEE0QjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNj
b3BlTm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTRBMEM2MTFEQjdGOEMx
MDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBNTRBMEM2QjFEQjgzMUY5MDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yUHJveHkuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkU0MzQ2NEMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckxv
Y2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0RmFjdG9yeS5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXRGYWN0b3J5LmluCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBAIE1l
ZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFTdHJlYW1UcmFjayBjb25k
aXRpb25hbD1NRURJQV9TVFJFQU0KIE1lc3NhZ2VQb3J0CiBOb2RlCi1Ob3RpZmljYXRpb24gY29u
ZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUworTm90aWZpY2F0aW9u
IGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMKIFBlcmZvcm1hbmNlIGNvbmRpdGlvbmFsPVdFQl9U
SU1JTkcKIFJUQ0RhdGFDaGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMKIFJUQ0RUTUZTZW5kZXIg
Y29uZGl0aW9uYWw9V0VCX1JUQ19EVE1GCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRlICJET01Ub2tlbkxpc3Qu
aCIKICNpbmNsdWRlICJET01VUkwuaCIKICNpbmNsdWRlICJET01XaW5kb3dFeHRlbnNpb24uaCIK
LSNpbmNsdWRlICJET01XaW5kb3dOb3RpZmljYXRpb25zLmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90
aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB1bnNpZ25lZCB3b3JrZXJUaHJlYWRDb3VudCgpOwogICAg
IHN0YXRpYyB2b2lkIHJlbGVhc2VGYXN0TWFsbG9jRnJlZU1lbW9yeUluQWxsVGhyZWFkcygpOwog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb25DbGllbnQqIGdl
dE5vdGlmaWNhdGlvbkNsaWVudCgpIHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uQ2xpZW50OyB9CiAg
ICAgdm9pZCBzZXROb3RpZmljYXRpb25DbGllbnQoTm90aWZpY2F0aW9uQ2xpZW50KiBjbGllbnQp
IHsgbV9ub3RpZmljYXRpb25DbGllbnQgPSBjbGllbnQ7IH0KICNlbmRpZgpAQCAtMTEwLDcgKzEx
MCw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyVGhyZWFkU3RhcnR1
cERhdGE+IG1fc3RhcnR1cERhdGE7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IE5vdGlmaWNhdGlvbkNsaWVudCogbV9ub3RpZmljYXRpb25DbGllbnQgeyBudWxscHRyIH07CiAj
ZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDQtMzAg
IFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBm
b3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAg
ICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIFJlbW92ZSBsZWdhY3kgbm90aWZpY2F0aW9uIHNwZWNpZmljIGNvZGUuCisK
IDIwMTctMDQtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBE
cm9wIHN1cHBvcnQgZm9yIGxlZ2FjeSBDbGllbnRSZWN0IC8gQ2xpZW50UmVjdExpc3QKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEz
OSw2IEBAIEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9L
RVlCT0FSRF9DT0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsK
IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gq
XSA9IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7
CiBFTkFCTEVfTEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwog
RU5BQkxFX0xJTktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklB
VElPTl9GT05UU19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9O
T1RfTk8gPSBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19J
Rl9OT1RfWUVTID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
REVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVS
RSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZG
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlz
aW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICAgICAgICAgZW5jb2RlciA8PCBidW5k
bGVQYXJhbWV0ZXJEYXRhLT5kYXRhUmVmZXJlbmNlKCk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgZW5jb2RlciA8PCBub3RpZmljYXRpb25QZXJtaXNzaW9uczsK
ICNlbmRpZgogCkBAIC0yNzgsNyArMjc4LDcgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjpkZWNvZAogICAgIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlz
c2lvbnMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2
aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTUwLDcgKzE1MCw3IEBAIHN0cnVjdCBX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBSZWZQdHI8QVBJOjpEYXRhPiBidW5k
bGVQYXJhbWV0ZXJEYXRhOwogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPFN0cmluZywgYm9vbD4gbm90aWZpY2F0aW9u
UGVybWlzc2lvbnM7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDksNyArNzA5
LDcgQEAgV2ViUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTgogCiAgICAgcGFy
YW1ldGVycy5kZWZhdWx0UmVxdWVzdFRpbWVvdXRJbnRlcnZhbCA9IEFQSTo6VVJMUmVxdWVzdDo6
ZGVmYXVsdFRpbWVvdXRJbnRlcnZhbCgpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
ICAgICAvLyBGSVhNRTogVGhlcmUgc2hvdWxkIGJlIGEgZ2VuZXJpYyB3YXkgZm9yIHN1cHBsZW1l
bnRzIHRvIGFkZCB0byB0aGUgaW50aWFsaXphdGlvbiBwYXJhbWV0ZXJzLgogICAgIHN1cHBsZW1l
bnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5PigpLT5wb3B1bGF0ZUNvcHlPZk5vdGlmaWNh
dGlvblBlcm1pc3Npb25zKHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnMpOwogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlz
aW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOCw3ICsxMjgsNyBAQAogI2luY2x1ZGUgIldlYlRvRGF0YWJh
c2VQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCIKICNlbmRpZgogCkBAIC0x
ODIsNyArMTgyLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAgICAgYWRkU3VwcGxlbWVu
dDxXZWJDb29raWVNYW5hZ2VyPigpOwogICAgIGFkZFN1cHBsZW1lbnQ8QXV0aGVudGljYXRpb25N
YW5hZ2VyPigpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBhZGRTdXBwbGVt
ZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI+KCk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
OSw4ICs3OSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Vc2VyU3R5bGVTaGVldC5oPgogCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCIKICNlbmRpZgogCkBAIC01NDAs
NyArNTM5LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0VXNlclN0eWxlU2hlZXRMbwogCiB2
b2lkIEluamVjdGVkQnVuZGxlOjpzZXRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKFdlYlBhZ2Uq
IHBhZ2UsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBwYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIoKS0+c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyhvcmlnaW5TdHJp
bmcsIGFsbG93ZWQpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocGFnZSk7CkBAIC01NTEsNyAr
NTUwLDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0V2ViTm90aWZpY2F0aW9uUAogCiB2b2lk
IEluamVjdGVkQnVuZGxlOjpyZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucyhXZWJQ
YWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcGFnZS0+bm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPnJlbW92ZUFsbFBlcm1pc3Npb25z
Rm9yVGVzdGluZygpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocGFnZSk7CkBAIC01NjAsNyAr
NTU5LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVtb3ZlQWxsV2ViTm90aWZpYwogCiB1aW50
NjRfdCBJbmplY3RlZEJ1bmRsZTo6d2ViTm90aWZpY2F0aW9uSUQoSlNDb250ZXh0UmVmIGpzQ29u
dGV4dCwgSlNWYWx1ZVJlZiBqc05vdGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogICAgIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uID0gSlNOb3Rp
ZmljYXRpb246OnRvV3JhcHBlZCh0b0pTKGpzQ29udGV4dCktPnZtKCksIHRvSlModG9KUyhqc0Nv
bnRleHQpLCBqc05vdGlmaWNhdGlvbikpOwogICAgIGlmICghbm90aWZpY2F0aW9uKQogICAgICAg
ICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NldHRpbmdzLmg+
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlv
bk1hbmFnZXIuaCIKICNlbmRpZgogCkBAIC00NCw3ICs0NCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVSZXF1ZXN0SUQoKQogewogICAgIHN0YXRpYyB1
aW50NjRfdCB1bmlxdWVSZXF1ZXN0SUQgPSAxOwpAQCAtNTcsNyArNTcsNyBAQCBSZWY8Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKHBhZ2UpKTsKIH0KIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcihXZWJQYWdlKiBwYWdlKQog
ICAgIDogbV9wYWdlKHBhZ2UpCiB7CkBAIC04NiwzOCArODYsMTUgQEAgdm9pZCBOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZQogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCi12b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFJlZlB0cjxXZWJDb3JlOjpW
b2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCi17Ci0gICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uIHBlcm1pc3Npb24gPSBwZXJtaXNzaW9uTGV2ZWwob3JpZ2luKTsKLSAgICBpZiAocGVy
bWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7Ci0g
ICAgICAgIGlmIChjYWxsYmFjaykKLSAgICAgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAotICAgIHVpbnQ2NF90IHJlcXVlc3RJRCA9
IGdlbmVyYXRlUmVxdWVzdElEKCk7Ci0gICAgbV9vcmlnaW5Ub0lETWFwLnNldChvcmlnaW4sIHJl
cXVlc3RJRCk7Ci0gICAgbV9pZFRvT3JpZ2luTWFwLnNldChyZXF1ZXN0SUQsIG9yaWdpbik7Ci0g
ICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnNldChyZXF1ZXN0SUQsIFdURk1vdmUoY2FsbGJhY2sp
KTsKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdE5vdGlm
aWNhdGlvblBlcm1pc3Npb24ocmVxdWVzdElELCBvcmlnaW4tPnRvU3RyaW5nKCkpKTsKLX0KLSNl
bmRpZgotCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2Vs
UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgdWludDY0X3QgaWQgPSBtX29yaWdpblRvSURNYXAudGFrZShvcmlnaW4pOwog
ICAgIGlmICghaWQpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBtX2lkVG9PcmlnaW5NYXAu
cmVtb3ZlKGlkKTsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBtX2lkVG9DYWxsYmFj
a01hcC5yZW1vdmUoaWQpOwotI2VuZGlmCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQotICAgIG1faWRUb1ZvaWRDYWxsYmFja01hcC5yZW1vdmUoaWQpOwotI2VuZGlmCiAjZWxzZQog
ICAgIFVOVVNFRF9QQVJBTShvcmlnaW4pOwogI2VuZGlmCkBAIC0xMjUsNyArMTAyLDcgQEAgdm9p
ZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZQogCiBib29sIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6aGFzUGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhT
ZWN1cml0eU9yaWdpbiogb3JpZ2luKSBjb25zdAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgcmV0dXJuIG1fb3JpZ2luVG9JRE1hcC5jb250YWlucyhvcmlnaW4pOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ob3JpZ2luKTsKQEAgLTEzNSw3ICsxMTIsNyBAQCBib29sIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlCiAKIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVy
bWlzc2lvbiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnBlcm1pc3Npb25M
ZXZlbChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4pCiB7Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICBpZiAoIW1fcGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5ub3Rp
ZmljYXRpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uRGVuaWVkOwogICAgIApAQCAtMTQ4LDcgKzEyNSw3IEBAIE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbiBOb3RpZmljYXQKIAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXI6OnNldFBlcm1pc3Npb25MZXZlbEZvclRlc3RpbmcoY29uc3QgU3RyaW5n
JiBvcmlnaW5TdHJpbmcsIGJvb2wgYWxsb3dlZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0
aW9uTWFuYWdlcj4oKS0+ZGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24ob3JpZ2luU3RyaW5n
LCBhbGxvd2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpblN0cmluZyk7CkBAIC0x
NTgsMTQgKzEzNSwxNCBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
CiAKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpyZW1vdmVBbGxQ
ZXJtaXNzaW9uc0ZvclRlc3RpbmcoKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAg
ICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5h
Z2VyPigpLT5yZW1vdmVBbGxQZXJtaXNzaW9uc0ZvclRlc3RpbmcoKTsKICNlbmRpZgogfQogCiB2
b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlm
aWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbih1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgYWxsb3dl
ZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghaXNSZXF1ZXN0SURW
YWxpZChyZXF1ZXN0SUQpKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3NywyMiArMTU0LDExIEBA
IHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2UKIAogICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKS0+ZGlk
VXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24ob3JpZ2luLT50b1N0cmluZygpLCBhbGxvd2VkKTsK
IAotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBSZWZQdHI8V2ViQ29yZTo6
Vm9pZENhbGxiYWNrPiB2b2lkQ2FsbGJhY2sgPSBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXAudGFrZShy
ZXF1ZXN0SUQpOwotICAgIGlmICh2b2lkQ2FsbGJhY2spIHsKLSAgICAgICAgdm9pZENhbGxiYWNr
LT5oYW5kbGVFdmVudCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0KLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrPiBjYWxsYmFjayA9IG1faWRUb0NhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKICAg
ICBpZiAoIWNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgY2FsbGJhY2stPmhh
bmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvblN0cmluZyhhbGxvd2VkID8gTm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCA6IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVy
bWlzc2lvbkRlbmllZCkpOwotI2VuZGlmCi0KICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJlcXVl
c3RJRCk7CiAgICAgVU5VU0VEX1BBUkFNKGFsbG93ZWQpOwpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAkocmV2aXNpb24gMjE2
MDAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw5ICs1
Miw2IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHN0YXJ0
UmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpOwogI2VuZGlmCi0jaWYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQotICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luKiwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJik7Ci0jZW5kaWYKICAgICB2b2lk
IGNhbmNlbFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKTsKICAgICBib29sIGhhc1Bl
bmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKSBjb25zdDsK
ICAgICAKQEAgLTcyLDEzICs2OSwxMCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+PiBtX2lkVG9DYWxsYmFja01hcDsKICNlbmRpZgotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2Vi
Q29yZTo6Vm9pZENhbGxiYWNrPj4gbV9pZFRvVm9pZENhbGxiYWNrTWFwOwotI2VuZGlmCiAgICAg
SGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+LCB1aW50NjRfdD4gbV9vcmln
aW5Ub0lETWFwOwogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbj4+IG1faWRUb09yaWdpbk1hcDsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgV2ViUGFnZSogbV9wYWdlOwogI2VuZGlmCiB9OwpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyLmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVz
c2FnZXMuaCIKQEAgLTQ3LDcgKzQ3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1
aW50NjRfdCBnZW5lcmF0ZU5vdGlmaWNhdGlvbklEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3Qg
dW5pcXVlTm90aWZpY2F0aW9uSUQgPSAxOwpAQCAtNjMsNyArNjMsNyBAQCBjb25zdCBjaGFyKiBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzdXBwCiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpXZWJO
b3RpZmljYXRpb25NYW5hZ2VyKFdlYlByb2Nlc3MqIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3Mo
cHJvY2VzcykKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIG1fcHJvY2Vzcy0+
YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksICp0aGlzKTsKICNlbmRpZgogfQpAQCAtNzQsNyArNzQsNyBAQCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjp+V2ViTm90aWZpY2F0aW9uCiAKIHZvaWQgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgbV9w
ZXJtaXNzaW9uc01hcCA9IHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnM7CiAjZWxz
ZQogICAgIFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJzKTsKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjppbml0aWFsaXplKAogCiB2b2lkIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXI6OmRpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKGNvbnN0IFN0cmluZyYgb3Jp
Z2luU3RyaW5nLCBib29sIGFsbG93ZWQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
ICAgICBtX3Blcm1pc3Npb25zTWFwLnNldChvcmlnaW5TdHJpbmcsIGFsbG93ZWQpOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ob3JpZ2luU3RyaW5nKTsKQEAgLTkzLDIzICs5MywyMiBAQCB2b2lk
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFVwZGF0ZU5vCiAKIHZvaWQgV2ViTm90aWZpY2F0
aW9uTWFuYWdlcjo6ZGlkUmVtb3ZlTm90aWZpY2F0aW9uRGVjaXNpb25zKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBvcmlnaW5TdHJpbmdzKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgc2l6ZV90IGNvdW50ID0gb3JpZ2luU3Ry
aW5ncy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAg
ICAgICBtX3Blcm1pc3Npb25zTWFwLnJlbW92ZShvcmlnaW5TdHJpbmdzW2ldKTsKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyAgICBmb3IgKGF1dG8mIG9yaWdpblN0cmluZyA6IG9yaWdpblN0
cmluZ3MpCisgICAgICAgIG1fcGVybWlzc2lvbnNNYXAucmVtb3ZlKG9yaWdpblN0cmluZyk7CiAj
ZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW5TdHJpbmdzKTsKICNlbmRpZgogfQogCi1Ob3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6cG9saWN5
Rm9yT3JpZ2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luICpvcmlnaW4pIGNvbnN0CitOb3RpZmlj
YXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6cG9saWN5Rm9y
T3JpZ2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pIGNvbnN0CiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW9yaWdpbikKICAgICAgICAgcmV0dXJuIE5v
dGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQ7CiAKICAgICBBU1NFUlQoIW9y
aWdpbi0+aXNVbmlxdWUoKSk7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+Ojpjb25zdF9pdGVy
YXRvciBpdCA9IG1fcGVybWlzc2lvbnNNYXAuZmluZChvcmlnaW4tPnRvUmF3U3RyaW5nKCkpOwor
ICAgIGF1dG8gaXQgPSBtX3Blcm1pc3Npb25zTWFwLmZpbmQob3JpZ2luLT50b1Jhd1N0cmluZygp
KTsKICAgICBpZiAoaXQgIT0gbV9wZXJtaXNzaW9uc01hcC5lbmQoKSkKICAgICAgICAgcmV0dXJu
IGl0LT52YWx1ZSA/IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CiAjZWxzZQpAQCAtMTIxLDE0ICsxMjAs
MTQgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaQogCiB2b2lkIFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXI6OnJlbW92ZUFsbFBlcm1pc3Npb25zRm9yVGVzdGluZygpCiB7
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBtX3Blcm1pc3Npb25zTWFwLmNsZWFy
KCk7CiAjZW5kaWYKIH0KIAogdWludDY0X3QgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6bm90aWZp
Y2F0aW9uSURGb3JUZXN0aW5nKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFub3RpZmljYXRpb24pCiAgICAgICAgIHJl
dHVybiAwOwogICAgIHJldHVybiBtX25vdGlmaWNhdGlvbk1hcC5nZXQobm90aWZpY2F0aW9uKTsK
QEAgLTE0MCw3ICsxMzksNyBAQCB1aW50NjRfdCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpub3Rp
ZmljCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3RpZmljYXRpb24qIG5v
dGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIGlmICghbm90aWZpY2F0aW9uIHx8ICFwYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygp
Lm5vdGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKQEAg
LTE0OCwxNCArMTQ3LDEwIEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3Rp
ZmkKICAgICBtX25vdGlmaWNhdGlvbk1hcC5zZXQobm90aWZpY2F0aW9uLCBub3RpZmljYXRpb25J
RCk7CiAgICAgbV9ub3RpZmljYXRpb25JRE1hcC5zZXQobm90aWZpY2F0aW9uSUQsIG5vdGlmaWNh
dGlvbik7CiAgICAgCi0gICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBt
X25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpLml0ZXJhdG9yOworICAgIGF1dG8gaXQgPSBt
X25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+KCkpLml0ZXJhdG9yOwogICAgIGl0LT52YWx1ZS5h
cHBlbmQobm90aWZpY2F0aW9uSUQpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAg
bV9wcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT50aXRsZSgpLCBub3RpZmlj
YXRpb24tPmJvZHkoKSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCkuc3RyaW5nKCksIG5vdGlmaWNh
dGlvbi0+dGFnKCksIG5vdGlmaWNhdGlvbi0+bGFuZygpLCBub3RpZmljYXRpb24tPmRpcigpLCBu
b3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+
dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQpLCBwYWdlLT5wYWdlSUQoKSk7Ci0jZWxzZQotICAg
IG1fcHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+dGl0bGUoKSwgbm90aWZp
Y2F0aW9uLT5ib2R5KCksIG5vdGlmaWNhdGlvbi0+aWNvblVSTCgpLnN0cmluZygpLCBub3RpZmlj
YXRpb24tPnJlcGxhY2VJZCgpLCBub3RpZmljYXRpb24tPmxhbmcoKSwgbm90aWZpY2F0aW9uLT5k
aXIoKSwgbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3Jp
Z2luKCktPnRvU3RyaW5nKCksIG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOwotI2Vu
ZGlmCiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShub3RpZmljYXRp
b24pOwpAQCAtMTY2LDcgKzE2MSw3IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hv
dyhOb3RpZmkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwoTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNhdGlvbiB8fCAhcGFnZS0+Y29yZVBhZ2UoKS0+c2V0
dGluZ3MoKS5ub3RpZmljYXRpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgCkBA
IC0xODMsNyArMTc4LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwoTm90
aQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNsZWFyTm90aWZpY2F0aW9ucyhXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJQYWdlKiBwYWdlKQogewot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6
aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZmluZChjb250ZXh0KTsKICAg
ICBpZiAoaXQgPT0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmVuZCgpKQogICAgICAgICByZXR1
cm47CkBAIC0yMDgsNyArMjAzLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjbGVh
ck5vdGlmaQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZERlc3Ryb3lOb3RpZmlj
YXRpb24oTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCA9IG1f
bm90aWZpY2F0aW9uTWFwLnRha2Uobm90aWZpY2F0aW9uKTsKICAgICBpZiAoIW5vdGlmaWNhdGlv
bklEKQogICAgICAgICByZXR1cm47CkBAIC0yMjQsNyArMjE5LDcgQEAgdm9pZCBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyOjpkaWREZXN0cm95TgogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OmRpZFNob3dOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzTm90aWZpY2F0aW9uSURWYWxpZChub3Rp
ZmljYXRpb25JRCkpCiAgICAgICAgIHJldHVybjsKICAgICAKQEAgLTI0MCw3ICsyMzUsNyBAQCB2
b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFNob3dOb3RpCiAKIHZvaWQgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9u
SUQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzTm90aWZpY2F0
aW9uSURWYWxpZChub3RpZmljYXRpb25JRCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjU4LDcg
KzI1Myw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tOb3QKIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbG9zZU5vdGlmaWNhdGlvbnMoY29uc3QgVmVj
dG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgc2l6ZV90IGNvdW50ID0gbm90aWZpY2F0aW9uSURzLnNpemUoKTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgdWludDY0X3Qgbm90
aWZpY2F0aW9uSUQgPSBub3RpZmljYXRpb25JRHNbaV07CkBAIC0yNzksNyArMjc0LDcgQEAgdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbG9zZU5vdAogI2VuZGlmCiB9CiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpyZW1v
dmVOb3RpZmljYXRpb25Gcm9tQ29udGV4dE1hcCh1aW50NjRfdCBub3RpZmljYXRpb25JRCwgTm90
aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7CiAgICAgLy8gVGhpcyBpcyBhIGhlbHBlciBmdW5j
dGlvbiBmb3IgbWFuYWdpbmcgdGhlIGhhc2ggbWFwcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNh
dGlvbk1hbmFnZXIuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtODAsMTMgKzgwLDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRDbG9zZU5vdGlmaWNh
dGlvbnMoY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgbm90aWZpY2F0aW9uSURzKTsKICAgICB2b2lk
IGRpZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgb3Jp
Z2luU3RyaW5ncyk7CiAgICAgCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2b2lk
IHJlbW92ZU5vdGlmaWNhdGlvbkZyb21Db250ZXh0TWFwKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklE
LCBXZWJDb3JlOjpOb3RpZmljYXRpb24qKTsKICNlbmRpZgogCiAgICAgV2ViUHJvY2VzcyogbV9w
cm9jZXNzOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB0eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIHVpbnQ2NF90PiBOb3RpZmljYXRpb25N
YXA7CiAgICAgTm90aWZpY2F0aW9uTWFwIG1fbm90aWZpY2F0aW9uTWFwOwogICAgIApJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25D
bGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25D
bGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oIgpAQCAtNzIs
MTkgKzcyLDEwIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb24KICAg
ICBkZWxldGUgdGhpczsKIH0KIAotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLXZv
aWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiYmIGNhbGxi
YWNrKQotewotICAgIG1fcGFnZS0+bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
KCktPnN0YXJ0UmVxdWVzdChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBXVEZNb3ZlKGNhbGxi
YWNrKSk7Ci19Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogdm9pZCBXZWJO
b3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYgY2Fs
bGJhY2spCiB7CiAgICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIFdURk1vdmUoY2Fs
bGJhY2spKTsKIH0KLSNlbmRpZgogCiBib29sIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6aGFzUGVu
ZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSBj
b25zdAogewpAQCAtMTA1LDQgKzk2LDQgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9u
IFdlYk5vdGlmaQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
LmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgV2ViTm90aWZpY2F0aW9uQ2xpZW50X2gKICNkZWZpbmUgV2ViTm90
aWZpY2F0aW9uQ2xpZW50X2gKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKICNpbmNs
dWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5oPgogCkBAIC01MSwxMiArNTEsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ry
b3llZChXZWJDb3JlOjpOb3RpZmljYXRpb24qKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmaWNh
dGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBvdmVycmlkZTsKLSNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCi0gICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJikgb3ZlcnJp
ZGU7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHJlcXVlc3RQ
ZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBSZWZQdHI8V2ViQ29y
ZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiYmKSBvdmVycmlkZTsKLSNlbmRpZgog
ICAgIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKICAgICBib29sIGhhc1BlbmRpbmdQZXJtaXNzaW9uUmVx
dWVzdHMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGNvbnN0IG92ZXJyaWRlOwog
ICAgIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwpAQCAtNjYsNiArNjEsNiBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAKICNlbmRpZiAvLyBXZWJOb3RpZmljYXRpb25DbGllbnRfaApJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAko
cmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsNyArNDMyLDcgQEAgV2ViUGFnZTo6V2Vi
UGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZwogI2lmIEVOQUJMRShHRU9MT0NBVElPTikKICAg
ICBXZWJDb3JlOjpwcm92aWRlR2VvbG9jYXRpb25UbyhtX3BhZ2UuZ2V0KCksIG5ldyBXZWJHZW9s
b2NhdGlvbkNsaWVudCh0aGlzKSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIFdlYkNvcmU6OnByb3ZpZGVOb3RpZmljYXRpb24obV9wYWdlLmdldCgpLCBuZXcgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50KHRoaXMpKTsKICNlbmRpZgogI2lmIEVOQUJMRShWSUJSQVRJT04p
CkBAIC0zMTk4LDcgKzMxOTgsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNv
bnN0IFdlCiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9uc0tleSgpKSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgc2V0dGluZ3Muc2V0Tm90aWZpY2F0aW9uc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpub3RpZmljYXRpb25zRW5hYmxlZEtleSgpKSk7
CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1v
dmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1t
OgorICAgICAgICAqIFdlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFt
ZTpncm91cE5hbWU6XSk6CisgICAgICAgICgtW1dlYlZpZXcgX25vdGlmaWNhdGlvbklERm9yVGVz
dGluZzpdKToKKyAgICAgICAgUmVtb3ZlIGxlZ2FjeSBub3RpZmljYXRpb24gc3BlY2lmaWMgY29k
ZS4KKwogMjAxNy0wNC0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gUmVwbGFjZXMgdXNlcyBvZiBbZ2V04oCmKCkgYWxsb2NdIHdpdGggYWxsb2Pi
gKZJbnN0YW5jZSgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjE2MDAyKQorKysg
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJ
KHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNiBAQCBFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSA9IEVOQUJMRV9LCiBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUgPSBFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEU7CiBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMgPSBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQTsKLUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlM7CiBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyA9IEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFVFRFUlBSRVNTW3Nkaz1pcGhv
bmUqXSA9IEVOQUJMRV9MRVRURVJQUkVTUzsKIEVOQUJMRV9MSU5LX1BSRUZFVENIID0gOwpAQCAt
MjU1LDQgKzI1NCw0IEBAIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UXyA9ICQoRU5BQkwK
IEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX05PID0gRU5BQkxFX1ZBUklBVElPTl9GT05U
UzsKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX1lFUyA9IDsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQ
UExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJM
RV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVU
RSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
Ql9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVH
QVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1B
VElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNM
VCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCA8V2ViQ29yZS9Ob3RpZmljYXRpb25D
bGllbnQuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW1wb3J0IDxXZWJDb3Jl
L05vdGlmaWNhdGlvbi5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KICNpbXBvcnQgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIFdlYk5vdGlmaWNhdGlvbkNs
aWVudChXZWJWaWV3ICopOwogICAgIFdlYlZpZXcgKndlYlZpZXcoKSB7IHJldHVybiBtX3dlYlZp
ZXc7IH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgLy8gRm9yIHRlc3Rpbmcg
cHVycG9zZXMuCiAgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSURGb3JUZXN0aW5nKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbiopOwogI2VuZGlmCkBAIC01OSw5ICs1OSw2IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
IG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbiopIG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxl
ckRlc3Ryb3llZCgpIG92ZXJyaWRlOwotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
LSAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiYmKSBvdmVycmlkZTsKLSNlbmRpZgog
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpIG92ZXJyaWRlOwogI2VuZGlmCkBAIC02OSwxMiArNjYs
MTIgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGNvbnN0IG92ZXJyaWRlOwogICAgIFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwogCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqKTsKICNlbmRp
ZgogCiAgICAgV2ViVmlldyAqbV93ZWJWaWV3OwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgUmV0YWluUHRyPFdl
Yk5vdGlmaWNhdGlvbj4+IG1fbm90aWZpY2F0aW9uTWFwOwogICAgIAogICAgIHR5cGVkZWYgSGFz
aE1hcDxSZWZQdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4sIFZlY3RvcjxSZXRh
aW5QdHI8V2ViTm90aWZpY2F0aW9uPj4+IE5vdGlmaWNhdGlvbkNvbnRleHRNYXA7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50Lm1tCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAg
LTI1LDQ4ICsyNSwzMCBAQAogCiAjaW1wb3J0ICJXZWJOb3RpZmljYXRpb25DbGllbnQuaCIKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW1wb3J0ICJXZWJEZWxlZ2F0ZUltcGxlbWVu
dGF0aW9uQ2FjaGluZy5oIgogI2ltcG9ydCAiV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaCIKICNp
bXBvcnQgIldlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViU2VjdXJpdHlPcmln
aW5JbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQg
IldlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
PgogI2ltcG9ydCA8d3RmL0Jsb2NrT2JqQ0V4Y2VwdGlvbnMuaD4KICNlbmRpZgogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCi0jaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oPgotI2VuZGlmCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQot
I2ltcG9ydCA8V2ViQ29yZS9Wb2lkQ2FsbGJhY2suaD4KLSNlbmRpZgotCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBAaW50ZXJmYWNlIFdl
Yk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIDogTlNPYmplY3QgPFdlYkFsbG93RGVueVBvbGlj
eUxpc3RlbmVyPgogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIFJlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IF9jYWxsYmFjazsKLSNlbmRpZgotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfdm9pZENh
bGxiYWNrOwotICAgIGJvb2wgX2lzTGVnYWN5UmVxdWVzdDsKLSNlbmRpZgogfQotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrOwotI2VuZGlmCi0jaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQotLSAoaWQpaW5pdFdpdGhWb2lkQ2FsbGJhY2s6KFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjazsKLSNlbmRpZgotCiBAZW5kCiAjZW5kaWYKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVOb3Rp
ZmljYXRpb25JRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IHVuaXF1ZU5vdGlmaWNhdGlvbklE
ID0gMTsKQEAgLTgxLDcgKzYzLDcgQEAgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpXZWJOb3RpZmlj
YXRpb25DbAogCiBib29sIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6c2hvdyhOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICgh
W21fd2ViVmlldyBfbm90aWZpY2F0aW9uUHJvdmlkZXJdKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKQEAgLTg5LDcgKzcxLDcgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnNob3coTm90
aWZpYwogICAgIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+IHdlYk5vdGlmaWNhdGlvbiA9IGFk
b3B0TlMoW1tXZWJOb3RpZmljYXRpb24gYWxsb2NdIGluaXRXaXRoQ29yZU5vdGlmaWNhdGlvbjpu
b3RpZmljYXRpb24gbm90aWZpY2F0aW9uSUQ6bm90aWZpY2F0aW9uSURdKTsKICAgICBtX25vdGlm
aWNhdGlvbk1hcC5zZXQobm90aWZpY2F0aW9uLCB3ZWJOb3RpZmljYXRpb24pOwogCi0gICAgTm90
aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRN
YXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBWZWN0b3I8UmV0
YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4+KCkpLml0ZXJhdG9yOworICAgIGF1dG8gaXQgPSBtX25v
dGlmaWNhdGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCBWZWN0b3I8UmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4+KCkpLml0ZXJhdG9yOwog
ICAgIGl0LT52YWx1ZS5hcHBlbmQod2ViTm90aWZpY2F0aW9uKTsKIAogICAgIFtbbV93ZWJWaWV3
IF9ub3RpZmljYXRpb25Qcm92aWRlcl0gc2hvd05vdGlmaWNhdGlvbjp3ZWJOb3RpZmljYXRpb24u
Z2V0KCkgZnJvbVdlYlZpZXc6bV93ZWJWaWV3XTsKQEAgLTEwMiw3ICs4NCw3IEBAIGJvb2wgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50OjpzaG93KE5vdGlmaWMKIAogdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNhdGlvbiAqd2ViTm90aWZpY2F0aW9uID0g
bV9ub3RpZmljYXRpb25NYXAuZ2V0KG5vdGlmaWNhdGlvbikuZ2V0KCk7CiAgICAgaWYgKCF3ZWJO
b3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTExNSw4ICs5Nyw4IEBAIHZvaWQgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50OjpjYW5jZWwoTm90aWYKIAogdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCi0gICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlm
aWNhdGlvbkNvbnRleHRNYXAuZmluZChjb250ZXh0KTsKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyAgICBhdXRvIGl0ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmZpbmQoY29udGV4dCk7
CiAgICAgaWYgKGl0ID09IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5lbmQoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIApAQCAtMTM5LDEyICsxMjEsMTIgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OmNsZWFyTm90aWZpYwogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZp
Y2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgUmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4g
d2ViTm90aWZpY2F0aW9uID0gbV9ub3RpZmljYXRpb25NYXAudGFrZShub3RpZmljYXRpb24pOwog
ICAgIGlmICghd2ViTm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBOb3RpZmlj
YXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5m
aW5kKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICBhdXRvIGl0
ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmZpbmQobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOwogICAgIEFTU0VSVChpdCAhPSBtX25vdGlmaWNhdGlvbkNvbnRleHRN
YXAuZW5kKCkpOwogICAgIHNpemVfdCBpbmRleCA9IGl0LT52YWx1ZS5maW5kKHdlYk5vdGlmaWNh
dGlvbik7CiAgICAgQVNTRVJUKGluZGV4ICE9IG5vdEZvdW5kKTsKQEAgLTE2Myw3ICsxNDUsNyBA
QCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uCiAgICAgZGVsZXRlIHRo
aXM7CiB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmljYXRp
b25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyICpsaXN0ZW5lcikKIHsKICAgICBTRUwg
c2VsZWN0b3IgPSBAc2VsZWN0b3Iod2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25S
ZXF1ZXN0RnJvbU9yaWdpbjpsaXN0ZW5lcjopOwpAQCAtMTgwLDIwICsxNjIsOSBAQCB2b2lkIFdl
Yk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLXZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1
ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8Vm9p
ZENhbGxiYWNrPiYmIGNhbGxiYWNrKQotewotICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKLSAgICBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIgPSBbW1dlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aFZvaWRDYWxsYmFjazpjYWxs
YmFja107Ci0gICAgcmVxdWVzdFBlcm1pc3Npb24oY29udGV4dCwgbGlzdGVuZXIpOwotICAgIFts
aXN0ZW5lciByZWxlYXNlXTsKLSAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotfQotI2Vu
ZGlmCi0KIGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpoYXNQZW5kaW5nUGVybWlzc2lvblJl
cXVlc3RzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBjb25zdAogewotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgLy8gV2Uga25vdyBwZXJtaXNzaW9uIHdhcyByZXF1ZXN0ZWQgYnV0
IHdlIGRvbid0IGtub3cgaWYgdGhlIGNsaWVudCByZXNwb25kZWQuIEluIHRoaXMgY2FzZSwgd2Ug
cGxheSBpdAogICAgIC8vIHNhZmUgYW5kIHByZXN1bWUgdGhlcmUgaXMgb25lIHBlbmRpbmcgc28g
dGhhdCBBY3RpdmVET01PYmplY3RzIGRvbid0IGdldCBzdXNwZW5kZWQuCiAgICAgcmV0dXJuIG1f
ZXZlclJlcXVlc3RlZFBlcm1pc3Npb247CkBAIC0yMTUsNyArMTg2LDcgQEAgdm9pZCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaQogCiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IGlmICghY29udGV4dCB8fCAhY29udGV4dC0+aXNEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4g
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwogICAgIGlmICghW1ttX3dlYlZp
ZXcgcHJlZmVyZW5jZXNdIG5vdGlmaWNhdGlvbnNFbmFibGVkXSkKQEAgLTIzOSw3ICsyMTAsOCBA
QCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpCiAjZW5kaWYKIH0KIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisKIHVpbnQ2NF90IFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6bm90aWZpY2F0aW9uSURGb3JUZXN0aW5nKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogbm90
aWZpY2F0aW9uKQogewogICAgIHJldHVybiBbbV9ub3RpZmljYXRpb25NYXAuZ2V0KG5vdGlmaWNh
dGlvbikuZ2V0KCkgbm90aWZpY2F0aW9uSURdOwpAQCAtMjQ3LDcgKzIxOSw2IEBAIHVpbnQ2NF90
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2EKIAogQGltcGxlbWVudGF0aW9uIFdlYk5v
dGlmaWNhdGlvblBvbGljeUxpc3RlbmVyCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIC0g
KGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrPiljYWxsYmFjawogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAt
MjU2LDQ4ICsyMjcsMTcgQEAgLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3Rp
ZgogICAgIF9jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgIHJldHVybiBzZWxmOwogfQotI2VuZGlm
Ci0KLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0tIChpZClpbml0V2l0aFZvaWRD
YWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrCi17Ci0gICAgaWYgKCEo
c2VsZiA9IFtzdXBlciBpbml0XSkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0KLSAgICBfaXNMZWdh
Y3lSZXF1ZXN0ID0gdHJ1ZTsKLSAgICBfdm9pZENhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgcmV0
dXJuIHNlbGY7Ci19Ci0jZW5kaWYKIAogLSAodm9pZClhbGxvdwogewotI2lmIEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKLSAgICBpZiAoX2lzTGVnYWN5UmVxdWVzdCkgewotICAgICAgICBp
ZiAoX3ZvaWRDYWxsYmFjaykKLSAgICAgICAgICAgIF92b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50
KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICBpZiAoX2NhbGxiYWNrKQogICAgICAgICBfY2FsbGJhY2stPmhhbmRsZUV2ZW50
KE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvblN0cmluZyhOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb25BbGxvd2VkKSk7Ci0jZW5kaWYKIH0KIAogLSAodm9pZClkZW55CiB7Ci0jaWYgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIGlmIChfaXNMZWdhY3lSZXF1ZXN0KSB7Ci0gICAg
ICAgIGlmIChfdm9pZENhbGxiYWNrKQotICAgICAgICAgICAgX3ZvaWRDYWxsYmFjay0+aGFuZGxl
RXZlbnQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQogICAgIGlmIChfY2FsbGJhY2spCiAgICAgICAgIF9jYWxsYmFjay0+aGFuZGxl
RXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKE5vdGlmaWNhdGlvbkNsaWVudDo6
UGVybWlzc2lvbkRlbmllZCkpOwotI2VuZGlmCiB9CiAKICNpZiBQTEFURk9STShJT1MpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQkocmV2aXNp
b24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24u
bW0JKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2ltcG9ydCAiV2ViTm90aWZp
Y2F0aW9uSW50ZXJuYWwuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW1wb3J0
ICJXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNh
dGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+CkBAIC00
Miw3ICs0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQGludGVyZmFjZSBXZWJOb3Rp
ZmljYXRpb25Qcml2YXRlIDogTlNPYmplY3QKIHsKIEBwdWJsaWMKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQogICAgIFJlZlB0cjxOb3RpZmljYXRpb24+IF9pbnRlcm5hbDsKICAgICB1aW50
NjRfdCBfbm90aWZpY2F0aW9uSUQ7CiAjZW5kaWYKQEAgLTUyLDggKzUyLDkgQEAgQGludGVyZmFj
ZSBXZWJOb3RpZmljYXRpb25Qcml2YXRlIDogTlNPYgogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlm
aWNhdGlvblByaXZhdGUKIEBlbmQKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBAaW1w
bGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9uIChXZWJOb3RpZmljYXRpb25JbnRlcm5hbCkKKwog
Tm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogewogICAg
IGlmICghbm90aWZpY2F0aW9uLT5fcHJpdmF0ZSkKQEAgLTg3LDcgKzg4LDcgQEAgLSAodm9pZClk
ZWFsbG9jCiAKIC0gKE5TU3RyaW5nICopdGl0bGUKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIHJldHVybiBjb3JlKHNlbGYpLT50aXRsZSgpOwogI2Vsc2UKICAgICByZXR1cm4g
bmlsOwpAQCAtOTYsNyArOTcsNyBAQCAtIChOU1N0cmluZyAqKXRpdGxlCiAKIC0gKE5TU3RyaW5n
ICopYm9keQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUo
c2VsZiktPmJvZHkoKTsKICNlbHNlCiAgICAgcmV0dXJuIG5pbDsKQEAgLTEwNSw3ICsxMDYsNyBA
QCAtIChOU1N0cmluZyAqKWJvZHkKIAogLSAoTlNTdHJpbmcgKil0YWcKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIHJldHVybiBjb3JlKHNlbGYpLT50YWcoKTsKICNlbHNlCiAg
ICAgcmV0dXJuIG5pbDsKQEAgLTExNCw3ICsxMTUsNyBAQCAtIChOU1N0cmluZyAqKXRhZwogCiAt
IChOU1N0cmluZyAqKWljb25VUkwKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IHJldHVybiBjb3JlKHNlbGYpLT5pY29uVVJMKCk7CiAjZWxzZQogICAgIHJldHVybiBuaWw7CkBA
IC0xMjMsNyArMTI0LDcgQEAgLSAoTlNTdHJpbmcgKilpY29uVVJMCiAKIC0gKE5TU3RyaW5nICop
bGFuZwogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUoc2Vs
ZiktPmxhbmcoKTsKICNlbHNlCiAgICAgcmV0dXJuIG5pbDsKQEAgLTEzMiw3ICsxMzMsNyBAQCAt
IChOU1N0cmluZyAqKWxhbmcKIAogLSAoTlNTdHJpbmcgKilkaXIKIHsKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIHJldHVybiBjb3JlKHNlbGYpLT5kaXIoKTsKICNlbHNlCiAgICAg
cmV0dXJuIG5pbDsKQEAgLTE0MSw3ICsxNDIsNyBAQCAtIChOU1N0cmluZyAqKWRpcgogCiAtIChX
ZWJTZWN1cml0eU9yaWdpbiAqKW9yaWdpbgogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgcmV0dXJuIFtbW1dlYlNlY3VyaXR5T3JpZ2luIGFsbG9jXSBfaW5pdFdpdGhXZWJDb3Jl
U2VjdXJpdHlPcmlnaW46Y29yZShzZWxmKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1
cml0eU9yaWdpbigpXSBhdXRvcmVsZWFzZV07CiAjZWxzZQogICAgIHJldHVybiBuaWw7CkBAIC0x
NTAsNyArMTUxLDcgQEAgLSAoV2ViU2VjdXJpdHlPcmlnaW4gKilvcmlnaW4KIAogLSAodWludDY0
X3Qpbm90aWZpY2F0aW9uSUQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHJl
dHVybiBfcHJpdmF0ZS0+X25vdGlmaWNhdGlvbklEOwogI2Vsc2UKICAgICByZXR1cm4gMDsKQEAg
LTE1OSwyOCArMTYwLDI4IEBAIC0gKHVpbnQ2NF90KW5vdGlmaWNhdGlvbklECiAKIC0gKHZvaWQp
ZGlzcGF0Y2hTaG93RXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGNv
cmUoc2VsZiktPmRpc3BhdGNoU2hvd0V2ZW50KCk7CiAjZW5kaWYKIH0KIAogLSAodm9pZClkaXNw
YXRjaENsb3NlRXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGNvcmUo
c2VsZiktPmRpc3BhdGNoQ2xvc2VFdmVudCgpOwogI2VuZGlmCiB9CiAKIC0gKHZvaWQpZGlzcGF0
Y2hDbGlja0V2ZW50CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBjb3JlKHNl
bGYpLT5kaXNwYXRjaENsaWNrRXZlbnQoKTsKICNlbmRpZgogfQogCiAtICh2b2lkKWRpc3BhdGNo
RXJyb3JFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgY29yZShzZWxm
KS0+ZGlzcGF0Y2hFcnJvckV2ZW50KCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbkludGVybmFsLmgJKHJldmlzaW9u
IDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uSW50
ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW1wb3J0ICJXZWJO
b3RpZmljYXRpb24uaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQ4MSw3ICsxNDgxLDcgQEAgLSAo
dm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYQogI2lmIEVOQUJMRShHRU9MT0NB
VElPTikKICAgICBXZWJDb3JlOjpwcm92aWRlR2VvbG9jYXRpb25UbyhfcHJpdmF0ZS0+cGFnZSwg
bmV3IFdlYkdlb2xvY2F0aW9uQ2xpZW50KHNlbGYpKTsKICNlbmRpZgotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6cHJvdmlkZU5vdGlmaWNhdGlvbihfcHJpdmF0ZS0+
cGFnZSwgbmV3IFdlYk5vdGlmaWNhdGlvbkNsaWVudChzZWxmKSk7CiAjZW5kaWYKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQpAQCAtMTAwMzMsNyArMTAwMzMsNyBAQCAtICh2b2lkKV9u
b3RpZmljYXRpb25zRGlkQ2xvc2U6KE5TQXJyYXkgCiAKIC0gKHVpbnQ2NF90KV9ub3RpZmljYXRp
b25JREZvclRlc3Rpbmc6KEpTVmFsdWVSZWYpanNOb3RpZmljYXRpb24KIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIGF1dG8qIHBhZ2UgPSBfcHJpdmF0ZS0+cGFnZTsKICAgICBp
ZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiAwOwpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNp
b24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6V2Vi
Q2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9u
c0RlbGVnYXRlLmg6CisgICAgICAgIFJlbW92ZSBsZWdhY3kgbm90aWZpY2F0aW9uIHNwZWNpZmlj
IGNvZGUuCisKIDIwMTctMDQtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBNb2Rlcm5pemUgRnJhbWUuaApJbmRleDogU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZp
c2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4RmlsZVBhdGhzTGlzdFNpemUKIAogV2ViQ2hyb21lQ2xpZW50OjpXZWJDaHJv
bWVDbGllbnQoV2ViVmlldyogd2ViVmlldykKICAgICA6IG1fd2ViVmlldyh3ZWJWaWV3KQotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgLCBtX25vdGlmaWNhdGlvbnNEZWxlZ2F0ZShz
dGQ6Om1ha2VfdW5pcXVlPFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+KHdlYlZpZXcp
KQogI2VuZGlmCiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBleGl0VmlkZW9GdWxsc2NyZWVuRm9y
VmlkZW9FbGVtZW50KFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQmKSBmaW5hbDsKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpOb3RpZmljYXRpb25D
bGllbnQqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50Kj4obV9ub3RpZmljYXRpb25z
RGVsZWdhdGUuZ2V0KCkpOyB9CiAjZW5kaWYKIApAQCAtMTc2LDcgKzE3Niw3IEBAIHByaXZhdGU6
CiAKICAgICBXZWJWaWV3KiBtX3dlYlZpZXc7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlPiBt
X25vdGlmaWNhdGlvbnNEZWxlZ2F0ZTsKICNlbmRpZgogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BO
b3RpZmljYXRpb25zRGVsZWdhdGUuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRG9j
dW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTIyMyw0ICsyMjMsNCBA
QCBDT01QdHI8SVdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+CiAgICAgcmV0dXJuIGRl
bGVnYXRlOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmgJKHJldmlzaW9uIDIxNjAwMikK
KysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvTm90aWZpY2F0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25D
bGllbnQuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKIGludGVyZmFjZSBJV2Vi
RGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlcjsKIApAQCAtNTAsMTIgKzUwLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3Qp
OwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25Db250
cm9sbGVyRGVzdHJveWVkKCk7Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTZWN1cml0eU9yaWdpbios
IFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+JiYpOwotI2VuZGlmCi0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luKiwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjaz4mJik7Ci0jZW5kaWYKICAgICBib29sIGhhc1BlbmRpbmdQZXJtaXNzaW9uUmVxdWVz
dHMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGNvbnN0IG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xp
ZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBVUkwmKTsKSW5kZXg6IFNvdXJj
ZS9jbWFrZS9PcHRpb25zTWFjLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRp
b25zTWFjLmNtYWtlCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvY21ha2UvT3B0aW9uc01h
Yy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfSU5QVVRfVFlQRV9USU1FIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgUFJJVkFURSBP
TikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfRU5DUllQ
VEVEX01FRElBIFBSSVZBVEUgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTIFBSSVZBVEUgT04p
CiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVUVEVSUFJFU1MgUFJJ
VkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MSU5LX1BS
RUZFVENIIFBSSVZBVEUgT0ZGKQpJbmRleDogU291cmNlL2NtYWtlL09wdGlvbnNXaW4uY21ha2UK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL09wdGlvbnNXaW4uY21ha2UJKHJldmlzaW9uIDIx
NjAwMikKKysrIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw3ICszNyw2IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV8K
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUg
UFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUsgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyBQVUJMSUMgT04pCi1XRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgUFVCTElD
IE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfTElOS19QUkVGRVRDSCBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX01BVEhNTCBQVUJMSUMgT04pCkluZGV4OiBTb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTEzNiw3ICsxMzYsNiBAQCBtYWNybyhXRUJL
SVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9KSVQgIkVu
YWJsZSBKdXN0SW5UaW1lIGphdmFzY3JpcHQgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgIlRvZ2ds
ZSBsZWdhY3kgY3NzIHZlbmRvciBwcmVmaXggc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEgIlN1cHBvcnQg
bGVnYWN5IEVNRSIgUFJJVkFURSBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TICJUb2dnbGUgTGVnYWN5IERlc2t0b3AgTm90aWZpY2F0aW9u
cyBTdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyAiVG9nZ2xlIExlZ2FjeSBWZW5kb3IgUHJlZml4IFN1cHBv
cnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0xFVFRFUlBS
RVNTICJUb2dnbGUgbGV0dGVycHJlc3Mgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX0xJTktfUFJFRkVUQ0ggIlRvZ2dsZSBwcmUgZmV0Y2hpbmcg
c3VwcG9ydCIgUFJJVkFURSBPRkYpCkluZGV4OiBTb3VyY2UvY21ha2UvdG9vbHMvdnNwcm9wcy9G
ZWF0dXJlRGVmaW5lcy5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvdG9vbHMvdnNw
cm9wcy9GZWF0dXJlRGVmaW5lcy5wcm9wcwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL2Nt
YWtlL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMucHJvcHMJKHdvcmtpbmcgY29weSkKQEAg
LTQ1LDcgKzQ1LDYgQEAKICAgICA8RU5BQkxFX0lOVEw+RU5BQkxFX0lOVEw8L0VOQUJMRV9JTlRM
PgogICAgIDxFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM+RU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTPC9FTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM+CiAg
ICAgPEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBPkVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBPC9FTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQT4KLSAgICA8RU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TIC8+CiAgICAgPEVOQUJMRV9MSU5LX1BSRUZFVENIIC8+CiAgICAgPEVO
QUJMRV9MSU5LX1BSRVJFTkRFUiAvPgogICAgIDxFTkFCTEVfTUFUSE1MPkVOQUJMRV9NQVRITUw8
L0VOQUJMRV9NQVRITUw+CkBAIC04NSw3ICs4NCw3IEBACiAgIDwvUHJvcGVydHlHcm91cD4KICAg
PEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz4kKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKTskKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyk7JChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKTskKEVOQUJMRV9DQU5WQVNfUEFUSCk7JChFTkFCTEVf
Q0FOVkFTX1BST1hZKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ1NTM19D
T05ESVRJT05BTF9SVUxFUyk7JChFTkFCTEVfQ1NTX0lNQUdFX1NFVCk7JChFTkFCTEVfQ1NTM19U
RVhUKTskKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspOyQoRU5BQkxFX0NTU19TSEFE
RVJTKTskKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpOyQoRU5BQkxFX0NTU19SRUdJT05TKTskKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCk7JChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lERSk7JChF
TkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEKTsk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSk7JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCk7JChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJM
RV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9FTkNSWVBURURfTUVESUEpOyQoRU5BQkxFX0ZF
VENIX0FQSSk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTsk
KEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSElHSF9EUElf
Q0FOVkFTKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
OyQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspOyQoRU5BQkxFX0lOVEwpOyQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKTsk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKTskKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUyk7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTElOS19QUkVSRU5ERVIpOyQo
RU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7JChFTkFCTEVfTUlDUk9EQVRB
KTskKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUyk7JChFTkFCTEVfU1RSRUFNU19BUEkpOyQoRU5BQkxFX1NDUklQVEVE
X1NQRUVDSCk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCk7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX1NUWUxFX1NDT1BFRCk7JChFTkFCTEVf
U1VCUElYRUxfTEFZT1VUKTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxF
X1NWR19GT05UUyk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX1ZJREVPX1RSQUNLKTskKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKTskKEVOQUJMRV9XRUJfQU5JTUFUSU9OUyk7JChFTkFCTEVf
V0VCX0FVRElPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV0VCX1RJTUlORyk7JChF
TkFCTEVfV0VCR0wpOyQoRU5BQkxFX1dFQkdQVSk7JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpOyQo
RU5BQkxFX1hIUl9USU1FT1VUKTskKEVOQUJMRV9YU0xUKTslKFByZXByb2Nlc3NvckRlZmluaXRp
b25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM+JChFTkFCTEVfM0RfVFJBTlNGT1JNUyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpOyQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCk7JChFTkFCTEVfQ0FOVkFTX1BBVEgpOyQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NTUzNfQ09ORElUSU9O
QUxfUlVMRVMpOyQoRU5BQkxFX0NTU19JTUFHRV9TRVQpOyQoRU5BQkxFX0NTUzNfVEVYVCk7JChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKTskKEVOQUJMRV9DU1NfU0hBREVSUyk7JChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKTskKEVOQUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpOyQoRU5BQkxFX0NTU19TSEFQRV9JTlNJREUpOyQoRU5BQkxFX0NT
U19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhFRCk7JChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpOyQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUik7JChFTkFC
TEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpOyQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7JChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCk7JChFTkFCTEVfRU5DUllQVEVEX01FRElBKTskKEVOQUJMRV9GRVRDSF9BUEkp
OyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSk7JChFTkFCTEVf
R0FNRVBBRCk7JChFTkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUyk7
JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKTskKEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKTskKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpOyQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
OyQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKTskKEVO
QUJMRV9JTlRMKTskKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyk7JChFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSk7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVf
TElOS19QUkVSRU5ERVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7
JChFTkFCTEVfTUlDUk9EQVRBKTskKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpOyQoRU5BQkxF
X05PVElGSUNBVElPTlMpOyQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RB
KTskKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyk7JChFTkFCTEVfU1RSRUFNU19BUEkp
OyQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCk7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX1NUWUxF
X1NDT1BFRCk7JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKTskKEVOQUJMRV9TVkdfRE9NX09CSkNf
QklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX1ZJ
REVPX1RSQUNLKTskKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKTskKEVOQUJMRV9XRUJfQU5J
TUFUSU9OUyk7JChFTkFCTEVfV0VCX0FVRElPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFC
TEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV0VCR0wpOyQoRU5BQkxFX1dFQkdQVSk7JChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpOyQoRU5BQkxFX1hIUl9USU1FT1VUKTskKEVOQUJMRV9YU0xUKTslKFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9D
bENvbXBpbGU+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KQEAgLTI2
NSwxMCArMjY0LDYgQEAKICAgICAgIDxWYWx1ZT4kKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKTwvVmFsdWU+CiAgICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZT50cnVlPC9FbnZpcm9ubWVu
dFZhcmlhYmxlPgogICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMiPgotICAgICAgPFZhbHVlPiQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKTwvVmFsdWU+Ci0gICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZT50cnVl
PC9FbnZpcm9ubWVudFZhcmlhYmxlPgotICAgIDwvQnVpbGRNYWNybz4KICAgICA8QnVpbGRNYWNy
byBJbmNsdWRlPSJFTkFCTEVfTElOS19QUkVGRVRDSCI+CiAgICAgICA8VmFsdWU+JChFTkFCTEVf
TElOS19QUkVGRVRDSCk8L1ZhbHVlPgogICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+dHJ1ZTwv
RW52aXJvbm1lbnRWYXJpYWJsZT4KSW5kZXg6IFNvdXJjZS9jbWFrZS90b29scy92c3Byb3BzL0Zl
YXR1cmVEZWZpbmVzQ2Fpcm8ucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL3Rvb2xz
L3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby5wcm9wcwkocmV2aXNpb24gMjE2MDAyKQorKysg
U291cmNlL2NtYWtlL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby5wcm9wcwkod29y
a2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBAQAogICAgIDxFTkFCTEVfSU5UTD5FTkFCTEVfSU5U
TDwvRU5BQkxFX0lOVEw+CiAgICAgPEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUz5F
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM8L0VOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUz4KICAgICA8RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEgLz4KLSAgICA8
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIC8+CiAgICAgPEVOQUJMRV9MSU5LX1BSRUZFVENI
IC8+CiAgICAgPEVOQUJMRV9MSU5LX1BSRVJFTkRFUiAvPgogICAgIDxFTkFCTEVfTUFUSE1MPkVO
QUJMRV9NQVRITUw8L0VOQUJMRV9NQVRITUw+CkBAIC04NCw3ICs4Myw3IEBACiAgIDwvUHJvcGVy
dHlHcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAg
IDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4kKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKTskKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORyk7JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKTskKEVOQUJMRV9DQU5WQVNfUEFU
SCk7JChFTkFCTEVfQ0FOVkFTX1BST1hZKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChF
TkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyk7JChFTkFCTEVfQ1NTX0lNQUdFX1NFVCk7JChF
TkFCTEVfQ1NTM19URVhUKTskKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspOyQoRU5B
QkxFX0NTU19TSEFERVJTKTskKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpOyQoRU5BQkxFX0NTU19S
RUdJT05TKTskKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCk7JChFTkFCTEVfQ1NTX1NIQVBF
X0lOU0lERSk7JChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19V
TlBSRUZJWEVEKTskKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSk7JChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
OyQoRU5BQkxFX0ZFVENIX0FQSSk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFC
TEVfSElHSF9EUElfQ0FOVkFTKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspOyQoRU5BQkxFX0lOVEwpOyQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKTskKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKTskKEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTElOS19Q
UkVSRU5ERVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7JChFTkFC
TEVfTUlDUk9EQVRBKTskKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpOyQoRU5BQkxFX05PVElG
SUNBVElPTlMpOyQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RBKTskKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyk7JChFTkFCTEVfU0NSSVBURURfU1BFRUNIKTsk
KEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKTsk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxF
X1NRTF9EQVRBQkFTRSk7JChFTkFCTEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVUJQSVhFTF9M
QVlPVVQpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRT
KTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfVklERU9fVFJBQ0spOyQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpOyQoRU5BQkxFX1dFQl9BTklNQVRJT05TKTskKEVOQUJMRV9XRUJfQVVESU8p
OyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XRUJH
TCk7JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpOyQoRU5BQkxFX1hIUl9USU1FT1VUKTskKEVOQUJM
RV9YU0xUKTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+JChFTkFCTEVfM0RfVFJBTlNGT1JN
Uyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpOyQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCk7JChFTkFCTEVf
Q0FOVkFTX1BBVEgpOyQoRU5BQkxFX0NBTlZBU19QUk9YWSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpOyQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpOyQoRU5BQkxFX0NTU19JTUFH
RV9TRVQpOyQoRU5BQkxFX0NTUzNfVEVYVCk7JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKTskKEVOQUJMRV9DU1NfU0hBREVSUyk7JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKTskKEVO
QUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpOyQoRU5BQkxF
X0NTU19TSEFQRV9JTlNJREUpOyQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJB
TlNJVElPTlNfVU5QUkVGSVhFRCk7JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpOyQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUik7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpOyQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKTskKEVOQUJMRV9GRVRDSF9BUEkpOyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSk7JChFTkFCTEVfR0FNRVBBRCk7JChFTkFCTEVfR0VPTE9DQVRJ
T04pOyQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUyk7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKTskKEVOQUJM
RV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpOyQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpOyQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSk7
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKTskKEVOQUJMRV9JTlRMKTskKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUyk7JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSk7JChF
TkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTElOS19QUkVSRU5ERVIpOyQoRU5BQkxFX01B
VEhNTCk7JChFTkFCTEVfTUVURVJfRUxFTUVOVCk7JChFTkFCTEVfTUlDUk9EQVRBKTskKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUyk7JChFTkFCTEVfU0NSSVBURURfU1BFRUNIKTskKEVOQUJMRV9TSEFSRURfV09SS0VS
Uyk7JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKTskKEVOQUJMRV9NRURJQV9TT1VSQ0Up
OyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7JChFTkFC
TEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpOyQoRU5BQkxFX1NWR19E
T01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChF
TkFCTEVfVklERU9fVFJBQ0spOyQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpOyQoRU5BQkxF
X1dFQl9BTklNQVRJT05TKTskKEVOQUJMRV9XRUJfQVVESU8pOyQoRU5BQkxFX1dFQl9TT0NLRVRT
KTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XRUJHTCk7JChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpOyQoRU5BQkxFX1hIUl9USU1FT1VUKTskKEVOQUJMRV9YU0xUKTslKFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9DbENvbXBpbGU+
CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KQEAgLTI2NCwxMCArMjYz
LDYgQEAKICAgICAgIDxWYWx1ZT4kKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyk8
L1ZhbHVlPgogICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+dHJ1ZTwvRW52aXJvbm1lbnRWYXJp
YWJsZT4KICAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TIj4KLSAgICAgIDxWYWx1ZT4kKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUyk8L1ZhbHVlPgotICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+dHJ1ZTwvRW52
aXJvbm1lbnRWYXJpYWJsZT4KLSAgICA8L0J1aWxkTWFjcm8+CiAgICAgPEJ1aWxkTWFjcm8gSW5j
bHVkZT0iRU5BQkxFX0xJTktfUFJFRkVUQ0giPgogICAgICAgPFZhbHVlPiQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpPC9WYWx1ZT4KICAgICAgIDxFbnZpcm9ubWVudFZhcmlhYmxlPnRydWU8L0Vudmly
b25tZW50VmFyaWFibGU+CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYwMDIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZpY2F0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcx
NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS93aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlci5jcHA6Cisg
ICAgICAgIChEUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyOjpjaGVja05vdGlmaWNhdGlv
blBlcm1pc3Npb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5w
bToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorICAgICAgICBSZW1vdmUgdXNlIGFuZCBkZWZpbml0aW9uIG9mIEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUy4KKwogMjAxNy0wNC0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gSGF2ZSBjaGVjay13ZWJraXQtc3R5bGUgYWR2
aXNlIGFnYWluc3QgdXNlIG9mIFtnZXTigKZDbGFzcygpIGFsbG9jXQpJbmRleDogVG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9u
UHJlc2VudGVyLmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjUsNyArMTI1LDcgQEAgSFJFU1VMVCBEUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVy
OgogCiAgICAgKnJlc3VsdCA9IDA7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IEpTU3RyaW5nUmVmIGpzT3JpZ2luID0gSlNTdHJpbmdDcmVhdGVXaXRoQlNUUihvcmlnaW4pOwog
ICAgIGJvb2wgYWxsb3dlZCA9IDo6Z1Rlc3RSdW5uZXItPmNoZWNrRGVza3RvcE5vdGlmaWNhdGlv
blBlcm1pc3Npb24oanNPcmlnaW4pOwogCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0Zl
YXR1cmVMaXN0LnBtCShyZXZpc2lvbiAyMTYwMDIpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHBl
cmwvRmVhdHVyZUxpc3QucG0JKHdvcmtpbmcgY29weSkKQEAgLTI4MSw5ICsyODEsNiBAQCBteSBA
ZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImxlZ2FjeS1lbmNyeXB0ZWQtbWVkaWEiLCBk
ZXNjID0+ICJUb2dnbGUgTGVnYWN5IEVNRSBWMiBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwk
bGVnYWN5RW5jcnlwdGVkTWVkaWFTdXBwb3J0IH0sCiAKLSAgICB7IG9wdGlvbiA9PiAibGVnYWN5
LW5vdGlmaWNhdGlvbnMiLCBkZXNjID0+ICJUb2dnbGUgTGVnYWN5IE5vdGlmaWNhdGlvbnMgc3Vw
cG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyIsIGRl
ZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRsZWdhY3lOb3RpZmljYXRpb25zU3VwcG9ydCB9LAotCiAg
ICAgeyBvcHRpb24gPT4gImxlZ2FjeS12ZW5kb3ItcHJlZml4ZXMiLCBkZXNjID0+ICJUb2dnbGUg
TGVnYWN5IFZlbmRvciBQcmVmaXggc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGxlZ2FjeVZl
bmRvclByZWZpeFN1cHBvcnQgfSwKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lv
biAyMTYwMDIpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNyArMTM5LDYgQEAgRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgPSBFTkFCTEVfSwogRU5BQkxFX0tFWUJPQVJEX0NPREVf
QVRUUklCVVRFID0gRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFOwogRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
OwogRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUFbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUE7Ci1FTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlNbc2RrPW1h
Y29zeCpdID0gRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TOwogRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRVRU
RVJQUkVTU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfTEVUVEVSUFJFU1M7CiBFTkFCTEVfTElOS19Q
UkVGRVRDSCA9IDsKQEAgLTI1NSw0ICsyNTQsNCBAQCBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lG
X05PVF8gPSAkKEVOQUJMCiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9OTyA9IEVOQUJM
RV9WQVJJQVRJT05fRk9OVFM7CiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9ZRVMgPSA7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVR
VUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
S0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsOTMgQEAKKzIwMTctMDQt
MzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9y
dCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIC0gUmVtb3ZlIGZhc3Qvbm90aWZpY2F0aW9ucy8uIEl0IHdhcyBz
a2lwcGVkIG9uIGFsbCBwbGF0Zm9ybXMgYW5kIHVzZSBsZWdhY3kgTm90aWZpY2F0aW9ucyBBUEku
CisgICAgICAgIC0gUmVtb3ZlIGh0dHAvbm90aWZpY2F0aW9ucy9sZWdhY3kuIEl0IHRlc3RlZCB0
aGUgbGVnYWN5IEFQSS4KKyAgICAgICAgLSBVcGRhdGUgdHdvIHRlc3RzIGluIGZhc3QvaGlzdG9y
eSB0byB1c2UgdGhlIG5vbi1sZWdhY3kgQVBJIHRvIHRlc3QgcGFnZSBjYWNoZSArIG5vdGlmaWNh
dGlvbnMuCisgICAgICAgIC0gVXBkYXRlIFRlc3RFeHBlY3RhdGlvbnMgZm9yIHJlbW92YWxzLgor
CisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWw6CisgICAgICAgICogZmFzdC9o
aXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWw6CisgICAgICAg
ICogZmFzdC9ub3RpZmljYXRpb25zOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1p
c3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwt
cmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y2hlY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jbGljay1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aC1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13
aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lv
bi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWRvY3VtZW50LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2
ZW50LXN0b3AtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1t
dWx0aS1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5v
LWljb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcmVwbGFjZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNz
aW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1
ZXN0LXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVy
bWlzc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9u
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90
aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVy
bWlzc2lvbi13aGlsZS1yZWxvYWRpbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25v
dGlmaWNhdGlvbnMvcmVzb3VyY2VzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0
aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3Rp
ZmljYXRpb25zLWlmcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3k6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L2V2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmln
YXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVxdWVzdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qt
bm8tY2FsbGJhY2suaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9ub3RpZnktb3BlbmVyLWRvbmUu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9zaG93Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGlj
ay5odG1sOiBSZW1vdmVkLgorCiAyMDE3LTA0LTMwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5pdGlhbGl6ZSBhIG5ldyBsYXlvdXQgc3RhdGUgd2hpbGUgYmFp
bGluZyBvdXQgb2Ygc2ltcGxlIGxpbmUgbGF5b3V0IG9ubHkgd2hlbiBuZWVkZWQuCkluZGV4OiBM
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTEyMjUsMTAgKzEyMjUsNiBAQCBmYXN0L2V2ZW50
cy9kZXN0cm95ZWQtYXRvbWljLXN0cmluZy5odG1sCiAjIFRlc3QgZGlzYWJsZWQgaW4gcjEyODQz
CiBmYXN0L2xvYWRlci9mb3JtLWV2ZW50cy1iYWNrLWZvcndhcmQuaHRtbCBbIFNraXAgXQogCi0j
IFRlc3RzIGxhbmRlZCBkaXNhYmxlZCBpbiByNDcwNTYgZm9yIHdlYmtpdC5vcmcvYi8yNTQ2Mzsg
bmV2ZXIgZW5hYmxlZAotZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3Rv
cC1wcm9wYWdhdGlvbi5odG1sIFsgU2tpcCBdCi1mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1tdWx0aS1ldmVudHMuaHRtbCBbIFNraXAgXQotCiAjIFRlc3QgZGlzYWJsZWQgaW4gcjQy
NjI4CiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdC1nb2JhY2stcmVwb3N0LXBvbGljeS5odG1s
IFsgU2tpcCBdCiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIg
KzAsMCBAQAotUEFTUwotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS5odG1sCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFm
dGVyLWNsb3NlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NCArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsg
Ijxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2Fu
T3BlbldpbmRvd3MoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgd2luID0gd2luZG93
Lm9wZW4oJ2Fib3V0OmJsYW5rJyk7Ci0gICAgICAgICAgICBpZiAod2luLndlYmtpdE5vdGlmaWNh
dGlvbnMgPT09IHVuZGVmaW5lZCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFTUyIpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBub3RpZmljYXRpb25DZW50ZXI9d2lu
LndlYmtpdE5vdGlmaWNhdGlvbnM7Ci0gICAgICAgICAgICAgICAgd2luLmNsb3NlKCk7Ci0gICAg
ICAgICAgICAgICAgdHJ5IHsgCi0gICAgICAgICAgICAgICAgICAgIG49bm90aWZpY2F0aW9uQ2Vu
dGVyLmNyZWF0ZU5vdGlmaWNhdGlvbignJyk7IAotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUp
IHt9Ci0gICAgICAgICAgICAgICAgLy8gSnVzdCBtYWtlIHN1cmUgd2UgZG9uJ3QgY3Jhc2guCi0g
ICAgICAgICAgICAgICAgbG9nKCJQQVNTIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1k
ZWxldGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBp
cyBkZWxldGFibGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIE5vdGlm
aWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZWZhdWx0IgotUEFTUyBkZWxldGUgTm90aWZpY2F0aW9u
LnBlcm1pc3Npb24gaXMgdHJ1ZQotUEFTUyBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyB1bmRl
ZmluZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJt
aXNzc2lvbi1kZWxldGFibGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCShyZXZp
c2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgZGVsZXRhYmxlLiIpOwot
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlZmF1
bHQiKTsKLXNob3VsZEJlVHJ1ZSgiZGVsZXRlIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIik7Ci1z
aG91bGRCZVVuZGVmaW5lZCgiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iKTsKLTwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1
ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBA
Ci1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogZmlsZTovLwotREVT
S1RPUCBOT1RJRklDQVRJT04gUEVSTUlTU0lPTiBSRVFVRVNUIENBTkNFTExFRDogZmlsZTovLwot
UmVxdWVzdGluZyBhbmQgY2FuY2VsbGluZyBub3RpZmljYXRpb24gcGVybWlzc2lvbi4uLgotCi1Q
YXNzIGlmIG5vdGlmaWNhdGlvbiBpcyBjYW5jZWxsZWQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1
ZXN0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ0ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi0gICAgICAg
IC8vIFRpbWVvdXQgaXMgdG8gZW5zdXJlIHRoYXQgdGhlIGlmcmFtZSB3YXMgcmVtb3ZlZC4KLSAg
ICAgICAgc2V0VGltZW91dChpc0RvbmUsNTAwKTsKLQotICAgICAgICBmdW5jdGlvbiBsb2cobWVz
c2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJl
c3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAg
IAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
KSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGlu
dGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS5pbm5lckhUTUw9IlBhc3MgaWYgbm90aWZpY2F0
aW9uIGlzIGNhbmNlbGxlZCI7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBpc0RvbmUo
KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotCi0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7
Ij4KLSAgICA8cD5SZXF1ZXN0aW5nIGFuZCBjYW5jZWxsaW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNz
aW9uLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxkaXYgaWQ9InRlc3Qi
PgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBl
cm1pc3Npb24uaHRtbCIgd2lkdGg9ODAwIGhlaWdodD04MDA+PC9pZnJhbWU+Ci08L2Rpdj4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotQ2hlY2tpbmcgcGVybWlzc2lvbi4uLgotCi1Q
QVNTOiBQZXJtaXNzaW9uIG5vdCBncmFudGVkLgotUEFTUzogUGVybWlzc2lvbiBncmFudGVkLgot
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVj
ay1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYw
MDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVj
ay1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0
cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAg
ICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKTsKLSAgICAgICAgICAgIGlmIChOICE9
IDApIHsKLSAgICAgICAgICAgICAgICBsb2coIlBBU1M6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQu
Iik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogUGVy
bWlzc2lvbiBzaG91bGRuJ3QgYmUgZ3JhbnRlZC4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgTiA9IHdpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpOwotICAgICAgICAgICAgaWYgKE4gPT0g
MCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFTUzogUGVybWlzc2lvbiBncmFudGVkLiIpOwot
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IFBlcm1pc3Np
b24gbm90IGdyYW50ZWQuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHA+Q2hlY2tpbmcgcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5U
ZXN0cygpOwotPC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jbGljay1ldmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDggKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJ
T046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQot
REVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TaG93aW5nIG5vdGlmaWNh
dGlvbnMuCi0KLVRvIGV4ZXJjaXNlIG1hbnVhbGx5LCBncmFudCBub3RpZmljYXRpb24gcGVybWlz
c2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdlLCB0aGVuIGNsaWNrIG9uIHRoZSBub3RpZmljYXRpb24u
IFlvdSBzaG91bGQgc2VlIGEgIlBBU1MiIG1lc3NhZ2UuCi0KLVBBU1M6IGNsaWNrIGV2ZW50IGZp
cmVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQpAQCAtMSw5ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0
bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJ
Q0FUSU9OIENMT1NFRDogTmV3IEUtbWFpbAotQ2hlY2sgdGhhdCB3aW5kb3cuZm9jdXMoKSBpcyBu
b3QgcmVzdHJpY3RlZCBkdXJpbmcgbm90aWZpY2F0aW9uIGNsaWNrIGV2ZW50cy4KLQotVG8gZXhl
cmNpc2UgbWFudWFsbHksIGRpc2FibGUgcG9wLXVwIGJsb2NraW5nLCBncmFudCBub3RpZmljYXRp
b24gcGVybWlzc2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdlLCB0aGVuIGNsaWNrIG9uIHRoZSBub3Rp
ZmljYXRpb24uIFlvdSBzaG91bGQgc2VlIHR3byAiUEFTUyIgbWVzc2FnZXMgYW5kIHRoaXMgd2lu
ZG93IHNob3VsZCBiZSBmb2N1c2VkLgotCi1QQVNTOiBjbGljayBldmVudCBmaXJlZC4KLVBBU1M6
IGZvY3VzIGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZv
Y3VzLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSw1MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2Fn
ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0KLSAgICAgICAg
ZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSgp
OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmlj
YXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRp
b25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gT3BlbiBh
IG5ldyB3aW5kb3csIHNvIHdlIGRvbid0IGhhdmUgdGhlIGZvY3VzLgotICAgICAgICAgICAgdmFy
IFcgPSB3aW5kb3cub3BlbigiYWJvdXQ6YmxhbmsiKTsKLSAgICAgICAgICAgIFcuZm9jdXMoKTsK
LQotICAgICAgICAgICAgd2luZG93Lm9uZm9jdXMgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBm
b2N1cyBldmVudCBmaXJlZC4iKTsgfQotCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVl
dCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLm9uY2xpY2sgPSBmdW5jdGlvbigp
IHsgbG9nKCJQQVNTOiBjbGljayBldmVudCBmaXJlZC4iKTsgd2luZG93LmZvY3VzKCk7IE4uY2Fu
Y2VsKCk7ICB9Ci0gICAgICAgICAgICBOLnNob3coKTsKLQotICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0ZUxlZ2Fj
eVdlYk5vdGlmaWNhdGlvbkNsaWNrKCJOZXcgRS1tYWlsIik7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+Q2hlY2sgdGhhdCB3aW5kb3cuZm9jdXMoKSBpcyBu
b3QgcmVzdHJpY3RlZCBkdXJpbmcgbm90aWZpY2F0aW9uIGNsaWNrIGV2ZW50cy48L3A+Ci0KLTxw
PlRvIGV4ZXJjaXNlIG1hbnVhbGx5LCBkaXNhYmxlIHBvcC11cCBibG9ja2luZywgZ3JhbnQgbm90
aWZpY2F0aW9uIHBlcm1pc3Npb25zIGFuZCBsb2FkIHRoaXMgcGFnZSwgdGhlbiBjbGljayBvbiB0
aGUgbm90aWZpY2F0aW9uLiAgWW91IHNob3VsZCBzZWUgdHdvICJQQVNTIiBtZXNzYWdlcyBhbmQg
dGhpcyB3aW5kb3cgc2hvdWxkIGJlIGZvY3VzZWQuPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCShy
ZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1jbGljay1ldmVudC5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDQgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0g
bWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24g
cnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAg
ICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVl
dCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLm9uY2xpY2sgPSBmdW5jdGlvbigp
IHsgbG9nKCJQQVNTOiBjbGljayBldmVudCBmaXJlZC4iKTsgTi5jYW5jZWwoKTsgIH0KLSAgICAg
ICAgICAgIE4uc2hvdygpOwotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0ZUxlZ2FjeVdlYk5vdGlmaWNhdGlvbkNs
aWNrKCJOZXcgRS1tYWlsIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHA+U2hvd2luZyBub3RpZmljYXRpb25zLjwvcD4KLQotPHA+VG8gZXhlcmNpc2UgbWFu
dWFsbHksIGdyYW50IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2Us
IHRoZW4gY2xpY2sgb24gdGhlIG5vdGlmaWNhdGlvbi4gIFlvdSBzaG91bGQgc2VlIGEgIlBBU1Mi
IG1lc3NhZ2UuPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0
cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikK
KysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVj
dG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1
ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiBmaWxl
Oi8vCi1SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IFBlcm1p
c3Npb24gY2FsbGJhY2sgaW52b2tlZC4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikK
KysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVj
dG9yLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rp
b24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cuTm90aWZpY2F0aW9uKSB7Ci0gICAgICAg
ICAgICAgICAgbG9nKCJGQUlMOiBObyBOb3RpZmljYXRpb24gaW50ZXJmYWNlISIpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy5Ob3RpZmlj
YXRpb24ucmVxdWVzdFBlcm1pc3Npb24oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxv
ZygiUEFTUzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICAp
OwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8cD5SZXF1
ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0
cygpOwotPC9zY3JpcHQ+Ci0KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aC1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiAs
IHRpdGxlIEhlbGxvIHdvcmxkLCB0ZXh0IAotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVy
bWlzc2lvbi4uLgotCi1QQVNTOiBzaG93IGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1p
c3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24g
MjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y29uc3RydWN0b3Itd2l0aC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNyAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBm
dW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93Lk5vdGlmaWNhdGlvbikgewot
ICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gTm90aWZpY2F0aW9uIGNvbnN0cnVjdG9yISIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IG5ldyBO
b3RpZmljYXRpb24oIkhlbGxvIHdvcmxkIik7Ci0gICAgICAgICAgICBOLm9uc2hvdyA9IGZ1bmN0
aW9uKCkgeyBsb2coIlBBU1M6IHNob3cgZXZlbnQgZmlyZWQuIik7IH0KLSAgICAgICAgICAgIE4u
b25lcnJvciA9IGZ1bmN0aW9uKCkgeyBsb2coIkZBSUw6IGVycm9yIGV2ZW50IGZpcmVkLiIpOyB9
Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsgfSwgMTAwKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVu
VGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aG91dC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1TZW5kaW5nIG5vdGlmaWNhdGlv
bnMgd2l0aG91dCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGVycm9yIGV2ZW50IGZpcmVkLgotCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1
Y3Rvci13aXRob3V0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1p
c3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5j
dGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAg
ICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIC8vIE5P
IFBFUk1JU1NJT04gdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgaWYgKCF3aW5kb3cuTm90aWZpY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAg
bG9nKCJGQUlMOiBObyBOb3RpZmljYXRpb24gY29uc3RydWN0b3IhIik7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gbmV3IE5vdGlmaWNhdGlvbigiSGVs
bG8gd29ybGQiKTsKLSAgICAgICAgICAgIE4ub25zaG93ID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJ
TDogc2hvdyBldmVudCBmaXJlZC4iKTsgfQotICAgICAgICAgICAgTi5vbmVycm9yID0gZnVuY3Rp
b24oKSB7IGxvZygiUEFTUzogZXJyb3IgZXZlbnQgZmlyZWQuIik7IH0KLSAgICAgICAgICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAxMDApOwot
ICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90
aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
ZGlzcGxheS1jbG9zZS1ldmVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3Nl
LWV2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLURFU0tU
T1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRv
bmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJQ0FUSU9OIENMT1NFRDogTmV3IEUtbWFpbAotU2Vu
ZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLgotCi1QQVNTOiBkaXNwbGF5IGV2
ZW50IGludm9rZWQuCi1QQVNTOiBjbG9zZSBldmVudCBpbnZva2VkLgotCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xv
c2UtZXZlbnRzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsg
Ijxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxl
Oi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
aWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygi
RkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNh
dGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmln
aHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygi
UEFTUzogZGlzcGxheSBldmVudCBpbnZva2VkLiIpOyBOLmNhbmNlbCgpOyB9Ci0gICAgICAgICAg
ICBOLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBjbG9zZSBldmVudCBpbnZva2Vk
LiIpOyB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfQotICAgICAgICAgICAgTi5zaG93KCk7Ci0g
ICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3Rp
ZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
ICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsK
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQt
Y2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMiArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMzY6IFVuY2F1Z2h0IEludmFsaWRTdGF0ZUVycm9yIChET00g
RXhjZXB0aW9uIDExKTogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLg0KLVBBU1MN
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1
bWVudC1jbG9zZS1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MCArMCww
IEBACi08aHRtbD4KLSAgICA8Ym9keT4KLSAgICAgICAgPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
LSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8i
KTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewot
ICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZh
Y2UhIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZhciB0YXJnZXQgPSB3aW5kb3cu
b3BlbigiYWJvdXQ6YmxhbmsiKTsKLSAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSB0YXJn
ZXQud2Via2l0Tm90aWZpY2F0aW9uczsKLSAgICAgICAgICAgIHRhcmdldC5sb2NhdGlvbi5yZWxv
YWQoKTsKLSAgICAgICAgICAgIHZhciB0aW1lciA9IHNldEludGVydmFsKCJjcmFzaCgpIiwgNjAp
OwotICAgICAgICAgICAgc2V0VGltZW91dCgiZmluaXNoKCkiLCAxMDApOwotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBjcmFzaCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIGEg
PSBbXTsKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDB4MTAwOyBpKyspCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICB0cnkKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgYS5wdXNoKG5ldyBXZWJHTEJ5dGVBcnJh
eSgpKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBjYXRjaCAo
ZSkge30KLSAgICAgICAgICAgICAgICAgICAgYS5wdXNoKEFycmF5KGkpLmpvaW4oIkFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBIikpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBk
ZWxldGUgYTsKLSAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24o
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoKCkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTsKLSAgICAgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlBB
U1MiOwotICAgICAgICAgICAgICAgIHRhcmdldC5jbG9zZSgpOwotICAgICAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4K
LTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1w
cm9wYWdhdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24t
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi1ERVNLVE9QIE5PVElG
SUNBVElPTjogaWNvbiBodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5nLCB0aXRsZSBOZXcgRS1t
YWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xP
U0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4u
Ci0KLVBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlzcGxheSkgY2FwdHVyZSBjYWxsYmFjayBpbnZv
a2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLmh0
bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8g
d2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3Jl
YXRlTm90aWZpY2F0aW9uKCJodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5nIiwgIk5ldyBFLW1h
aWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlz
dGVuZXIoImRpc3BsYXkiLCBmdW5jdGlvbihlKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5l
cihkaXNwbGF5KSBub24tY2FwdHVyZSBjYWxsYmFjayBpbnZva2VkIik7IH0pOwotICAgICAgICAg
ICAgTi5vbmRpc3BsYXkgPSAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZSkgeyBsb2coIlBBU1M6
IG9uZGlzcGxheSBhdHRyaWJ1dGUgZXZlbnQgY2FsbGJhY2sgaW52b2tlZC4iKTsgfQotICAgICAg
ICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJkaXNwbGF5IiwgZnVuY3Rpb24oZSkgeyBsb2coIlBB
U1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlzcGxheSkgY2FwdHVyZSBjYWxsYmFjayBpbnZva2VkIik7
IGUuc3RvcFByb3BhZ2F0aW9uKCk7IH0sIHRydWUgKTsKLSAgICAgICAgICAgIE4uc2hvdygpOwot
ICAgICAgICAgICAgTi5jYW5jZWwoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9w
PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1l
dmVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBA
Ci1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiBodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5n
LCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBO
T1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0
aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhcHR1cmUg
Y2FsbGJhY2sgIzEgaW52b2tlZAotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVy
ZSBjYWxsYmFjayAjMiBpbnZva2VkCi1QQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBjYWxs
YmFjayAjMSBpbnZva2VkCi1QQVNTOiBvbmNsb3NlIGF0dHJpYnV0ZSBldmVudCBjYWxsYmFjayBp
bnZva2VkLgotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FsbGJhY2sgIzMgaW52b2tl
ZAotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1t
dWx0aS1ldmVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbAkocmV2aXNpb24gMjE2MDAyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZl
bnRzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAg
ICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4i
OwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAg
ICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiaHR0cDovL2xvY2FsaG9z
dC9teV9pY29uLnBuZyIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwot
ICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2co
IlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNrICMxIGludm9rZWQiKTsgfSk7
Ci0gICAgICAgICAgICBOLm9uY2xvc2UgPSAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxv
ZygiUEFTUzogb25jbG9zZSBhdHRyaWJ1dGUgZXZlbnQgY2FsbGJhY2sgaW52b2tlZC4iKTsgfQot
ICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2co
IlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhcHR1cmUgY2FsbGJhY2sgIzEgaW52b2tl
ZCIpOyB9LCB0cnVlICk7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwg
ZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVyZSBj
YWxsYmFjayAjMiBpbnZva2VkIik7IH0sIHRydWUgKTsKLSAgICAgICAgICAgIE4uYWRkRXZlbnRM
aXN0ZW5lcigiY2xvc2UiLCBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBhZGRFdmVudExpc3RlbmVy
KGNsb3NlKSBjYWxsYmFjayAjMyBpbnZva2VkIik7IH0pOwotICAgICAgICAgICAgTi5zaG93KCk7
Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48
L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWlj
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1uby1pY29u
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotREVTS1RPUCBOT1RJ
RklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBh
dCA4IQotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLgotCi0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1uby1pY29uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90
aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0
aW9ucygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3Rp
ZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmlj
YXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAg
ICAgICAgTS5zaG93KCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLSAgICAK
LSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3Nj
cmlwdD4KLQotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24t
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwICswLDAgQEAKLUNoZWNrIGZv
ciBleGlzdGVuY2Ugb2YgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi1QQVNTIHdpbmRvdy5Ob3RpZmljYXRpb24gaXMgZGVmaW5lZC4KLVBBU1Mg
d2luZG93Lk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzIGRlZmluZWQuCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1p
c3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MjEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotCTxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keT4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1kZXNjcmlwdGlvbigiQ2hl
Y2sgZm9yIGV4aXN0ZW5jZSBvZiBOb3RpZmljYXRpb24ucGVybWlzc2lvbiIpOwotCi1zaG91bGRC
ZURlZmluZWQoIndpbmRvdy5Ob3RpZmljYXRpb24iKTsKLXNob3VsZEJlRGVmaW5lZCgid2luZG93
Lk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIik7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBs
YWNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQpAQCAtMSw3ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUg
TmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJQ0FU
SU9OOiBpY29uICwgdGl0bGUgQWxhcm0sIHRleHQgSXQncyB0aW1lIHRvIHdha2UgdXAhCi1SRVBM
QUNJTkcgTk9USUZJQ0FUSU9OIE5ldyBFLW1haWwKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29u
ICwgdGl0bGUgTmV3IHJlcGx5LCB0ZXh0IENvcnJlY3Rpb24sIDg6MTUKLVNob3dpbmcgbm90aWZp
Y2F0aW9ucyB3aXRoIHJlcGxhY2UgSUQuLi4KLQotCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVk
LnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotTEYK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbAko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtcmVwbGFjZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDEgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVz
c2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVu
VGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lv
bigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAg
ICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNl
ISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTSA9IHdp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1h
aWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBNLnJlcGxhY2VJZCA9
ICJOZXdNYWlsIjsKLSAgICAgICAgICAgIE0uc2hvdygpOwotICAgICAgICAgICAgdmFyIG90aGVy
ID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiQWxh
cm0iLCAiSXQncyB0aW1lIHRvIHdha2UgdXAhIik7Ci0gICAgICAgICAgICBvdGhlci5zaG93KCk7
Ci0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbigiIiwgIk5ldyByZXBseSIsICJDb3JyZWN0aW9uLCA4OjE1Iik7Ci0gICAgICAg
ICAgICBOLnJlcGxhY2VJZCA9ICJOZXdNYWlsIjsKLSAgICAgICAgICAgIE4uc2hvdygpOyAgICAg
ICAgICAKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TaG93
aW5nIG5vdGlmaWNhdGlvbnMgd2l0aCByZXBsYWNlIElELi4uPC9wPgotPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbApfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotTEYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNB
VElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogZmlsZTovLwotUmVxdWVzdGluZyBub3RpZmljYXRp
b24gcGVybWlzc2lvbi4uLgotCi1QQVNTOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuCi0K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVl
c3QtcGVybWlzc2lvbi1vcHRpb25hbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9u
LW9wdGlvbmFsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlv
bmFsLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotUEFTUyB3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucyBpcyBkZWZpbmVkLgotUEFTUyB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVy
bWlzc2lvbi1vcHRpb25hbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC5odG1s
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwuaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDExICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucyIpOwotc2hvdWxkTm90VGhyb3coIndpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zLnJlcXVlc3RQZXJtaXNzaW9uKCkiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVz
dC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIx
NjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJl
cXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVz
c2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVu
VGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAg
ICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oCi0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLiIpOyB9
Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgICA8cD5SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uPC9wPgotICAg
IAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLQotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjooUlRMKSBp
Y29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLVNob3dp
bmcgYSBub3RpZmljYXRpb24gd2l0aCBkaXJlY3Rpb24gInJ0bCIuLi4KLQotCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1y
dGwtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSAr
MCwwICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRt
bAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtcnRsLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNz
YWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5U
ZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9u
KCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAg
ICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2Uh
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBNID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFp
bCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE0uZGlyID0gInJ0bCI7
Ci0gICAgICAgICAgICBNLnNob3coKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5TaG93aW5nIGEgbm90aWZpY2F0aW9uIHdpdGggZGlyZWN0aW9uICJydGwi
Li4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLSAgIAotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotCi08L2JvZHk+Ci08
L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTEgKzAsMCAjIwotTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsMjQgKzAsMCBAQAotTm9ybWFsIGlmcmFtZS4gU2hvdWxkIGluaGVyaXQgcGVybWlzc2lv
bnMuCi0KLQotU2FuZGJveGVkIGlmcmFtZSwgd2l0aCBhbGxvdy1zYW1lLW9yaWdpbi4gU2hvdWxk
IGluaGVyaXQgcGVybWlzc2lvbnMuCi0KLQotU2FuZGJveGVkIGlmcmFtZSwgd2l0aG91dCBhbGxv
dy1zYW1lLW9yaWdpbi4gU2hvdWxkIG5vdCBpbmhlcml0IHBlcm1pc3Npb25zLgotCi0KLQotLS0t
LS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0t
LQotQWxsb3dlZAotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1l
MS0tPi0tPicKLS0tLS0tLS0tCi1BbGxvd2VkCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUyLS0+LS0+JwotLS0tLS0tLS0KLURlbmllZApJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlz
c2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAg
fQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHA+Tm9ybWFsIGlmcmFtZS4g
U2hvdWxkIGluaGVyaXQgcGVybWlzc2lvbnMuPC9wPgotICAgIDxpZnJhbWUgc3JjPSJyZXNvdXJj
ZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbCI+PC9pZnJhbWU+Ci0KLSAgICA8cD5TYW5kYm94
ZWQgaWZyYW1lLCB3aXRoIGFsbG93LXNhbWUtb3JpZ2luLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNz
aW9ucy48L3A+Ci0gICAgPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUt
b3JpZ2luIgotICAgICAgICAgICAgc3JjPSJyZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUu
aHRtbCI+PC9pZnJhbWU+Ci0KLSAgICA8cD5TYW5kYm94ZWQgaWZyYW1lLCB3aXRob3V0IGFsbG93
LXNhbWUtb3JpZ2luLiBTaG91bGQgbm90IGluaGVyaXQgcGVybWlzc2lvbnMuPC9wPgotICAgIDxp
ZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIKLSAgICAgICAgICAgIHNyYz0icmVzb3VyY2Vz
L25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93
LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKQEAgLTEgKzAsMCBAQAotVGhpcyB0ZXN0IG5lZWRzIHRvIHJ1biBtYW51YWxseSBhbmQgY2Fu
bm90IHJ1biBpbnNpZGUgRHVtcFJlbmRlclRyZWUuIFBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFz
aCBvbiBydW5uaW5nIHRoZSB0ZXN0IGFsb25nd2l0aCB3aXRoIGEgY291cGxlIG9mIHBhZ2UgcmVs
b2Fkcy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCShyZXZp
c2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDIzICswLDAg
QEAKLTxodG1sPiANCi0gICAgPGhlYWQ+IA0KLSAgICAgICAgPHNjcmlwdD4gDQotICAgICAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpDQotICAgICAgICAgICAgew0KLSAgICAgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpDQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsNCi0gICAgICAgICAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgICAgICB7DQot
ICAgICAgICAgICAgICAgICAgICB2YXIgd2luID0gd2luZG93Lm9wZW4oImFib3V0OmJsYW5rIik7
DQotICAgICAgICAgICAgICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gd2luLndlYmtpdE5vdGlm
aWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsNCi0gICAgICAgICAgICAgICAgICAgIG5v
dGlmaWNhdGlvbi5zaG93KCk7DQotICAgICAgICAgICAgICAgICAgICB3aW4uY2xvc2UoKTsNCi0g
ICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5jYW5jZWwoKTsNCi0gICAgICAgICAgICAg
ICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICA8L3NjcmlwdD4gDQotICAgIDwvaGVhZD4g
DQotICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4gDQotICAgICAgICA8cD5UaGlzIHRlc3Qg
bmVlZHMgdG8gcnVuIG1hbnVhbGx5IGFuZCBjYW5ub3QgcnVuIGluc2lkZSBEdW1wUmVuZGVyVHJl
ZS4gUGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoIG9uIHJ1bm5pbmcgdGhlIHRlc3QgYWxvbmd3
aXRoIHdpdGggYSBjb3VwbGUgb2YgcGFnZSByZWxvYWRzLjwvcD4NCi0gICAgPC9ib2R5PiANCi08
L2h0bWw+DQotDQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtd2l0aC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKQEAgLTEsNCArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiBodHRwOi8v
MC4wLjAuMC9teV9pY29uLnBuZywgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmln
aHQgYXQgOCEKLVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBl
cm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJt
aXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgot
ICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxi
cj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8v
Iik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAg
ICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYg
KCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJ
TDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY3JlYXRlTm90aWZpY2F0aW9uKCJodHRwOi8vMC4wLjAuMC9teV9pY29uLnBuZyIsICJOZXcg
RS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTS5vbmRpc3Bs
YXkgPSBmdW5jdGlvbigpIHsgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7IH0KLSAgICAgICAgICAg
IE0uc2hvdygpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxw
PlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi0gICAg
Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+
Ci0KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0
ICswLDAgQEAKLVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi4KLQot
UEFTUzogRXhjZXB0aW9uIHRocm93bi4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1w
ZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAg
ICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICAvLyBOTyBQRVJNSVNT
SU9OIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAg
ICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB0cnkgewotICAgICAg
ICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZp
Y2F0aW9uKCJodHRwOi8vMC4wLjAuMC9teV9pY29uLnBuZyIsICJOZXcgRS1tYWlsIiwgIk1lZXQg
bWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgICAgIE4uc2hvdygpOwotICAgICAgICAg
ICAgICAgIGxvZygiRkFJTDogU2hvdWxkIGhhdmUgdGhyb3duIHNlY3VyaXR5IGV4Y2VwdGlvbi4i
KTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICBsb2coIlBBU1M6
IEV4Y2VwdGlvbiB0aHJvd24uIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQg
cGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlm
aWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9u
LXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAy
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9u
LXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0cyB0aGF0IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uIHJl
cXVlc3RzIGR1cmluZyBwYWdlIHJlbG9hZCBkbyBub3QgY2F1c2UgYSBjcmFzaC4KLQotUEFTUzog
VGVzdCBwYXNzZWQgaWYgd2Ugc2F3IG5vIGNyYXNoLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Np
b24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlm
aWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNz
aW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGls
ZS1yZWxvYWRpbmcuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGJvZHk+Ci08cD5UaGlzIHRlc3RzIHRoYXQgbm90aWZpY2F0aW9uIHBlcm1pc3Np
b24gcmVxdWVzdHMgZHVyaW5nIHBhZ2UgcmVsb2FkIGRvIG5vdCBjYXVzZSBhIGNyYXNoLjwvcD4K
LTxwIGlkPSJtZXNzYWdlIj5GQUlMOiBUZXN0IGRpZCBub3QgcnVuIHRvIGNvbXBsZXRpb24geWV0
LjwvcD4KLTxzY3JpcHQ+Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi12
YXIgdHJpZXMgPSBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSA+Pj4gMDsKLWlmICh0cmllcyA8
IDEwKSB7Ci0gICAgbG9jYXRpb24uaGFzaCA9ICIjIiArICh0cmllcyArIDEpOwotICAgIGxvY2F0
aW9uLnJlbG9hZCgpOwotCi0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgd2Vi
a2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpOwotICAgIH0sIDApOwotfSBlbHNl
IHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVzc2FnZSIpLnRleHRDb250ZW50ID0g
IlBBU1M6IFRlc3QgcGFzc2VkIGlmIHdlIHNhdyBubyBjcmFzaC4iOwotICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLTwvc2Ny
aXB0PgotPC9ib2R5PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5n
Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5h
dGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkRlbGV0ZWQ6IHN2bjptaW1lLXR5
cGUKIyMgLTEgKzAsMCAjIwotdGV4dC9odG1sClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZp
Y2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNl
bC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1
ZXN0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI4ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBm
dW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgcGFyZW50LmRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+
IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5p
Z25vcmVMZWdhY3lXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBl
cm1pc3Npb24oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiRkFJTDogUGVybWlz
c2lvbiBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICApOwotCi0gICAgICAgIH0K
LSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291
cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbAko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291
cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDx0aXRsZT5Ob3RpZmlj
YXRpb25zOiBJZnJhbWUgdGVzdC48L3RpdGxlPgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHAgaWQ9
Imhhc1Blcm1pc3Npb24iPjwvcD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaGFzUGVybWlzc2lvbiIpLmlubmVyVGV4dCA9Ci0gICAgICAgICAgICAhd2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSA/ICJBbGxvd2VkIiA6ICJEZW5pZWQi
OwotICAgIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLW5vbi1zdXNwZW5kYWJsZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNh
dGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLW5vbi1zdXNwZW5kYWJsZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgZnVuY3Rpb24KICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucGFnZV9jYWNo
ZV9ub3RpZmljYXRpb25zX3Rlc3Rfc3RhcnRlZCA9IHRydWU7CiAKICAgICAvLyBUaGlzIG5vdGlm
aWNhdGlvbiBpcyBzaG93biBhbmQgc2hvdWxkIG5vdCBiZSBzdXNwZW5kYWJsZS4KLSAgICBub3Rp
ZmljYXRpb24gPSB3ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbignJywgJ3Rp
dGxlIDInLCAnYm9keScpOworICAgIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oJ3Rp
dGxlJywgeyBib2R5OiAnYm9keScgfSk7CiAgICAgbm90aWZpY2F0aW9uLm9uZXJyb3IgPSBmdW5j
dGlvbigpIHsKICAgICAgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90IHNob3cgdGhlIG5vdGlmaWNh
dGlvbiIpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKQEAgLTQ2LDcgKzQ2LDYgQEAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbgogICAgICAgICAvLyBGb3JjZSBhIGJh
Y2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KICAgICAgICAgd2luZG93LmxvY2F0aW9u
LmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwiOwogICAgIH07Ci0gICAg
bm90aWZpY2F0aW9uLnNob3coKTsKIH0sIGZhbHNlKTsKIAogPC9zY3JpcHQ+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFibGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1u
b3RpZmljYXRpb24tc3VzcGVuZGFibGUuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDI4ICsyOSwyNCBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigicGFnZWhpZGUiLCBmdW5jCiB9LCBmYWxzZSk7CiAKIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7Ci0gICAgLy8gVGhpcyBub3RpZmljYXRpb24gaXMgaW4g
aWRsZSBzdGF0ZSBhbmQgc2hvdWxkIGJlIHN1c3BlbmRhYmxlLgotICAgIG5vdGlmaWNhdGlvbjEg
PSB3ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbignJywgJ3RpdGxlIDEnLCAn
Ym9keScpOwotCiAgICAgLy8gVGhpcyBub3RpZmljYXRpb24gaXMgc2hvd24gYW5kIHNob3VsZCBi
ZSBzdXNwZW5kYWJsZSBvbmNlIGl0IGlzIGNsb3NlZC4KLSAgICBub3RpZmljYXRpb24yID0gd2Vi
a2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAyJywgJ2JvZHkn
KTsKLSAgICBub3RpZmljYXRpb24yLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgeworICAgIG5vdGlm
aWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oJ3RpdGxlJywgeyBib2R5OiAnYm9keScgfSk7Cisg
ICAgbm90aWZpY2F0aW9uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAvLyBDbG9z
ZSB0aGUgbm90aWZpY2F0aW9uLgogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgbm90aWZpY2F0aW9uMi5jYW5jZWwoKTsKKyAgICAgICAgICAgIG5vdGlmaWNhdGlv
bi5jbG9zZSgpOwogICAgICAgICB9LCAwKTsKICAgICB9OwotICAgIG5vdGlmaWNhdGlvbjIub25l
cnJvciA9IGZ1bmN0aW9uKCkgeworICAgIG5vdGlmaWNhdGlvbi5vbmVycm9yID0gZnVuY3Rpb24o
KSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBkaXNwbGF5IHRoZSBub3RpZmljYXRp
b24iKTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfTsKLSAgICBub3RpZmljYXRpb24y
Lm9uY2xvc2UgPSBmdW5jdGlvbigpIHsKKyAgICBub3RpZmljYXRpb24ub25jbG9zZSA9IGZ1bmN0
aW9uKCkgewogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgLy8g
Rm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBhZ2UuCiAgICAgICAgICAgICB3
aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJjZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbCI7
CiAgICAgICAgIH0sIDApOwogICAgIH07Ci0gICAgbm90aWZpY2F0aW9uMi5zaG93KCk7CiB9LCBm
YWxzZSk7CiAKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsMiArMCwwIEBACi1QQVNTCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwJKHJl
dmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb24tYWZ0ZXItY2xvc2UuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ0ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1
blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB3aW4g
PSB3aW5kb3cub3BlbignYWJvdXQ6YmxhbmsnKTsKLSAgICAgICAgICAgIGlmICh3aW4ud2Via2l0
Tm90aWZpY2F0aW9ucyA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJQQVNT
Iik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbkNl
bnRlcj13aW4ud2Via2l0Tm90aWZpY2F0aW9uczsKLSAgICAgICAgICAgICAgICB3aW4uY2xvc2Uo
KTsKLSAgICAgICAgICAgICAgICB0cnkgeyAKLSAgICAgICAgICAgICAgICAgICAgbj1ub3RpZmlj
YXRpb25DZW50ZXIuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsgCi0gICAgICAgICAgICAgICAgfSBj
YXRjaCAoZSkge30KLSAgICAgICAgICAgICAgICAvLyBKdXN0IG1ha2Ugc3VyZSB3ZSBkb24ndCBj
cmFzaC4KLSAgICAgICAgICAgICAgICBsb2coIlBBU1MiKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1p
c3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0IE5vdGlmaWNhdGlvbi5wZXJt
aXNzaW9uIGlzIGRlbGV0YWJsZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgImRlZmF1bHQiCi1QQVNTIGRlbGV0ZSBOb3Rp
ZmljYXRpb24ucGVybWlzc2lvbiBpcyB0cnVlCi1QQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9u
IGlzIHVuZGVmaW5lZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLmh0
bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1k
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyBkZWxldGFi
bGUuIik7Ci0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZpY2F0aW9uLnBlcm1pc3Npb24i
LCAiZGVmYXVsdCIpOwotc2hvdWxkQmVUcnVlKCJkZWxldGUgTm90aWZpY2F0aW9uLnBlcm1pc3Np
b24iKTsKLXNob3VsZEJlVW5kZWZpbmVkKCJOb3RpZmljYXRpb24ucGVybWlzc2lvbiIpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1
ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiBmaWxl
Oi8vCi1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1QgQ0FOQ0VMTEVEOiBm
aWxlOi8vCi1SZXF1ZXN0aW5nIGFuZCBjYW5jZWxsaW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9u
Li4uCi0KLVBhc3MgaWYgbm90aWZpY2F0aW9uIGlzIGNhbmNlbGxlZApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlz
c2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDQgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0K
LSAgICAgICAgLy8gVGltZW91dCBpcyB0byBlbnN1cmUgdGhhdCB0aGUgaWZyYW1lIHdhcyByZW1v
dmVkLgotICAgICAgICBzZXRUaW1lb3V0KGlzRG9uZSw1MDApOwotCi0gICAgICAgIGZ1bmN0aW9u
IGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlm
aWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNh
dGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLmlubmVySFRNTD0iUGFzcyBpZiBu
b3RpZmljYXRpb24gaXMgY2FuY2VsbGVkIjsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9u
IGlzRG9uZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVu
VGVzdHMoKTsiPgotICAgIDxwPlJlcXVlc3RpbmcgYW5kIGNhbmNlbGxpbmcgbm90aWZpY2F0aW9u
IHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPGRpdiBp
ZD0idGVzdCI+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJl
cXVlc3QtcGVybWlzc2lvbi5odG1sIiB3aWR0aD04MDAgaGVpZ2h0PTgwMD48L2lmcmFtZT4KLTwv
ZGl2PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2st
cGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1DaGVja2luZyBwZXJtaXNzaW9u
Li4uCi0KLVBBU1M6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQuCi1QQVNTOiBQZXJtaXNzaW9uIGdy
YW50ZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNoZWNrLXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLmh0bWwJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNoZWNrLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ4ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9
IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9u
IHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAg
ICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNl
ISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpOwotICAgICAgICAgICAg
aWYgKE4gIT0gMCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFTUzogUGVybWlzc2lvbiBub3Qg
Z3JhbnRlZC4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJG
QUlMOiBQZXJtaXNzaW9uIHNob3VsZG4ndCBiZSBncmFudGVkLiIpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmls
ZTovLyIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBOID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCk7Ci0gICAgICAgICAgICBp
ZiAoTiA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJQQVNTOiBQZXJtaXNzaW9uIGdyYW50
ZWQuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDog
UGVybWlzc2lvbiBub3QgZ3JhbnRlZC4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5DaGVja2luZyBwZXJtaXNzaW9uLi4uPC9w
PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZl
bnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsOCArMCwwIEBACi1ERVNLVE9QIE5P
VElGSUNBVElPTjogaWNvbiAsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0
IGF0IDghCi1ERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5ldyBFLW1haWwKLVNob3dpbmcg
bm90aWZpY2F0aW9ucy4KLQotVG8gZXhlcmNpc2UgbWFudWFsbHksIGdyYW50IG5vdGlmaWNhdGlv
biBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2UsIHRoZW4gY2xpY2sgb24gdGhlIG5vdGlm
aWNhdGlvbi4gWW91IHNob3VsZCBzZWUgYSAiUEFTUyIgbWVzc2FnZS4KLQotUEFTUzogY2xpY2sg
ZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1m
b2N1cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGlj
b24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RP
UCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1DaGVjayB0aGF0IHdpbmRvdy5mb2N1
cygpIGlzIG5vdCByZXN0cmljdGVkIGR1cmluZyBub3RpZmljYXRpb24gY2xpY2sgZXZlbnRzLgot
Ci1UbyBleGVyY2lzZSBtYW51YWxseSwgZGlzYWJsZSBwb3AtdXAgYmxvY2tpbmcsIGdyYW50IG5v
dGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2UsIHRoZW4gY2xpY2sgb24g
dGhlIG5vdGlmaWNhdGlvbi4gWW91IHNob3VsZCBzZWUgdHdvICJQQVNTIiBtZXNzYWdlcyBhbmQg
dGhpcyB3aW5kb3cgc2hvdWxkIGJlIGZvY3VzZWQuCi0KLVBBU1M6IGNsaWNrIGV2ZW50IGZpcmVk
LgotUEFTUzogZm9jdXMgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2st
ZXZlbnQtZm9jdXMuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDUxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxv
ZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNv
bXBsZXRlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtp
dE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5v
dGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAv
LyBPcGVuIGEgbmV3IHdpbmRvdywgc28gd2UgZG9uJ3QgaGF2ZSB0aGUgZm9jdXMuCi0gICAgICAg
ICAgICB2YXIgVyA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIpOwotICAgICAgICAgICAgVy5m
b2N1cygpOwotCi0gICAgICAgICAgICB3aW5kb3cub25mb2N1cyA9IGZ1bmN0aW9uKCkgeyBsb2co
IlBBU1M6IGZvY3VzIGV2ZW50IGZpcmVkLiIpOyB9Ci0KLSAgICAgICAgICAgIHZhciBOID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFp
bCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25jbGljayA9IGZ1
bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVkLiIpOyB3aW5kb3cuZm9jdXMo
KTsgTi5jYW5jZWwoKTsgIH0KLSAgICAgICAgICAgIE4uc2hvdygpOwotCi0gICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNpbXVs
YXRlTGVnYWN5V2ViTm90aWZpY2F0aW9uQ2xpY2soIk5ldyBFLW1haWwiKTsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5DaGVjayB0aGF0IHdpbmRvdy5mb2N1
cygpIGlzIG5vdCByZXN0cmljdGVkIGR1cmluZyBub3RpZmljYXRpb24gY2xpY2sgZXZlbnRzLjwv
cD4KLQotPHA+VG8gZXhlcmNpc2UgbWFudWFsbHksIGRpc2FibGUgcG9wLXVwIGJsb2NraW5nLCBn
cmFudCBub3RpZmljYXRpb24gcGVybWlzc2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdlLCB0aGVuIGNs
aWNrIG9uIHRoZSBub3RpZmljYXRpb24uICBZb3Ugc2hvdWxkIHNlZSB0d28gIlBBU1MiIG1lc3Nh
Z2VzIGFuZCB0aGlzIHdpbmRvdyBzaG91bGQgYmUgZm9jdXNlZC48L3A+Ci08ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50
Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBm
dW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlv
bnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAg
ICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2Uh
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFp
bCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25jbGljayA9IGZ1
bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVkLiIpOyBOLmNhbmNlbCgpOyAg
fQotICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNpbXVsYXRlTGVnYWN5V2ViTm90aWZp
Y2F0aW9uQ2xpY2soIk5ldyBFLW1haWwiKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08cD5TaG93aW5nIG5vdGlmaWNhdGlvbnMuPC9wPgotCi08cD5UbyBleGVy
Y2lzZSBtYW51YWxseSwgZ3JhbnQgbm90aWZpY2F0aW9uIHBlcm1pc3Npb25zIGFuZCBsb2FkIHRo
aXMgcGFnZSwgdGhlbiBjbGljayBvbiB0aGUgbm90aWZpY2F0aW9uLiAgWW91IHNob3VsZCBzZWUg
YSAiUEFTUyIgbWVzc2FnZS48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAK
LTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CkBAIC0xLDUgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT04gUEVSTUlTU0lPTiBSRVFVRVNU
RUQ6IGZpbGU6Ly8KLVJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24uLi4KLQotUEFT
UzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Np
b24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24g
MjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAg
ICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlu
bmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy5Ob3RpZmljYXRpb24pIHsK
LSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2UhIik7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93
Lk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigKLSAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsgbG9nKCJQQVNTOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuIik7IH0KLSAgICAg
ICAgICAgICk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAg
IDxwPlJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi08ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
LXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotCi08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRo
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9O
OiBpY29uICwgdGl0bGUgSGVsbG8gd29ybGQsIHRleHQgCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMg
d2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IHNob3cgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdp
dGgtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi5odG1sCShy
ZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cuTm90aWZpY2F0
aW9uKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBOb3RpZmljYXRpb24gY29uc3Ry
dWN0b3IhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBO
ID0gbmV3IE5vdGlmaWNhdGlvbigiSGVsbG8gd29ybGQiKTsKLSAgICAgICAgICAgIE4ub25zaG93
ID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogc2hvdyBldmVudCBmaXJlZC4iKTsgfQotICAgICAg
ICAgICAgTi5vbmVycm9yID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJTDogZXJyb3IgZXZlbnQgZmly
ZWQuIik7IH0KLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOyB9LCAxMDApOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48L3A+
Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRo
b3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLVNlbmRpbmcgbm90
aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi4KLQotUEFTUzogZXJyb3IgZXZlbnQgZmly
ZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhv
dXQtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Np
b24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAg
ICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7
Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAg
ICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gTk8gUEVSTUlTU0lPTiB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy5Ob3RpZmljYXRpb24pIHsKLSAgICAgICAg
ICAgICAgICBsb2coIkZBSUw6IE5vIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3RvciEiKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSBuZXcgTm90aWZpY2F0
aW9uKCJIZWxsbyB3b3JsZCIpOwotICAgICAgICAgICAgTi5vbnNob3cgPSBmdW5jdGlvbigpIHsg
bG9nKCJGQUlMOiBzaG93IGV2ZW50IGZpcmVkLiIpOyB9Ci0gICAgICAgICAgICBOLm9uZXJyb3Ig
PSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBlcnJvciBldmVudCBmaXJlZC4iKTsgfQotICAgICAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7IH0s
IDEwMCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2Vu
ZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQgcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3Rz
KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAw
MikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3Bs
YXktY2xvc2UtZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBA
QAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1l
ZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1t
YWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGRp
c3BsYXkgZXZlbnQgaW52b2tlZC4KLVBBU1M6IGNsb3NlIGV2ZW50IGludm9rZWQuCi0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xv
c2UtZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlz
cGxheS1jbG9zZS1ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM5ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1
blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Np
b24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAg
ICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQg
bWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTi5vbmRpc3BsYXkgPSBmdW5jdGlvbigp
IHsgbG9nKCJQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7IE4uY2FuY2VsKCk7IH0KLSAg
ICAgICAgICAgIE4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsb3NlIGV2ZW50
IGludm9rZWQuIik7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9Ci0gICAgICAgICAgICBOLnNo
b3coKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5k
aW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5U
ZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAy
MTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1k
b2N1bWVudC1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwyICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNjogVW5jYXVnaHQgSW52YWxpZFN0YXRlRXJy
b3IgKERPTSBFeGNlcHRpb24gMTEpOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUu
DQotUEFTUw0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2guaHRt
bAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2guaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDUwICswLDAgQEAKLTxodG1sPgotICAgIDxib2R5PgotICAgICAgICA8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgotICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigi
ZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25z
IGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdmFyIHRhcmdldCA9
IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIpOwotICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlv
biA9IHRhcmdldC53ZWJraXROb3RpZmljYXRpb25zOwotICAgICAgICAgICAgdGFyZ2V0LmxvY2F0
aW9uLnJlbG9hZCgpOwotICAgICAgICAgICAgdmFyIHRpbWVyID0gc2V0SW50ZXJ2YWwoImNyYXNo
KCkiLCA2MCk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KCJmaW5pc2goKSIsIDEwMCk7Ci0KLSAg
ICAgICAgICAgIGZ1bmN0aW9uIGNyYXNoKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICB2YXIgYSA9IFtdOwotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMHgxMDA7
IGkrKykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHRyeQotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhLnB1c2gobmV3IFdlYkdM
Qnl0ZUFycmF5KCkpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
IGNhdGNoIChlKSB7fQotICAgICAgICAgICAgICAgICAgICBhLnB1c2goQXJyYXkoaSkuam9pbigi
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiKSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIGRlbGV0ZSBhOwotICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVy
bWlzc2lvbigpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBmaW5pc2go
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpOwot
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhU
TUwgPSAiUEFTUyI7Ci0gICAgICAgICAgICAgICAgdGFyZ2V0LmNsb3NlKCk7Ci0gICAgICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAg
PC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVu
dC1zdG9wLXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9w
YWdhdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLURFU0tU
T1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0dHA6Ly9sb2NhbGhvc3QvbXlfaWNvbi5wbmcsIHRpdGxl
IE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1ERVNLVE9QIE5PVElGSUNB
VElPTiBDTE9TRUQ6IE5ldyBFLW1haWwKLVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1p
c3Npb24uLi4KLQotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBjYXB0dXJlIGNhbGxi
YWNrIGludm9rZWQKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFn
YXRpb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAg
ICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdy
YW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBp
ZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJG
QUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly9sb2NhbGhvc3QvbXlfaWNvbi5wbmciLCAi
TmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4uYWRk
RXZlbnRMaXN0ZW5lcigiZGlzcGxheSIsIGZ1bmN0aW9uKGUpIHsgbG9nKCJQQVNTOiBhZGRFdmVu
dExpc3RlbmVyKGRpc3BsYXkpIG5vbi1jYXB0dXJlIGNhbGxiYWNrIGludm9rZWQiKTsgfSk7Ci0g
ICAgICAgICAgICBOLm9uZGlzcGxheSA9ICAgICAgICAgICAgICAgICBmdW5jdGlvbihlKSB7IGxv
ZygiUEFTUzogb25kaXNwbGF5IGF0dHJpYnV0ZSBldmVudCBjYWxsYmFjayBpbnZva2VkLiIpOyB9
Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImRpc3BsYXkiLCBmdW5jdGlvbihlKSB7
IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBjYXB0dXJlIGNhbGxiYWNrIGlu
dm9rZWQiKTsgZS5zdG9wUHJvcGFnYXRpb24oKTsgfSwgdHJ1ZSApOwotICAgICAgICAgICAgTi5z
aG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Np
b24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtbXVsdGktZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDEw
ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0dHA6Ly9sb2NhbGhvc3QvbXlf
aWNvbi5wbmcsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1E
RVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5ldyBFLW1haWwKLVNlbmRpbmcgbm90aWZpY2F0
aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkg
Y2FwdHVyZSBjYWxsYmFjayAjMSBpbnZva2VkCi1QQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3Nl
KSBjYXB0dXJlIGNhbGxiYWNrICMyIGludm9rZWQKLVBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xv
c2UpIGNhbGxiYWNrICMxIGludm9rZWQKLVBBU1M6IG9uY2xvc2UgYXR0cmlidXRlIGV2ZW50IGNh
bGxiYWNrIGludm9rZWQuCi1QQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBjYWxsYmFjayAj
MyBpbnZva2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLW11bHRpLWV2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1t
dWx0aS1ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQwICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2Ug
KyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykg
ewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRl
cmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBO
ID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJodHRwOi8v
bG9jYWxob3N0L215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0
IDghIik7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwgZnVuY3Rpb24o
KSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FsbGJhY2sgIzEgaW52b2tl
ZCIpOyB9KTsKLSAgICAgICAgICAgIE4ub25jbG9zZSA9ICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsgbG9nKCJQQVNTOiBvbmNsb3NlIGF0dHJpYnV0ZSBldmVudCBjYWxsYmFjayBpbnZva2Vk
LiIpOyB9Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwgZnVuY3Rpb24o
KSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVyZSBjYWxsYmFjayAj
MSBpbnZva2VkIik7IH0sIHRydWUgKTsKLSAgICAgICAgICAgIE4uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xvc2UiLCBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBj
YXB0dXJlIGNhbGxiYWNrICMyIGludm9rZWQiKTsgfSwgdHJ1ZSApOwotICAgICAgICAgICAgTi5h
ZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGFkZEV2ZW50
TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNrICMzIGludm9rZWQiKTsgfSk7Ci0gICAgICAgICAgICBO
LnNob3coKTsKLSAgICAgICAgICAgIE4uY2FuY2VsKCk7Ci0gICAgICAgIH0KLSAgICA8L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlz
c2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAgIAotICAgIAotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtbm8taWNvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LW5vLWljb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1ERVNL
VE9QIE5PVElGSUNBVElPTjogaWNvbiAsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0
b25pZ2h0IGF0IDghCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0K
LQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8t
aWNvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLW5vLWljb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAg
ICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdy
YW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVy
LmR1bXBOb3RpZmljYXRpb25zKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBO
b3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdl
YmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgCi0gICAgICAgICAgICB2YXIgTSA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0
ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7
Ci0gICAgICAgICAgICBNLnNob3coKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9w
PgotICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMo
KTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPC9ib2R5PgotPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVy
bWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAot
Q2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBOb3RpZmljYXRpb24ucGVybWlzc2lvbgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLVBBU1Mgd2luZG93Lk5vdGlmaWNhdGlvbiBpcyBkZWZpbmVk
LgotUEFTUyB3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgZGVmaW5lZC4KLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwyMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0JPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci0KLTxib2R5PgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgotPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWRlc2NyaXB0
aW9uKCJDaGVjayBmb3IgZXhpc3RlbmNlIG9mIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIik7Ci0K
LXNob3VsZEJlRGVmaW5lZCgid2luZG93Lk5vdGlmaWNhdGlvbiIpOwotc2hvdWxkQmVEZWZpbmVk
KCJ3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iKTsKLQotdmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXJlcGxhY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24g
LCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBO
T1RJRklDQVRJT046IGljb24gLCB0aXRsZSBBbGFybSwgdGV4dCBJdCdzIHRpbWUgdG8gd2FrZSB1
cCEKLVJFUExBQ0lORyBOT1RJRklDQVRJT04gTmV3IEUtbWFpbAotREVTS1RPUCBOT1RJRklDQVRJ
T046IGljb24gLCB0aXRsZSBOZXcgcmVwbHksIHRleHQgQ29ycmVjdGlvbiwgODoxNQotU2hvd2lu
ZyBub3RpZmljYXRpb25zIHdpdGggcmVwbGFjZSBJRC4uLgotCi0KClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2Ut
ZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCww
ICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFj
ZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAg
ewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5j
dGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMp
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBp
bnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZh
ciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAi
TmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE0ucmVw
bGFjZUlkID0gIk5ld01haWwiOwotICAgICAgICAgICAgTS5zaG93KCk7Ci0gICAgICAgICAgICB2
YXIgb3RoZXIgPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24o
IiIsICJBbGFybSIsICJJdCdzIHRpbWUgdG8gd2FrZSB1cCEiKTsKLSAgICAgICAgICAgIG90aGVy
LnNob3coKTsKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMu
Y3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IHJlcGx5IiwgIkNvcnJlY3Rpb24sIDg6MTUiKTsK
LSAgICAgICAgICAgIE4ucmVwbGFjZUlkID0gIk5ld01haWwiOwotICAgICAgICAgICAgTi5zaG93
KCk7ICAgICAgICAgIAotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxwPlNob3dpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHJlcGxhY2UgSUQuLi48L3A+Ci08ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVz
dHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjog
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1s
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1MRgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURFU0tUT1Ag
Tk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiBmaWxlOi8vCi1SZXF1ZXN0aW5nIG5v
dGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IFBlcm1pc3Npb24gY2FsbGJhY2sgaW52
b2tlZC4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBl
cm1pc3Npb24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Np
b24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNiArMCwwIEBACi1Q
QVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIGlzIGRlZmluZWQuCi1QQVNTIHdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVx
dWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlv
bmFsLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1zaG91bGRCZURlZmluZWQoIndpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zIik7Ci1zaG91bGROb3RUaHJvdygid2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2
aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNiArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAg
ewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5j
dGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7
Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVy
ZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4g
PSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigKLSAgICAgICAg
ICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9r
ZWQuIik7IH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotICAgIDxwPlJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24uLi48
L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLTxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotCi08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1y
dGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJ0bC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9O
OihSVEwpIGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4
IQotU2hvd2luZyBhIG5vdGlmaWNhdGlvbiB3aXRoIGRpcmVjdGlvbiAicnRsIi4uLgotCi0KClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXJ0bC1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxl
CiMjIC0xICswLDAgIyMKLUxGClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXJ0bC5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM5ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7
Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1M
ICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0
aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBl
cm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykK
LSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
KSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGlu
dGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFy
IE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJO
ZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTS5kaXIg
PSAicnRsIjsKLSAgICAgICAgICAgIE0uc2hvdygpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNob3dpbmcgYSBub3RpZmljYXRpb24gd2l0aCBkaXJlY3Rp
b24gInJ0bCIuLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotICAgCi08c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLTwv
Ym9keT4KLTwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3Bl
cnR5CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1z
YW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyNCArMCwwIEBACi1Ob3JtYWwgaWZyYW1lLiBTaG91bGQgaW5oZXJpdCBw
ZXJtaXNzaW9ucy4KLQotCi1TYW5kYm94ZWQgaWZyYW1lLCB3aXRoIGFsbG93LXNhbWUtb3JpZ2lu
LiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy4KLQotCi1TYW5kYm94ZWQgaWZyYW1lLCB3aXRo
b3V0IGFsbG93LXNhbWUtb3JpZ2luLiBTaG91bGQgbm90IGluaGVyaXQgcGVybWlzc2lvbnMuCi0K
LQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicK
LS0tLS0tLS0tCi1BbGxvd2VkCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88
IS0tZnJhbWUxLS0+LS0+JwotLS0tLS0tLS0KLUFsbG93ZWQKLQotLS0tLS0tLS0KLUZyYW1lOiAn
PCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTItLT4tLT4nCi0tLS0tLS0tLQotRGVuaWVkCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBl
cm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAy
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJv
eC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwot
ICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8cD5Ob3JtYWwg
aWZyYW1lLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy48L3A+Ci0gICAgPGlmcmFtZSBzcmM9
InJlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sIj48L2lmcmFtZT4KLQotICAgIDxw
PlNhbmRib3hlZCBpZnJhbWUsIHdpdGggYWxsb3ctc2FtZS1vcmlnaW4uIFNob3VsZCBpbmhlcml0
IHBlcm1pc3Npb25zLjwvcD4KLSAgICA8aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMgYWxs
b3ctc2FtZS1vcmlnaW4iCi0gICAgICAgICAgICBzcmM9InJlc291cmNlcy9ub3RpZmljYXRpb25z
LWlmcmFtZS5odG1sIj48L2lmcmFtZT4KLQotICAgIDxwPlNhbmRib3hlZCBpZnJhbWUsIHdpdGhv
dXQgYWxsb3ctc2FtZS1vcmlnaW4uIFNob3VsZCBub3QgaW5oZXJpdCBwZXJtaXNzaW9ucy48L3A+
Ci0gICAgPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIgotICAgICAgICAgICAgc3JjPSJy
ZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbCI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSArMCwwIEBACi1UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIG1hbnVhbGx5
IGFuZCBjYW5ub3QgcnVuIGluc2lkZSBEdW1wUmVuZGVyVHJlZS4gUGFzc2VzIGlmIGl0IGRvZXMg
bm90IGNyYXNoIG9uIHJ1bm5pbmcgdGhlIHRlc3QgYWxvbmd3aXRoIHdpdGggYSBjb3VwbGUgb2Yg
cGFnZSByZWxvYWRzLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLmh0
bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MjMgKzAsMCBAQAotPGh0bWw+IA0KLSAgICA8aGVhZD4gDQotICAgICAgICA8c2NyaXB0PiANCi0g
ICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkNCi0gICAgICAgICAgICB7DQotICAgICAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCi0gICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOw0KLSAgICAgICAgICAgICAgICBlbHNlDQotICAgICAgICAgICAg
ICAgIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhciB3aW4gPSB3aW5kb3cub3BlbigiYWJvdXQ6
YmxhbmsiKTsNCi0gICAgICAgICAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSB3aW4ud2Vi
a2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycpOw0KLSAgICAgICAgICAgICAg
ICAgICAgbm90aWZpY2F0aW9uLnNob3coKTsNCi0gICAgICAgICAgICAgICAgICAgIHdpbi5jbG9z
ZSgpOw0KLSAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLmNhbmNlbCgpOw0KLSAgICAg
ICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgIDwvc2NyaXB0PiANCi0gICAg
PC9oZWFkPiANCi0gICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPiANCi0gICAgICAgIDxwPlRo
aXMgdGVzdCBuZWVkcyB0byBydW4gbWFudWFsbHkgYW5kIGNhbm5vdCBydW4gaW5zaWRlIER1bXBS
ZW5kZXJUcmVlLiBQYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2ggb24gcnVubmluZyB0aGUgdGVz
dCBhbG9uZ3dpdGggd2l0aCBhIGNvdXBsZSBvZiBwYWdlIHJlbG9hZHMuPC9wPg0KLSAgICA8L2Jv
ZHk+IA0KLTwvaHRtbD4NCi0NCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29u
IGh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQg
bWUgdG9uaWdodCBhdCA4IQotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4u
LgotCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXdpdGgtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13
aXRoLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQwICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3Nh
Z2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRl
c3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24o
ImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAg
bG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5n
IiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBN
Lm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfQotICAg
ICAgICAgICAgTS5zaG93KCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLSAg
ICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08
L3NjcmlwdD4KLQotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CkBAIC0xLDQgKzAsMCBAQAotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQgcGVybWlzc2lv
bi4uLgotCi1QQVNTOiBFeGNlcHRpb24gdGhyb3duLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Npb24uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13
aXRob3V0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5j
dGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAg
ICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIC8vIE5P
IFBFUk1JU1NJT04gdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykg
ewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRl
cmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHRyeSB7
Ci0gICAgICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVh
dGVOb3RpZmljYXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwi
LCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICAgICAgTi5zaG93KCk7Ci0g
ICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBTaG91bGQgaGF2ZSB0aHJvd24gc2VjdXJpdHkgZXhj
ZXB0aW9uLiIpOwotICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgIGxv
ZygiUEFTUzogRXhjZXB0aW9uIHRocm93bi4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMg
d2l0aG91dCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVl
c3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3Rp
ZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3Rp
ZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKQEAgLTEsMyArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgbm90aWZpY2F0aW9uIHBlcm1p
c3Npb24gcmVxdWVzdHMgZHVyaW5nIHBhZ2UgcmVsb2FkIGRvIG5vdCBjYXVzZSBhIGNyYXNoLgot
Ci1QQVNTOiBUZXN0IHBhc3NlZCBpZiB3ZSBzYXcgbm8gY3Jhc2guCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24t
cGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRl
ZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVl
c3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9u
LXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNz
aW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjcgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxwPlRoaXMgdGVzdHMgdGhhdCBub3RpZmljYXRpb24g
cGVybWlzc2lvbiByZXF1ZXN0cyBkdXJpbmcgcGFnZSByZWxvYWQgZG8gbm90IGNhdXNlIGEgY3Jh
c2guPC9wPgotPHAgaWQ9Im1lc3NhZ2UiPkZBSUw6IFRlc3QgZGlkIG5vdCBydW4gdG8gY29tcGxl
dGlvbiB5ZXQuPC9wPgotPHNjcmlwdD4KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci19Ci0KLXZhciB0cmllcyA9IGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpID4+PiAwOwotaWYg
KHRyaWVzIDwgMTApIHsKLSAgICBsb2NhdGlvbi5oYXNoID0gIiMiICsgKHRyaWVzICsgMSk7Ci0g
ICAgbG9jYXRpb24ucmVsb2FkKCk7Ci0KLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB3ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCk7Ci0gICAgfSwgMCk7
Ci19IGVsc2UgewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtZXNzYWdlIikudGV4dENv
bnRlbnQgPSAiUEFTUzogVGVzdCBwYXNzZWQgaWYgd2Ugc2F3IG5vIGNyYXNoLiI7Ci0gICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2JvZHk+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1y
ZWxvYWRpbmcuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAs
MCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKRGVsZXRlZDogc3Zu
Om1pbWUtdHlwZQojIyAtMSArMCwwICMjCi10ZXh0L2h0bWwKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNl
cy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlv
bnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjggKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0g
ICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBwYXJl
bnQuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0
cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmlnbm9yZUxlZ2FjeVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0cygpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5y
ZXF1ZXN0UGVybWlzc2lvbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJGQUlM
OiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuIik7IH0KLSAgICAgICAgICAgICk7Ci0KLSAg
ICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0cygp
OyI+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFt
ZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHRpdGxl
Pk5vdGlmaWNhdGlvbnM6IElmcmFtZSB0ZXN0LjwvdGl0bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAg
ICA8cCBpZD0iaGFzUGVybWlzc2lvbiI+PC9wPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJoYXNQZXJtaXNzaW9uIikuaW5uZXJUZXh0ID0KLSAgICAgICAg
ICAgICF3ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpID8gIkFsbG93ZWQiIDog
IkRlbmllZCI7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJl
cXVlc3QtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNz
aW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHBhcmVudC5kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAg
ICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaWdub3JlTGVnYWN5V2ViTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKAotICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKCkgeyBsb2coIkZBSUw6IFBlcm1pc3Npb24gY2FsbGJhY2sgaW52
b2tlZC4iKTsgfQotICAgICAgICAgICAgKTsKLQotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KLTwvYm9keT4KLTwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9u
cy1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDIxNjAwMikK
KysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9u
cy1pZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8dGl0bGU+Tm90aWZpY2F0aW9uczogSWZyYW1lIHRl
c3QuPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxwIGlkPSJoYXNQZXJtaXNzaW9uIj48
L3A+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhhc1Bl
cm1pc3Npb24iKS5pbm5lclRleHQgPQotICAgICAgICAgICAgIXdlYmtpdE5vdGlmaWNhdGlvbnMu
Y2hlY2tQZXJtaXNzaW9uKCkgPyAiQWxsb3dlZCIgOiAiRGVuaWVkIjsKLSAgICA8L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xLDExICswLDAgQEAKLVNlbmRpbmcgZG91YmxlLXNob3cgbm90aWZpY2F0aW9uLi4uCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zIGlzIGRlZmluZWQuCi1QQVNTIG9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZAotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVn
YWN5L2RvdWJsZS1zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
bm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci1kZXNjcmlwdGlvbigiU2VuZGluZyBkb3VibGUtc2hvdyBub3RpZmljYXRpb24u
Li4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5ncmFudFdl
Yk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Ci19Ci0KLXNob3VsZEJlRGVmaW5lZCgid2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMiKTsKLQotdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmlj
YXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBt
ZSB0b25pZ2h0IGF0IDghIik7Ci1OLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotICAgIHRlc3RQ
YXNzZWQoIm9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZCIpOwotICAgIHRlc3RDb21wbGV0
ZWQoKTsKLX07Ci1OLnNob3coKTsKLU4uc2hvdygpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9ldmVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNwYXRj
aCBvZiB0aGUgZXZlbnQgaGFuZGxlcnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQot
Ci1HcmFudGluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotUEFTUyB3ZWJr
aXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2
ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBvbmNsaWNrIGV2ZW50IGhhbmRsZXIgd2FzIGNh
bGxlZAotUEFTUyBvbmNsb3NlIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRt
bAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQl0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLQotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRp
c3BhdGNoIG9mIHRoZSBldmVudCBoYW5kbGVycy4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRlc3RS
dW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotfQotCi1zaG91
bGRCZSgid2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7Ci0KLXZh
ciBuID0gd2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJ0aXRsZSIs
ICJib2R5Iik7Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9uZGlz
cGxheSBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0ZXN0UnVubmVyLnNpbXVsYXRlV2Vi
Tm90aWZpY2F0aW9uQ2xpY2sodGhpcyk7Ci19Owotbi5vbmNsaWNrID0gZnVuY3Rpb24oKSB7Ci0J
dGVzdFBhc3NlZCgib25jbGljayBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0aGlzLmNh
bmNlbCgpOwotfTsKLW4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9uY2xv
c2UgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfTsKLW4u
b25lcnJvciA9IGZ1bmN0aW9uKCkgewotCXRlc3RGYWlsZWQoIm9uZXJyb3IgZXZlbnQgaGFuZGxl
ciBzaG91bGQgbm90IGJlIGNhbGxlZCIpOwotCXRlc3RDb21wbGV0ZWQoKTsKLX07Ci1uLnNob3co
KTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRo
ZW4tbmF2aWdhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAot
bWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKLVRlc3RzIHRoYXQgd2UgYXJl
IG5vdCBjcmFzaGluZyB3aGVuIGEgcGVybWlzc2lvbiByZXF1ZXN0IGlzIGFuc3dlcmVkIGFmdGVy
IG5hdmlnYXRpbmcKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGhpcyB0
ZXN0IGRpZCBub3QgY3Jhc2gKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKHJl
dmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBhcmUgbm90IGNyYXNoaW5nIHdoZW4gYSBwZXJtaXNzaW9u
IHJlcXVlc3QgaXMgYW5zd2VyZWQgYWZ0ZXIgbmF2aWdhdGluZyIpOwotanNUZXN0SXNBc3luYyA9
IHRydWU7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgdGVzdFJ1bm5lci5zZXRDYW5PcGVu
V2luZG93cygpOwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9u
KGV2ZW50KQotewotICB0ZXN0UGFzc2VkKCJUaGlzIHRlc3QgZGlkIG5vdCBjcmFzaCIpOwotICB0
YXJnZXQuY2xvc2UoKTsKLSAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLQotZnVuY3Rpb24gcnVuVGVz
dCgpCi17Ci0gIHRhcmdldCA9IHdpbmRvdy5vcGVuKCdyZXNvdXJjZXMvcmVxdWVzdC1wZXJtaXNz
aW9uLXRoZW4tbmF2aWdhdGUuaHRtbCcpOwotfQotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuCi0KLU9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KLQotCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBkZWZhdWx0IHBlcm1p
c3Npb24KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkg
aXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBp
cyAwCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uCi1Q
QVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDIKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2Fs
bGJhY2stZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxNSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVxdWVzdGluZyBwZXJtaXNzaW9u
IHdpdGhvdXQgYSBjYWxsYmFjayB3b3Jrcy4gVGhpcyBzdXBwb3J0cyBsZWdhY3kgQVBJLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGgg
ZGVmYXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNr
UGVybWlzc2lvbigpIGlzIDEKLVBBU1Mgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlz
c2lvbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdp
dGggbm9uLWRlZmF1bHQgcGVybWlzc2lvbgotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cy5jaGVja1Blcm1pc3Npb24oKSBpcyAyCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVz
dFBlcm1pc3Npb24oKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jl
cXVlc3Qtbm8tY2FsbGJhY2suaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRo
b3V0IGEgY2FsbGJhY2sgd29ya3MuIFRoaXMgc3VwcG9ydHMgbGVnYWN5IEFQSS4iKTsKLQotZnVu
Y3Rpb24gc3RlcDEoKSB7Ci0gICAgZGVidWcoIlJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIGRl
ZmF1bHQgcGVybWlzc2lvbiIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIxIik7Ci0gICAgc2hvdWxkTm90VGhyb3coIndlYmtp
dE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotICAgIHNldFRpbWVvdXQoc3Rl
cDIsIDApOwotfQotCi1mdW5jdGlvbiBzdGVwMigpIHsKLSAgICB0ZXN0UnVubmVyLmRlbnlXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIGRlYnVnKCJSZXF1ZXN0aW5nIHBl
cm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsKLSAgICBz
aG91bGROb3RUaHJvdygid2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIik7
Ci0gICAgdGVzdENvbXBsZXRlZCgpOwotfQotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBzdGVwMSgpOwotfQotPC9zY3JpcHQ+
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVl
c3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3JlcXVlc3QuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSwzMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25v
dGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlzc2lvbiBpcyBtYWRlLiIpOwot
Ci1mdW5jdGlvbiBzdGVwMSgpIHsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdp
dGggZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKLSAgICB3ZWJraXROb3RpZmljYXRp
b25zLnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgewotICAgICAgICBzaG91bGRCZSgid2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMCIpOwotICAgICAg
ICBzZXRUaW1lb3V0KHN0ZXAyLCAwKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gc3RlcDIoKSB7
Ci0gICAgdGVzdFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0VVJMKTsK
LSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRlZmF1bHQgcGVybWlz
c2lvbiIpOwotICAgIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVj
a1Blcm1pc3Npb24oKSIsICIyIik7Ci0gICAgICAgIHRlc3RDb21wbGV0ZWQoKTsKLSAgICB9KTsK
LX0KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0gICAgc3RlcDEoKTsKLX0KLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25l
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0bWwJKHJldmlzaW9uIDIxNjAw
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3Vy
Y2VzL25vdGlmeS1vcGVuZXItZG9uZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1vcGVuZXIucG9zdE1lc3NhZ2UoIkRPTkUiLCAn
KicpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiByZXF1ZXN0UGVybWlzc2lvbigpCi17Ci0gIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgeyB9KTsKLX0KLQotd2luZG93Lm9udW5sb2Fk
ID0gcmVxdWVzdFBlcm1pc3Npb247Ci13aW5kb3cubG9jYXRpb24gPSAibm90aWZ5LW9wZW5lci1k
b25lLmh0bWwiCi08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xl
Z2FjeS9zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIwICswLDAgQEAKLVRo
aXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBvbnNob3cgZXZlbnQgaGFuZGxl
ci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsgdGhy
ZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3IgKERPTSBFeGNlcHRpb24gMTgpOiBUaGUgb3BlcmF0
aW9uIGlzIGluc2VjdXJlLi4KLUdyYW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAu
MTo4MDAwCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigp
IGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyB0aGlz
Lm9uZGlzcGxheSBpcyB0aGlzLm9uc2hvdwotRGVueWluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAyCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlm
aWNhdGlvbignJywgJ3RpdGxlIDMnLCAnYm9keScpOyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlF
cnJvciAoRE9NIEV4Y2VwdGlvbiAxOCk6IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUuLgotUmVz
ZXR0aW5nIGFsbCBwZXJtaXNzaW9ucwotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5j
aGVja1Blcm1pc3Npb24oKSBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9zaG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi1kZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBo
YW5kbGVyLiIpOwotCi12YXIgbiA9IG51bGw7Ci1mdW5jdGlvbiBwYXJ0MSgpIHsKLQlzaG91bGRC
ZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMSIpOwot
CXNob3VsZFRocm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRp
b24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsiKTsKLQlzZXRUaW1lb3V0KHBhcnQyLCAwKTsKLX0K
LQotZnVuY3Rpb24gcGFydDIoKSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiAr
IHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRl
c3RVUkwpOwotCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSIsICIwIik7Ci0KLQluID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRl
Tm90aWZpY2F0aW9uKCIiLCAidGl0bGUgMiIsICJib2R5Iik7Ci0Jbi5vbmRpc3BsYXkgPSBmdW5j
dGlvbigpIHsKLQkJdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxl
ZCIpOwotCQlzaG91bGRCZSgidGhpcy5vbmRpc3BsYXkiLCAidGhpcy5vbnNob3ciKTsKLQkJc2V0
VGltZW91dChwYXJ0MywgMCk7Ci0JfTsKLQluLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLQkJdGVz
dEZhaWxlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIik7Ci0J
CXNldFRpbWVvdXQocGFydDMsIDApOwotCX07Ci0Jbi5zaG93KCk7Ci19Ci0KLWZ1bmN0aW9uIHBh
cnQzKCkgewotCWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRl
c3RSdW5uZXIuZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0Jc2hvdWxk
QmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsK
LQlzaG91bGRUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCcnLCAndGl0bGUgMycsICdib2R5Jyk7Iik7Ci0Jc2V0VGltZW91dChwYXJ0NCwgMCk7Ci19
Ci0KLWZ1bmN0aW9uIHBhcnQ0KCkgewotCWRlYnVnKCJSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25z
Iik7Ci0JdGVzdFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwot
CXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIs
ICIxIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfQotCi1wYXJ0MSgpOwotPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93
LW9uLWNsaWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9w
ZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24u
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlv
bnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAotUEFTUyBjbGlja2luZyBvbiBub3RpZmljYXRpb24g
c3VjY2Vzc2Z1bGx5IG9wZW5lZCBhIHdpbmRvdwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93
LW9uLWNsaWNrLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNz
aW9uKHRlc3RVUkwpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3ModHJ1ZSk7Ci0g
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNs
aWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24uIik7Ci0KLXNob3VsZEJlKCJ3ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLXZhciBuID0gd2Via2l0Tm90aWZp
Y2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICIiLCAiIik7Ci1uLm9uZGlzcGxheSA9IGZ1
bmN0aW9uKCkgewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHRoaXMpOwotfTsKLW4ub25jbGljayA9IGZ1
bmN0aW9uKCkgewotICAgIHdpbmRvdy5vcGVuKCcvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvd2lu
ZG93LXNob3ctb24tY2xpY2suaHRtbCcpOwotfTsKLW4uc2hvdygpOwotCi1mdW5jdGlvbiBvbldp
bmRvd09wZW4oKSB7Ci0gICAgdGVzdFBhc3NlZCgnY2xpY2tpbmcgb24gbm90aWZpY2F0aW9uIHN1
Y2Nlc3NmdWxseSBvcGVuZWQgYSB3aW5kb3cnKTsKLSAgICB0ZXN0Q29tcGxldGVkKCk7Ci19Ci08
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L2RvdWJsZS1zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICsw
LDAgQEAKLVNlbmRpbmcgZG91YmxlLXNob3cgbm90aWZpY2F0aW9uLi4uCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIGlzIGRl
ZmluZWQuCi1QQVNTIG9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZAotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJs
ZS1zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0
aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci1kZXNjcmlwdGlvbigiU2VuZGluZyBkb3VibGUtc2hvdyBub3RpZmljYXRpb24uLi4iKTsKLQot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNh
dGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci19Ci0KLXNob3VsZEJlRGVmaW5lZCgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMiKTsKLQot
dmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0
dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0
IGF0IDghIik7Ci1OLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotICAgIHRlc3RQYXNzZWQoIm9u
ZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZCIpOwotICAgIHRlc3RDb21wbGV0ZWQoKTsKLX07
Ci1OLnNob3coKTsKLU4uc2hvdygpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNwYXRjaCBvZiB0aGUg
ZXZlbnQgaGFuZGxlcnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1HcmFudGlu
ZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotUEFTUyB3ZWJraXROb3RpZmlj
YXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRs
ZXIgd2FzIGNhbGxlZAotUEFTUyBvbmNsaWNrIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFT
UyBvbmNsb3NlIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRtbAkocmV2aXNp
b24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQl0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLQotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9m
IHRoZSBldmVudCBoYW5kbGVycy4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0JZGVi
dWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZ3Jh
bnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotfQotCi1zaG91bGRCZSgid2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7Ci0KLXZhciBuID0gd2Vi
a2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJ0aXRsZSIsICJib2R5Iik7
Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9uZGlzcGxheSBldmVu
dCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0ZXN0UnVubmVyLnNpbXVsYXRlV2ViTm90aWZpY2F0
aW9uQ2xpY2sodGhpcyk7Ci19Owotbi5vbmNsaWNrID0gZnVuY3Rpb24oKSB7Ci0JdGVzdFBhc3Nl
ZCgib25jbGljayBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0aGlzLmNhbmNlbCgpOwot
fTsKLW4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9uY2xvc2UgZXZlbnQg
aGFuZGxlciB3YXMgY2FsbGVkIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfTsKLW4ub25lcnJvciA9
IGZ1bmN0aW9uKCkgewotCXRlc3RGYWlsZWQoIm9uZXJyb3IgZXZlbnQgaGFuZGxlciBzaG91bGQg
bm90IGJlIGNhbGxlZCIpOwotCXRlc3RDb21wbGV0ZWQoKTsKLX07Ci1uLnNob3coKTsKLTwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9u
b3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdh
dGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotbWFpbiBmcmFt
ZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKLVRlc3RzIHRoYXQgd2UgYXJlIG5vdCBjcmFz
aGluZyB3aGVuIGEgcGVybWlzc2lvbiByZXF1ZXN0IGlzIGFuc3dlcmVkIGFmdGVyIG5hdmlnYXRp
bmcKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGhpcyB0ZXN0IGRpZCBu
b3QgY3Jhc2gKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L25v
dGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZp
Y2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKHJldmlzaW9uIDIx
NjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90
aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigi
VGVzdHMgdGhhdCB3ZSBhcmUgbm90IGNyYXNoaW5nIHdoZW4gYSBwZXJtaXNzaW9uIHJlcXVlc3Qg
aXMgYW5zd2VyZWQgYWZ0ZXIgbmF2aWdhdGluZyIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygp
OwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGV2ZW50KQot
ewotICB0ZXN0UGFzc2VkKCJUaGlzIHRlc3QgZGlkIG5vdCBjcmFzaCIpOwotICB0YXJnZXQuY2xv
c2UoKTsKLSAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0g
IHRhcmdldCA9IHdpbmRvdy5vcGVuKCdyZXNvdXJjZXMvcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4t
bmF2aWdhdGUuaHRtbCcpOwotfQotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBy
ZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBkZWZhdWx0IHBlcm1pc3Npb24KLVBB
U1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFT
UyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAwCi1SZXF1
ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDIKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2stZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIx
NjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVx
dWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNSArMCww
IEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGhvdXQg
YSBjYWxsYmFjayB3b3Jrcy4gVGhpcyBzdXBwb3J0cyBsZWdhY3kgQVBJLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggZGVmYXVsdCBw
ZXJtaXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lv
bigpIGlzIDEKLVBBU1Mgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRl
ZmF1bHQgcGVybWlzc2lvbgotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Bl
cm1pc3Npb24oKSBpcyAyCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Np
b24oKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8t
Y2FsbGJhY2suaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRob3V0IGEgY2Fs
bGJhY2sgd29ya3MuIFRoaXMgc3VwcG9ydHMgbGVnYWN5IEFQSS4iKTsKLQotZnVuY3Rpb24gc3Rl
cDEoKSB7Ci0gICAgZGVidWcoIlJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIGRlZmF1bHQgcGVy
bWlzc2lvbiIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVj
a1Blcm1pc3Npb24oKSIsICIxIik7Ci0gICAgc2hvdWxkTm90VGhyb3coIndlYmtpdE5vdGlmaWNh
dGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotICAgIHNldFRpbWVvdXQoc3RlcDIsIDApOwot
fQotCi1mdW5jdGlvbiBzdGVwMigpIHsKLSAgICB0ZXN0UnVubmVyLmRlbnlXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIGRlYnVnKCJSZXF1ZXN0aW5nIHBlcm1pc3Npb24g
d2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsKLSAgICBzaG91bGROb3RU
aHJvdygid2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIik7Ci0gICAgdGVz
dENvbXBsZXRlZCgpOwotfQotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBzdGVwMSgpOwotfQotPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3JlcXVlc3QuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlv
bnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlzc2lvbiBpcyBtYWRlLiIpOwotCi1mdW5jdGlv
biBzdGVwMSgpIHsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggZGVmYXVs
dCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LmNoZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKLSAgICB3ZWJraXROb3RpZmljYXRpb25zLnJlcXVl
c3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgewotICAgICAgICBzaG91bGRCZSgid2luZG93LndlYmtp
dE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMCIpOwotICAgICAgICBzZXRUaW1l
b3V0KHN0ZXAyLCAwKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gc3RlcDIoKSB7Ci0gICAgdGVz
dFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0VVJMKTsKLSAgICBkZWJ1
ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRlZmF1bHQgcGVybWlzc2lvbiIpOwot
ICAgIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Np
b24oKSIsICIyIik7Ci0gICAgICAgIHRlc3RDb21wbGV0ZWQoKTsKLSAgICB9KTsKLX0KLQotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgc3RlcDEoKTsKLX0KLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9y
ZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzL25vdGlm
eS1vcGVuZXItZG9uZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxzY3JpcHQ+Ci1vcGVuZXIucG9zdE1lc3NhZ2UoIkRPTkUiLCAnKicpOwotPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3Vy
Y2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKHJldmlzaW9uIDIxNjAw
MikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3Vy
Y2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiByZXF1
ZXN0UGVybWlzc2lvbigpCi17Ci0gIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQ
ZXJtaXNzaW9uKGZ1bmN0aW9uKCkgeyB9KTsKLX0KLQotd2luZG93Lm9udW5sb2FkID0gcmVxdWVz
dFBlcm1pc3Npb247Ci13aW5kb3cubG9jYXRpb24gPSAibm90aWZ5LW9wZW5lci1kb25lLmh0bWwi
Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvc2hvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIwICswLDAgQEAKLVRoaXMgdGVzdCBs
b29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBvbnNob3cgZXZlbnQgaGFuZGxlci4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsgdGhyZXcgZXhjZXB0
aW9uIFNlY3VyaXR5RXJyb3IgKERPTSBFeGNlcHRpb24gMTgpOiBUaGUgb3BlcmF0aW9uIGlzIGlu
c2VjdXJlLi4KLUdyYW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCi1Q
QVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBB
U1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyB0aGlzLm9uZGlzcGxh
eSBpcyB0aGlzLm9uc2hvdwotRGVueWluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBp
cyAyCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbign
JywgJ3RpdGxlIDMnLCAnYm9keScpOyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvciAoRE9N
IEV4Y2VwdGlvbiAxOCk6IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUuLgotUmVzZXR0aW5nIGFs
bCBwZXJtaXNzaW9ucwotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9zaG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sCShub25leGlzdGVudCkK
QEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3Rp
ZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi1kZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBoYW5kbGVyLiIp
OwotCi12YXIgbiA9IG51bGw7Ci1mdW5jdGlvbiBwYXJ0MSgpIHsKLQlzaG91bGRCZSgid2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMSIpOwotCXNob3VsZFRo
cm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0
aXRsZSAxJywgJ2JvZHknKTsiKTsKLQlzZXRUaW1lb3V0KHBhcnQyLCAwKTsKLX0KLQotZnVuY3Rp
b24gcGFydDIoKSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwp
OwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwot
CXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIs
ICIwIik7Ci0KLQluID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCIiLCAidGl0bGUgMiIsICJib2R5Iik7Ci0Jbi5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsK
LQkJdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZCIpOwotCQlz
aG91bGRCZSgidGhpcy5vbmRpc3BsYXkiLCAidGhpcy5vbnNob3ciKTsKLQkJc2V0VGltZW91dChw
YXJ0MywgMCk7Ci0JfTsKLQluLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLQkJdGVzdEZhaWxlZCgi
b25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIik7Ci0JCXNldFRpbWVv
dXQocGFydDMsIDApOwotCX07Ci0Jbi5zaG93KCk7Ci19Ci0KLWZ1bmN0aW9uIHBhcnQzKCkgewot
CWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRlc3RSdW5uZXIu
ZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0Jc2hvdWxkQmUoIndpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsKLQlzaG91bGRU
aHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnLCAn
dGl0bGUgMycsICdib2R5Jyk7Iik7Ci0Jc2V0VGltZW91dChwYXJ0NCwgMCk7Ci19Ci0KLWZ1bmN0
aW9uIHBhcnQ0KCkgewotCWRlYnVnKCJSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25zIik7Ci0JdGVz
dFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwotCXNob3VsZEJl
KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIxIik7Ci0J
dGVzdENvbXBsZXRlZCgpOwotfQotCi1wYXJ0MSgpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNr
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93
cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24uCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQ
ZXJtaXNzaW9uKCkgaXMgMAotUEFTUyBjbGlja2luZyBvbiBub3RpZmljYXRpb24gc3VjY2Vzc2Z1
bGx5IG9wZW5lZCBhIHdpbmRvdwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNr
Lmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZp
Y2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewotICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RV
UkwpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3ModHJ1ZSk7Ci0gICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBh
IG5hdGl2ZSBub3RpZmljYXRpb24uIik7Ci0KLXNob3VsZEJlKCJ3ZWJraXROb3RpZmljYXRpb25z
LmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLXZhciBuID0gd2Via2l0Tm90aWZpY2F0aW9ucy5j
cmVhdGVOb3RpZmljYXRpb24oIiIsICIiLCAiIik7Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkg
ewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0
ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHRoaXMpOwotfTsKLW4ub25jbGljayA9IGZ1bmN0aW9uKCkg
ewotICAgIHdpbmRvdy5vcGVuKCcvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvd2luZG93LXNob3ct
b24tY2xpY2suaHRtbCcpOwotfTsKLW4uc2hvdygpOwotCi1mdW5jdGlvbiBvbldpbmRvd09wZW4o
KSB7Ci0gICAgdGVzdFBhc3NlZCgnY2xpY2tpbmcgb24gbm90aWZpY2F0aW9uIHN1Y2Nlc3NmdWxs
eSBvcGVuZWQgYSB3aW5kb3cnKTsKLSAgICB0ZXN0Q29tcGxldGVkKCk7Ci19Ci08L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3Vy
Y2VzL25vdGlmeS1vcGVuZXItZG9uZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzL25vdGlmeS1vcGVuZXItZG9u
ZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9ub3RpZnktb3BlbmVyLWRvbmUuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0Pgotb3BlbmVy
LnBvc3RNZXNzYWdlKCJET05FIiwgJyonKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvcmVxdWVzdC1wZXJtaXNz
aW9uLXRoZW4tbmF2aWdhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhl
bi1uYXZpZ2F0ZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhl
bi1uYXZpZ2F0ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08c2NyaXB0PgotZnVuY3Rpb24gcmVxdWVzdFBlcm1pc3Npb24oKQotewotICB3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbihmdW5jdGlvbigpIHsgfSk7
Ci19Ci0KLXdpbmRvdy5vbnVubG9hZCA9IHJlcXVlc3RQZXJtaXNzaW9uOwotd2luZG93LmxvY2F0
aW9uID0gIm5vdGlmeS1vcGVuZXItZG9uZS5odG1sIgotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE2MDAyKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkK
QEAgLTE2MiwxOSArMTYyLDkgQEAgd2Via2l0Lm9yZy9iLzk4OTI3IGZhc3QvZG9tL0RldmljZU1v
dGlvbgogd2Via2l0Lm9yZy9iLzk4OTI3IGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uIFsgU2tp
cCBdCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNjk3IFNr
aXAgZmlsZTovLyBiYXNlZCBub3RpZmljYXRpb25zIHRlc3RzCi1mYXN0L25vdGlmaWNhdGlvbnMK
IGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRt
bAogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwK
IAotIyB3ZSBkbyBub3QgZW5hYmxlIGxlZ2FjeSBub3RpZmljYXRpb25zCi1odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwKLWh0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sCi1odHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAotaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9ldmVudHMuaHRtbAotaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9z
aG93Lmh0bWwKLWh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRt
bAotaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1w
ZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAotCiAjIERhdGFsaXN0IGlzIG5vdCB5ZXQgZW5h
YmxlZC4KIHdlYmtpdC5vcmcvYi85ODkzNCBmYXN0L2Zvcm1zL2RhdGFsaXN0IFsgU2tpcCBdCiAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lv
biAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwko
d29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMv
ZGV2aWNlLXByb3hpbWl0CiBwcmludGluZwogCiAjIFdlYiBOb3RpZmljYXRpb25zIGFyZSBub3Qg
c3VwcG9ydGVkIG9uIGlPUy4KLWZhc3Qvbm90aWZpY2F0aW9ucwogaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zCiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRh
YmxlLmh0bWwKIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJs
ZS5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDYgQEAgZmFzdC9ldmVudHMvYXR0ZW1w
dC1zY3JvbGwtd2l0aC1uby1zY3JvbAogIyBQaXhlbCB0ZXN0IGRvZXNuJ3QgcmVwYWludCBlbnRp
cmUgdmlldyBzbyByZXN1bHQgaXMgY29ycnVwdGVkIGJ5IHByZXZpb3VzIHRlc3QKIHdlYmtpdC5v
cmcvYi8yMTkxNiB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzE3ODg1
NS54bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgRmFpbHVyZSBdCiAKLSMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNjk3IFNraXAgZmlsZTovLyBiYXNlZCBub3Rp
ZmljYXRpb25zIHRlc3RzCi1mYXN0L25vdGlmaWNhdGlvbnMKLQogIyBUaGlzIHBvcnQgZG9lc24n
dCBzdXBwb3J0IGRldGVjdGluZyBzbG93IHVubG9hZCBoYW5kbGVycy4KIGZhc3QvZG9tL1dpbmRv
dy9zbG93LXVubG9hZC1oYW5kbGVyLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1o
YW5kbGVyLW9ubHktZnJhbWUtaXMtc3RvcHBlZC5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw3
ICsxNDQsNiBAQCBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhCiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi8gWyBTa2lwIF0KIAogIyBUT0RPIFRoaXMgcG9ydCBkb2Vzbid0IHN1
cHBvcnQgTm90aWZpY2F0aW9ucy4KLWZhc3Qvbm90aWZpY2F0aW9ucy8gWyBTa2lwIF0KIGh0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy8gWyBTa2lwIF0KIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5v
dGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbCBbIFNraXAgXQogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308706</attachid>
            <date>2017-04-30 19:13:47 -0700</date>
            <delta_ts>2017-05-01 12:05:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171487-20170430191327.patch</filename>
            <type>text/plain</type>
            <size>250522</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE3LTA0LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVt
b3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorICAgICAgICBSZW1vdmUgZGVmaW5pdGlvbiBvZiBFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMuCisKIDIwMTctMDQtMzAgIE9sZWtzYW5kciBTa2FjaGtvdiAgPGdza2Fj
aGtvdkBnbWFpbC5jb20+CiAKICAgICAgICAgV2UgaW5pdGlhbGl6ZSBmdW5jdGlvbnMgdG9vIGVh
cmx5IGluIGFuIGV2YWwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIx
NjAwMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEzOSw2IEBAIEVOQUJMRV9L
RVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsKIEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUzsK
IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdB
Q1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TW3Nkaz1tYWNv
c3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVUVEVS
UFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwogRU5BQkxFX0xJTktfUFJF
RkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9O
T1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfTk8gPSBFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfWUVTID0gOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVF
U1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9P
QlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tF
WV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV1RG
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA0LTMwICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9y
IGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorICAgICAgICBSZW1vdmUgZGVm
aW5pdGlvbiBvZiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMuCisKIDIwMTctMDQtMjkgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgTW92ZSBXZWJD
b3JlIENQVVRpbWUgdG8gV1RGIGFuZCBpbXBsZW1lbnQgaXQgaW4gYWxsIHRoZSBwbGF0Zm9ybXMK
SW5kZXg6IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNl
L1dURi93dGYvRmVhdHVyZURlZmluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTM4LDEwICs1Mzgs
NiBAQCB0aGUgcHVibGljIGlPUyBTREsuIFdlIHdpbGwgYWxzbyBuZWVkIHRvCiAjZGVmaW5lIEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBIDAKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKQotI2RlZmluZSBFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykKICNkZWZpbmUgRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgMAogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0MSBAQAorMjAxNy0wNC0zMCAgU2FtIFdlaW5p
ZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kg
Tm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgIFJlbW92ZSBmaWxlcy4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICBSZW1vdmUgZGVmaW5pdGlv
biBvZiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMuCisKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICBSZW1vdmUgSURMIGZpbGVzLgorCisgICAgICAgICogTW9kdWxl
cy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwOiBSZW1vdmVkLgorICAg
ICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmg6IFJl
bW92ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNh
dGlvbnMuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgICogTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAq
IE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmg6CisgICAgICAg
ICogTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2Jh
bFNjb3BlTm90aWZpY2F0aW9ucy5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsOiBSZW1vdmVkLgorICAg
ICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOgorICAgICAgICAq
IE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAqIE1vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICBSZW1vdmUgY29kZSBsZWdhY3kgTm90aWZp
Y2F0aW9uIGNvZGUuIFJlcGxhY2UgdXNlIG9mIE5vdGlmaWNhdGlvbkNlbnRlciB3aXRoIGRpcmVj
dAorICAgICAgICBjYWxscyB0byB0aGUgTm90aWZpY2F0aW9uQ2xpZW50LgorCiAyMDE3LTA0LTMw
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBzdXBwb3J0
IGZvciBsZWdhY3kgQ2xpZW50UmVjdCAvIENsaWVudFJlY3RMaXN0CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTI2MSwxMSArMjYxLDggQEAgc2V0KFdlYkNvcmVfTk9OX1NW
R19JRExfRklMRVMKIAogICAgIE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRv
ckNvbnRlbnRVdGlscy5pZGwKIAotICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dO
b3RpZmljYXRpb25zLmlkbAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsCi0gICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKICAg
ICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlk
bAotICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlv
bnMuaWRsCiAKICAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5pZGwK
IApAQCAtOTgyLDExICs5NzksOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBNb2R1bGVz
L25hdmlnYXRvcmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwCiAKLSAgICBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAKICAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAotICAgIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCi0gICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtl
ckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAKIAogICAgIE1vZHVsZXMvcHJveGltaXR5L0Rl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwCiAgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNl
UHJveGltaXR5RXZlbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJl
dmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdv
cmtpbmcgY29weSkKQEAgLTIwMiwxMSArMjAyLDggQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTaWduYWxpbmdTdGF0ZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2ZW50LmlkbCBcCi0g
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9u
cy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNlbnRlci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9u
b3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3F1b3RhL05hdmlnYXRvclN0b3JhZ2VRdW90YS5pZGwgXApJbmRl
eDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNyAr
MTM5LDYgQEAgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgPSBFTkFCTEVfSwogRU5BQkxF
X0tFWUJPQVJEX0NPREVfQVRUUklCVVRFID0gRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRF
OwogRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUFbc2RrPW1hY29z
eCpdID0gRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE7Ci1FTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TOwogRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UzsKIEVOQUJMRV9MRVRURVJQUkVTU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfTEVUVEVSUFJFU1M7
CiBFTkFCTEVfTElOS19QUkVGRVRDSCA9IDsKQEAgLTI1NSw0ICsyNTQsNCBAQCBFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTX0lGX05PVF8gPSAkKEVOQUJMCiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lG
X05PVF9OTyA9IEVOQUJMRV9WQVJJQVRJT05fRk9OVFM7CiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
X0lGX05PVF9ZRVMgPSA7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBU
VVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05J
RkYpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBM
RV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVf
RkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9F
VkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3Rp
ZmljYXRpb25zLmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwCShub25leGlzdGVudCkK
QEAgLTEsMTI3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgs
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAy
MDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0jaW5jbHVkZSAiRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oIgotCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9u
Q2VudGVyLmgiCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgotI2luY2x1ZGUg
IlBhZ2UuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1ET01XaW5kb3dOb3RpZmljYXRpb25z
OjpET01XaW5kb3dOb3RpZmljYXRpb25zKERPTVdpbmRvdyogd2luZG93KQotICAgIDogRE9NV2lu
ZG93UHJvcGVydHkod2luZG93LT5mcmFtZSgpKQotICAgICwgbV93aW5kb3cod2luZG93KQotewot
fQotCi1ET01XaW5kb3dOb3RpZmljYXRpb25zOjp+RE9NV2luZG93Tm90aWZpY2F0aW9ucygpCi17
Ci19Ci0KLWNvbnN0IGNoYXIqIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OnN1cHBsZW1lbnROYW1l
KCkKLXsKLSAgICByZXR1cm4gIkRPTVdpbmRvd05vdGlmaWNhdGlvbnMiOwotfQotCi1ET01XaW5k
b3dOb3RpZmljYXRpb25zKiBET01XaW5kb3dOb3RpZmljYXRpb25zOjpmcm9tKERPTVdpbmRvdyog
d2luZG93KQotewotICAgIERPTVdpbmRvd05vdGlmaWNhdGlvbnMqIHN1cHBsZW1lbnQgPSBzdGF0
aWNfY2FzdDxET01XaW5kb3dOb3RpZmljYXRpb25zKj4oU3VwcGxlbWVudDxET01XaW5kb3c+Ojpm
cm9tKHdpbmRvdywgc3VwcGxlbWVudE5hbWUoKSkpOwotICAgIGlmICghc3VwcGxlbWVudCkgewot
ICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPERPTVdpbmRvd05v
dGlmaWNhdGlvbnM+KHdpbmRvdyk7Ci0gICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50
LmdldCgpOwotICAgICAgICBwcm92aWRlVG8od2luZG93LCBzdXBwbGVtZW50TmFtZSgpLCBXVEZN
b3ZlKG5ld1N1cHBsZW1lbnQpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHN1cHBsZW1lbnQ7Ci19Ci0K
LU5vdGlmaWNhdGlvbkNlbnRlciogRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2Via2l0Tm90aWZp
Y2F0aW9ucyhET01XaW5kb3cmIHdpbmRvdykKLXsKLSAgICByZXR1cm4gRE9NV2luZG93Tm90aWZp
Y2F0aW9uczo6ZnJvbSgmd2luZG93KS0+d2Via2l0Tm90aWZpY2F0aW9ucygpOwotfQotCi12b2lk
IERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVu
c2lvbigpCi17Ci0gICAgbV9zdXNwZW5kZWROb3RpZmljYXRpb25DZW50ZXIgPSBXVEZNb3ZlKG1f
bm90aWZpY2F0aW9uQ2VudGVyKTsKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6ZGlzY29ubmVjdEZy
YW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCk7Ci19Ci0KLXZvaWQgRE9NV2luZG93Tm90aWZpY2F0
aW9uczo6cmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKEZyYW1lKiBmcmFtZSkK
LXsKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6cmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNw
ZW5zaW9uKGZyYW1lKTsKLSAgICBtX25vdGlmaWNhdGlvbkNlbnRlciA9IFdURk1vdmUobV9zdXNw
ZW5kZWROb3RpZmljYXRpb25DZW50ZXIpOwotfQotCi12b2lkIERPTVdpbmRvd05vdGlmaWNhdGlv
bnM6OndpbGxEZXN0cm95R2xvYmFsT2JqZWN0SW5DYWNoZWRGcmFtZSgpCi17Ci0gICAgbV9zdXNw
ZW5kZWROb3RpZmljYXRpb25DZW50ZXIgPSBudWxscHRyOwotICAgIERPTVdpbmRvd1Byb3BlcnR5
Ojp3aWxsRGVzdHJveUdsb2JhbE9iamVjdEluQ2FjaGVkRnJhbWUoKTsKLX0KLQotdm9pZCBET01X
aW5kb3dOb3RpZmljYXRpb25zOjp3aWxsRGVzdHJveUdsb2JhbE9iamVjdEluRnJhbWUoKQotewot
ICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gbnVsbHB0cjsKLSAgICBET01XaW5kb3dQcm9wZXJ0
eTo6d2lsbERlc3Ryb3lHbG9iYWxPYmplY3RJbkZyYW1lKCk7Ci19Ci0KLXZvaWQgRE9NV2luZG93
Tm90aWZpY2F0aW9uczo6d2lsbERldGFjaEdsb2JhbE9iamVjdEZyb21GcmFtZSgpCi17Ci0gICAg
bV9ub3RpZmljYXRpb25DZW50ZXIgPSBudWxscHRyOwotICAgIERPTVdpbmRvd1Byb3BlcnR5Ojp3
aWxsRGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCk7Ci19Ci0KLU5vdGlmaWNhdGlvbkNlbnRl
ciogRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2Via2l0Tm90aWZpY2F0aW9ucygpCi17Ci0gICAg
aWYgKCFtX3dpbmRvdy0+aXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0gICAgICAgIHJl
dHVybiBudWxscHRyOwotCi0gICAgaWYgKG1fbm90aWZpY2F0aW9uQ2VudGVyKQotICAgICAgICBy
ZXR1cm4gbV9ub3RpZmljYXRpb25DZW50ZXIuZ2V0KCk7Ci0KLSAgICBhdXRvKiBkb2N1bWVudCA9
IG1fd2luZG93LT5kb2N1bWVudCgpOwotICAgIGlmICghZG9jdW1lbnQpCi0gICAgICAgIHJldHVy
biBudWxscHRyOwotICAgIAotICAgIGF1dG8qIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpOwotICAg
IGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvKiBwcm92aWRl
ciA9IE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmNsaWVudEZyb20oKnBhZ2UpOwotICAgIGlmICgh
cHJvdmlkZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgbV9ub3RpZmljYXRpb25D
ZW50ZXIgPSBOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZSgqZG9jdW1lbnQsIHByb3ZpZGVyKTsK
LSAgICByZXR1cm4gbV9ub3RpZmljYXRpb25DZW50ZXIuZ2V0KCk7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmgJKHJl
dmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9E
T01XaW5kb3dOb3RpZmljYXRpb25zLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw2NSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotCi0jaW5jbHVkZSAiRE9NV2luZG93
UHJvcGVydHkuaCIKLSNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgotI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERPTVdpbmRv
dzsKLWNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKLQotY2xhc3MgRE9NV2luZG93Tm90aWZpY2F0
aW9ucyA6IHB1YmxpYyBTdXBwbGVtZW50PERPTVdpbmRvdz4sIHB1YmxpYyBET01XaW5kb3dQcm9w
ZXJ0eSB7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgRE9NV2luZG93Tm90aWZpY2F0aW9ucyhET01X
aW5kb3cqKTsKLSAgICB2aXJ0dWFsIH5ET01XaW5kb3dOb3RpZmljYXRpb25zKCk7Ci0KLSAgICBz
dGF0aWMgTm90aWZpY2F0aW9uQ2VudGVyKiB3ZWJraXROb3RpZmljYXRpb25zKERPTVdpbmRvdyYp
OwotICAgIHN0YXRpYyBET01XaW5kb3dOb3RpZmljYXRpb25zKiBmcm9tKERPTVdpbmRvdyopOwot
Ci0gICAgdm9pZCBkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHJlY29ubmVjdEZyYW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbihGcmFtZSop
IG92ZXJyaWRlOwotICAgIHZvaWQgd2lsbERlc3Ryb3lHbG9iYWxPYmplY3RJbkNhY2hlZEZyYW1l
KCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3aWxsRGVzdHJveUdsb2JhbE9iamVjdEluRnJhbWUoKSBv
dmVycmlkZTsKLSAgICB2b2lkIHdpbGxEZXRhY2hHbG9iYWxPYmplY3RGcm9tRnJhbWUoKSBvdmVy
cmlkZTsKLQotcHJpdmF0ZToKLSAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNh
dGlvbnMoKTsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKLQotICAg
IERPTVdpbmRvdyogbV93aW5kb3c7Ci0gICAgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9u
b3RpZmljYXRpb25DZW50ZXI7Ci0gICAgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9zdXNw
ZW5kZWROb3RpZmljYXRpb25DZW50ZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdp
bmRvd05vdGlmaWNhdGlvbnMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbAkocmV2aXNpb24gMjE2
MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05v
dGlmaWNhdGlvbnMuaWRsCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotWwotICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8TEVHQUNZX05PVElGSUNBVElPTlMs
Ci1dIHBhcnRpYWwgaW50ZXJmYWNlIERPTVdpbmRvdyB7Ci0jaWYgZGVmaW5lZChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUwotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBOb3RpZmljYXRpb25DZW50ZXIgd2Via2l0Tm90aWZpY2F0aW9uczsK
LSNlbmRpZgotfTsKLQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw3OCArMzEsMzMgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgogCi0j
aW5jbHVkZSAiRE9NV2luZG93LmgiCi0jaW5jbHVkZSAiRE9NV2luZG93Tm90aWZpY2F0aW9ucy5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIk5vdGlm
aWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKLSNpbmNsdWRlICJWb2lk
Q2FsbGJhY2suaCIKICNpbmNsdWRlICJXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQot
Ci1Ob3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBT
dHJpbmcmIGJvZHksIFVSTCYmIGljb25VUkwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIE5vdGlmaWNhdGlvbkNlbnRlciYgbm90aWZpY2F0aW9uQ2VudGVyKQotICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQotICAgICwgbV9pY29uKFdURk1vdmUoaWNvblVSTCkpCi0gICAg
LCBtX3RpdGxlKHRpdGxlKQotICAgICwgbV9ib2R5KGJvZHkpCi0gICAgLCBtX25vdGlmaWNhdGlv
bkNlbnRlcigmbm90aWZpY2F0aW9uQ2VudGVyKQotewotfQotCi0jZW5kaWYKLQotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQotCiBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVudCYg
ZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmRv
Y3VtZW50KQogICAgICwgbV90aXRsZSh0aXRsZSkKICAgICAsIG1fc3RhdGUoSWRsZSkKLSAgICAs
IG1fbm90aWZpY2F0aW9uQ2VudGVyKERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlm
aWNhdGlvbnMoKmRvY3VtZW50LmRvbVdpbmRvdygpKSkKICAgICAsIG1fdGFza1RpbWVyKHN0ZDo6
bWFrZV91bmlxdWU8VGltZXI+KFt0aGlzXSAoKSB7IHNob3coKTsgfSkpCiB7Ci0gICAgLy8gRklY
TUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50ZXIgY2FuIGJlIG51bGwgc28gc2hvdWxk
IG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJlZi4KLSAgICAvLyBCdXQgdGhlIHJlc3Qg
b2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0cnlpbmcgdG8gaGFuZGxlIHRoYXQgY2Fz
ZS4KLSAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgpKTsKICAgICBtX3Rh
c2tUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKLSNlbmRpZgotCiBOb3RpZmljYXRpb246
On5Ob3RpZmljYXRpb24oKSAKIHsKIH0KIAotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKLQotRXhjZXB0aW9uT3I8UmVmPE5vdGlmaWNhdGlvbj4+IE5vdGlmaWNhdGlvbjo6Y3JlYXRl
KGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBp
Y29uVVJMLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBOb3RpZmljYXRpb25DZW50
ZXImIHByb3ZpZGVyKQoteyAKLSAgICBpZiAocHJvdmlkZXIuY2hlY2tQZXJtaXNzaW9uKCkgIT0g
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCkKLSAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IFNFQ1VSSVRZX0VSUiB9OwotCi0gICAgVVJMIGNvbXBsZXRlZEljb25VUkwgPSBp
Y29uVVJMLmlzRW1wdHkoKSA/IFVSTCgpIDogY29udGV4dC5jb21wbGV0ZVVSTChpY29uVVJMKTsK
LSAgICBpZiAoIWNvbXBsZXRlZEljb25VUkwuaXNFbXB0eSgpICYmICFjb21wbGV0ZWRJY29uVVJM
LmlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFNZTlRBWF9FUlIgfTsKLQot
ICAgIGF1dG8gbm90aWZpY2F0aW9uID0gYWRvcHRSZWYoKm5ldyBOb3RpZmljYXRpb24odGl0bGUs
IGJvZHksIFdURk1vdmUoY29tcGxldGVkSWNvblVSTCksIGNvbnRleHQsIHByb3ZpZGVyKSk7Ci0g
ICAgbm90aWZpY2F0aW9uLmdldCgpLnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiBXVEZN
b3ZlKG5vdGlmaWNhdGlvbik7Ci19Ci0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCi0KIHN0YXRpYyBTdHJpbmcgZGlyZWN0aW9uU3RyaW5nKE5vdGlmaWNhdGlvbjo6RGlyZWN0
aW9uIGRpcmVjdGlvbikKIHsKICAgICAvLyBGSVhNRTogU3RvcmluZyB0aGlzIGFzIGEgc3RyaW5n
IGlzIG5vdCB0aGUgcmlnaHQgd2F5IHRvIGRvIGl0LgpAQCAtMTIyLDM4ICs3NywzOCBAQCBzdGF0
aWMgU3RyaW5nIGRpcmVjdGlvblN0cmluZyhOb3RpZmljYXRpCiBSZWY8Tm90aWZpY2F0aW9uPiBO
b3RpZmljYXRpb246OmNyZWF0ZShEb2N1bWVudCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiB0aXRs
ZSwgY29uc3QgT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBhdXRvIG5vdGlmaWNhdGlvbiA9IGFk
b3B0UmVmKCpuZXcgTm90aWZpY2F0aW9uKGNvbnRleHQsIHRpdGxlKSk7Ci0gICAgbm90aWZpY2F0
aW9uLmdldCgpLm1fYm9keSA9IG9wdGlvbnMuYm9keTsKLSAgICBub3RpZmljYXRpb24uZ2V0KCku
bV90YWcgPSBvcHRpb25zLnRhZzsKLSAgICBub3RpZmljYXRpb24uZ2V0KCkubV9sYW5nID0gb3B0
aW9ucy5sYW5nOwotICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5tX2RpcmVjdGlvbiA9IGRpcmVjdGlv
blN0cmluZyhvcHRpb25zLmRpcik7CisgICAgbm90aWZpY2F0aW9uLT5tX2JvZHkgPSBvcHRpb25z
LmJvZHk7CisgICAgbm90aWZpY2F0aW9uLT5tX3RhZyA9IG9wdGlvbnMudGFnOworICAgIG5vdGlm
aWNhdGlvbi0+bV9sYW5nID0gb3B0aW9ucy5sYW5nOworICAgIG5vdGlmaWNhdGlvbi0+bV9kaXJl
Y3Rpb24gPSBkaXJlY3Rpb25TdHJpbmcob3B0aW9ucy5kaXIpOwogICAgIGlmICghb3B0aW9ucy5p
Y29uLmlzRW1wdHkoKSkgewogICAgICAgICBhdXRvIGljb25VUkwgPSBjb250ZXh0LmNvbXBsZXRl
VVJMKG9wdGlvbnMuaWNvbik7CiAgICAgICAgIGlmIChpY29uVVJMLmlzVmFsaWQoKSkKLSAgICAg
ICAgICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5tX2ljb24gPSBpY29uVVJMOworICAgICAgICAgICAg
bm90aWZpY2F0aW9uLT5tX2ljb24gPSBpY29uVVJMOwogICAgIH0KLSAgICBub3RpZmljYXRpb24u
Z2V0KCkuc3VzcGVuZElmTmVlZGVkKCk7CisgICAgbm90aWZpY2F0aW9uLT5zdXNwZW5kSWZOZWVk
ZWQoKTsKICAgICByZXR1cm4gbm90aWZpY2F0aW9uOwogfQogCi0jZW5kaWYKLQogdm9pZCBOb3Rp
ZmljYXRpb246OnNob3coKSAKIHsKICAgICAvLyBwcmV2ZW50IGRvdWJsZS1zaG93aW5nCi0gICAg
aWYgKG1fc3RhdGUgPT0gSWRsZSAmJiBtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCkpIHsK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLSAgICAgICAgYXV0byogcGFnZSA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCk7Ci0gICAgICAgIGlm
ICghcGFnZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKE5vdGlmaWNhdGlvbkNv
bnRyb2xsZXI6OmZyb20ocGFnZSktPmNsaWVudCgpLmNoZWNrUGVybWlzc2lvbihzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQp
IHsKLSAgICAgICAgICAgIGRpc3BhdGNoRXJyb3JFdmVudCgpOwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgaWYgKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5j
bGllbnQoKS0+c2hvdyh0aGlzKSkgewotICAgICAgICAgICAgbV9zdGF0ZSA9IFNob3dpbmc7Ci0g
ICAgICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7Ci0gICAgICAgIH0KKyAgICBpZiAo
bV9zdGF0ZSAhPSBJZGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvKiBwYWdlID0gZG93
bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLnBhZ2UoKTsKKyAgICBp
ZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8mIGNsaWVudCA9IE5vdGlmaWNh
dGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSktPmNsaWVudCgpOworCisgICAgaWYgKGNsaWVudC5j
aGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSAhPSBOb3RpZmljYXRpb25D
bGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSB7CisgICAgICAgIGRpc3BhdGNoRXJyb3JFdmVudCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChjbGllbnQuc2hvdyh0aGlzKSkgewor
ICAgICAgICBtX3N0YXRlID0gU2hvd2luZzsKKyAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRo
aXMpOwogICAgIH0KIH0KIApAQCAtMTYyLDEwICsxMTcsMTIgQEAgdm9pZCBOb3RpZmljYXRpb246
OmNsb3NlKCkKICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKICAgICBjYXNlIElkbGU6CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgU2hvd2luZzoKLSAgICAgICAgaWYgKG1fbm90aWZpY2F0aW9uQ2Vu
dGVyLT5jbGllbnQoKSkKLSAgICAgICAgICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQo
KS0+Y2FuY2VsKHRoaXMpOworICAgIGNhc2UgU2hvd2luZzogeworICAgICAgICBhdXRvKiBwYWdl
ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLnBhZ2UoKTsK
KyAgICAgICAgaWYgKHBhZ2UpCisgICAgICAgICAgICBOb3RpZmljYXRpb25Db250cm9sbGVyOjpm
cm9tKHBhZ2UpLT5jbGllbnQoKS5jYW5jZWwodGhpcyk7CiAgICAgICAgIGJyZWFrOworICAgIH0K
ICAgICBjYXNlIENsb3NlZDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTc0LDggKzEzMSwx
MCBAQCB2b2lkIE5vdGlmaWNhdGlvbjo6Y2xvc2UoKQogdm9pZCBOb3RpZmljYXRpb246OmNvbnRl
eHREZXN0cm95ZWQoKQogewogICAgIEFjdGl2ZURPTU9iamVjdDo6Y29udGV4dERlc3Ryb3llZCgp
OwotICAgIGlmIChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCkpCi0gICAgICAgIG1fbm90
aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKS0+bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKHRo
aXMpOworCisgICAgYXV0byogcGFnZSA9IGRvd25jYXN0PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKS5wYWdlKCk7CisgICAgaWYgKHBhZ2UpCisgICAgICAgIE5vdGlmaWNhdGlv
bkNvbnRyb2xsZXI6OmZyb20ocGFnZSktPmNsaWVudCgpLm5vdGlmaWNhdGlvbk9iamVjdERlc3Ry
b3llZCh0aGlzKTsKIH0KIAogY29uc3QgY2hhciogTm90aWZpY2F0aW9uOjphY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QKQEAgLTIxOSw4ICsxNzgsNiBAQCB2b2lkIE5vdGlmaWNhdGlvbjo6ZGlz
cGF0Y2hFcnJvckV2ZW50KCkKICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogfQogCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCi0KIFN0cmluZyBOb3RpZmljYXRpb246OnBlcm1pc3Npb24oRG9jdW1lbnQmIGRv
Y3VtZW50KQogewogICAgIHJldHVybiBwZXJtaXNzaW9uU3RyaW5nKE5vdGlmaWNhdGlvbkNvbnRy
b2xsZXI6OmZyb20oZG9jdW1lbnQucGFnZSgpKS0+Y2xpZW50KCkuY2hlY2tQZXJtaXNzaW9uKCZk
b2N1bWVudCkpOwpAQCAtMjQ1LDggKzIwMiw2IEBAIHZvaWQgTm90aWZpY2F0aW9uOjpyZXF1ZXN0
UGVybWlzc2lvbihEb2MKICAgICBOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKGRvY3VtZW50
LnBhZ2UoKSktPmNsaWVudCgpLnJlcXVlc3RQZXJtaXNzaW9uKCZkb2N1bWVudCwgV1RGTW92ZShj
YWxsYmFjaykpOwogfQogCi0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgJKHJldmlzaW9u
IDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmpl
Y3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgpAQCAtNDQsMTcgKzQ0LDExIEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgTm90aWZpY2F0aW9uQ2Vu
dGVyOwogY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogCiBjbGFzcyBOb3Rp
ZmljYXRpb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMg
QWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQotICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8Tm90aWZpY2F0aW9uPj4gY3Jl
YXRlKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5n
JiBpY29uVVJMLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTm90aWZpY2F0aW9uQ2VudGVyJik7
Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGVudW0gY2xhc3MgRGly
ZWN0aW9uIHsgQXV0bywgTHRyLCBSdGwgfTsKICAgICBzdHJ1Y3QgT3B0aW9ucyB7CiAgICAgICAg
IERpcmVjdGlvbiBkaXI7CkBAIC02NCw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICAgICAgU3RyaW5n
IGljb247CiAgICAgfTsKICAgICBzdGF0aWMgUmVmPE5vdGlmaWNhdGlvbj4gY3JlYXRlKERvY3Vt
ZW50JiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgT3B0aW9ucyYpOwotI2VuZGlmCiAgICAg
CiAgICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uKCk7CiAKQEAgLTk0LDExICs4Nyw5IEBAIHB1Ymxp
YzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmluYWxpemUoKTsKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIHN0YXRpYyBTdHJpbmcgcGVybWlzc2lvbihEb2N1bWVudCYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBTdHJpbmcgcGVybWlzc2lvblN0cmluZyhOb3RpZmlj
YXRpb25DbGllbnQ6OlBlcm1pc3Npb24pOwogICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNz
aW9uKERvY3VtZW50JiwgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4mJik7
Ci0jZW5kaWYKIAogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsgfQogCkBAIC0xMDYsMTMgKzk3LDcgQEAgcHVibGljOgogICAgIHVzaW5n
IFJlZkNvdW50ZWQ6OmRlcmVmOwogCiBwcml2YXRlOgotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKLSAgICBOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3Ry
aW5nJiBib2R5LCBVUkwmJiBpY29uVVJMLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTm90aWZp
Y2F0aW9uQ2VudGVyJik7Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IE5vdGlmaWNhdGlvbihEb2N1bWVudCYsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwotI2VuZGlmCiAK
ICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIE5vdGlmaWNhdGlvbkV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQogCkBA
IC0xMzMsMTMgKzExOCw5IEBAIHByaXZhdGU6CiAgICAgZW51bSBTdGF0ZSB7IElkbGUsIFNob3dp
bmcsIENsb3NlZCB9OwogICAgIFN0YXRlIG1fc3RhdGUgeyBJZGxlIH07CiAKLSAgICBSZWZQdHI8
Tm90aWZpY2F0aW9uQ2VudGVyPiBtX25vdGlmaWNhdGlvbkNlbnRlcjsKLQotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV90YXNrVGltZXI7Ci0j
ZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAkocmV2aXNpb24gMjE2MDAyKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDM2ICszMCwzOCBAQAogICovCiAKIFsKLSAgICBDb25kaXRp
b25hbD1OT1RJRklDQVRJT05TfExFR0FDWV9OT1RJRklDQVRJT05TLAorICAgIENvbmRpdGlvbmFs
PU5PVElGSUNBVElPTlMsCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIEV4cG9ydE1hY3JvPVdF
QkNPUkVfRVhQT1JULAotI2lmIGRlZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJM
RV9OT1RJRklDQVRJT05TCiAgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIHRpdGxlLCBvcHRpb25h
bCBOb3RpZmljYXRpb25PcHRpb25zIG9wdGlvbnMpLAogICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9
RG9jdW1lbnQsCi0jZW5kaWYKIF0gaW50ZXJmYWNlIE5vdGlmaWNhdGlvbiA6IEV2ZW50VGFyZ2V0
IHsKICAgICB2b2lkIHNob3coKTsKLSAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX05PVElGSUNBVElP
TlMsIEltcGxlbWVudGVkQXM9Y2xvc2VdIHZvaWQgY2FuY2VsKCk7Ci0gICAgW0NvbmRpdGlvbmFs
PU5PVElGSUNBVElPTlNdIHZvaWQgY2xvc2UoKTsKKyAgICB2b2lkIGNsb3NlKCk7CiAKLSAgICBb
Q29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUywgQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRpYyByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBlcm1pc3Npb247Ci0gICAgW0NvbmRpdGlvbmFsPU5P
VElGSUNBVElPTlMsIENhbGxXaXRoPURvY3VtZW50XSBzdGF0aWMgdm9pZCByZXF1ZXN0UGVybWlz
c2lvbihvcHRpb25hbCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s/IGNhbGxiYWNrKTsK
KyAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHBlcm1pc3Npb247CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBzdGF0aWMgdm9pZCByZXF1
ZXN0UGVybWlzc2lvbihvcHRpb25hbCBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s/IGNh
bGxiYWNrKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jbGljazsKKyAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uZXJyb3I7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bmNsb3NlOwogICAgIFtJbXBsZW1lbnRlZEFzPW9uc2hvd10gYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbmRpc3BsYXk7Ci0gICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVycm9yOwogICAgIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zaG93OwogCi0gICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9O
T1RJRklDQVRJT05TXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRpcjsKLSAgICBbQ29uZGl0aW9uYWw9
TEVHQUNZX05PVElGSUNBVElPTlNdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVwbGFjZUlkOwotCi0g
ICAgW0NvbmRpdGlvbmFsPU5PVElGSUNBVElPTlNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFnOwor
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFnOwogfTsKIAotW0NvbmRpdGlvbmFsPU5PVElGSUNB
VElPTlNdIGVudW0gTm90aWZpY2F0aW9uRGlyZWN0aW9uIHsgImF1dG8iLCAibHRyIiwgInJ0bCIg
fTsKK1sKKyAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TCitdIGVudW0gTm90aWZpY2F0aW9u
RGlyZWN0aW9uIHsKKyAgICAiYXV0byIsCisgICAgImx0ciIsCisgICAgInJ0bCIKK307CiAKLVtD
b25kaXRpb25hbD1OT1RJRklDQVRJT05TXSBkaWN0aW9uYXJ5IE5vdGlmaWNhdGlvbk9wdGlvbnMg
eworWworICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMKK10gZGljdGlvbmFyeSBOb3RpZmlj
YXRpb25PcHRpb25zIHsKICAgICBOb3RpZmljYXRpb25EaXJlY3Rpb24gZGlyID0gImF1dG8iOwog
ICAgIERPTVN0cmluZyBsYW5nID0gIiI7CiAgICAgRE9NU3RyaW5nIGJvZHkgPSAiIjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDE1OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLSNpbmNs
dWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKLQotI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIK
LSNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKLSNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCi0jaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKLSNpbmNsdWRlICJWb2lkQ2FsbGJh
Y2suaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8Tm90aWZpY2F0aW9uQ2VudGVyPiBO
b3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBOb3RpZmljYXRpb25DbGllbnQqIGNsaWVudCkKLXsKLSAgICBhdXRvIG5vdGlmaWNhdGlvbkNl
bnRlciA9IGFkb3B0UmVmKCpuZXcgTm90aWZpY2F0aW9uQ2VudGVyKGNvbnRleHQsIGNsaWVudCkp
OwotICAgIG5vdGlmaWNhdGlvbkNlbnRlci0+c3VzcGVuZElmTmVlZGVkKCk7Ci0gICAgcmV0dXJu
IG5vdGlmaWNhdGlvbkNlbnRlcjsKLX0KLQotTm90aWZpY2F0aW9uQ2VudGVyOjpOb3RpZmljYXRp
b25DZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTm90aWZpY2F0aW9uQ2xp
ZW50KiBjbGllbnQpCi0gICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCi0gICAgLCBtX2Ns
aWVudChjbGllbnQpCi0gICAgLCBtX3RpbWVyKFt0aGlzXSgpIHsgdGltZXJGaXJlZCgpOyB9KQot
ewotfQotCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotCi1FeGNlcHRpb25PcjxS
ZWY8Tm90aWZpY2F0aW9uPj4gTm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGVOb3RpZmljYXRpb24o
Y29uc3QgU3RyaW5nJiBpY29uVVJJLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcm
IGJvZHkpCi17Ci0gICAgaWYgKCFtX2NsaWVudCB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9TVEFURV9FUlIgfTsKLSAgICBy
ZXR1cm4gTm90aWZpY2F0aW9uOjpjcmVhdGUodGl0bGUsIGJvZHksIGljb25VUkksICpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksICp0aGlzKTsKLX0KLQotaW50IE5vdGlmaWNhdGlvbkNlbnRlcjo6
Y2hlY2tQZXJtaXNzaW9uKCkKLXsKLSAgICBpZiAoIW1fY2xpZW50IHx8ICFzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpCi0gICAgICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Np
b25EZW5pZWQ7Ci0KLSAgICBzd2l0Y2ggKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJp
dHlPcmlnaW4oKS0+Y2FuU2hvd05vdGlmaWNhdGlvbnMoKSkgewotICAgIGNhc2UgU2VjdXJpdHlP
cmlnaW46OkFsd2F5c0FsbG93OgotICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uQWxsb3dlZDsKLSAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNEZW55Ogot
ICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwotICAg
IGNhc2UgU2VjdXJpdHlPcmlnaW46OkFzazoKLSAgICAgICAgcmV0dXJuIG1fY2xpZW50LT5jaGVj
a1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKLSAgICB9Ci0KLSAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gbV9jbGllbnQtPmNoZWNrUGVybWlzc2lvbihz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotfQotCi12b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKLXsKLSAg
ICBpZiAoIW1fY2xpZW50IHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIHN3aXRjaCAoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9y
aWdpbigpLT5jYW5TaG93Tm90aWZpY2F0aW9ucygpKSB7Ci0gICAgY2FzZSBTZWN1cml0eU9yaWdp
bjo6QWx3YXlzQWxsb3c6Ci0gICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToKLSAg
ICAgICAgaWYgKG1fY2FsbGJhY2tzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgcmVmKCk7IC8v
IEJhbGFuY2VkIGJ5IHRoZSBkZXJlZnMgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wIGFuZCBO
b3RpZmljYXRpb25DZW50ZXI6OnRpbWVyRmlyZWQuCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwotICAgICAgICB9Ci0gICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChbY2Fs
bGJhY2tdKCkgewotICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQotICAgICAgICAgICAgICAgIGNh
bGxiYWNrLT5oYW5kbGVFdmVudCgpOwotICAgICAgICB9KTsKLSAgICAgICAgcmV0dXJuOwotICAg
IGNhc2UgU2VjdXJpdHlPcmlnaW46OkFzazoKLSAgICAgICAgbV9jbGllbnQtPnJlcXVlc3RQZXJt
aXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92ZShjYWxsYmFjaykpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgbV9j
bGllbnQtPnJlcXVlc3RQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGTW92
ZShjYWxsYmFjaykpOwotfQotCi0jZW5kaWYKLQotdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnN0
b3AoKQotewotICAgIGlmICghbV9jbGllbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIENs
ZWFyIG1fY2xpZW50IGltbWVkaWF0ZWx5IHRvIGd1YXJhbnRlZSByZWVudHJhbnQgY2FsbHMgdG8g
Tm90aWZpY2F0aW9uQ2VudGVyIGRvIG5vdGhpbmcuCi0gICAgLy8gQWxzbyBwcm90ZWN0IHx0aGlz
fCBzbyBpdCdzIG5vdCBpbmRpcmVjdGx5IGRlc3Ryb3llZCB1bmRlciB1cyBieSB3b3JrIGRvbmUg
YnkgdGhlIGNsaWVudC4KLSAgICBhdXRvJiBjbGllbnQgPSAqc3RkOjpleGNoYW5nZShtX2NsaWVu
dCwgbnVsbHB0cik7Ci0gICAgUmVmPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdGVjdGVkVGhpcygq
dGhpcyk7Ci0KLSAgICBpZiAoIW1fY2FsbGJhY2tzLmlzRW1wdHkoKSkKLSAgICAgICAgZGVyZWYo
KTsgLy8gQmFsYW5jZWQgYnkgdGhlIHJlZiBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQ
ZXJtaXNzaW9uLgotCi0gICAgbV90aW1lci5zdG9wKCk7Ci0gICAgbV9jYWxsYmFja3MuY2xlYXIo
KTsKLQotICAgIGNsaWVudC5jYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKTsKLSAgICBjbGllbnQuY2xlYXJOb3RpZmljYXRpb25zKHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSk7Ci19Ci0KLWNvbnN0IGNoYXIqIE5vdGlmaWNhdGlvbkNlbnRlcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICJOb3RpZmljYXRpb25DZW50
ZXIiOwotfQotCi1ib29sIE5vdGlmaWNhdGlvbkNlbnRlcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbigpIGNvbnN0Ci17Ci0gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91
dCBOb3RpZmljYXRpb25zIGJlY2F1c2UgdGhvc2UgYXJlIEFjdGl2ZURPTU9iamVjdCB0b28uCi0g
ICAgLy8gVGhlIE5vdGlmaWNhdGlvbkNlbnRlciBjYW4gc2FmZWx5IGJlIHN1c3BlbmRlZCBpZiB0
aGVyZSBhcmUgbm8gcGVuZGluZyBwZXJtaXNzaW9uIHJlcXVlc3RzLgotICAgIHJldHVybiBtX2Nh
bGxiYWNrcy5pc0VtcHR5KCkgJiYgKCFtX2NsaWVudCB8fCAhbV9jbGllbnQtPmhhc1BlbmRpbmdQ
ZXJtaXNzaW9uUmVxdWVzdHMoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSk7Ci19Ci0KLXZvaWQg
Tm90aWZpY2F0aW9uQ2VudGVyOjp0aW1lckZpcmVkKCkKLXsKLSAgICBBU1NFUlQobV9jbGllbnQp
OwotICAgIGF1dG8gY2FsbGJhY2tzID0gV1RGTW92ZShtX2NhbGxiYWNrcyk7Ci0gICAgZm9yIChh
dXRvJiBjYWxsYmFjayA6IGNhbGxiYWNrcykKLSAgICAgICAgY2FsbGJhY2soKTsKLSAgICBkZXJl
ZigpOyAvLyBCYWxhbmNlZCBieSB0aGUgcmVmIGluIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVz
dFBlcm1pc3Npb24uCi19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAkobm9uZXhpc3RlbnQpCkBA
IC0xLDc4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJBY3RpdmVE
T01PYmplY3QuaCIKLSNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgotI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotY2xhc3MgTm90aWZpY2F0aW9uOwotY2xhc3MgTm90aWZpY2F0aW9uQ2xpZW50OwotY2xhc3Mg
Vm9pZENhbGxiYWNrOwotCi1jbGFzcyBOb3RpZmljYXRpb25DZW50ZXIgZmluYWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxOb3RpZmljYXRpb25DZW50ZXI+LCBwcml2YXRlIEFjdGl2ZURPTU9iamVjdCB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxOb3RpZmljYXRpb25DZW50ZXI+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgTm90aWZpY2F0aW9uQ2xpZW50Kik7Ci0KLSNpZiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgRXhjZXB0aW9uT3I8UmVmPE5vdGlmaWNhdGlvbj4+
IGNyZWF0ZU5vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYg
dGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSk7Ci0KLSAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7
Ci0gICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihSZWZQdHI8Vm9pZENhbGxiYWNrPiYmKTsKLSNl
bmRpZgotCi0gICAgTm90aWZpY2F0aW9uQ2xpZW50KiBjbGllbnQoKSBjb25zdCB7IHJldHVybiBt
X2NsaWVudDsgfQotCi0gICAgdXNpbmcgQWN0aXZlRE9NT2JqZWN0OjpoYXNQZW5kaW5nQWN0aXZp
dHk7Ci0KLXByaXZhdGU6Ci0gICAgTm90aWZpY2F0aW9uQ2VudGVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBOb3RpZmljYXRpb25DbGllbnQqKTsKLQotICAgIHZvaWQgc3RvcCgpIGZpbmFsOwot
ICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKLQotICAg
IHZvaWQgdGltZXJGaXJlZCgpOwotCi0gICAgTm90aWZpY2F0aW9uQ2xpZW50KiBtX2NsaWVudDsK
LSAgICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2b2lkICgpPj4gbV9jYWxsYmFja3M7Ci0gICAgVGlt
ZXIgbV90aW1lcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0x
ICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmlkbAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwJKG5vbmV4aXN0ZW50
KQpAQCAtMSw0MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
Ci0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBBY3RpdmVET01PYmplY3QsCi0gICAgQ29uZGl0
aW9uYWw9TEVHQUNZX05PVElGSUNBVElPTlMsCi0gICAgTm9JbnRlcmZhY2VPYmplY3QsCi1dIGlu
dGVyZmFjZSBOb3RpZmljYXRpb25DZW50ZXIgewotICAgW01heVRocm93RXhjZXB0aW9uXSBOb3Rp
ZmljYXRpb24gY3JlYXRlTm90aWZpY2F0aW9uKERPTVN0cmluZyBpY29uVXJsLCBET01TdHJpbmcg
dGl0bGUsIERPTVN0cmluZyBib2R5KTsKLQotICAgbG9uZyBjaGVja1Blcm1pc3Npb24oKTsKLSAg
IHZvaWQgcmVxdWVzdFBlcm1pc3Npb24ob3B0aW9uYWwgVm9pZENhbGxiYWNrPyBjYWxsYmFjayk7
Ci19OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC03MCwxMiArNzAsNyBAQCBwdWJsaWM6CiAgICAgLy8gUmVxdWVzdHMgdXNl
ciBwZXJtaXNzaW9uIHRvIHNob3cgZGVza3RvcCBub3RpZmljYXRpb25zIGZyb20gYSBwYXJ0aWN1
bGFyCiAgICAgLy8gc2NyaXB0IGNvbnRleHQuIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgc2hvdWxk
IGJlIHJ1biB3aGVuIHRoZSB1c2VyIGhhcwogICAgIC8vIG1hZGUgYSBkZWNpc2lvbi4KLSNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBSZWZQdHI8Vm9pZENhbGxiYWNrPiYmKSA9
IDA7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2aXJ0dWFsIHZvaWQg
cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFJlZlB0cjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpID0gMDsKLSNlbmRpZgogCiAgICAgdmlydHVhbCBi
b29sIGhhc1BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
IGNvbnN0ID0gMDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcAkocmV2aXNp
b24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNs
aWVudC5oIgogCkBAIC02Myw0ICs2Myw0IEBAIHZvaWQgcHJvdmlkZU5vdGlmaWNhdGlvbihQYWdl
KiBwYWdlLCBOb3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAv
LyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaAko
cmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKICNpbmNs
dWRlICJQYWdlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTUyLDQgKzUyLDQgQEAg
cHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5v
dGlmaWNhdGlvbnMuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBw
bGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEx
IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
Ildvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5oIgotCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotI2luY2x1ZGUgIk5vdGlm
aWNhdGlvbkNlbnRlci5oIgotI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCi0jaW5jbHVk
ZSAiV29ya2VyVGhyZWFkLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV29ya2VyR2xvYmFs
U2NvcGVOb3RpZmljYXRpb25zOjpXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMoV29ya2Vy
R2xvYmFsU2NvcGUmIHNjb3BlKQotICAgIDogbV9jb250ZXh0KCZzY29wZSkKLXsKLX0KLQotV29y
a2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zOjp+V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRp
b25zKCkKLXsKLX0KLQotY29uc3QgY2hhciogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25z
OjpzdXBwbGVtZW50TmFtZSgpCi17Ci0gICAgcmV0dXJuICJXb3JrZXJHbG9iYWxTY29wZU5vdGlm
aWNhdGlvbnMiOwotfQotCi1Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMqIFdvcmtlckds
b2JhbFNjb3BlTm90aWZpY2F0aW9uczo6ZnJvbShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCi17
Ci0gICAgV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zKiBzdXBwbGVtZW50ID0gc3RhdGlj
X2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zKj4oU3VwcGxlbWVudDxXb3JrZXJH
bG9iYWxTY29wZT46OmZyb20oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpKSk7Ci0gICAgaWYgKCFz
dXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IHN0ZDo6bWFrZV91bmlx
dWU8V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zPihzY29wZSk7Ci0gICAgICAgIHN1cHBs
ZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOwotICAgICAgICBwcm92aWRlVG8oJnNjb3BlLCBz
dXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsKLSAgICB9Ci0gICAgcmV0
dXJuIHN1cHBsZW1lbnQ7Ci19Ci0KLU5vdGlmaWNhdGlvbkNlbnRlciogV29ya2VyR2xvYmFsU2Nv
cGVOb3RpZmljYXRpb25zOjp3ZWJraXROb3RpZmljYXRpb25zKFdvcmtlckdsb2JhbFNjb3BlJiBz
Y29wZSkKLXsKLSAgICByZXR1cm4gV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zOjpmcm9t
KHNjb3BlKS0+d2Via2l0Tm90aWZpY2F0aW9ucygpOwotfQotCi1Ob3RpZmljYXRpb25DZW50ZXIq
IFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9uczo6d2Via2l0Tm90aWZpY2F0aW9ucygpCi17
Ci0gICAgLy8gRklYTUU6IEFzIG9mIHRoaXMgd3JpdGluZywgdGhpcyBhbHdheXMgcGFzc2VzIG51
bGxwdHIgZm9yIHRoZSBjbGllbnQuCi0gICAgLy8gSWYgaXQgd2Fzbid0IGZvciB0aGF0LCB0aGUg
bm90aWZpY2F0aW9uIGNlbnRlciBjcmVhdGUgZnVuY3Rpb24gY291bGQgYmUgdGFraW5nIGEgcmVm
ZXJlbmNlLgotICAgIC8vIEhvdyBpcyBpdCB1c2VmdWwgdG8gY3JlYXRlIGEgbm90aWZpY2F0aW9u
IGNlbnRlciB3aXRoIG5vIGNsaWVudD8KLSAgICBpZiAoIW1fbm90aWZpY2F0aW9uQ2VudGVyKQot
ICAgICAgICBtX25vdGlmaWNhdGlvbkNlbnRlciA9IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRl
KCptX2NvbnRleHQsIG1fY29udGV4dC0+dGhyZWFkKCkuZ2V0Tm90aWZpY2F0aW9uQ2xpZW50KCkp
OwotICAgIHJldHVybiBtX25vdGlmaWNhdGlvbkNlbnRlci5nZXQoKTsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVO
b3RpZmljYXRpb25zLmgJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaAkobm9uZXhp
c3RlbnQpCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDks
IDIwMTMsIDIwMTQsIDIwMTUsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqCi0gKi8KLQotI3ByYWdtYSBv
bmNlCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQotCi0jaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jbGFzcyBOb3RpZmljYXRpb25DZW50ZXI7Ci1jbGFzcyBXb3JrZXJHbG9iYWxTY29w
ZTsKLQotY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zIDogcHVibGljIFN1cHBs
ZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+IHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBXb3JrZXJH
bG9iYWxTY29wZU5vdGlmaWNhdGlvbnMoV29ya2VyR2xvYmFsU2NvcGUmKTsKLSAgICB2aXJ0dWFs
IH5Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMoKTsKLQotICAgIHN0YXRpYyBOb3RpZmlj
YXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoV29ya2VyR2xvYmFsU2NvcGUmKTsKLSAg
ICBzdGF0aWMgV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zKiBmcm9tKFdvcmtlckdsb2Jh
bFNjb3BlJik7Ci0KLXByaXZhdGU6Ci0gICAgTm90aWZpY2F0aW9uQ2VudGVyKiB3ZWJraXROb3Rp
ZmljYXRpb25zKCk7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7Ci0K
LSAgICBXb3JrZXJHbG9iYWxTY29wZSogbV9jb250ZXh0OwotICAgIFJlZlB0cjxOb3RpZmljYXRp
b25DZW50ZXI+IG1fbm90aWZpY2F0aW9uQ2VudGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNh
dGlvbnMuaWRsCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TfExFR0FDWV9O
T1RJRklDQVRJT05TLAotXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJHbG9iYWxTY29wZSB7Ci0j
aWYgZGVmaW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb3RpZmljYXRpb25DZW50ZXIg
d2Via2l0Tm90aWZpY2F0aW9uczsKLSNlbmRpZgotfTsKLQpJbmRleDogU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNh
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIFJlbW92ZSBk
ZWZpbml0aW9uIG9mIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUy4KKwogMjAxNy0wNC0yNSAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXVtXaW5d
IEVuYWJsZSBvZiBYLUNvbnRlbnQtVHlwZS1PcHRpb25zOiBub3NuaWZmIGhlYWRlcgpJbmRleDog
U291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvUEFM
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzksNyArMTM5LDYgQEAgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgPSBFTkFCTEVf
SwogRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFID0gRU5BQkxFX0tFWUJPQVJEX0NPREVf
QVRUUklCVVRFOwogRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUFb
c2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE7Ci1FTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TOwogRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUzsKIEVOQUJMRV9MRVRURVJQUkVTU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfTEVU
VEVSUFJFU1M7CiBFTkFCTEVfTElOS19QUkVGRVRDSCA9IDsKQEAgLTI1NSw0ICsyNTQsNCBAQCBF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF8gPSAkKEVOQUJMCiBFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTX0lGX05PVF9OTyA9IEVOQUJMRV9WQVJJQVRJT05fRk9OVFM7CiBFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTX0lGX05PVF9ZRVMgPSA7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
S0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5B
QkxFX05PU05JRkYpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJ
QVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9T
TklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURF
T19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcxLDExICsxNTcxLDcgQEAKIAkJMzM1MDNDOUEx
MDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8q
IE5vdGlmaWNhdGlvbkNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTMzNTAzQ0EzMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUw
M0M5RjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uY3BwICovOyB9OwogCQkzMzUw
M0NBNDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQ0EwMTAxNzlBRDcwMDNCNDdFMSAv
KiBKU05vdGlmaWNhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCTMzNTAzQ0E1MTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNl
bnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovOyB9
OwotCQkzMzUwM0NBNjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQ0EyMTAx
NzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICovOyB9OwogCQkzMzUwM0ND
NzEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQ0M2MTAxN0ExQjEwMDNCNDdFMSAvKiBO
b3RpZmljYXRpb24uY3BwICovOyB9OwotCQkzMzkwQ0E1NTBGRkMxNTdCMDA5MjE5NjIgLyogTm90
aWZpY2F0aW9uQ2VudGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMzOTBDQTUxMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIu
Y3BwICovOyB9OwotCQkzMzkwQ0E1NjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2Vu
dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzkw
Q0E1MjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggKi87IH07CiAJCTMz
OUI1QjYzMTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzOUI1QjYyMTMxREFBMzIwMEY0OEQw
MiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkzM0QwMjEyRDEzMURCMzdCMDA0MDkxQTggLyogQ29va2llU3RvcmFn
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEzRjAx
RUExMjcwRTEwRDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzNTcxODgzRUVGNjE4NzkzNzUxRTQwODkg
LyogUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzY2MkY5ODQwNDdDRURCRTVERERBRkFBIC8qIFJlbmRlck1hdGhN
TE1lbmNsb3NlLmNwcCAqLzsgfTsKQEAgLTQwNDgsOCArNDA0NCw2IEBACiAJCTk3QUFCRDI3MTRG
QTA5RDUwMDc0NTdBRSAvKiBXZWJTb2NrZXRIYW5kc2hha2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QUFCRDBDMTRGQTA5RDUwMDc0NTdBRSAvKiBX
ZWJTb2NrZXRIYW5kc2hha2UuaCAqLzsgfTsKIAkJOTdBQUJEMkMxNEZBMDlENTAwNzQ1N0FFIC8q
IFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QUFCRDExMTRGQTA5RDUwMDc0NTdBRSAvKiBX
b3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgKi87IH07CiAJCTk3QUFCRDJEMTRG
QTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdBQUJEMTIxNEZBMDlE
NTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTdCMzhFMjcxNTFDNDI3
MTAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QjM4RTI0MTUxQzQyNjQwMDQ2MjJFOSAvKiBE
T01XaW5kb3dOb3RpZmljYXRpb25zLmggKi87IH07Ci0JCTk3QjM4RTI4MTUxQzQyNzMwMDQ2MjJF
OSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QjM4RTIzMTUxQzQyNjQwMDQ2MjJFOSAvKiBET01XaW5k
b3dOb3RpZmljYXRpb25zLmNwcCAqLzsgfTsKIAkJOTdCOEZGRDExNkFFN0Y5NjAwMzgzODhEIC8q
IENoYXJhY3RlclJlZmVyZW5jZVBhcnNlcklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QjhGRkNGMTZBRTdGOTIwMDM4Mzg4RCAvKiBDaGFy
YWN0ZXJSZWZlcmVuY2VQYXJzZXJJbmxpbmVzLmggKi87IH07CiAJCTk3QkM2OURDMTUwNUYwNzYw
MDFCNzRBQyAvKiBDaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0JDNjlEODE1MDVGMDc2MDAxQjc0QUMgLyogQ2hh
bmdlVmVyc2lvbldyYXBwZXIuY3BwICovOyB9OwogCQk5N0JDNjlERDE1MDVGMDc2MDAxQjc0QUMg
LyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk3QkM2OUQ5MTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VWZXJzaW9u
V3JhcHBlci5oICovOyB9OwpAQCAtNDA5OCw4ICs0MDkyLDYgQEAKIAkJOTdEQ0UyMDIxMDgwN0M3
NTAwNTdEMzk0IC8qIEhpc3RvcnlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0RDRTIwMDEwODA3Qzc1MDA1N0QzOTQgLyogSGlzdG9y
eUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk5N0U0MDI4RjEzQTY5NkVEMDA5MTNENjcgLyogSWNvbkNvbnRyb2xsZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdFNDAyOEQxM0E2
OTZFRDAwOTEzRDY3IC8qIEljb25Db250cm9sbGVyLmNwcCAqLzsgfTsKIAkJOTdFNDAyOTAxM0E2
OTZFRDAwOTEzRDY3IC8qIEljb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0U0MDI4RTEzQTY5NkVEMDA5MTNENjcgLyogSWNvbkNv
bnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQk5N0Y4RTY2NTE1MUQ0QTRCMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmlj
YXRpb25zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk3RjhFNjYxMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlv
bnMuY3BwICovOyB9OwotCQk5N0Y4RTY2NjE1MUQ0QTRFMDBEMkQxODEgLyogV29ya2VyR2xvYmFs
U2NvcGVOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5N0Y4RTY2MjE1MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVO
b3RpZmljYXRpb25zLmggKi87IH07CiAJCTk4MzFBRTRBMTU0MjI1QzkwMEZFMjY0NCAvKiBSZWZl
cnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTgzMUFFNDkxNTQyMjVBMjAwRkUyNjQ0IC8qIFJlZmVycmVyUG9saWN5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTg0MjY0RjExMkQ1Mjgw
QTAwMEQ4OEE0IC8qIExpbmtMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk4NDI2NEVGMTJENTI4MEEwMDBEODhBNCAvKiBMaW5rTG9h
ZGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJOTg1QkI5NkQxM0E5NDA1ODAwN0EwQjY5IC8qIExpbmtSZWxBdHRyaWJ1dGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTg1QkI5NkIxM0E5
NDA1ODAwN0EwQjY5IC8qIExpbmtSZWxBdHRyaWJ1dGUuY3BwICovOyB9OwpAQCAtOTE4OCwxMiAr
OTE4MCw3IEBACiAJCTMzNTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25DbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IGZpbGVFbmNvZGluZyA9IDQ7IHBhdGggPSBOb3RpZmljYXRpb25DbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzM1MDNDOUYxMDE3OUFENzAwM0I0N0Ux
IC8qIEpTTm90aWZpY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTTm90aWZpY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzM1
MDNDQTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTTm90aWZpY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTMzNTAzQ0ExMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05vdGlmaWNhdGlv
bkNlbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzNTAzQ0EyMTAxNzlB
RDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU05vdGlmaWNhdGlvbkNlbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMzUwM0NDNjEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNhdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzOTBDQTUxMEZGQzE1N0IwMDkyMTk2MiAvKiBO
b3RpZmljYXRpb25DZW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTm90aWZpY2F0aW9uQ2VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MzM5MENBNTIwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb3RpZmljYXRpb25DZW50ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzM5MENBNTMwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNh
dGlvbkNlbnRlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTm90aWZpY2F0aW9uQ2VudGVy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzM5QjVCNjIxMzFEQUEzMjAwRjQ4
RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb29raWVzU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzY2MkY5
ODQwNDdDRURCRTVERERBRkFBIC8qIFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1hdGhNTE1lbmNsb3NlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxN0Q3RTUxN0VDQzNBNjAwM0MyNzZEIC8qIGV4
dHJhY3QtbG9jYWxpemFibGUtc3RyaW5ncy5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7IHBhdGggPSAiZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEy
MTc0LDkgKzEyMTYxLDYgQEAKIAkJOTdBQUJEMEMxNEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tl
dEhhbmRzaGFrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTb2NrZXRI
YW5kc2hha2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdBQUJEMTExNEZBMDlE
NTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdBQUJEMTIxNEZBMDlE
NTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3QjM4RTIzMTUxQzQyNjQwMDQ2MjJF
OSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk5N0IzOEUyNDE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZp
Y2F0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XaW5kb3dOb3Rp
ZmljYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3QjM4RTI1MTUxQzQy
NjQwMDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTdCOEZGQ0YxNkFFN0Y5MjAwMzgzODhEIC8qIENoYXJhY3RlclJlZmVyZW5jZVBh
cnNlcklubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2hhcmFjdGVy
UmVmZXJlbmNlUGFyc2VySW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
N0JDNjlEODE1MDVGMDc2MDAxQjc0QUMgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0JDNjlEOTE1MDVGMDc2MDAxQjc0QUMg
LyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2hhbmdlVmVyc2lvbldyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEyMjQxLDkgKzEyMjI1LDYgQEAKIAkJOTdFNDAyOEUxM0E2OTZFRDAwOTEzRDY3IC8qIEljb25D
b250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEljb25Db250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3RTlFQzhCMTVEQzQ5MkYwMDRG
MkU3MSAvKiBKU1ZvaWRDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1ZvaWRDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk3RTlFQzhDMTVEQzQ5MkYwMDRGMkU3MSAvKiBKU1ZvaWRDYWxsYmFjay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1ZvaWRDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk5N0Y4RTY2MTE1MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2Nv
cGVOb3RpZmljYXRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTk3RjhFNjYyMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5v
dGlmaWNhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyR2xv
YmFsU2NvcGVOb3RpZmljYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3
RjhFNjYzMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9u
cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk4MzFBRTQ5MTU0MjI1QTIwMEZF
MjY0NCAvKiBSZWZlcnJlclBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZWZlcnJlclBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5ODQyNjRF
RjEyRDUyODBBMDAwRDg4QTQgLyogTGlua0xvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMaW5rTG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTk4NUJCOTZCMTNBOTQwNTgwMDdBMEI2OSAvKiBMaW5rUmVsQXR0cmlidXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExpbmtSZWxBdHRyaWJ1dGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc0NzUsMjMgKzE3NDU2LDE0IEBA
CiAJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk5N0IzOEUyMzE1MUM0MjY0MDA0
NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAgKi8sCi0JCQkJOTdCMzhFMjQxNTFD
NDI2NDAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCAqLywKLQkJCQk5N0IzOEUy
NTE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgKi8sCiAJCQkJ
MzM1MDNDQzYxMDE3QTFCMTAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgKi8sCiAJCQkJMzMz
RjcwNEYwRkI0OUNBMjAwOEUxMkE2IC8qIE5vdGlmaWNhdGlvbi5oICovLAogCQkJCTMzM0Y3MDRF
MEZCNDlDQTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaWRsICovLAotCQkJCTMzOTBDQTUxMEZG
QzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuY3BwICovLAotCQkJCTMzOTBDQTUy
MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCAqLywKLQkJCQkzMzkwQ0E1
MzBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmlkbCAqLywKIAkJCQkzMzUw
M0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggKi8sCiAJCQkJMzEy
OENBNjcxNDczMzE1MjAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwICovLAog
CQkJCTMxMjhDQTZBMTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmgg
Ki8sCiAJCQkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5oICovLAogCQkJCTMxRUMxRDUwMTRGRUZEMDgwMEM5NDY2MiAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovLAotCQkJCTk3RjhFNjYxMTUxRDRBM0YwMEQy
RDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwICovLAotCQkJCTk3RjhF
NjYyMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaCAq
LywKLQkJCQk5N0Y4RTY2MzE1MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3Rp
ZmljYXRpb25zLmlkbCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbm90aWZpY2F0aW9uczsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xNzUwMSw4ICsxNzQ3Myw2IEBACiAJCQljaGlsZHJl
biA9ICgKIAkJCQkzMzUwM0M5RjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uY3Bw
ICovLAogCQkJCTMzNTAzQ0EwMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbi5oICov
LAotCQkJCTMzNTAzQ0ExMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5j
cHAgKi8sCi0JCQkJMzM1MDNDQTIxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2Vu
dGVyLmggKi8sCiAJCQkJMzFFQzFFMjYxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmNwcCAqLywKIAkJCQkzMUVDMUUyNzE0RkY2MEVFMDBDOTQ2NjIg
LyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLywKIAkJCSk7CkBAIC0yNjk4
Miw3ICsyNjk1Miw2IEBACiAJCQkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRv
dy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQTJENzgxNTIxMzJCMzAwQzFCQTBCIC8qIERPTVdp
bmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDNzUxQkI0QzRFODAwMTI4
OThGIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTdC
MzhFMjcxNTFDNDI3MTAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3RDJBRDA0MTRCODIzQTYwMDkzREYzMiAvKiBET01XaW5kb3dQcm9wZXJ0
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODlGNjBCMTExNTdGNjg2RTAwNzVFMTU3IC8qIERPTVdp
bmRvd1F1b3RhLmggaW4gSGVhZGVycyAqLywKIAkJCQlBQTJBNUFENjE2QTQ4NjE2MDA5NzVBMjUg
LyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggaW4gSGVhZGVycyAqLywKQEAgLTI3OTM3LDcg
KzI3OTA2LDYgQEAKIAkJCQlCQ0Q5QzJDMzBDMTdCNjlFMDA1QzkwQTIgLyogSlNOb2RlTGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQUQyMEIxOEQxOEU5RDIzNzAwNUE4MDgzIC8qIEpTTm9kZUxp
c3RDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCTMzNTAzQ0E0MTAxNzlBRDcwMDNCNDdFMSAv
KiBKU05vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMzM1MDNDQTYxMDE3OUFENzAw
M0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUVD
MUUyOTE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovLAogCQkJCTdFNDZGNkZCMTYyN0EyQ0EwMDA2MjIyMyAvKiBKU09FU0Vs
ZW1lbnRJbmRleFVpbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkwMDE3ODgxMTJFMDM3MDcwMDY0
ODQ2MiAvKiBKU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjg1
ODMsNyArMjg1NTEsNiBAQAogCQkJCTkzODJBQUI0MEQ4QzM4NjEwMEYzNTdBNiAvKiBOb2RlV2l0
aEluZGV4LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDZCNDFGOTFDQjI0RTcwMDA4RjExREUgLyog
Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTJDMEM0MTE0
NkRDNkNDMDAxNkM5MTEgLyogTm90aWZpY2F0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQkzMzkw
Q0E1NjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMzUwM0M5QTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMTI4Q0E2QjE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0
aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFGRTZERkExNTAwNEMyQTAwMDRF
QkM0IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yOTk4NCw3ICsyOTk1MSw2IEBACiAJCQkJQTNFMjY0MzExNDc0ODk5MTAwNUE4NTg4IC8qIFdv
cmtlckV2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIw
RjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDQjQx
QkI0QzRFODAwMTI4OThGIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4g
SGVhZGVycyAqLywKLQkJCQk5N0Y4RTY2NjE1MUQ0QTRFMDBEMkQxODEgLyogV29ya2VyR2xvYmFs
U2NvcGVOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgy
MDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1NEEwQzZDMURCODMxRjkwMDE3QTkwQiAvKiBXb3JrZXJJbnNw
ZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDk3Miw3ICszMDkzOCw2IEBACiAJCQkJ
NTE3RkJBMUUxNTFBQjE3QzAwQjU3OTU5IC8qIERPTVdpbmRvd0V4dGVuc2lvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0MThDMzk1NjFDOERBQzdGMDA1MUM4QTMgLyogRE9NV2luZG93RmV0Y2gu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4NUZDNzQxQkI0QzRFODAwMTI4OThGIC8qIERPTVdp
bmRvd0luZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk5N0IzOEUyODE1MUM0
MjczMDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5N0QyQUQwMzE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQUEyQTVBRDcxNkE0ODYxQTAwOTc1QTI1IC8qIERPTVdpbmRvd1Nw
ZWVjaFN5bnRoZXNpcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOENDQkI0ODE1MUY4MzE2MDBB
QjdDRTkgLyogRE9NV2luZG93V2ViRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTky
MCw3ICszMTg4NSw2IEBACiAJCQkJQkNEOUMyQzIwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTm9kZUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEOUMyNjUwQzE3QUE2NzAwNUM5MEEyIC8qIEpT
Tm9kZUxpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzM1MDNDQTMxMDE3OUFENzAw
M0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTMzNTAzQ0E1
MTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMUVDMUUyODE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0U0NkY2RkExNjI3QTJDQTAwMDYy
MjIzIC8qIEpTT0VTRWxlbWVudEluZGV4VWludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MDAx
Nzg4MDEyRTAzNzA3MDA2NDg0NjIgLyogSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMzI1NzIsNyArMzI1MzYsNiBAQAogCQkJCTRGRkMwMjJCMTY0M0I3MTAw
MDRFMTYzOCAvKiBOb2RlUmFyZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQzMTA1Qjgx
Njc1MEYwQzAwREIyRkI4IC8qIE5vZGVUcmF2ZXJzYWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MzM1MDNDQzcxMDE3QTFCMTAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQkzMzkwQ0E1NTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTMxMjhDQTY4MTQ3MzMxNTIwMDc0QzcyQSAvKiBOb3RpZmlj
YXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNTEzRDUxMTY3N0YwODgw
MDE0OUZDQiAvKiBOb3RJbXBsZW1lbnRlZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTU2OUQw
QTBEN0UyQjgyMDA3QzM5ODMgLyogTlBfanNvYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0z
MzY4NCw3ICszMzY0Nyw2IEBACiAJCQkJMkU0MzQ2NDgwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtl
ckdsb2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxOEMzOTVBMUM4REQ2OTkwMDUx
QzhBMyAvKiBXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUx
ODVGQ0IzMUJCNEM0RTgwMDEyODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFz
ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk5N0Y4RTY2NTE1MUQ0QTRCMDBEMkQxODEgLyogV29y
a2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1NEEw
QzYxMURCN0Y4QzEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE1NEEwQzZCMURCODMxRjkwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0
b3JQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTQzNDY0QzBGNTQ2QTgyMDBCMEYxQkEg
LyogV29ya2VyTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4JKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4JKHdvcmtpbmcgY29weSkKQEAgLTIzLDcg
KzIzLDcgQEAgTWVkaWFTdHJlYW0gY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZWRpYVN0cmVh
bVRyYWNrIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVzc2FnZVBvcnQKIE5vZGUKLU5vdGlm
aWNhdGlvbiBjb25kaXRpb25hbD1OT1RJRklDQVRJT05TfExFR0FDWV9OT1RJRklDQVRJT05TCitO
b3RpZmljYXRpb24gY29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUwogUGVyZm9ybWFuY2UgY29uZGl0
aW9uYWw9V0VCX1RJTUlORwogUlRDRGF0YUNoYW5uZWwgY29uZGl0aW9uYWw9V0VCX1JUQwogUlRD
RFRNRlNlbmRlciBjb25kaXRpb25hbD1XRUJfUlRDX0RUTUYKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgIkRP
TVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRPTVVSTC5oIgogI2luY2x1ZGUgIkRPTVdpbmRvd0V4
dGVuc2lvbi5oIgotI2luY2x1ZGUgIkRPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCIKICNpbmNsdWRl
ICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJUaHJlYWQuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCBw
dWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHVuc2lnbmVkIHdvcmtlclRocmVhZENv
dW50KCk7CiAgICAgc3RhdGljIHZvaWQgcmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5SW5BbGxU
aHJlYWRzKCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlv
bkNsaWVudCogZ2V0Tm90aWZpY2F0aW9uQ2xpZW50KCkgeyByZXR1cm4gbV9ub3RpZmljYXRpb25D
bGllbnQ7IH0KICAgICB2b2lkIHNldE5vdGlmaWNhdGlvbkNsaWVudChOb3RpZmljYXRpb25DbGll
bnQqIGNsaWVudCkgeyBtX25vdGlmaWNhdGlvbkNsaWVudCA9IGNsaWVudDsgfQogI2VuZGlmCkBA
IC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJU
aHJlYWRTdGFydHVwRGF0YT4gbV9zdGFydHVwRGF0YTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgTm90aWZpY2F0aW9uQ2xpZW50KiBtX25vdGlmaWNhdGlvbkNsaWVudCB7IG51
bGxwdHIgfTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYwMDIpCisrKyBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAor
MjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92
ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHA6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgUmVtb3ZlIGxlZ2FjeSBub3RpZmljYXRpb24gc3BlY2lm
aWMgY29kZS4KKwogMjAxNy0wNC0zMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbGVnYWN5IENsaWVudFJlY3QgLyBDbGllbnRSZWN0
TGlzdApJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzksNyArMTM5LDYgQEAgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgPSBFTkFCTEVf
SwogRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFID0gRU5BQkxFX0tFWUJPQVJEX0NPREVf
QVRUUklCVVRFOwogRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUFb
c2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE7Ci1FTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TOwogRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUzsKIEVOQUJMRV9MRVRURVJQUkVTU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfTEVU
VEVSUFJFU1M7CiBFTkFCTEVfTElOS19QUkVGRVRDSCA9IDsKQEAgLTI1NSw0ICsyNTQsNCBAQCBF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF8gPSAkKEVOQUJMCiBFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTX0lGX05PVF9OTyA9IEVOQUJMRV9WQVJJQVRJT05fRk9OVFM7CiBFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTX0lGX05PVF9ZRVMgPSA7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
S0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5B
QkxFX05PU05JRkYpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJ
QVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9T
TklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURF
T19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNyArMTExLDcg
QEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogICAgICAgICBlbmNv
ZGVyIDw8IGJ1bmRsZVBhcmFtZXRlckRhdGEtPmRhdGFSZWZlcmVuY2UoKTsKICNlbmRpZgogCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBlbmNvZGVyIDw8IG5vdGlmaWNhdGlvblBl
cm1pc3Npb25zOwogI2VuZGlmCiAKQEAgLTI3OCw3ICsyNzgsNyBAQCBib29sIFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5ub3RpZmlj
YXRpb25QZXJtaXNzaW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpJbmRleDog
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsNyArMTUwLDcg
QEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFJlZlB0cjxBUEk6
OkRhdGE+IGJ1bmRsZVBhcmFtZXRlckRhdGE7CiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8U3RyaW5nLCBib29sPiBu
b3RpZmljYXRpb25QZXJtaXNzaW9uczsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTcwOSw3ICs3MDksNyBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpjcmVhdGVO
CiAKICAgICBwYXJhbWV0ZXJzLmRlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsID0gQVBJOjpV
UkxSZXF1ZXN0OjpkZWZhdWx0VGltZW91dEludGVydmFsKCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQogICAgIC8vIEZJWE1FOiBUaGVyZSBzaG91bGQgYmUgYSBnZW5lcmljIHdheSBm
b3Igc3VwcGxlbWVudHMgdG8gYWRkIHRvIHRoZSBpbnRpYWxpemF0aW9uIHBhcmFtZXRlcnMuCiAg
ICAgc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPnBvcHVsYXRlQ29w
eU9mTm90aWZpY2F0aW9uUGVybWlzc2lvbnMocGFyYW1ldGVycy5ub3RpZmljYXRpb25QZXJtaXNz
aW9ucyk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDcgKzEyOCw3IEBACiAjaW5jbHVkZSAi
V2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oIgogI2Vu
ZGlmCiAKQEAgLTE4Miw3ICsxODIsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICBh
ZGRTdXBwbGVtZW50PFdlYkNvb2tpZU1hbmFnZXI+KCk7CiAgICAgYWRkU3VwcGxlbWVudDxBdXRo
ZW50aWNhdGlvbk1hbmFnZXI+KCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IGFkZFN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKTsKICNlbmRpZgogCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc5LDggKzc5LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTdHlsZVNoZWV0Lmg+CiAKLQotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oIgogI2VuZGlm
CiAKQEAgLTU0MCw3ICs1MzksNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRVc2VyU3R5bGVT
aGVldExvCiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFdlYk5vdGlmaWNhdGlvblBlcm1pc3Np
b24oV2ViUGFnZSogcGFnZSwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIGJvb2wgYWxsb3dl
ZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHBhZ2UtPm5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zZXRQZXJtaXNzaW9uTGV2ZWxGb3JUZXN0aW5n
KG9yaWdpblN0cmluZywgYWxsb3dlZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShwYWdlKTsK
QEAgLTU1MSw3ICs1NTAsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRXZWJOb3RpZmljYXRp
b25QCiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1p
c3Npb25zKFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAg
ICBwYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+cmVtb3ZlQWxs
UGVybWlzc2lvbnNGb3JUZXN0aW5nKCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShwYWdlKTsK
QEAgLTU2MCw3ICs1NTksNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpyZW1vdmVBbGxXZWJOb3Rp
ZmljCiAKIHVpbnQ2NF90IEluamVjdGVkQnVuZGxlOjp3ZWJOb3RpZmljYXRpb25JRChKU0NvbnRl
eHRSZWYganNDb250ZXh0LCBKU1ZhbHVlUmVmIGpzTm90aWZpY2F0aW9uKQogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBub3RpZmljYXRp
b24gPSBKU05vdGlmaWNhdGlvbjo6dG9XcmFwcGVkKHRvSlMoanNDb250ZXh0KS0+dm0oKSwgdG9K
Uyh0b0pTKGpzQ29udGV4dCksIGpzTm90aWZpY2F0aW9uKSk7CiAgICAgaWYgKCFub3RpZmljYXRp
b24pCiAgICAgICAgIHJldHVybiAwOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAJKHJldmlzaW9uIDIxNjAwMikKKysr
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
U2V0dGluZ3MuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlci5oIgogI2VuZGlmCiAKQEAgLTQ0LDcgKzQ0LDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVJlcXVlc3RJRCgpCiB7CiAg
ICAgc3RhdGljIHVpbnQ2NF90IHVuaXF1ZVJlcXVlc3RJRCA9IDE7CkBAIC01Nyw3ICs1Nyw3IEBA
IFJlZjxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIKICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIocGFnZSkpOwog
fQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlcjo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBh
Z2UqIHBhZ2UpCiAgICAgOiBtX3BhZ2UocGFnZSkKIHsKQEAgLTg2LDM4ICs4NiwxNSBAQCB2b2lk
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlCiB9CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLXZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUmVmUHRy
PFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKLXsKLSAgICBOb3RpZmljYXRpb25D
bGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IHBlcm1pc3Npb25MZXZlbChvcmlnaW4pOwot
ICAgIGlmIChwZXJtaXNzaW9uICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFs
bG93ZWQpIHsKLSAgICAgICAgaWYgKGNhbGxiYWNrKQotICAgICAgICAgICAgY2FsbGJhY2stPmhh
bmRsZUV2ZW50KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAgdWludDY0X3Qg
cmVxdWVzdElEID0gZ2VuZXJhdGVSZXF1ZXN0SUQoKTsKLSAgICBtX29yaWdpblRvSURNYXAuc2V0
KG9yaWdpbiwgcmVxdWVzdElEKTsKLSAgICBtX2lkVG9PcmlnaW5NYXAuc2V0KHJlcXVlc3RJRCwg
b3JpZ2luKTsKLSAgICBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXAuc2V0KHJlcXVlc3RJRCwgV1RGTW92
ZShjYWxsYmFjaykpOwotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpS
ZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbihyZXF1ZXN0SUQsIG9yaWdpbi0+dG9TdHJpbmco
KSkpOwotfQotI2VuZGlmCi0KIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyOjpjYW5jZWxSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7Ci0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICB1aW50NjRfdCBpZCA9IG1fb3JpZ2luVG9JRE1hcC50YWtl
KG9yaWdpbik7CiAgICAgaWYgKCFpZCkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIG1faWRU
b09yaWdpbk1hcC5yZW1vdmUoaWQpOwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIG1f
aWRUb0NhbGxiYWNrTWFwLnJlbW92ZShpZCk7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCi0gICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnJlbW92ZShpZCk7Ci0jZW5k
aWYKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpbik7CiAjZW5kaWYKQEAgLTEyNSw3ICsx
MDIsNyBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlCiAKIGJvb2wg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpoYXNQZW5kaW5nUGVybWlzc2lv
blJlcXVlc3RzKFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKICAgICByZXR1cm4gbV9vcmlnaW5Ub0lETWFwLmNvbnRhaW5zKG9yaWdp
bik7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW4pOwpAQCAtMTM1LDcgKzExMiw3IEBA
IGJvb2wgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2UKIAogTm90aWZpY2F0aW9u
Q2xpZW50OjpQZXJtaXNzaW9uIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6
cGVybWlzc2lvbkxldmVsKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKIHsKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgpLT5zZXR0
aW5ncygpLm5vdGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBOb3RpZmljYXRp
b25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgCkBAIC0xNDgsNyArMTI1LDcgQEAgTm90
aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIE5vdGlmaWNhdAogCiB2b2lkIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c2V0UGVybWlzc2lvbkxldmVsRm9yVGVzdGluZyhj
b25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKQogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVudDxX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyPigpLT5kaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihv
cmlnaW5TdHJpbmcsIGFsbG93ZWQpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ob3JpZ2luU3Ry
aW5nKTsKQEAgLTE1OCwxNCArMTM1LDE0IEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2UKIAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OnJlbW92ZUFsbFBlcm1pc3Npb25zRm9yVGVzdGluZygpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXI+KCktPnJlbW92ZUFsbFBlcm1pc3Npb25zRm9yVGVzdGluZygpOwogI2Vu
ZGlmCiB9CiAKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRS
ZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Ym9vbCBhbGxvd2VkKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFp
c1JlcXVlc3RJRFZhbGlkKHJlcXVlc3RJRCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTc3LDIy
ICsxNTQsMTEgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZQogCiAg
ICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5h
Z2VyPigpLT5kaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihvcmlnaW4tPnRvU3RyaW5nKCks
IGFsbG93ZWQpOwogCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIFJlZlB0
cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+IHZvaWRDYWxsYmFjayA9IG1faWRUb1ZvaWRDYWxsYmFj
a01hcC50YWtlKHJlcXVlc3RJRCk7Ci0gICAgaWYgKHZvaWRDYWxsYmFjaykgewotICAgICAgICB2
b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5k
aWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIFJlZlB0cjxOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV9pZFRvQ2FsbGJhY2tNYXAudGFrZShyZXF1
ZXN0SUQpOwogICAgIGlmICghY2FsbGJhY2spCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBj
YWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKGFsbG93
ZWQgPyBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9u
Q2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKSk7Ci0jZW5kaWYKLQogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0ocmVxdWVzdElEKTsKICAgICBVTlVTRURfUEFSQU0oYWxsb3dlZCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oCShy
ZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDkgKzUyLDYgQEAgcHVibGljOgogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgUmVmUHRyPFdlYkNv
cmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4mJik7CiAjZW5kaWYKLSNpZiBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4qLCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiYmKTsKLSNlbmRp
ZgogICAgIHZvaWQgY2FuY2VsUmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiopOwogICAg
IGJvb2wgaGFzUGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biopIGNvbnN0OwogICAgIApAQCAtNzIsMTMgKzY5LDEwIEBAIHByaXZhdGU6CiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6Ok5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4+IG1faWRUb0NhbGxiYWNrTWFwOwogI2VuZGlm
Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+PiBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXA7Ci0j
ZW5kaWYKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4sIHVpbnQ2
NF90PiBtX29yaWdpblRvSURNYXA7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luPj4gbV9pZFRvT3JpZ2luTWFwOwogCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICBXZWJQYWdlKiBtX3BhZ2U7CiAjZW5kaWYKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb24uaCIKICNp
bmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQ
YWdlUHJveHlNZXNzYWdlcy5oIgpAQCAtNDcsNyArNDcsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlTm90aWZpY2F0aW9uSUQoKQogewogICAgIHN0YXRp
YyB1aW50NjRfdCB1bmlxdWVOb3RpZmljYXRpb25JRCA9IDE7CkBAIC02Myw3ICs2Myw3IEBAIGNv
bnN0IGNoYXIqIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnN1cHAKIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXIoV2ViUHJvY2VzcyogcHJvY2VzcykKICAgICA6
IG1fcHJvY2Vzcyhwcm9jZXNzKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAg
bV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgKnRoaXMpOwogI2VuZGlmCiB9CkBAIC03NCw3
ICs3NCw3IEBAIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6On5XZWJOb3RpZmljYXRpb24KIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBtX3Blcm1pc3Npb25zTWFwID0gcGFyYW1ldGVycy5ub3RpZmljYXRpb25QZXJtaXNz
aW9uczsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOwpAQCAtODMsNyArODMs
NyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmluaXRpYWxpemUoCiAKIHZvaWQgV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24oY29uc3Qg
U3RyaW5nJiBvcmlnaW5TdHJpbmcsIGJvb2wgYWxsb3dlZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQogICAgIG1fcGVybWlzc2lvbnNNYXAuc2V0KG9yaWdpblN0cmluZywgYWxsb3dl
ZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW5TdHJpbmcpOwpAQCAtOTMsMjMgKzkz
LDIyIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkVXBkYXRlTm8KIAogdm9pZCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRSZW1vdmVOb3RpZmljYXRpb25EZWNpc2lvbnMoY29u
c3QgVmVjdG9yPFN0cmluZz4mIG9yaWdpblN0cmluZ3MpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBzaXplX3QgY291bnQg
PSBvcmlnaW5TdHJpbmdzLnNpemUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50
OyArK2kpCi0gICAgICAgIG1fcGVybWlzc2lvbnNNYXAucmVtb3ZlKG9yaWdpblN0cmluZ3NbaV0p
OworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIGZvciAoYXV0byYgb3JpZ2luU3RyaW5n
IDogb3JpZ2luU3RyaW5ncykKKyAgICAgICAgbV9wZXJtaXNzaW9uc01hcC5yZW1vdmUob3JpZ2lu
U3RyaW5nKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpblN0cmluZ3MpOwogI2VuZGlm
CiB9CiAKLU5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25NYW5h
Z2VyOjpwb2xpY3lGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4gKm9yaWdpbikgY29u
c3QKK05vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
Ojpwb2xpY3lGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbikgY29uc3QK
IHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghb3JpZ2luKQogICAgICAg
ICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZDsKIAogICAg
IEFTU0VSVCghb3JpZ2luLT5pc1VuaXF1ZSgpKTsKLSAgICBIYXNoTWFwPFN0cmluZywgYm9vbD46
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9wZXJtaXNzaW9uc01hcC5maW5kKG9yaWdpbi0+dG9SYXdT
dHJpbmcoKSk7CisgICAgYXV0byBpdCA9IG1fcGVybWlzc2lvbnNNYXAuZmluZChvcmlnaW4tPnRv
UmF3U3RyaW5nKCkpOwogICAgIGlmIChpdCAhPSBtX3Blcm1pc3Npb25zTWFwLmVuZCgpKQogICAg
ICAgICByZXR1cm4gaXQtPnZhbHVlID8gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxs
b3dlZCA6IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZDsKICNlbHNlCkBAIC0x
MjEsMTQgKzEyMCwxNCBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZp
CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6cmVtb3ZlQWxsUGVybWlzc2lvbnNGb3JU
ZXN0aW5nKCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIG1fcGVybWlzc2lv
bnNNYXAuY2xlYXIoKTsKICNlbmRpZgogfQogCiB1aW50NjRfdCBXZWJOb3RpZmljYXRpb25NYW5h
Z2VyOjpub3RpZmljYXRpb25JREZvclRlc3RpbmcoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24p
CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNhdGlvbikK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIG1fbm90aWZpY2F0aW9uTWFwLmdldChub3Rp
ZmljYXRpb24pOwpAQCAtMTQwLDcgKzEzOSw3IEBAIHVpbnQ2NF90IFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6Om5vdGlmaWMKIAogYm9vbCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93KE5vdGlm
aWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgaWYgKCFub3RpZmljYXRpb24gfHwgIXBhZ2UtPmNvcmVQYWdlKCkt
PnNldHRpbmdzKCkubm90aWZpY2F0aW9uc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIApAQCAtMTQ4LDE0ICsxNDcsMTAgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
OjpzaG93KE5vdGlmaQogICAgIG1fbm90aWZpY2F0aW9uTWFwLnNldChub3RpZmljYXRpb24sIG5v
dGlmaWNhdGlvbklEKTsKICAgICBtX25vdGlmaWNhdGlvbklETWFwLnNldChub3RpZmljYXRpb25J
RCwgbm90aWZpY2F0aW9uKTsKICAgICAKLSAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVy
YXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIFZlY3Rvcjx1aW50NjRfdD4oKSkuaXRlcmF0b3I7CisgICAg
YXV0byBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIFZlY3Rvcjx1aW50NjRfdD4oKSkuaXRlcmF0b3I7CiAgICAg
aXQtPnZhbHVlLmFwcGVuZChub3RpZmljYXRpb25JRCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICBtX3Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24tPnRpdGxl
KCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24tPmljb25VUkwoKS5zdHJpbmco
KSwgbm90aWZpY2F0aW9uLT50YWcoKSwgbm90aWZpY2F0aW9uLT5sYW5nKCksIG5vdGlmaWNhdGlv
bi0+ZGlyKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0
eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCksIHBhZ2UtPnBhZ2VJRCgpKTsK
LSNlbHNlCi0gICAgbV9wcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT50aXRs
ZSgpLCBub3RpZmljYXRpb24tPmJvZHkoKSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCkuc3RyaW5n
KCksIG5vdGlmaWNhdGlvbi0+cmVwbGFjZUlkKCksIG5vdGlmaWNhdGlvbi0+bGFuZygpLCBub3Rp
ZmljYXRpb24tPmRpcigpLCBub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQpLCBwYWdlLT5wYWdl
SUQoKSk7Ci0jZW5kaWYKICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KG5vdGlmaWNhdGlvbik7CkBAIC0xNjYsNyArMTYxLDcgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyOjpzaG93KE5vdGlmaQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNhbmNl
bChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKIHsKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghbm90aWZpY2F0aW9uIHx8ICFwYWdlLT5jb3Jl
UGFnZSgpLT5zZXR0aW5ncygpLm5vdGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKICAgICAKQEAgLTE4Myw3ICsxNzgsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OmNhbmNlbChOb3RpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6Y2xlYXJOb3RpZmlj
YXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYlBhZ2Uq
IHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb25D
b250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5maW5kKGNv
bnRleHQpOwogICAgIGlmIChpdCA9PSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZW5kKCkpCiAg
ICAgICAgIHJldHVybjsKQEAgLTIwOCw3ICsyMDMsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6OmNsZWFyTm90aWZpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkRGVz
dHJveU5vdGlmaWNhdGlvbihOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFn
ZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHVpbnQ2NF90IG5vdGlmaWNh
dGlvbklEID0gbV9ub3RpZmljYXRpb25NYXAudGFrZShub3RpZmljYXRpb24pOwogICAgIGlmICgh
bm90aWZpY2F0aW9uSUQpCiAgICAgICAgIHJldHVybjsKQEAgLTIyNCw3ICsyMTksNyBAQCB2b2lk
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZERlc3Ryb3lOCiAKIHZvaWQgV2ViTm90aWZpY2F0
aW9uTWFuYWdlcjo6ZGlkU2hvd05vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkK
IHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghaXNOb3RpZmljYXRpb25J
RFZhbGlkKG5vdGlmaWNhdGlvbklEKSkKICAgICAgICAgcmV0dXJuOwogICAgIApAQCAtMjQwLDcg
KzIzNSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkU2hvd05vdGkKIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbGlja05vdGlmaWNhdGlvbih1aW50NjRfdCBu
b3RpZmljYXRpb25JRCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICgh
aXNOb3RpZmljYXRpb25JRFZhbGlkKG5vdGlmaWNhdGlvbklEKSkKICAgICAgICAgcmV0dXJuOwog
CkBAIC0yNTgsNyArMjUzLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbGlj
a05vdAogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsb3NlTm90aWZpY2F0aW9u
cyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZmljYXRpb25JRHMpCiB7Ci0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBzaXplX3QgY291bnQgPSBub3RpZmljYXRpb25JRHMuc2l6
ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgICB1
aW50NjRfdCBub3RpZmljYXRpb25JRCA9IG5vdGlmaWNhdGlvbklEc1tpXTsKQEAgLTI3OSw3ICsy
NzQsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsb3NlTm90CiAjZW5kaWYK
IH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkZyb21Db250ZXh0TWFwKHVpbnQ2NF90IG5vdGlmaWNh
dGlvbklELCBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKICAgICAvLyBUaGlzIGlzIGEg
aGVscGVyIGZ1bmN0aW9uIGZvciBtYW5hZ2luZyB0aGUgaGFzaCBtYXBzLgpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC04MCwxMyArODAsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENs
b3NlTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZmljYXRpb25JRHMp
OwogICAgIHZvaWQgZGlkUmVtb3ZlTm90aWZpY2F0aW9uRGVjaXNpb25zKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBvcmlnaW5TdHJpbmdzKTsKICAgICAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIHZvaWQgcmVtb3ZlTm90aWZpY2F0aW9uRnJvbUNvbnRleHRNYXAodWludDY0X3Qgbm90
aWZpY2F0aW9uSUQsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopOwogI2VuZGlmCiAKICAgICBXZWJQ
cm9jZXNzKiBtX3Byb2Nlc3M7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHR5
cGVkZWYgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgdWludDY0X3Q+IE5v
dGlmaWNhdGlvbk1hcDsKICAgICBOb3RpZmljYXRpb25NYXAgbV9ub3RpZmljYXRpb25NYXA7CiAg
ICAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25DbGllbnQuaCIKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
LmgiCkBAIC03MiwxOSArNzIsMTAgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlm
aWNhdGlvbgogICAgIGRlbGV0ZSB0aGlzOwogfQogCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQotdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJh
Y2s+JiYgY2FsbGJhY2spCi17Ci0gICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIFdU
Rk1vdmUoY2FsbGJhY2spKTsKLX0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjaz4mJiBjYWxsYmFjaykKIHsKICAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwg
V1RGTW92ZShjYWxsYmFjaykpOwogfQotI2VuZGlmCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xp
ZW50OjpoYXNQZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpIGNvbnN0CiB7CkBAIC0xMDUsNCArOTYsNCBAQCBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb24gV2ViTm90aWZpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmlj
YXRpb25DbGllbnQuaAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBXZWJOb3RpZmljYXRpb25DbGllbnRfaAogI2Rl
ZmluZSBXZWJOb3RpZmljYXRpb25DbGllbnRfaAogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKIAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAKQEAgLTUxLDEy
ICs1MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZpY2F0aW9u
T2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIG92ZXJyaWRlOwogICAgIHZv
aWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIG92ZXJyaWRlOwotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNr
PiYmKSBvdmVycmlkZTsKLSNlbmRpZgotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHZv
aWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFJl
ZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpIG92ZXJyaWRl
OwotI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwogICAgIGJvb2wgaGFzUGVuZGluZ1Bl
cm1pc3Npb25SZXF1ZXN0cyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlz
c2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CkBAIC02Niw2
ICs2MSw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNl
bmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2VuZGlmIC8vIFdlYk5vdGlmaWNhdGlv
bkNsaWVudF9oCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMiw3ICs0MzIsNyBAQCBX
ZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnCiAjaWYgRU5BQkxFKEdFT0xP
Q0FUSU9OKQogICAgIFdlYkNvcmU6OnByb3ZpZGVHZW9sb2NhdGlvblRvKG1fcGFnZS5nZXQoKSwg
bmV3IFdlYkdlb2xvY2F0aW9uQ2xpZW50KHRoaXMpKTsKICNlbmRpZgotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6cHJvdmlkZU5vdGlmaWNhdGlvbihtX3BhZ2UuZ2V0
KCksIG5ldyBXZWJOb3RpZmljYXRpb25DbGllbnQodGhpcykpOwogI2VuZGlmCiAjaWYgRU5BQkxF
KFZJQlJBVElPTikKQEAgLTMxOTgsNyArMzE5OCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2UKICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9ucyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnNob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zS2V5KCkpKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKICAgICBzZXR0aW5ncy5zZXROb3RpZmljYXRpb25zRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om5vdGlmaWNhdGlvbnNFbmFi
bGVkS2V5KCkpKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYw
MDIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMCBAQAorMjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZpY2F0aW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJOb3Rp
ZmljYXRpb25DbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQubW06CisgICAgICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW06CisgICAg
ICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25X
aXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfbm90aWZpY2F0
aW9uSURGb3JUZXN0aW5nOl0pOgorICAgICAgICBSZW1vdmUgbGVnYWN5IG5vdGlmaWNhdGlvbiBz
cGVjaWZpYyBjb2RlLgorCiAyMDE3LTA0LTMwICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvY29hXSBSZXBsYWNlcyB1c2VzIG9mIFtnZXTigKYoKSBhbGxvY10g
d2l0aCBhbGxvY+KApkluc3RhbmNlKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEzOSw2IEBAIEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsKIEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUzsKIEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TW3Nkaz1tYWNvc3gq
XSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVUVEVSUFJF
U1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwogRU5BQkxFX0xJTktfUFJFRkVU
Q0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1Rf
ID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfTk8gPSBFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfWUVTID0gOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lP
TlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1Rf
QVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19Q
QVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxf
MikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVE
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNF
UlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9B
VFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJH
TDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAyMTYwMDIpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0IDxXZWJDb3JlL05v
dGlmaWNhdGlvbkNsaWVudC5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICNpbXBv
cnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uLmg+CiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgogI2lt
cG9ydCA8d3RmL1JlZlB0ci5oPgpAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgV2ViTm90
aWZpY2F0aW9uQ2xpZW50KFdlYlZpZXcgKik7CiAgICAgV2ViVmlldyAqd2ViVmlldygpIHsgcmV0
dXJuIG1fd2ViVmlldzsgfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICAvLyBG
b3IgdGVzdGluZyBwdXJwb3Nlcy4KICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JREZvclRlc3Rp
bmcoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKik7CiAjZW5kaWYKQEAgLTU5LDkgKzU5LDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95
ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBub3RpZmljYXRp
b25Db250cm9sbGVyRGVzdHJveWVkKCkgb3ZlcnJpZGU7Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQotICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+JiYpIG92ZXJyaWRl
OwotI2VuZGlmCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUmVmUHRyPFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CiAjZW5kaWYKQEAg
LTY5LDEyICs2NiwxMiBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzUGVuZGluZ1Blcm1pc3Npb25S
ZXF1ZXN0cyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlz
c2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVy
ICopOwogI2VuZGlmCiAKICAgICBXZWJWaWV3ICptX3dlYlZpZXc7Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb24+LCBS
ZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPj4gbV9ub3RpZmljYXRpb25NYXA7CiAgICAgCiAgICAg
dHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Piwg
VmVjdG9yPFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+Pj4gTm90aWZpY2F0aW9uQ29udGV4dE1h
cDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0JKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMjUsNDggKzI1LDMwIEBACiAKICNpbXBvcnQgIldlYk5vdGlmaWNhdGlvbkNs
aWVudC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICNpbXBvcnQgIldlYkRlbGVn
YXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLmgiCiAjaW1wb3J0ICJXZWJOb3RpZmljYXRpb25JbnRl
cm5hbC5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgiCiAjaW1wb3J0ICJXZWJT
ZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJVSURlbGVnYXRlUHJpdmF0ZS5o
IgogI2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNh
dGlvblBlcm1pc3Npb25DYWxsYmFjay5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0Lmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLSNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg+Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCi0jaW1wb3J0IDxXZWJDb3JlL1ZvaWRDYWxsYmFjay5oPgotI2VuZGlmCi0KIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIEBp
bnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgOiBOU09iamVjdCA8V2ViQWxs
b3dEZW55UG9saWN5TGlzdGVuZXI+CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAg
UmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gX2NhbGxiYWNrOwotI2VuZGlm
Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIFJlZlB0cjxWb2lkQ2FsbGJh
Y2s+IF92b2lkQ2FsbGJhY2s7Ci0gICAgYm9vbCBfaXNMZWdhY3lSZXF1ZXN0OwotI2VuZGlmCiB9
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAtIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNz
UmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pY2FsbGJhY2s7Ci0jZW5kaWYK
LSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0tIChpZClpbml0V2l0aFZvaWRDYWxs
YmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOwotI2VuZGlmCi0KIEBlbmQK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1aW50NjRfdCBn
ZW5lcmF0ZU5vdGlmaWNhdGlvbklEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgdW5pcXVlTm90
aWZpY2F0aW9uSUQgPSAxOwpAQCAtODEsNyArNjMsNyBAQCBXZWJOb3RpZmljYXRpb25DbGllbnQ6
OldlYk5vdGlmaWNhdGlvbkNsCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpzaG93KE5v
dGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgaWYgKCFbbV93ZWJWaWV3IF9ub3RpZmljYXRpb25Qcm92aWRlcl0pCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIApAQCAtODksNyArNzEsNyBAQCBib29sIFdlYk5vdGlmaWNhdGlvbkNsaWVu
dDo6c2hvdyhOb3RpZmljCiAgICAgUmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4gd2ViTm90aWZp
Y2F0aW9uID0gYWRvcHROUyhbW1dlYk5vdGlmaWNhdGlvbiBhbGxvY10gaW5pdFdpdGhDb3JlTm90
aWZpY2F0aW9uOm5vdGlmaWNhdGlvbiBub3RpZmljYXRpb25JRDpub3RpZmljYXRpb25JRF0pOwog
ICAgIG1fbm90aWZpY2F0aW9uTWFwLnNldChub3RpZmljYXRpb24sIHdlYk5vdGlmaWNhdGlvbik7
CiAKLSAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0
aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCks
IFZlY3RvcjxSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPj4oKSkuaXRlcmF0b3I7CisgICAgYXV0
byBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksIFZlY3RvcjxSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPj4oKSku
aXRlcmF0b3I7CiAgICAgaXQtPnZhbHVlLmFwcGVuZCh3ZWJOb3RpZmljYXRpb24pOwogCiAgICAg
W1ttX3dlYlZpZXcgX25vdGlmaWNhdGlvblByb3ZpZGVyXSBzaG93Tm90aWZpY2F0aW9uOndlYk5v
dGlmaWNhdGlvbi5nZXQoKSBmcm9tV2ViVmlldzptX3dlYlZpZXddOwpAQCAtMTAyLDcgKzg0LDcg
QEAgYm9vbCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnNob3coTm90aWZpYwogCiB2b2lkIFdlYk5v
dGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgV2ViTm90aWZpY2F0aW9uICp3ZWJOb3Rp
ZmljYXRpb24gPSBtX25vdGlmaWNhdGlvbk1hcC5nZXQobm90aWZpY2F0aW9uKS5nZXQoKTsKICAg
ICBpZiAoIXdlYk5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuOwpAQCAtMTE1LDggKzk3LDgg
QEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNhbmNlbChOb3RpZgogCiB2b2lkIFdlYk5v
dGlmaWNhdGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljYXRpb25zKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKLSAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBp
dCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5maW5kKGNvbnRleHQpOworI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorICAgIGF1dG8gaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZmlu
ZChjb250ZXh0KTsKICAgICBpZiAoaXQgPT0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmVuZCgp
KQogICAgICAgICByZXR1cm47CiAgICAgCkBAIC0xMzksMTIgKzEyMSwxMiBAQCB2b2lkIFdlYk5v
dGlmaWNhdGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xp
ZW50Ojpub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoTm90aWZpY2F0aW9uKiBub3RpZmljYXRp
b24pCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBSZXRhaW5QdHI8V2ViTm90
aWZpY2F0aW9uPiB3ZWJOb3RpZmljYXRpb24gPSBtX25vdGlmaWNhdGlvbk1hcC50YWtlKG5vdGlm
aWNhdGlvbik7CiAgICAgaWYgKCF3ZWJOb3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybjsKIAot
ICAgIE5vdGlmaWNhdGlvbkNvbnRleHRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9ub3RpZmljYXRpb25D
b250ZXh0TWFwLmZpbmQobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwor
ICAgIGF1dG8gaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZmluZChub3RpZmljYXRpb24t
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgQVNTRVJUKGl0ICE9IG1fbm90aWZpY2F0
aW9uQ29udGV4dE1hcC5lbmQoKSk7CiAgICAgc2l6ZV90IGluZGV4ID0gaXQtPnZhbHVlLmZpbmQo
d2ViTm90aWZpY2F0aW9uKTsKICAgICBBU1NFUlQoaW5kZXggIT0gbm90Rm91bmQpOwpAQCAtMTYz
LDcgKzE0NSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb24KICAg
ICBkZWxldGUgdGhpczsKIH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiB2b2lkIFdl
Yk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyKQog
ewogICAgIFNFTCBzZWxlY3RvciA9IEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5v
dGlmaWNhdGlvblJlcXVlc3RGcm9tT3JpZ2luOmxpc3RlbmVyOik7CkBAIC0xODAsMjAgKzE2Miw5
IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWkKIH0KICNlbmRpZgog
Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCi17Ci0gICAgQkVHSU5fQkxPQ0tfT0JK
Q19FWENFUFRJT05TOwotICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxpc3RlbmVyICpsaXN0ZW5l
ciA9IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2NdIGluaXRXaXRoVm9pZENh
bGxiYWNrOmNhbGxiYWNrXTsKLSAgICByZXF1ZXN0UGVybWlzc2lvbihjb250ZXh0LCBsaXN0ZW5l
cik7Ci0gICAgW2xpc3RlbmVyIHJlbGVhc2VdOwotICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElP
TlM7Ci19Ci0jZW5kaWYKLQogYm9vbCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Omhhc1BlbmRpbmdQ
ZXJtaXNzaW9uUmVxdWVzdHMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGNvbnN0CiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICAvLyBXZSBrbm93IHBlcm1pc3Npb24gd2FzIHJl
cXVlc3RlZCBidXQgd2UgZG9uJ3Qga25vdyBpZiB0aGUgY2xpZW50IHJlc3BvbmRlZC4gSW4gdGhp
cyBjYXNlLCB3ZSBwbGF5IGl0CiAgICAgLy8gc2FmZSBhbmQgcHJlc3VtZSB0aGVyZSBpcyBvbmUg
cGVuZGluZyBzbyB0aGF0IEFjdGl2ZURPTU9iamVjdHMgZG9uJ3QgZ2V0IHN1c3BlbmRlZC4KICAg
ICByZXR1cm4gbV9ldmVyUmVxdWVzdGVkUGVybWlzc2lvbjsKQEAgLTIxNSw3ICsxODYsNyBAQCB2
b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pCiAKIE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5pc0RvY3VtZW50KCkpCiAgICAg
ICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgaWYg
KCFbW21fd2ViVmlldyBwcmVmZXJlbmNlc10gbm90aWZpY2F0aW9uc0VuYWJsZWRdKQpAQCAtMjM5
LDcgKzIxMCw4IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmkKICNl
bmRpZgogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKwogdWludDY0X3QgV2ViTm90
aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25JREZvclRlc3RpbmcoV2ViQ29yZTo6Tm90aWZp
Y2F0aW9uKiBub3RpZmljYXRpb24pCiB7CiAgICAgcmV0dXJuIFttX25vdGlmaWNhdGlvbk1hcC5n
ZXQobm90aWZpY2F0aW9uKS5nZXQoKSBub3RpZmljYXRpb25JRF07CkBAIC0yNDcsNyArMjE5LDYg
QEAgdWludDY0X3QgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYQogCiBAaW1wbGVtZW50
YXRpb24gV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIKIAotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBp
bml0XSkpCkBAIC0yNTYsNDggKzIyNywxNyBAQCAtIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNz
UmVmUHRyPE5vdGlmCiAgICAgX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAgICAgcmV0dXJuIHNlbGY7
CiB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLS0gKGlkKWlu
aXRXaXRoVm9pZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKLXsK
LSAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLQot
ICAgIF9pc0xlZ2FjeVJlcXVlc3QgPSB0cnVlOwotICAgIF92b2lkQ2FsbGJhY2sgPSBjYWxsYmFj
azsKLSAgICByZXR1cm4gc2VsZjsKLX0KLSNlbmRpZgogCiAtICh2b2lkKWFsbG93CiB7Ci0jaWYg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIGlmIChfaXNMZWdhY3lSZXF1ZXN0KSB7
Ci0gICAgICAgIGlmIChfdm9pZENhbGxiYWNrKQotICAgICAgICAgICAgX3ZvaWRDYWxsYmFjay0+
aGFuZGxlRXZlbnQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIGlmIChfY2FsbGJhY2spCiAgICAgICAgIF9jYWxsYmFjay0+
aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkFsbG93ZWQpKTsKLSNlbmRpZgogfQogCiAtICh2b2lkKWRlbnkKIHsK
LSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgaWYgKF9pc0xlZ2FjeVJlcXVl
c3QpIHsKLSAgICAgICAgaWYgKF92b2lkQ2FsbGJhY2spCi0gICAgICAgICAgICBfdm9pZENhbGxi
YWNrLT5oYW5kbGVFdmVudCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKF9jYWxsYmFjaykKICAgICAgICAgX2NhbGxi
YWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnBlcm1pc3Npb25TdHJpbmcoTm90aWZpY2F0
aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKSk7Ci0jZW5kaWYKIH0KIAogI2lmIFBMQVRGT1JN
KElPUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9u
Lm1tCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5v
dGlmaWNhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW1wb3J0
ICJXZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICNpbXBvcnQgIldlYlNlY3VyaXR5T3JpZ2luSW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNv
cmUvTm90aWZpY2F0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaD4KQEAgLTQyLDcgKzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBAaW50ZXJm
YWNlIFdlYk5vdGlmaWNhdGlvblByaXZhdGUgOiBOU09iamVjdAogewogQHB1YmxpYwotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgUmVmUHRyPE5vdGlmaWNhdGlvbj4gX2ludGVybmFs
OwogICAgIHVpbnQ2NF90IF9ub3RpZmljYXRpb25JRDsKICNlbmRpZgpAQCAtNTIsOCArNTIsOSBA
QCBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlvblByaXZhdGUgOiBOU09iCiBAaW1wbGVtZW50YXRp
b24gV2ViTm90aWZpY2F0aW9uUHJpdmF0ZQogQGVuZAogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKIEBpbXBsZW1lbnRhdGlvbiBXZWJOb3RpZmljYXRpb24gKFdlYk5vdGlmaWNhdGlvbklu
dGVybmFsKQorCiBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRp
b24pCiB7CiAgICAgaWYgKCFub3RpZmljYXRpb24tPl9wcml2YXRlKQpAQCAtODcsNyArODgsNyBA
QCAtICh2b2lkKWRlYWxsb2MKIAogLSAoTlNTdHJpbmcgKil0aXRsZQogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPnRpdGxlKCk7CiAjZWxzZQog
ICAgIHJldHVybiBuaWw7CkBAIC05Niw3ICs5Nyw3IEBAIC0gKE5TU3RyaW5nICopdGl0bGUKIAog
LSAoTlNTdHJpbmcgKilib2R5CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBy
ZXR1cm4gY29yZShzZWxmKS0+Ym9keSgpOwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwpAQCAtMTA1
LDcgKzEwNiw3IEBAIC0gKE5TU3RyaW5nICopYm9keQogCiAtIChOU1N0cmluZyAqKXRhZwogewot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPnRhZygp
OwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwpAQCAtMTE0LDcgKzExNSw3IEBAIC0gKE5TU3RyaW5n
ICopdGFnCiAKIC0gKE5TU3RyaW5nICopaWNvblVSTAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPmljb25VUkwoKTsKICNlbHNlCiAgICAgcmV0
dXJuIG5pbDsKQEAgLTEyMyw3ICsxMjQsNyBAQCAtIChOU1N0cmluZyAqKWljb25VUkwKIAogLSAo
TlNTdHJpbmcgKilsYW5nCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICByZXR1
cm4gY29yZShzZWxmKS0+bGFuZygpOwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwpAQCAtMTMyLDcg
KzEzMyw3IEBAIC0gKE5TU3RyaW5nICopbGFuZwogCiAtIChOU1N0cmluZyAqKWRpcgogewotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPmRpcigpOwog
I2Vsc2UKICAgICByZXR1cm4gbmlsOwpAQCAtMTQxLDcgKzE0Miw3IEBAIC0gKE5TU3RyaW5nICop
ZGlyCiAKIC0gKFdlYlNlY3VyaXR5T3JpZ2luICopb3JpZ2luCiB7Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICByZXR1cm4gW1tbV2ViU2VjdXJpdHlPcmlnaW4gYWxsb2NdIF9pbml0
V2l0aFdlYkNvcmVTZWN1cml0eU9yaWdpbjpjb3JlKHNlbGYpLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCldIGF1dG9yZWxlYXNlXTsKICNlbHNlCiAgICAgcmV0dXJu
IG5pbDsKQEAgLTE1MCw3ICsxNTEsNyBAQCAtIChXZWJTZWN1cml0eU9yaWdpbiAqKW9yaWdpbgog
CiAtICh1aW50NjRfdClub3RpZmljYXRpb25JRAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgcmV0dXJuIF9wcml2YXRlLT5fbm90aWZpY2F0aW9uSUQ7CiAjZWxzZQogICAgIHJl
dHVybiAwOwpAQCAtMTU5LDI4ICsxNjAsMjggQEAgLSAodWludDY0X3Qpbm90aWZpY2F0aW9uSUQK
IAogLSAodm9pZClkaXNwYXRjaFNob3dFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgY29yZShzZWxmKS0+ZGlzcGF0Y2hTaG93RXZlbnQoKTsKICNlbmRpZgogfQogCiAt
ICh2b2lkKWRpc3BhdGNoQ2xvc2VFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgY29yZShzZWxmKS0+ZGlzcGF0Y2hDbG9zZUV2ZW50KCk7CiAjZW5kaWYKIH0KIAogLSAo
dm9pZClkaXNwYXRjaENsaWNrRXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
ICAgIGNvcmUoc2VsZiktPmRpc3BhdGNoQ2xpY2tFdmVudCgpOwogI2VuZGlmCiB9CiAKIC0gKHZv
aWQpZGlzcGF0Y2hFcnJvckV2ZW50CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAg
ICBjb3JlKHNlbGYpLT5kaXNwYXRjaEVycm9yRXZlbnQoKTsKICNlbmRpZgogfQpJbmRleDogU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwu
aAkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3Rp
ZmljYXRpb25JbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKICNp
bXBvcnQgIldlYk5vdGlmaWNhdGlvbi5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTm90aWZpY2F0aW9uOwpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgxLDcgKzE0
ODEsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hCiAjaWYgRU5B
QkxFKEdFT0xPQ0FUSU9OKQogICAgIFdlYkNvcmU6OnByb3ZpZGVHZW9sb2NhdGlvblRvKF9wcml2
YXRlLT5wYWdlLCBuZXcgV2ViR2VvbG9jYXRpb25DbGllbnQoc2VsZikpOwogI2VuZGlmCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpwcm92aWRlTm90aWZpY2F0aW9u
KF9wcml2YXRlLT5wYWdlLCBuZXcgV2ViTm90aWZpY2F0aW9uQ2xpZW50KHNlbGYpKTsKICNlbmRp
ZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkBAIC0xMDAzMyw3ICsxMDAzMyw3IEBA
IC0gKHZvaWQpX25vdGlmaWNhdGlvbnNEaWRDbG9zZTooTlNBcnJheSAKIAogLSAodWludDY0X3Qp
X25vdGlmaWNhdGlvbklERm9yVGVzdGluZzooSlNWYWx1ZVJlZilqc05vdGlmaWNhdGlvbgogewot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgYXV0byogcGFnZSA9IF9wcml2YXRlLT5w
YWdlOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIDA7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMTYwMDIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAgPHNh
bUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZp
Y2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21l
Q2xpZW50OjpXZWJDaHJvbWVDbGllbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmlj
YXRpb25zRGVsZWdhdGUuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BO
b3RpZmljYXRpb25zRGVsZWdhdGUuaDoKKyAgICAgICAgUmVtb3ZlIGxlZ2FjeSBub3RpZmljYXRp
b24gc3BlY2lmaWMgY29kZS4KKwogMjAxNy0wNC0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vZGVybml6ZSBGcmFtZS5oCkluZGV4OiBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDcgQEAg
c3RhdGljIGNvbnN0IHNpemVfdCBtYXhGaWxlUGF0aHNMaXN0U2l6ZQogCiBXZWJDaHJvbWVDbGll
bnQ6OldlYkNocm9tZUNsaWVudChXZWJWaWV3KiB3ZWJWaWV3KQogICAgIDogbV93ZWJWaWV3KHdl
YlZpZXcpCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICAsIG1fbm90aWZpY2F0aW9u
c0RlbGVnYXRlKHN0ZDo6bWFrZV91bmlxdWU8V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0
ZT4od2ViVmlldykpCiAjZW5kaWYKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiAyMTYwMDIpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGV4aXRWaWRlb0Z1
bGxzY3JlZW5Gb3JWaWRlb0VsZW1lbnQoV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudCYpIGZpbmFs
OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbkNsaWVudCogbm90aWZpY2F0aW9uUHJlc2VudGVyKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQqPihtX25v
dGlmaWNhdGlvbnNEZWxlZ2F0ZS5nZXQoKSk7IH0KICNlbmRpZgogCkBAIC0xNzYsNyArMTc2LDcg
QEAgcHJpdmF0ZToKIAogICAgIFdlYlZpZXcqIG1fd2ViVmlldzsKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkRlc2t0b3BOb3RpZmljYXRpb25z
RGVsZWdhdGU+IG1fbm90aWZpY2F0aW9uc0RlbGVnYXRlOwogI2VuZGlmCiB9OwpJbmRleDogU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxl
Z2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAJKHJldmlzaW9uIDIxNjAwMikKKysr
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25z
RGVsZWdhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtMjIz
LDQgKzIyMyw0IEBAIENPTVB0cjxJV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZT4KICAg
ICByZXR1cm4gZGVsZWdhdGU7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklD
QVRJT05TKQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3Rv
cE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaAkocmV2aXNp
b24gMjE2MDAyKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3Rv
cE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL05v
dGlmaWNhdGlvbkNsaWVudC5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogaW50
ZXJmYWNlIElXZWJEZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyOwogCkBAIC01MCwxMiArNTAs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbChXZWJDb3JlOjpOb3RpZmljYXRp
b24qIG9iamVjdCk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3ll
ZChXZWJDb3JlOjpOb3RpZmljYXRpb24qIG9iamVjdCk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luKiwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJik7Ci0jZW5kaWYKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrPiYmKTsKLSNlbmRpZgogICAgIGJvb2wgaGFzUGVuZGluZ1Blcm1p
c3Npb25SZXF1ZXN0cyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKGNvbnN0IFVSTCYpOwpJ
bmRleDogU291cmNlL2NtYWtlL09wdGlvbnNNYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L2NtYWtlL09wdGlvbnNNYWMuY21ha2UJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9jbWFr
ZS9PcHRpb25zTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw2IEBAIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV8KIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUgUFJJVkFURSBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUEgUFJJVkFURSBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyBQUklWQVRFIE9OKQogV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMg
UFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRVRU
RVJQUkVTUyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0xJTktfUFJFRkVUQ0ggUFJJVkFURSBPRkYpCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0aW9u
c1dpbi5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvT3B0aW9uc1dpbi5jbWFrZQko
cmV2aXNpb24gMjE2MDAyKQorKysgU291cmNlL2NtYWtlL09wdGlvbnNXaW4uY21ha2UJKHdvcmtp
bmcgY29weSkKQEAgLTM3LDcgKzM3LDYgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFXwogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSyBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTIFBVQkxJQyBPTikK
LVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUyBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9MSU5LX1BSRUZFVENIIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUFUSE1MIFBVQkxJQyBPTikKSW5kZXg6IFNv
dXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHJldmlzaW9uIDIxNjAwMikKKysrIFNvdXJjZS9jbWFr
ZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEzNiw2IEBA
IG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0pJVCAiRW5hYmxlIEp1c3RJblRpbWUgamF2YXNjcmlwdCBzdXBwb3J0IiBQUklWQVRFIE9O
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUyAiVG9nZ2xlIGxlZ2FjeSBjc3MgdmVuZG9yIHByZWZpeCBzdXBwb3J0IiBQUklWQVRFIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSAiU3VwcG9ydCBsZWdhY3kgRU1FIiBQUklWQVRFIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgIlRvZ2dsZSBMZWdhY3kgRGVza3RvcCBO
b3RpZmljYXRpb25zIFN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTICJUb2dnbGUgTGVnYWN5IFZlbmRvciBQ
cmVmaXggU3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfTEVUVEVSUFJFU1MgIlRvZ2dsZSBsZXR0ZXJwcmVzcyBzdXBwb3J0IiBQUklWQVRFIE9GRikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfTElOS19QUkVGRVRDSCAiVG9nZ2xlIHBy
ZSBmZXRjaGluZyBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFNvdXJjZS9jbWFrZS90b29s
cy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFr
ZS90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnByb3BzCShyZXZpc2lvbiAyMTYwMDIpCisr
KyBTb3VyY2UvY21ha2UvdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy5wcm9wcwkod29ya2lu
ZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBAQAogICAgIDxFTkFCTEVfSU5UTD5FTkFCTEVfSU5UTDwv
RU5BQkxFX0lOVEw+CiAgICAgPEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUz5FTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM8L0VOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUz4KICAgICA8RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE+RU5BQkxFX0xFR0FD
WV9FTkNSWVBURURfTUVESUE8L0VOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBPgotICAgIDxF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgLz4KICAgICA8RU5BQkxFX0xJTktfUFJFRkVUQ0gg
Lz4KICAgICA8RU5BQkxFX0xJTktfUFJFUkVOREVSIC8+CiAgICAgPEVOQUJMRV9NQVRITUw+RU5B
QkxFX01BVEhNTDwvRU5BQkxFX01BVEhNTD4KQEAgLTg1LDcgKzg0LDcgQEAKICAgPC9Qcm9wZXJ0
eUdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAg
PFByZXByb2Nlc3NvckRlZmluaXRpb25zPiQoRU5BQkxFXzNEX1RSQU5TRk9STVMpOyQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKTskKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpOyQoRU5BQkxFX0NBTlZBU19QQVRI
KTskKEVOQUJMRV9DQU5WQVNfUFJPWFkpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKTskKEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKTskKEVOQUJMRV9DU1NfSU1BR0VfU0VUKTskKEVO
QUJMRV9DU1MzX1RFWFQpOyQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyk7JChFTkFC
TEVfQ1NTX1NIQURFUlMpOyQoRU5BQkxFX0NTU19DT01QT1NJVElORyk7JChFTkFCTEVfQ1NTX1JF
R0lPTlMpOyQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KTskKEVOQUJMRV9DU1NfU0hBUEVf
SU5TSURFKTskKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VO
UFJFRklYRUQpOyQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKTskKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSk7
JChFTkFCTEVfRkVUQ0hfQVBJKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpOyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJM
RV9ISUdIX0RQSV9DQU5WQVMpOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUik7JChFTkFCTEVfSU5QVVRfU1BF
RUNIKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKTskKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpOyQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSU5UTCk7JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpOyQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpOyQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJMRV9MSU5LX1BS
RVJFTkRFUik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9FTEVNRU5UKTskKEVOQUJM
RV9NSUNST0RBVEEpOyQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSk7JChFTkFCTEVfTk9USUZJ
Q0FUSU9OUyk7JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyk7JChFTkFCTEVfUVVPVEEpOyQoRU5B
QkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKTskKEVOQUJMRV9TVFJFQU1TX0FQSSk7JChFTkFC
TEVfU0NSSVBURURfU1BFRUNIKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKTskKEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7JChFTkFCTEVfU1RZTEVfU0NPUEVE
KTskKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5H
Uyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfVklERU9fVFJB
Q0spOyQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpOyQoRU5BQkxFX1dFQl9BTklNQVRJT05T
KTskKEVOQUJMRV9XRUJfQVVESU8pOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XRUJf
VElNSU5HKTskKEVOQUJMRV9XRUJHTCk7JChFTkFCTEVfV0VCR1BVKTskKEVOQUJMRV9XRUJWVFRf
UkVHSU9OUyk7JChFTkFCTEVfWEhSX1RJTUVPVVQpOyQoRU5BQkxFX1hTTFQpOyUoUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz4kKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKTskKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyk7
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKTskKEVOQUJMRV9DQU5WQVNfUEFUSCk7JChFTkFC
TEVfQ0FOVkFTX1BST1hZKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ1NT
M19DT05ESVRJT05BTF9SVUxFUyk7JChFTkFCTEVfQ1NTX0lNQUdFX1NFVCk7JChFTkFCTEVfQ1NT
M19URVhUKTskKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspOyQoRU5BQkxFX0NTU19T
SEFERVJTKTskKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpOyQoRU5BQkxFX0NTU19SRUdJT05TKTsk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCk7JChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lERSk7
JChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVE
KTskKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSk7JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCk7JChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9FTkNSWVBURURfTUVESUEpOyQoRU5BQkxF
X0ZFVENIX0FQSSk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KTskKEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSElHSF9E
UElfQ0FOVkFTKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpOyQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspOyQoRU5BQkxFX0lOVEwpOyQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KTskKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKTskKEVOQUJMRV9MSU5LX1BSRUZFVENI
KTskKEVOQUJMRV9MSU5LX1BSRVJFTkRFUik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKTskKEVOQUJMRV9NSUNST0RBVEEpOyQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyk7JChF
TkFCTEVfUVVPVEEpOyQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKTskKEVOQUJMRV9T
VFJFQU1TX0FQSSk7JChFTkFCTEVfU0NSSVBURURfU1BFRUNIKTskKEVOQUJMRV9TSEFSRURfV09S
S0VSUyk7JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKTskKEVOQUJMRV9NRURJQV9TT1VS
Q0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7JChF
TkFCTEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpOyQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7
JChFTkFCTEVfVklERU9fVFJBQ0spOyQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpOyQoRU5B
QkxFX1dFQl9BTklNQVRJT05TKTskKEVOQUJMRV9XRUJfQVVESU8pOyQoRU5BQkxFX1dFQl9TT0NL
RVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XRUJHTCk7JChFTkFCTEVfV0VCR1BV
KTskKEVOQUJMRV9XRUJWVFRfUkVHSU9OUyk7JChFTkFCTEVfWEhSX1RJTUVPVVQpOyQoRU5BQkxF
X1hTTFQpOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9u
cz4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdy
b3VwPgpAQCAtMjY1LDEwICsyNjQsNiBAQAogICAgICAgPFZhbHVlPiQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpPC9WYWx1ZT4KICAgICAgIDxFbnZpcm9ubWVudFZhcmlhYmxlPnRydWU8
L0Vudmlyb25tZW50VmFyaWFibGU+CiAgICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3Jv
IEluY2x1ZGU9IkVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyI+Ci0gICAgICA8VmFsdWU+JChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpPC9WYWx1ZT4KLSAgICAgIDxFbnZpcm9ubWVudFZh
cmlhYmxlPnRydWU8L0Vudmlyb25tZW50VmFyaWFibGU+Ci0gICAgPC9CdWlsZE1hY3JvPgogICAg
IDxCdWlsZE1hY3JvIEluY2x1ZGU9IkVOQUJMRV9MSU5LX1BSRUZFVENIIj4KICAgICAgIDxWYWx1
ZT4kKEVOQUJMRV9MSU5LX1BSRUZFVENIKTwvVmFsdWU+CiAgICAgICA8RW52aXJvbm1lbnRWYXJp
YWJsZT50cnVlPC9FbnZpcm9ubWVudFZhcmlhYmxlPgpJbmRleDogU291cmNlL2NtYWtlL3Rvb2xz
L3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
Y21ha2UvdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnByb3BzCShyZXZpc2lvbiAy
MTYwMDIpCisrKyBTb3VyY2UvY21ha2UvdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJv
LnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw2IEBACiAgICAgPEVOQUJMRV9JTlRM
PkVOQUJMRV9JTlRMPC9FTkFCTEVfSU5UTD4KICAgICA8RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTPkVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUzwvRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTPgogICAgIDxFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSAvPgotICAgIDxFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgLz4KICAgICA8RU5BQkxFX0xJ
TktfUFJFRkVUQ0ggLz4KICAgICA8RU5BQkxFX0xJTktfUFJFUkVOREVSIC8+CiAgICAgPEVOQUJM
RV9NQVRITUw+RU5BQkxFX01BVEhNTDwvRU5BQkxFX01BVEhNTD4KQEAgLTg0LDcgKzgzLDcgQEAK
ICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21w
aWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPiQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKTskKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpOyQoRU5BQkxF
X0NBTlZBU19QQVRIKTskKEVOQUJMRV9DQU5WQVNfUFJPWFkpOyQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKTskKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKTskKEVOQUJMRV9DU1NfSU1B
R0VfU0VUKTskKEVOQUJMRV9DU1MzX1RFWFQpOyQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSyk7JChFTkFCTEVfQ1NTX1NIQURFUlMpOyQoRU5BQkxFX0NTU19DT01QT1NJVElORyk7JChF
TkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KTskKEVOQUJM
RV9DU1NfU0hBUEVfSU5TSURFKTskKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RS
QU5TSVRJT05TX1VOUFJFRklYRUQpOyQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKTskKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSk7JChFTkFCTEVfRkVUQ0hfQVBJKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xPQ0FU
SU9OKTskKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUik7JChFTkFC
TEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKTskKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
OyQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSU5UTCk7JChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpOyQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpOyQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVO
QUJMRV9MSU5LX1BSRVJFTkRFUik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKTskKEVOQUJMRV9NSUNST0RBVEEpOyQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSk7JChF
TkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyk7JChFTkFCTEVf
UVVPVEEpOyQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKTskKEVOQUJMRV9TQ1JJUFRF
RF9TUEVFQ0gpOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpOyQoRU5BQkxFX01FRElBX1NPVVJDRSk7JChFTkFCTEVfTUVESUFfU1RBVElTVElD
Uyk7JChFTkFCTEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5BQkxF
X1NVQlBJWEVMX0xBWU9VVCk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJM
RV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9WSURFT19UUkFDSyk7JChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSk7JChFTkFCTEVfV0VCX0FOSU1BVElPTlMpOyQoRU5BQkxF
X1dFQl9BVURJTyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9USU1JTkcpOyQo
RU5BQkxFX1dFQkdMKTskKEVOQUJMRV9XRUJWVFRfUkVHSU9OUyk7JChFTkFCTEVfWEhSX1RJTUVP
VVQpOyQoRU5BQkxFX1hTTFQpOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4kKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyk7JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KTskKEVOQUJMRV9DQU5WQVNfUEFUSCk7JChFTkFCTEVfQ0FOVkFTX1BST1hZKTskKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyk7JChFTkFC
TEVfQ1NTX0lNQUdFX1NFVCk7JChFTkFCTEVfQ1NTM19URVhUKTskKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspOyQoRU5BQkxFX0NTU19TSEFERVJTKTskKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpOyQoRU5BQkxFX0NTU19SRUdJT05TKTskKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCk7JChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lERSk7JChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5J
TUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEKTskKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSk7JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKTskKEVOQUJMRV9EQVRBR1JJRCk7JChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpOyQoRU5BQkxFX0ZFVENIX0FQSSk7JChFTkFCTEVfRklMRV9T
WVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVOQUJM
RV9HRU9MT0NBVElPTik7JChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKTskKEVOQUJMRV9JQ09OREFU
QUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKTskKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCk7JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCk7JChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKTskKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspOyQoRU5BQkxFX0lOVEwpOyQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKTskKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJMRV9MSU5LX1BSRVJFTkRFUik7
JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9FTEVNRU5UKTskKEVOQUJMRV9NSUNST0RB
VEEpOyQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyk7JChFTkFCTEVfUVVPVEEpOyQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKTskKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpOyQoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTKTskKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpOyQoRU5BQkxFX01F
RElBX1NPVVJDRSk7JChFTkFCTEVfTUVESUFfU1RBVElTVElDUyk7JChFTkFCTEVfU1FMX0RBVEFC
QVNFKTskKEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCk7JChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxF
X1ZJREVPKTskKEVOQUJMRV9WSURFT19UUkFDSyk7JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSk7JChFTkFCTEVfV0VCX0FOSU1BVElPTlMpOyQoRU5BQkxFX1dFQl9BVURJTyk7JChFTkFCTEVf
V0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9USU1JTkcpOyQoRU5BQkxFX1dFQkdMKTskKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUyk7JChFTkFCTEVfWEhSX1RJTUVPVVQpOyQoRU5BQkxFX1hTTFQpOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8
L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgpAQCAt
MjY0LDEwICsyNjMsNiBAQAogICAgICAgPFZhbHVlPiQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKTwvVmFsdWU+CiAgICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZT50cnVlPC9FbnZp
cm9ubWVudFZhcmlhYmxlPgogICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNs
dWRlPSJFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMiPgotICAgICAgPFZhbHVlPiQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKTwvVmFsdWU+Ci0gICAgICA8RW52aXJvbm1lbnRWYXJpYWJs
ZT50cnVlPC9FbnZpcm9ubWVudFZhcmlhYmxlPgotICAgIDwvQnVpbGRNYWNybz4KICAgICA8QnVp
bGRNYWNybyBJbmNsdWRlPSJFTkFCTEVfTElOS19QUkVGRVRDSCI+CiAgICAgICA8VmFsdWU+JChF
TkFCTEVfTElOS19QUkVGRVRDSCk8L1ZhbHVlPgogICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+
dHJ1ZTwvRW52aXJvbm1lbnRWYXJpYWJsZT4KSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjAwMikKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA0LTMwICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2Fj
eSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2Vu
dGVyLmNwcDoKKyAgICAgICAgKERSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNr
Tm90aWZpY2F0aW9uUGVybWlzc2lvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL0Zl
YXR1cmVMaXN0LnBtOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIFJlbW92ZSB1c2UgYW5kIGRlZmluaXRpb24g
b2YgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TLgorCiAyMDE3LTA0LTMwICBEYW4gQmVybnN0
ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBIYXZlIGNoZWNrLXdlYmtp
dC1zdHlsZSBhZHZpc2UgYWdhaW5zdCB1c2Ugb2YgW2dldOKApkNsYXNzKCkgYWxsb2NdCkluZGV4
OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BO
b3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCShyZXZpc2lvbiAyMTYwMDIpCisrKyBUb29scy9EdW1w
UmVuZGVyVHJlZS93aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEyNSw3ICsxMjUsNyBAQCBIUkVTVUxUIERSVERlc2t0b3BOb3RpZmljYXRp
b25QcmVzZW50ZXI6CiAKICAgICAqcmVzdWx0ID0gMDsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgSlNTdHJpbmdSZWYganNPcmlnaW4gPSBKU1N0cmluZ0NyZWF0ZVdpdGhCU1RS
KG9yaWdpbik7CiAgICAgYm9vbCBhbGxvd2VkID0gOjpnVGVzdFJ1bm5lci0+Y2hlY2tEZXNrdG9w
Tm90aWZpY2F0aW9uUGVybWlzc2lvbihqc09yaWdpbik7CiAKSW5kZXg6IFRvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0JKHJldmlzaW9uIDIxNjAwMikKKysrIFRvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQkod29ya2luZyBjb3B5KQpAQCAtMjgxLDkgKzI4
MSw2IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAibGVnYWN5LWVuY3J5cHRl
ZC1tZWRpYSIsIGRlc2MgPT4gIlRvZ2dsZSBMZWdhY3kgRU1FIFYyIHN1cHBvcnQiLAogICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSIsIGRlZmF1bHQgPT4gMCwg
dmFsdWUgPT4gXCRsZWdhY3lFbmNyeXB0ZWRNZWRpYVN1cHBvcnQgfSwKIAotICAgIHsgb3B0aW9u
ID0+ICJsZWdhY3ktbm90aWZpY2F0aW9ucyIsIGRlc2MgPT4gIlRvZ2dsZSBMZWdhY3kgTm90aWZp
Y2F0aW9ucyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGxlZ2FjeU5vdGlmaWNhdGlvbnNTdXBw
b3J0IH0sCi0KICAgICB7IG9wdGlvbiA9PiAibGVnYWN5LXZlbmRvci1wcmVmaXhlcyIsIGRlc2Mg
PT4gIlRvZ2dsZSBMZWdhY3kgVmVuZG9yIFByZWZpeCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+
IFwkbGVnYWN5VmVuZG9yUHJlZml4U3VwcG9ydCB9LAogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0
QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHJldmlzaW9uIDIxNjAwMikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzks
NiBAQCBFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSA9IEVOQUJMRV9LCiBFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEUgPSBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEU7CiBF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVM7CiBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0g
PSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQTsKLUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlM7CiBFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTOwog
RU5BQkxFX0xFVFRFUlBSRVNTW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9MRVRURVJQUkVTUzsKIEVO
QUJMRV9MSU5LX1BSRUZFVENIID0gOwpAQCAtMjU1LDQgKzI1NCw0IEBAIEVOQUJMRV9WQVJJQVRJ
T05fRk9OVFNfSUZfTk9UXyA9ICQoRU5BQkwKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9U
X05PID0gRU5BQkxFX1ZBUklBVElPTl9GT05UUzsKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZf
Tk9UX1lFUyA9IDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RF
TEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRF
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09M
Qk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BB
WSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRD
SF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5U
UykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYwMDIp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw5MyBA
QAorMjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
bW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZW1vdmUgZmFzdC9ub3RpZmljYXRpb25z
Ly4gSXQgd2FzIHNraXBwZWQgb24gYWxsIHBsYXRmb3JtcyBhbmQgdXNlIGxlZ2FjeSBOb3RpZmlj
YXRpb25zIEFQSS4KKyAgICAgICAgLSBSZW1vdmUgaHR0cC9ub3RpZmljYXRpb25zL2xlZ2FjeS4g
SXQgdGVzdGVkIHRoZSBsZWdhY3kgQVBJLgorICAgICAgICAtIFVwZGF0ZSB0d28gdGVzdHMgaW4g
ZmFzdC9oaXN0b3J5IHRvIHVzZSB0aGUgbm9uLWxlZ2FjeSBBUEkgdG8gdGVzdCBwYWdlIGNhY2hl
ICsgbm90aWZpY2F0aW9ucy4KKyAgICAgICAgLSBVcGRhdGUgVGVzdEV4cGVjdGF0aW9ucyBmb3Ig
cmVtb3ZhbHMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFibGUuaHRt
bDoKKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnM6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1j
bG9zZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJs
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBl
cm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
Y2xpY2stZXZlbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1l
dmVudC1mb2N1cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13
aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNv
bnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aG91
dC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xv
c2UtZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3Nl
LWNyYXNoLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9w
YWdhdGlvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtbm8taWNvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24uaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBs
YWNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1
ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRp
b25hbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jh
c2gtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtd2l0aC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0
LXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMv
cmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlm
aWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXM6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBl
cm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvcmVz
b3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeTogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93LWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9u
LXRoZW4tbmF2aWdhdGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10
aGVuLW5hdmlnYXRlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9yZXF1ZXN0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2stZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVxdWVzdC1uby1jYWxsYmFjay5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzL25vdGlmeS1v
cGVuZXItZG9uZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9z
aG93LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L3Nob3cuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1z
aG93LW9uLWNsaWNrLmh0bWw6IFJlbW92ZWQuCisKIDIwMTctMDQtMzAgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBJbml0aWFsaXplIGEgbmV3IGxheW91dCBzdGF0
ZSB3aGlsZSBiYWlsaW5nIG91dCBvZiBzaW1wbGUgbGluZSBsYXlvdXQgb25seSB3aGVuIG5lZWRl
ZC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlv
bi1ub24tc3VzcGVuZGFibGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWwJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlm
aWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcs
NyBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uCiAgICAgd2luZG93
LnNlc3Npb25TdG9yYWdlLnBhZ2VfY2FjaGVfbm90aWZpY2F0aW9uc190ZXN0X3N0YXJ0ZWQgPSB0
cnVlOwogCiAgICAgLy8gVGhpcyBub3RpZmljYXRpb24gaXMgc2hvd24gYW5kIHNob3VsZCBub3Qg
YmUgc3VzcGVuZGFibGUuCi0gICAgbm90aWZpY2F0aW9uID0gd2Via2l0Tm90aWZpY2F0aW9ucy5j
cmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAyJywgJ2JvZHknKTsKKyAgICBub3RpZmljYXRp
b24gPSBuZXcgTm90aWZpY2F0aW9uKCd0aXRsZScsIHsgYm9keTogJ2JvZHknIH0pOwogICAgIG5v
dGlmaWNhdGlvbi5vbmVycm9yID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNv
dWxkIG5vdCBzaG93IHRoZSBub3RpZmljYXRpb24iKTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CkBAIC00Niw3ICs0Niw2IEBAIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rp
b24KICAgICAgICAgLy8gRm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBhZ2Uu
CiAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gInJlc291cmNlcy9wYWdlLWNhY2hlLWhl
bHBlci5odG1sIjsKICAgICB9OwotICAgIG5vdGlmaWNhdGlvbi5zaG93KCk7CiB9LCBmYWxzZSk7
CiAKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
bm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwJKHJl
dmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5v
dGlmaWNhdGlvbi1zdXNwZW5kYWJsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwyOCArMjks
MjQgQEAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuYwogfSwgZmFsc2Up
OwogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgewotICAgIC8v
IFRoaXMgbm90aWZpY2F0aW9uIGlzIGluIGlkbGUgc3RhdGUgYW5kIHNob3VsZCBiZSBzdXNwZW5k
YWJsZS4KLSAgICBub3RpZmljYXRpb24xID0gd2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3Rp
ZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsKLQogICAgIC8vIFRoaXMgbm90aWZpY2F0
aW9uIGlzIHNob3duIGFuZCBzaG91bGQgYmUgc3VzcGVuZGFibGUgb25jZSBpdCBpcyBjbG9zZWQu
Ci0gICAgbm90aWZpY2F0aW9uMiA9IHdlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCcnLCAndGl0bGUgMicsICdib2R5Jyk7Ci0gICAgbm90aWZpY2F0aW9uMi5vbmRpc3BsYXkg
PSBmdW5jdGlvbigpIHsKKyAgICBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKCd0aXRs
ZScsIHsgYm9keTogJ2JvZHknIH0pOworICAgIG5vdGlmaWNhdGlvbi5vbmRpc3BsYXkgPSBmdW5j
dGlvbigpIHsKICAgICAgICAgLy8gQ2xvc2UgdGhlIG5vdGlmaWNhdGlvbi4KICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIG5vdGlmaWNhdGlvbjIuY2FuY2VsKCk7
CisgICAgICAgICAgICBub3RpZmljYXRpb24uY2xvc2UoKTsKICAgICAgICAgfSwgMCk7CiAgICAg
fTsKLSAgICBub3RpZmljYXRpb24yLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKKyAgICBub3RpZmlj
YXRpb24ub25lcnJvciA9IGZ1bmN0aW9uKCkgewogICAgICAgICB0ZXN0RmFpbGVkKCJDb3VsZCBu
b3QgZGlzcGxheSB0aGUgbm90aWZpY2F0aW9uIik7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwog
ICAgIH07Ci0gICAgbm90aWZpY2F0aW9uMi5vbmNsb3NlID0gZnVuY3Rpb24oKSB7CisgICAgbm90
aWZpY2F0aW9uLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsKICAgICAgICAgICAgIC8vIEZvcmNlIGEgYmFjayBuYXZpZ2F0aW9uIGJhY2sgdG8g
dGhpcyBwYWdlLgogICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzb3VyY2Vz
L3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwiOwogICAgICAgICB9LCAwKTsKICAgICB9OwotICAgIG5v
dGlmaWNhdGlvbjIuc2hvdygpOwogfSwgZmFsc2UpOwogCiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIgKzAsMCBAQAotUEFTUwotCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbi1hZnRlci1jbG9zZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSw0NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2co
bWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgd2luID0gd2luZG93Lm9wZW4oJ2Fib3V0OmJsYW5rJyk7Ci0g
ICAgICAgICAgICBpZiAod2luLndlYmtpdE5vdGlmaWNhdGlvbnMgPT09IHVuZGVmaW5lZCkgewot
ICAgICAgICAgICAgICAgIGxvZygiUEFTUyIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBub3RpZmljYXRpb25DZW50ZXI9d2luLndlYmtpdE5vdGlmaWNhdGlvbnM7Ci0g
ICAgICAgICAgICAgICAgd2luLmNsb3NlKCk7Ci0gICAgICAgICAgICAgICAgdHJ5IHsgCi0gICAg
ICAgICAgICAgICAgICAgIG49bm90aWZpY2F0aW9uQ2VudGVyLmNyZWF0ZU5vdGlmaWNhdGlvbign
Jyk7IAotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9Ci0gICAgICAgICAgICAgICAgLy8g
SnVzdCBtYWtlIHN1cmUgd2UgZG9uJ3QgY3Jhc2guCi0gICAgICAgICAgICAgICAgbG9nKCJQQVNT
Iik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfQotICAg
IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAK
LSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3Nj
cmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24t
cGVybWlzc3Npb24tZGVsZXRhYmxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1k
ZWxldGFibGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTIgKzAsMCBAQAotVGVz
dHMgdGhhdCBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyBkZWxldGFibGUuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJk
ZWZhdWx0IgotUEFTUyBkZWxldGUgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgdHJ1ZQotUEFT
UyBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyB1bmRlZmluZWQuCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
LXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJs
ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgTm90aWZpY2F0
aW9uLnBlcm1pc3Npb24gaXMgZGVsZXRhYmxlLiIpOwotCi1zaG91bGRCZUVxdWFsVG9TdHJpbmco
Ik5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIiwgImRlZmF1bHQiKTsKLXNob3VsZEJlVHJ1ZSgiZGVs
ZXRlIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIik7Ci1zaG91bGRCZVVuZGVmaW5lZCgiTm90aWZp
Y2F0aW9uLnBlcm1pc3Npb24iKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVl
c3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTiBQ
RVJNSVNTSU9OIFJFUVVFU1RFRDogZmlsZTovLwotREVTS1RPUCBOT1RJRklDQVRJT04gUEVSTUlT
U0lPTiBSRVFVRVNUIENBTkNFTExFRDogZmlsZTovLwotUmVxdWVzdGluZyBhbmQgY2FuY2VsbGlu
ZyBub3RpZmljYXRpb24gcGVybWlzc2lvbi4uLgotCi1QYXNzIGlmIG5vdGlmaWNhdGlvbiBpcyBj
YW5jZWxsZWQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJt
aXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDQ0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi0gICAgICAgIC8vIFRpbWVvdXQgaXMgdG8gZW5zdXJl
IHRoYXQgdGhlIGlmcmFtZSB3YXMgcmVtb3ZlZC4KLSAgICAgICAgc2V0VGltZW91dChpc0RvbmUs
NTAwKTsKLQotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNz
YWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5U
ZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9n
KCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
c3QiKS5pbm5lckhUTUw9IlBhc3MgaWYgbm90aWZpY2F0aW9uIGlzIGNhbmNlbGxlZCI7Ci0gICAg
ICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBpc0RvbmUoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KLSAgICA8cD5SZXF1ZXN0aW5nIGFu
ZCBjYW5jZWxsaW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KLTxkaXYgaWQ9InRlc3QiPgotPGlmcmFtZSBzcmM9InJlc291cmNl
cy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbCIgd2lkdGg9ODAw
IGhlaWdodD04MDA+PC9pZnJhbWU+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jaGVjay1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAs
MCBAQAotQ2hlY2tpbmcgcGVybWlzc2lvbi4uLgotCi1QQVNTOiBQZXJtaXNzaW9uIG5vdCBncmFu
dGVkLgotUEFTUzogUGVybWlzc2lvbiBncmFudGVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hl
Y2stcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBs
b2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJr
aXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IAotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Bl
cm1pc3Npb24oKTsKLSAgICAgICAgICAgIGlmIChOICE9IDApIHsKLSAgICAgICAgICAgICAgICBs
b2coIlBBU1M6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQuIik7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogUGVybWlzc2lvbiBzaG91bGRuJ3QgYmUgZ3Jh
bnRlZC4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVy
bWlzc2lvbigpOwotICAgICAgICAgICAgaWYgKE4gPT0gMCkgewotICAgICAgICAgICAgICAgIGxv
ZygiUEFTUzogUGVybWlzc2lvbiBncmFudGVkLiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICBsb2coIkZBSUw6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQuIik7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+
Q2hlY2tpbmcgcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xLDggKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1t
YWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xP
U0VEOiBOZXcgRS1tYWlsCi1TaG93aW5nIG5vdGlmaWNhdGlvbnMuCi0KLVRvIGV4ZXJjaXNlIG1h
bnVhbGx5LCBncmFudCBub3RpZmljYXRpb24gcGVybWlzc2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdl
LCB0aGVuIGNsaWNrIG9uIHRoZSBub3RpZmljYXRpb24uIFlvdSBzaG91bGQgc2VlIGEgIlBBU1Mi
IG1lc3NhZ2UuCi0KLVBBU1M6IGNsaWNrIGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYw
MDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGlj
ay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw5ICswLDAgQEAK
LURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0
IG1lIHRvbmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJQ0FUSU9OIENMT1NFRDogTmV3IEUtbWFp
bAotQ2hlY2sgdGhhdCB3aW5kb3cuZm9jdXMoKSBpcyBub3QgcmVzdHJpY3RlZCBkdXJpbmcgbm90
aWZpY2F0aW9uIGNsaWNrIGV2ZW50cy4KLQotVG8gZXhlcmNpc2UgbWFudWFsbHksIGRpc2FibGUg
cG9wLXVwIGJsb2NraW5nLCBncmFudCBub3RpZmljYXRpb24gcGVybWlzc2lvbnMgYW5kIGxvYWQg
dGhpcyBwYWdlLCB0aGVuIGNsaWNrIG9uIHRoZSBub3RpZmljYXRpb24uIFlvdSBzaG91bGQgc2Vl
IHR3byAiUEFTUyIgbWVzc2FnZXMgYW5kIHRoaXMgd2luZG93IHNob3VsZCBiZSBmb2N1c2VkLgot
Ci1QQVNTOiBjbGljayBldmVudCBmaXJlZC4KLVBBU1M6IGZvY3VzIGV2ZW50IGZpcmVkLgotCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1l
dmVudC1mb2N1cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLmh0bWwJKHJldmlzaW9uIDIxNjAw
MikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNr
LWV2ZW50LWZvY3VzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENs
b3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSgpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAg
ICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgLy8gT3BlbiBhIG5ldyB3aW5kb3csIHNvIHdlIGRvbid0
IGhhdmUgdGhlIGZvY3VzLgotICAgICAgICAgICAgdmFyIFcgPSB3aW5kb3cub3BlbigiYWJvdXQ6
YmxhbmsiKTsKLSAgICAgICAgICAgIFcuZm9jdXMoKTsKLQotICAgICAgICAgICAgd2luZG93Lm9u
Zm9jdXMgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBmb2N1cyBldmVudCBmaXJlZC4iKTsgfQot
Ci0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0g
ICAgICAgICAgICBOLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBjbGljayBldmVu
dCBmaXJlZC4iKTsgd2luZG93LmZvY3VzKCk7IE4uY2FuY2VsKCk7ICB9Ci0gICAgICAgICAgICBO
LnNob3coKTsKLQotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0ZUxlZ2FjeVdlYk5vdGlmaWNhdGlvbkNsaWNrKCJO
ZXcgRS1tYWlsIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHA+Q2hlY2sgdGhhdCB3aW5kb3cuZm9jdXMoKSBpcyBub3QgcmVzdHJpY3RlZCBkdXJpbmcgbm90
aWZpY2F0aW9uIGNsaWNrIGV2ZW50cy48L3A+Ci0KLTxwPlRvIGV4ZXJjaXNlIG1hbnVhbGx5LCBk
aXNhYmxlIHBvcC11cCBibG9ja2luZywgZ3JhbnQgbm90aWZpY2F0aW9uIHBlcm1pc3Npb25zIGFu
ZCBsb2FkIHRoaXMgcGFnZSwgdGhlbiBjbGljayBvbiB0aGUgbm90aWZpY2F0aW9uLiAgWW91IHNo
b3VsZCBzZWUgdHdvICJQQVNTIiBtZXNzYWdlcyBhbmQgdGhpcyB3aW5kb3cgc2hvdWxkIGJlIGZv
Y3VzZWQuPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2st
ZXZlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsNDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVu
Y3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAg
ICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93Lndl
YmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtp
dE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
Ci0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0g
ICAgICAgICAgICBOLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBjbGljayBldmVu
dCBmaXJlZC4iKTsgTi5jYW5jZWwoKTsgIH0KLSAgICAgICAgICAgIE4uc2hvdygpOwotICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zaW11bGF0ZUxlZ2FjeVdlYk5vdGlmaWNhdGlvbkNsaWNrKCJOZXcgRS1tYWlsIik7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2hvd2luZyBub3RpZmlj
YXRpb25zLjwvcD4KLQotPHA+VG8gZXhlcmNpc2UgbWFudWFsbHksIGdyYW50IG5vdGlmaWNhdGlv
biBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2UsIHRoZW4gY2xpY2sgb24gdGhlIG5vdGlm
aWNhdGlvbi4gIFlvdSBzaG91bGQgc2VlIGEgIlBBU1MiIG1lc3NhZ2UuPC9wPgotPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lv
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURFU0tUT1AgTk9USUZJ
Q0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiBmaWxlOi8vCi1SZXF1ZXN0aW5nIG5vdGlmaWNh
dGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IFBlcm1pc3Npb24gY2FsbGJhY2sgaW52b2tlZC4K
LQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29u
c3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1w
ZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAg
ZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAg
ICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7
Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYg
KCF3aW5kb3cuTm90aWZpY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBO
b3RpZmljYXRpb24gaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0g
ICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy5Ob3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24o
Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogUGVybWlzc2lvbiBjYWxs
YmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0gICAgPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8cD5SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJt
aXNzaW9uLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi08c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLQotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25z
dHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rv
ci13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCww
IEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiAsIHRpdGxlIEhlbGxvIHdvcmxkLCB0ZXh0
IAotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLgotCi1QQVNTOiBzaG93
IGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rv
ci13aXRoLXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aC1wZXJtaXNz
aW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAg
ICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4i
OwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGlmICghd2luZG93Lk5vdGlmaWNhdGlvbikgewotICAgICAgICAgICAgICAgIGxvZygiRkFJ
TDogTm8gTm90aWZpY2F0aW9uIGNvbnN0cnVjdG9yISIpOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IG5ldyBOb3RpZmljYXRpb24oIkhlbGxvIHdvcmxk
Iik7Ci0gICAgICAgICAgICBOLm9uc2hvdyA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IHNob3cg
ZXZlbnQgZmlyZWQuIik7IH0KLSAgICAgICAgICAgIE4ub25lcnJvciA9IGZ1bmN0aW9uKCkgeyBs
b2coIkZBSUw6IGVycm9yIGV2ZW50IGZpcmVkLiIpOyB9Ci0gICAgICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfSwgMTAwKTsKLSAgICAgICAg
fQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlv
bnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1j
b25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYw
MDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25z
dHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAg
LTEsNCArMCwwIEBACi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aG91dCBwZXJtaXNzaW9uLi4u
Ci0KLVBBU1M6IGVycm9yIGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29u
c3RydWN0b3Itd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNyAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBm
dW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIC8vIE5PIFBFUk1JU1NJT04gdGVzdFJ1bm5lci5n
cmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cu
Tm90aWZpY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBOb3RpZmljYXRp
b24gY29uc3RydWN0b3IhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIHZhciBOID0gbmV3IE5vdGlmaWNhdGlvbigiSGVsbG8gd29ybGQiKTsKLSAgICAgICAgICAg
IE4ub25zaG93ID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJTDogc2hvdyBldmVudCBmaXJlZC4iKTsg
fQotICAgICAgICAgICAgTi5vbmVycm9yID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogZXJyb3Ig
ZXZlbnQgZmlyZWQuIik7IH0KLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAxMDApOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1p
c3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNw
bGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwg
dGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLURFU0tUT1AgTk9U
SUZJQ0FUSU9OIENMT1NFRDogTmV3IEUtbWFpbAotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGgg
cGVybWlzc2lvbi4uLgotCi1QQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuCi1QQVNTOiBjbG9z
ZSBldmVudCBpbnZva2VkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2Ut
ZXZlbnRzLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2co
bWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3Jh
bnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
ZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5v
dGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZp
Y2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0
aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9u
KCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAg
IE4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogZGlzcGxheSBldmVudCBpbnZv
a2VkLiIpOyBOLmNhbmNlbCgpOyB9Ci0gICAgICAgICAgICBOLm9uY2xvc2UgPSBmdW5jdGlvbigp
IHsgbG9nKCJQQVNTOiBjbG9zZSBldmVudCBpbnZva2VkLiIpOyB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsgfQotICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lv
bi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAgIAotICAgIAotPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
ZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNo
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKQEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzY6
IFVuY2F1Z2h0IEludmFsaWRTdGF0ZUVycm9yIChET00gRXhjZXB0aW9uIDExKTogVGhlIG9iamVj
dCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLg0KLVBBU1MNCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNo
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MCArMCwwIEBACi08aHRtbD4KLSAgICA8Ym9keT4K
LSAgICAgICAgPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLSAgICAgICAgPHNjcmlwdD4KLSAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdl
Yk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYg
KCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJ
TDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0K
LSAgICAgICAgICAgIHZhciB0YXJnZXQgPSB3aW5kb3cub3BlbigiYWJvdXQ6YmxhbmsiKTsKLSAg
ICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSB0YXJnZXQud2Via2l0Tm90aWZpY2F0aW9uczsK
LSAgICAgICAgICAgIHRhcmdldC5sb2NhdGlvbi5yZWxvYWQoKTsKLSAgICAgICAgICAgIHZhciB0
aW1lciA9IHNldEludGVydmFsKCJjcmFzaCgpIiwgNjApOwotICAgICAgICAgICAgc2V0VGltZW91
dCgiZmluaXNoKCkiLCAxMDApOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBjcmFzaCgpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIGEgPSBbXTsKLSAgICAgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IDB4MTAwOyBpKyspCi0gICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICB0cnkKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgYS5wdXNoKG5ldyBXZWJHTEJ5dGVBcnJheSgpKTsKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkge30KLSAgICAgICAgICAgICAgICAg
ICAgYS5wdXNoKEFycmF5KGkpLmpvaW4oIkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIikpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBkZWxldGUgYTsKLSAgICAgICAgICAgICAg
ICBub3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgZnVuY3Rpb24gZmluaXNoKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBjbGVhckludGVydmFsKHRpbWVyKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlBBU1MiOwotICAgICAgICAgICAgICAgIHRh
cmdldC5jbG9zZSgpOwotICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdh
dGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKQEAgLTEsNiArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiBodHRwOi8vbG9j
YWxob3N0L215X2ljb24ucG5nLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdo
dCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5n
IG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGFkZEV2ZW50TGlzdGVu
ZXIoZGlzcGxheSkgY2FwdHVyZSBjYWxsYmFjayBpbnZva2VkCi0KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3At
cHJvcGFnYXRpb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2Ug
KyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykg
ewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRl
cmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBO
ID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJodHRwOi8v
bG9jYWxob3N0L215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0
IDghIik7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImRpc3BsYXkiLCBmdW5jdGlv
bihlKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBub24tY2FwdHVyZSBj
YWxsYmFjayBpbnZva2VkIik7IH0pOwotICAgICAgICAgICAgTi5vbmRpc3BsYXkgPSAgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oZSkgeyBsb2coIlBBU1M6IG9uZGlzcGxheSBhdHRyaWJ1dGUgZXZl
bnQgY2FsbGJhY2sgaW52b2tlZC4iKTsgfQotICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVy
KCJkaXNwbGF5IiwgZnVuY3Rpb24oZSkgeyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlz
cGxheSkgY2FwdHVyZSBjYWxsYmFjayBpbnZva2VkIik7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IH0s
IHRydWUgKTsKLSAgICAgICAgICAgIE4uc2hvdygpOwotICAgICAgICAgICAgTi5jYW5jZWwoKTsK
LSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5v
dGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11
bHRpLWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjog
aWNvbiBodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5nLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0
IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcg
RS1tYWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6
IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhcHR1cmUgY2FsbGJhY2sgIzEgaW52b2tlZAotUEFT
UzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVyZSBjYWxsYmFjayAjMiBpbnZva2VkCi1Q
QVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBjYWxsYmFjayAjMSBpbnZva2VkCi1QQVNTOiBv
bmNsb3NlIGF0dHJpYnV0ZSBldmVudCBjYWxsYmFjayBpbnZva2VkLgotUEFTUzogYWRkRXZlbnRM
aXN0ZW5lcihjbG9zZSkgY2FsbGJhY2sgIzMgaW52b2tlZAotCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0
aS1ldmVudHMuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLmh0bWwJKG5vbmV4aXN0ZW50KQpA
QCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2Fn
ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAot
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5v
IHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgCi0gICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNy
ZWF0ZU5vdGlmaWNhdGlvbigiaHR0cDovL2xvY2FsaG9zdC9teV9pY29uLnBuZyIsICJOZXcgRS1t
YWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTi5hZGRFdmVudExp
c3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIo
Y2xvc2UpIGNhbGxiYWNrICMxIGludm9rZWQiKTsgfSk7Ci0gICAgICAgICAgICBOLm9uY2xvc2Ug
PSAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogb25jbG9zZSBhdHRyaWJ1
dGUgZXZlbnQgY2FsbGJhY2sgaW52b2tlZC4iKTsgfQotICAgICAgICAgICAgTi5hZGRFdmVudExp
c3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIo
Y2xvc2UpIGNhcHR1cmUgY2FsbGJhY2sgIzEgaW52b2tlZCIpOyB9LCB0cnVlICk7Ci0gICAgICAg
ICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzog
YWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVyZSBjYWxsYmFjayAjMiBpbnZva2VkIik7IH0s
IHRydWUgKTsKLSAgICAgICAgICAgIE4uYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCBmdW5jdGlv
bigpIHsgbG9nKCJQQVNTOiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBjYWxsYmFjayAjMyBpbnZv
a2VkIik7IH0pOwotICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgp
OwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcg
bm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3Rz
KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWlj
b24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1uby1pY29uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDQgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBO
ZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotU2VuZGluZyBub3RpZmljYXRp
b25zIHdpdGggcGVybWlzc2lvbi4uLgotCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1uby1pY29uLmh0bWwJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLW5vLWljb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2Ug
KyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAg
ICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE0gPSB3aW5kb3cu
d2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJOZXcgRS1tYWlsIiwg
Ik1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTS5zaG93KCk7Ci0gICAgICAg
IH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRp
b25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLSAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCkBAIC0xLDEwICswLDAgQEAKLUNoZWNrIGZvciBleGlzdGVuY2Ugb2YgTm90aWZpY2F0
aW9uLnBlcm1pc3Npb24KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi1QQVNTIHdpbmRv
dy5Ob3RpZmljYXRpb24gaXMgZGVmaW5lZC4KLVBBU1Mgd2luZG93Lk5vdGlmaWNhdGlvbi5wZXJt
aXNzaW9uIGlzIGRlZmluZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2
MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVy
bWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjEgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotCTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Ci1kZXNjcmlwdGlvbigiQ2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBOb3Rp
ZmljYXRpb24ucGVybWlzc2lvbiIpOwotCi1zaG91bGRCZURlZmluZWQoIndpbmRvdy5Ob3RpZmlj
YXRpb24iKTsKLXNob3VsZEJlRGVmaW5lZCgid2luZG93Lk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9u
Iik7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1yZXBsYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcmVwbGFjZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLURF
U0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1l
IHRvbmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgQWxhcm0s
IHRleHQgSXQncyB0aW1lIHRvIHdha2UgdXAhCi1SRVBMQUNJTkcgTk9USUZJQ0FUSU9OIE5ldyBF
LW1haWwKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgTmV3IHJlcGx5LCB0ZXh0
IENvcnJlY3Rpb24sIDg6MTUKLVNob3dpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHJlcGxhY2UgSUQu
Li4KLQotCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcmVwbGFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsNDEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rp
b24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAg
fQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGlmICh0ZXN0
UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICgh
d2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6
IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTSA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0
IDghIik7Ci0gICAgICAgICAgICBNLnJlcGxhY2VJZCA9ICJOZXdNYWlsIjsKLSAgICAgICAgICAg
IE0uc2hvdygpOwotICAgICAgICAgICAgdmFyIG90aGVyID0gd2luZG93LndlYmtpdE5vdGlmaWNh
dGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiQWxhcm0iLCAiSXQncyB0aW1lIHRvIHdha2Ug
dXAhIik7Ci0gICAgICAgICAgICBvdGhlci5zaG93KCk7Ci0gICAgICAgICAgICB2YXIgTiA9IHdp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyByZXBs
eSIsICJDb3JyZWN0aW9uLCA4OjE1Iik7Ci0gICAgICAgICAgICBOLnJlcGxhY2VJZCA9ICJOZXdN
YWlsIjsKLSAgICAgICAgICAgIE4uc2hvdygpOyAgICAgICAgICAKLSAgICAgICAgfQotICAgIDwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TaG93aW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBy
ZXBsYWNlIElELi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTEgKzAsMCAjIwotTEYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1w
ZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsNSArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1RF
RDogZmlsZTovLwotUmVxdWVzdGluZyBub3RpZmljYXRpb24gcGVybWlzc2lvbi4uLgotCi1QQVNT
OiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCkBAIC0xLDYgKzAsMCBAQAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucyBp
cyBkZWZpbmVkLgotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlz
c2lvbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1p
c3Npb24tb3B0aW9uYWwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
Pgotc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucyIpOwotc2hvdWxk
Tm90VGhyb3coIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCki
KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVx
dWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rp
b24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAg
fQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8g
d2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMucmVx
dWVzdFBlcm1pc3Npb24oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzog
UGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICApOwotICAgICAg
ICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8cD5SZXF1ZXN0aW5nIG5v
dGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9z
Y3JpcHQ+Ci0KLQotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCww
IEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjooUlRMKSBpY29uICwgdGl0bGUgTmV3IEUtbWFpbCwg
dGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLVNob3dpbmcgYSBub3RpZmljYXRpb24gd2l0aCBk
aXJlY3Rpb24gInJ0bCIuLi4KLQotCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0Cl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1MRgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1ydGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlv
biBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9
Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RS
dW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3
aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDog
Tm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIHZhciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMu
Y3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQg
OCEiKTsKLSAgICAgICAgICAgIE0uZGlyID0gInJ0bCI7Ci0gICAgICAgICAgICBNLnNob3coKTsK
LSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TaG93aW5nIGEg
bm90aWZpY2F0aW9uIHdpdGggZGlyZWN0aW9uICJydGwiLi4uPC9wPgotICAgIAotPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KLSAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVu
VGVzdHMoKTsKLTwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRt
bApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1zYW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1p
c3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMjQgKzAsMCBAQAotTm9ybWFs
IGlmcmFtZS4gU2hvdWxkIGluaGVyaXQgcGVybWlzc2lvbnMuCi0KLQotU2FuZGJveGVkIGlmcmFt
ZSwgd2l0aCBhbGxvdy1zYW1lLW9yaWdpbi4gU2hvdWxkIGluaGVyaXQgcGVybWlzc2lvbnMuCi0K
LQotU2FuZGJveGVkIGlmcmFtZSwgd2l0aG91dCBhbGxvdy1zYW1lLW9yaWdpbi4gU2hvdWxkIG5v
dCBpbmhlcml0IHBlcm1pc3Npb25zLgotCi0KLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1l
UGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCi0tLS0tLS0tLQotQWxsb3dlZAotCi0tLS0tLS0tLQot
RnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMS0tPi0tPicKLS0tLS0tLS0tCi1BbGxv
d2VkCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUyLS0+LS0+
JwotLS0tLS0tLS0KLURlbmllZApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNz
aW9uLmh0bWwJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxz
Y3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZy
YW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlv
blBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci0gICAgPHA+Tm9ybWFsIGlmcmFtZS4gU2hvdWxkIGluaGVyaXQgcGVybWlzc2lv
bnMuPC9wPgotICAgIDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUu
aHRtbCI+PC9pZnJhbWU+Ci0KLSAgICA8cD5TYW5kYm94ZWQgaWZyYW1lLCB3aXRoIGFsbG93LXNh
bWUtb3JpZ2luLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy48L3A+Ci0gICAgPGlmcmFtZSBz
YW5kYm94PSJhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIgotICAgICAgICAgICAgc3Jj
PSJyZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbCI+PC9pZnJhbWU+Ci0KLSAgICA8
cD5TYW5kYm94ZWQgaWZyYW1lLCB3aXRob3V0IGFsbG93LXNhbWUtb3JpZ2luLiBTaG91bGQgbm90
IGluaGVyaXQgcGVybWlzc2lvbnMuPC9wPgotICAgIDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2Ny
aXB0cyIKLSAgICAgICAgICAgIHNyYz0icmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0
bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xv
c2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAotVGhpcyB0
ZXN0IG5lZWRzIHRvIHJ1biBtYW51YWxseSBhbmQgY2Fubm90IHJ1biBpbnNpZGUgRHVtcFJlbmRl
clRyZWUuIFBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaCBvbiBydW5uaW5nIHRoZSB0ZXN0IGFs
b25nd2l0aCB3aXRoIGEgY291cGxlIG9mIHBhZ2UgcmVsb2Fkcy4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2gu
aHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDIzICswLDAgQEAKLTxodG1sPiANCi0gICAgPGhlYWQ+
IA0KLSAgICAgICAgPHNjcmlwdD4gDQotICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpDQot
ICAgICAgICAgICAgew0KLSAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpDQot
ICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCi0gICAgICAgICAg
ICAgICAgZWxzZQ0KLSAgICAgICAgICAgICAgICB7DQotICAgICAgICAgICAgICAgICAgICB2YXIg
d2luID0gd2luZG93Lm9wZW4oImFib3V0OmJsYW5rIik7DQotICAgICAgICAgICAgICAgICAgICB2
YXIgbm90aWZpY2F0aW9uID0gd2luLndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCcnKTsNCi0gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zaG93KCk7DQotICAg
ICAgICAgICAgICAgICAgICB3aW4uY2xvc2UoKTsNCi0gICAgICAgICAgICAgICAgICAgIG5vdGlm
aWNhdGlvbi5jYW5jZWwoKTsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0NCi0g
ICAgICAgICA8L3NjcmlwdD4gDQotICAgIDwvaGVhZD4gDQotICAgIDxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4gDQotICAgICAgICA8cD5UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIG1hbnVhbGx5IGFu
ZCBjYW5ub3QgcnVuIGluc2lkZSBEdW1wUmVuZGVyVHJlZS4gUGFzc2VzIGlmIGl0IGRvZXMgbm90
IGNyYXNoIG9uIHJ1bm5pbmcgdGhlIHRlc3QgYWxvbmd3aXRoIHdpdGggYSBjb3VwbGUgb2YgcGFn
ZSByZWxvYWRzLjwvcD4NCi0gICAgPC9ib2R5PiANCi08L2h0bWw+DQotDQpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYw
MDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRo
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1E
RVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiBodHRwOi8vMC4wLjAuMC9teV9pY29uLnBuZywgdGl0
bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLVNlbmRpbmcgbm90aWZp
Y2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBl
cm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50
KQpAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVz
c2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJl
c3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAg
IAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRX
ZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVt
cE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlm
aWNhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9u
cyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IHZhciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJo
dHRwOi8vMC4wLjAuMC9teV9pY29uLnBuZyIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdo
dCBhdCA4ISIpOwotICAgICAgICAgICAgTS5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7IH0KLSAgICAgICAgICAgIE0uc2hvdygpOwotICAgICAgICB9Ci0g
ICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3
aXRoIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGhv
dXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLVNlbmRpbmcgbm90aWZp
Y2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi4KLQotUEFTUzogRXhjZXB0aW9uIHRocm93bi4K
LQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0
aG91dC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9u
IDIxNjAwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzkgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0g
bWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24g
cnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKLSAgICAgICAgICAgICAgICAvLyBOTyBQRVJNSVNTSU9OIHRlc3RSdW5uZXIuZ3JhbnRXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5v
IHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgCi0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIHZhciBOID0gd2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJodHRwOi8vMC4wLjAuMC9t
eV9pY29uLnBuZyIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAg
ICAgICAgICAgICAgIE4uc2hvdygpOwotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogU2hvdWxk
IGhhdmUgdGhyb3duIHNlY3VyaXR5IGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgIH0gY2F0Y2gg
KGUpIHsKLSAgICAgICAgICAgICAgICBsb2coIlBBU1M6IEV4Y2VwdGlvbiB0aHJvd24uIik7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQgcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1
blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxl
LXJlbG9hZGluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2Fk
aW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2Fk
aW5nLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0
cyB0aGF0IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uIHJlcXVlc3RzIGR1cmluZyBwYWdlIHJlbG9h
ZCBkbyBub3QgY2F1c2UgYSBjcmFzaC4KLQotUEFTUzogVGVzdCBwYXNzZWQgaWYgd2Ugc2F3IG5v
IGNyYXNoLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVj
dGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwot
bmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxl
LXJlbG9hZGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy5odG1s
CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVx
dWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmcuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDI3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08cD5UaGlz
IHRlc3RzIHRoYXQgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24gcmVxdWVzdHMgZHVyaW5nIHBhZ2Ug
cmVsb2FkIGRvIG5vdCBjYXVzZSBhIGNyYXNoLjwvcD4KLTxwIGlkPSJtZXNzYWdlIj5GQUlMOiBU
ZXN0IGRpZCBub3QgcnVuIHRvIGNvbXBsZXRpb24geWV0LjwvcD4KLTxzY3JpcHQ+Ci0KLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi12YXIgdHJpZXMgPSBsb2NhdGlvbi5oYXNo
LnN1YnN0cmluZygxKSA+Pj4gMDsKLWlmICh0cmllcyA8IDEwKSB7Ci0gICAgbG9jYXRpb24uaGFz
aCA9ICIjIiArICh0cmllcyArIDEpOwotICAgIGxvY2F0aW9uLnJlbG9hZCgpOwotCi0gICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0
UGVybWlzc2lvbigpOwotICAgIH0sIDApOwotfSBlbHNlIHsKLSAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibWVzc2FnZSIpLnRleHRDb250ZW50ID0gIlBBU1M6IFRlc3QgcGFzc2VkIGlmIHdl
IHNhdyBubyBjcmFzaC4iOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZp
Y2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLmh0bWwKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVk
OiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIHByb3BlcnR5CkRlbGV0ZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTEgKzAsMCAjIwotdGV4dC9o
dG1sClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1w
ZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRt
bAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jl
c291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDI4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAg
ICAgICAgewotICAgICAgICAgICAgcGFyZW50LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAK
LSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pZ25vcmVMZWdhY3lXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdHMoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7IGxvZygiRkFJTDogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLiIp
OyB9Ci0gICAgICAgICAgICApOwotCi0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFt
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNv
dXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFt
ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxoZWFkPgotICAgIDx0aXRsZT5Ob3RpZmljYXRpb25zOiBJZnJhbWUgdGVzdC48L3Rp
dGxlPgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHAgaWQ9Imhhc1Blcm1pc3Npb24iPjwvcD4KLSAg
ICA8c2NyaXB0PgotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFzUGVybWlzc2lv
biIpLmlubmVyVGV4dCA9Ci0gICAgICAgICAgICAhd2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Bl
cm1pc3Npb24oKSA/ICJBbGxvd2VkIiA6ICJEZW5pZWQiOwotICAgIDwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xl
Z2FjeS9kb3VibGUtc2hvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTEg
KzAsMCBAQAotU2VuZGluZyBkb3VibGUtc2hvdyBub3RpZmljYXRpb24uLi4KLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMgaXMg
ZGVmaW5lZC4KLVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgY2FsbGVkCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91
YmxlLXNob3cuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy5odG1sCShub25leGlzdGVudCkKQEAg
LTEsMjQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmlj
YXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgot
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KLWRlc2NyaXB0aW9uKCJTZW5kaW5nIGRvdWJsZS1zaG93IG5vdGlmaWNhdGlvbi4uLiIpOwot
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZp
Y2F0aW9uUGVybWlzc2lvbih0ZXN0VVJMKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLX0KLQotc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucyIpOwot
Ci12YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigi
aHR0cDovLzAuMC4wLjAvbXlfaWNvbi5wbmciLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmln
aHQgYXQgOCEiKTsKLU4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7Ci0gICAgdGVzdFBhc3NlZCgi
b25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgY2FsbGVkIik7Ci0gICAgdGVzdENvbXBsZXRlZCgpOwot
fTsKLU4uc2hvdygpOwotTi5zaG93KCk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CkBAIC0xLDE0ICswLDAgQEAKLVRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRo
ZSBldmVudCBoYW5kbGVycy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLUdyYW50
aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCi1QQVNTIHdlYmtpdE5vdGlm
aWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAotUEFTUyBvbmRpc3BsYXkgZXZlbnQgaGFu
ZGxlciB3YXMgY2FsbGVkCi1QQVNTIG9uY2xpY2sgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkCi1Q
QVNTIG9uY2xvc2UgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkCi1QQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy5odG1sCShyZXZp
c2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVn
YWN5L2V2ZW50cy5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzcgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotCXRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotCi1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2gg
b2YgdGhlIGV2ZW50IGhhbmRsZXJzLiIpOwotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLQlk
ZWJ1ZygiR3JhbnRpbmcgcGVybWlzc2lvbiB0byAiICsgdGVzdFVSTCk7Ci0JdGVzdFJ1bm5lci5n
cmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci19Ci0KLXNob3VsZEJlKCJ3
ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLQotdmFyIG4gPSB3
ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgInRpdGxlIiwgImJvZHki
KTsKLW4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7Ci0JdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2
ZW50IGhhbmRsZXIgd2FzIGNhbGxlZCIpOwotCXRlc3RSdW5uZXIuc2ltdWxhdGVXZWJOb3RpZmlj
YXRpb25DbGljayh0aGlzKTsKLX07Ci1uLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsKLQl0ZXN0UGFz
c2VkKCJvbmNsaWNrIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZCIpOwotCXRoaXMuY2FuY2VsKCk7
Ci19Owotbi5vbmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0JdGVzdFBhc3NlZCgib25jbG9zZSBldmVu
dCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0ZXN0Q29tcGxldGVkKCk7Ci19Owotbi5vbmVycm9y
ID0gZnVuY3Rpb24oKSB7Ci0JdGVzdEZhaWxlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHNob3Vs
ZCBub3QgYmUgY2FsbGVkIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfTsKLW4uc2hvdygpOwotPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xl
Z2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZp
Z2F0ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi1tYWluIGZy
YW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQotVGVzdHMgdGhhdCB3ZSBhcmUgbm90IGNy
YXNoaW5nIHdoZW4gYSBwZXJtaXNzaW9uIHJlcXVlc3QgaXMgYW5zd2VyZWQgYWZ0ZXIgbmF2aWdh
dGluZwotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBUaGlzIHRlc3QgZGlk
IG5vdCBjcmFzaAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kv
bm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3Rp
ZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAkocmV2aXNpb24g
MjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9u
b3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IHdlIGFyZSBub3QgY3Jhc2hpbmcgd2hlbiBhIHBlcm1pc3Npb24gcmVxdWVz
dCBpcyBhbnN3ZXJlZCBhZnRlciBuYXZpZ2F0aW5nIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
LQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dz
KCk7Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZlbnQp
Ci17Ci0gIHRlc3RQYXNzZWQoIlRoaXMgdGVzdCBkaWQgbm90IGNyYXNoIik7Ci0gIHRhcmdldC5j
bG9zZSgpOwotICBmaW5pc2hKU1Rlc3QoKTsKLX0pOwotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsK
LSAgdGFyZ2V0ID0gd2luZG93Lm9wZW4oJ3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhl
bi1uYXZpZ2F0ZS5odG1sJyk7Ci19Ci0KLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9yZXF1ZXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0ICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdGhhdCBh
IHJlcXVlc3QgZm9yIHBlcm1pc3Npb24gaXMgbWFkZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi0KLVJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIGRlZmF1bHQgcGVybWlzc2lvbgot
UEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAxCi1Q
QVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVJl
cXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIG5vbi1kZWZhdWx0IHBlcm1pc3Npb24KLVBBU1Mgd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMgotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MjE2MDAyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9y
ZXF1ZXN0LW5vLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDE1ICsw
LDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdGhhdCByZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aG91
dCBhIGNhbGxiYWNrIHdvcmtzLiBUaGlzIHN1cHBvcnRzIGxlZ2FjeSBBUEkuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBkZWZhdWx0
IHBlcm1pc3Npb24KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNz
aW9uKCkgaXMgMQotUEFTUyB3ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24t
ZGVmYXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNr
UGVybWlzc2lvbigpIGlzIDIKLVBBU1Mgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlz
c2lvbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1u
by1jYWxsYmFjay5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDI4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGhvdXQgYSBj
YWxsYmFjayB3b3Jrcy4gVGhpcyBzdXBwb3J0cyBsZWdhY3kgQVBJLiIpOwotCi1mdW5jdGlvbiBz
dGVwMSgpIHsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggZGVmYXVsdCBw
ZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNo
ZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKLSAgICBzaG91bGROb3RUaHJvdygid2Via2l0Tm90aWZp
Y2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIik7Ci0gICAgc2V0VGltZW91dChzdGVwMiwgMCk7
Ci19Ci0KLWZ1bmN0aW9uIHN0ZXAyKCkgewotICAgIHRlc3RSdW5uZXIuZGVueVdlYk5vdGlmaWNh
dGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0gICAgZGVidWcoIlJlcXVlc3RpbmcgcGVybWlzc2lv
biB3aXRoIG5vbi1kZWZhdWx0IHBlcm1pc3Npb24iKTsKLSAgICBzaG91bGRCZSgid2luZG93Lndl
YmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMiIpOwotICAgIHNob3VsZE5v
dFRocm93KCJ3ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCkiKTsKLSAgICB0
ZXN0Q29tcGxldGVkKCk7Ci19Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHN0ZXAxKCk7Ci19Ci08L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVxdWVzdC5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDMxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0
aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuIik7Ci0KLWZ1bmN0
aW9uIHN0ZXAxKCkgewotICAgIGRlYnVnKCJSZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBkZWZh
dWx0IHBlcm1pc3Npb24iKTsKLSAgICBzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMSIpOwotICAgIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVx
dWVzdFBlcm1pc3Npb24oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNob3VsZEJlKCJ3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7Ci0gICAgICAgIHNldFRp
bWVvdXQoc3RlcDIsIDApOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBzdGVwMigpIHsKLSAgICB0
ZXN0UnVubmVyLmRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIGRl
YnVnKCJSZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uIik7
Ci0gICAgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbihmdW5jdGlvbigpIHsK
LSAgICAgICAgc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlz
c2lvbigpIiwgIjIiKTsKLSAgICAgICAgdGVzdENvbXBsZXRlZCgpOwotICAgIH0pOwotfQotCi1p
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LSAgICBzdGVwMSgpOwotfQotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvc2hvdy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMCArMCww
IEBACi1UaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNwYXRjaCBvZiB0aGUgb25zaG93IGV2ZW50
IGhhbmRsZXIuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDEKLVBBU1Mgd2luZG93Lndl
YmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnLCAndGl0bGUgMScsICdib2R5
Jyk7IHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yIChET00gRXhjZXB0aW9uIDE4KTogVGhl
IG9wZXJhdGlvbiBpcyBpbnNlY3VyZS4uCi1HcmFudGluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAwCi1QQVNTIG9uZGlzcGxheSBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQKLVBB
U1MgdGhpcy5vbmRpc3BsYXkgaXMgdGhpcy5vbnNob3cKLURlbnlpbmcgcGVybWlzc2lvbiB0byBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAKLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hl
Y2tQZXJtaXNzaW9uKCkgaXMgMgotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVh
dGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAzJywgJ2JvZHknKTsgdGhyZXcgZXhjZXB0aW9uIFNl
Y3VyaXR5RXJyb3IgKERPTSBFeGNlcHRpb24gMTgpOiBUaGUgb3BlcmF0aW9uIGlzIGluc2VjdXJl
Li4KLVJlc2V0dGluZyBhbGwgcGVybWlzc2lvbnMKLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNh
dGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sCShyZXZpc2lvbiAyMTYwMDIp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3cuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDUzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLQl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQotZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBvbnNob3cg
ZXZlbnQgaGFuZGxlci4iKTsKLQotdmFyIG4gPSBudWxsOwotZnVuY3Rpb24gcGFydDEoKSB7Ci0J
c2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwg
IjEiKTsKLQlzaG91bGRUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90
aWZpY2F0aW9uKCcnLCAndGl0bGUgMScsICdib2R5Jyk7Iik7Ci0Jc2V0VGltZW91dChwYXJ0Miwg
MCk7Ci19Ci0KLWZ1bmN0aW9uIHBhcnQyKCkgewotCWRlYnVnKCJHcmFudGluZyBwZXJtaXNzaW9u
IHRvICIgKyB0ZXN0VVJMKTsKLQl0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbih0ZXN0VVJMKTsKLQlzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hl
Y2tQZXJtaXNzaW9uKCkiLCAiMCIpOwotCi0JbiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgInRpdGxlIDIiLCAiYm9keSIpOwotCW4ub25kaXNwbGF5
ID0gZnVuY3Rpb24oKSB7Ci0JCXRlc3RQYXNzZWQoIm9uZGlzcGxheSBldmVudCBoYW5kbGVyIHdh
cyBjYWxsZWQiKTsKLQkJc2hvdWxkQmUoInRoaXMub25kaXNwbGF5IiwgInRoaXMub25zaG93Iik7
Ci0JCXNldFRpbWVvdXQocGFydDMsIDApOwotCX07Ci0Jbi5vbmVycm9yID0gZnVuY3Rpb24oKSB7
Ci0JCXRlc3RGYWlsZWQoIm9uZXJyb3IgZXZlbnQgaGFuZGxlciBzaG91bGQgbm90IGJlIGNhbGxl
ZCIpOwotCQlzZXRUaW1lb3V0KHBhcnQzLCAwKTsKLQl9OwotCW4uc2hvdygpOwotfQotCi1mdW5j
dGlvbiBwYXJ0MygpIHsKLQlkZWJ1ZygiRGVueWluZyBwZXJtaXNzaW9uIHRvICIgKyB0ZXN0VVJM
KTsKLQl0ZXN0UnVubmVyLmRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwot
CXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIs
ICIyIik7Ci0Jc2hvdWxkVGhyb3coIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbignJywgJ3RpdGxlIDMnLCAnYm9keScpOyIpOwotCXNldFRpbWVvdXQocGFydDQs
IDApOwotfQotCi1mdW5jdGlvbiBwYXJ0NCgpIHsKLQlkZWJ1ZygiUmVzZXR0aW5nIGFsbCBwZXJt
aXNzaW9ucyIpOwotCXRlc3RSdW5uZXIucmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lv
bnMoKTsKLQlzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNz
aW9uKCkiLCAiMSIpOwotCXRlc3RDb21wbGV0ZWQoKTsKLX0KLQotcGFydDEoKTsKLTwvc2NyaXB0
PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5k
b3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgc2NyaXB0
IGNhbiBvcGVuIHdpbmRvd3Mgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gYSBuYXRpdmUgbm90aWZp
Y2F0aW9uLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBBU1MgY2xpY2tpbmcgb24gbm90aWZp
Y2F0aW9uIHN1Y2Nlc3NmdWxseSBvcGVuZWQgYSB3aW5kb3cKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5k
b3ctc2hvdy1vbi1jbGljay5odG1sCShyZXZpc2lvbiAyMTYwMDIpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9u
UGVybWlzc2lvbih0ZXN0VVJMKTsKLSAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKHRy
dWUpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi1kZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgc2NyaXB0IGNhbiBvcGVuIHdpbmRvd3Mgd2hlbiB0aGUg
dXNlciBjbGlja3Mgb24gYSBuYXRpdmUgbm90aWZpY2F0aW9uLiIpOwotCi1zaG91bGRCZSgid2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7Ci12YXIgbiA9IHdlYmtp
dE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiIiwgIiIpOwotbi5vbmRpc3Bs
YXkgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIuc2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayh0aGlzKTsKLX07Ci1uLm9uY2xp
Y2sgPSBmdW5jdGlvbigpIHsKLSAgICB3aW5kb3cub3BlbignL25vdGlmaWNhdGlvbnMvcmVzb3Vy
Y2VzL3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwnKTsKLX07Ci1uLnNob3coKTsKLQotZnVuY3Rp
b24gb25XaW5kb3dPcGVuKCkgewotICAgIHRlc3RQYXNzZWQoJ2NsaWNraW5nIG9uIG5vdGlmaWNh
dGlvbiBzdWNjZXNzZnVsbHkgb3BlbmVkIGEgd2luZG93Jyk7Ci0gICAgdGVzdENvbXBsZXRlZCgp
OwotfQotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3Jlc291cmNlcy9ub3RpZnktb3BlbmVyLWRvbmUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9u
b3RpZnktb3BlbmVyLWRvbmUuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1k
b25lLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PHNjcmlwdD4KLW9wZW5lci5wb3N0TWVzc2FnZSgiRE9ORSIsICcqJyk7Ci08L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2Vz
L3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvcmVxdWVz
dC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvcmVxdWVz
dC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHJlcXVlc3RQZXJtaXNz
aW9uKCkKLXsKLSAgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24o
ZnVuY3Rpb24oKSB7IH0pOwotfQotCi13aW5kb3cub251bmxvYWQgPSByZXF1ZXN0UGVybWlzc2lv
bjsKLXdpbmRvdy5sb2NhdGlvbiA9ICJub3RpZnktb3BlbmVyLWRvbmUuaHRtbCIKLTwvc2NyaXB0
PgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlz
aW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsMTkgKzE2Miw5IEBAIHdlYmtpdC5vcmcvYi85ODkyNyBm
YXN0L2RvbS9EZXZpY2VNb3Rpb24KIHdlYmtpdC5vcmcvYi85ODkyNyBmYXN0L2RvbS9EZXZpY2VP
cmllbnRhdGlvbiBbIFNraXAgXQogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MTY5NyBTa2lwIGZpbGU6Ly8gYmFzZWQgbm90aWZpY2F0aW9ucyB0ZXN0cwotZmFz
dC9ub3RpZmljYXRpb25zCiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9u
LXN1c3BlbmRhYmxlLmh0bWwKIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1z
dXNwZW5kYWJsZS5odG1sCiAKLSMgd2UgZG8gbm90IGVuYWJsZSBsZWdhY3kgbm90aWZpY2F0aW9u
cwotaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay5o
dG1sCi1odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbAotaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLmh0bWwKLWh0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwKLWh0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sCi1odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L2RvdWJsZS1zaG93Lmh0bWwKLWh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZp
Y2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0bWwKLQogIyBEYXRhbGlz
dCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvOTg5MzQgZmFzdC9mb3Jtcy9kYXRh
bGlzdCBbIFNraXAgXQogCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucwkocmV2aXNpb24gMjE2MDAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rl
c3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDYgQEAgZmFzdC9ldmVu
dHMvY29uc3RydWN0b3JzL2RldmljZS1wcm94aW1pdAogcHJpbnRpbmcKIAogIyBXZWIgTm90aWZp
Y2F0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCBvbiBpT1MuCi1mYXN0L25vdGlmaWNhdGlvbnMKIGh0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucwogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0
aW9uLW5vbi1zdXNwZW5kYWJsZS5odG1sCiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmlj
YXRpb24tc3VzcGVuZGFibGUuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxNjAwMikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw2IEBAIGZh
c3QvZXZlbnRzL2F0dGVtcHQtc2Nyb2xsLXdpdGgtbm8tc2Nyb2wKICMgUGl4ZWwgdGVzdCBkb2Vz
bid0IHJlcGFpbnQgZW50aXJlIHZpZXcgc28gcmVzdWx0IGlzIGNvcnJ1cHRlZCBieSBwcmV2aW91
cyB0ZXN0CiB3ZWJraXQub3JnL2IvMjE5MTYgdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvYnVncy9idWcxNzg4NTUueG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIEZhaWx1cmUgXQog
Ci0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTY5NyBTa2lwIGZp
bGU6Ly8gYmFzZWQgbm90aWZpY2F0aW9ucyB0ZXN0cwotZmFzdC9ub3RpZmljYXRpb25zCi0KICMg
VGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBkZXRlY3Rpbmcgc2xvdyB1bmxvYWQgaGFuZGxlcnMu
CiBmYXN0L2RvbS9XaW5kb3cvc2xvdy11bmxvYWQtaGFuZGxlci5odG1sCiBmYXN0L2RvbS9XaW5k
b3cvc2xvdy11bmxvYWQtaGFuZGxlci1vbmx5LWZyYW1lLWlzLXN0b3BwZWQuaHRtbApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxNjAw
MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDQsNyArMTQ0LDYgQEAgZmFzdC9ldmVudHMvcG9wdXAtYmxvY2tpbmctY2xp
Y2staW4taWZyYQogZmFzdC9kb20vR2VvbG9jYXRpb24vIFsgU2tpcCBdCiAKICMgVE9ETyBUaGlz
IHBvcnQgZG9lc24ndCBzdXBwb3J0IE5vdGlmaWNhdGlvbnMuCi1mYXN0L25vdGlmaWNhdGlvbnMv
IFsgU2tpcCBdCiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvIFsgU2tpcCBdCiBmYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWwgWyBTa2lwIF0K
IGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJsZS5odG1sIFsg
U2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308743</attachid>
            <date>2017-05-01 12:05:39 -0700</date>
            <delta_ts>2017-05-02 10:47:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171487-20170501120516.patch</filename>
            <type>text/plain</type>
            <size>251598</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE3LTA0LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVt
b3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorICAgICAgICBSZW1vdmUgZGVmaW5pdGlvbiBvZiBFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMuCisKIDIwMTctMDQtMzAgIE9sZWtzYW5kciBTa2FjaGtvdiAgPGdza2Fj
aGtvdkBnbWFpbC5jb20+CiAKICAgICAgICAgV2UgaW5pdGlhbGl6ZSBmdW5jdGlvbnMgdG9vIGVh
cmx5IGluIGFuIGV2YWwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIx
NjAyMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEzOSw2IEBAIEVOQUJMRV9L
RVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsKIEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUzsK
IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdB
Q1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TW3Nkaz1tYWNv
c3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVUVEVS
UFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwogRU5BQkxFX0xJTktfUFJF
RkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9O
T1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfTk8gPSBFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfWUVTID0gOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVF
U1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9P
QlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tF
WV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV1RG
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA0LTMwICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9y
IGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorICAgICAgICBSZW1vdmUgZGVm
aW5pdGlvbiBvZiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMuCisKIDIwMTctMDUtMDEgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFudXA6IENoYW5n
ZSBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2ggZnJvbSBhIGNsYXNzIHRvIGEgc3RydWN0CkluZGV4
OiBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
VEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XVEYv
d3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzOCwxMCArNTM4LDYgQEAg
dGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0bwogI2RlZmluZSBFTkFCTEVf
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSAwCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykKLSNkZWZpbmUgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
IDAKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
CiAjZGVmaW5lIEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTIDAKICNlbmRpZgpJbmRleDog
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlm
aWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICBSZW1vdmUgZmlsZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRpb24gb2Yg
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgUmVtb3ZlIElETCBmaWxlcy4KKworICAgICAgICAqIE1vZHVsZXMvbm90
aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oOiBSZW1vdmVk
LgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25z
LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ2VudGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIE1vZHVsZXMv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIE1v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwOiBS
ZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29w
ZU5vdGlmaWNhdGlvbnMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlv
bnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbjoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgUmVtb3ZlIGNvZGUgbGVnYWN5IE5vdGlmaWNhdGlv
biBjb2RlLiBSZXBsYWNlIHVzZSBvZiBOb3RpZmljYXRpb25DZW50ZXIgd2l0aCBkaXJlY3QKKyAg
ICAgICAgY2FsbHMgdG8gdGhlIE5vdGlmaWNhdGlvbkNsaWVudC4KKwogMjAxNy0wNS0wMSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIHVzYWdl
IG9mIFBhc3NSZWZQdHIgaW4gZWRpdGluZyBjb2RlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAko
cmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTI2MSwxMSArMjYxLDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklM
RVMKIAogICAgIE1vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzL05hdmlnYXRvckNvbnRlbnRV
dGlscy5pZGwKIAotICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRp
b25zLmlkbAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCi0gICAg
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbAotICAgIE1v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsCiAK
ICAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5pZGwKIApAQCAtOTgy
LDExICs5NzksOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBNb2R1bGVzL25hdmlnYXRv
cmNvbnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwCiAKLSAgICBNb2R1bGVzL25v
dGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAKICAgICBNb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAotICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuY3BwCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNvbnRyb2xsZXIuY3BwCi0gICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNj
b3BlTm90aWZpY2F0aW9ucy5jcHAKIAogICAgIE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hp
bWl0eUNvbnRyb2xsZXIuY3BwCiAgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
RXZlbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCShyZXZpc2lvbiAyMTYw
MjIpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE3OSw3ICsxNzksNiBAQAogI2luY2x1ZGUgIkpTRE9NV2luZG93LmNwcCIKICNpbmNsdWRl
ICJKU0RPTVdpbmRvd0ZldGNoLmNwcCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0luZGV4ZWREYXRh
YmFzZS5jcHAiCi0jaW5jbHVkZSAiSlNET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCIKICNpbmNs
dWRlICJKU0RPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAiCiAjaW5jbHVkZSAiSlNET01XaW5k
b3dXZWJEYXRhYmFzZS5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50LmNwcCIKQEAgLTM1Myw3ICsz
NTIsNiBAQAogI2luY2x1ZGUgIkpTTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlLmNwcCIKICNpbmNs
dWRlICJKU05vbkVsZW1lbnRQYXJlbnROb2RlLmNwcCIKICNpbmNsdWRlICJKU05vdGlmaWNhdGlv
bi5jcHAiCi0jaW5jbHVkZSAiSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIgogI2luY2x1ZGUgIkpT
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU092ZXJmbG93
RXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmNwcCIK
QEAgLTY0NCw3ICs2NDIsNiBAQAogI2luY2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGUuY3BwIgog
I2luY2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAiCiAjaW5jbHVkZSAiSlNXb3Jr
ZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAiCi0jaW5jbHVkZSAiSlNXb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwIgogI2luY2x1ZGUgIkpTV29ya2VyTG9jYXRpb24uY3Bw
IgogI2luY2x1ZGUgIkpTV29ya2VyTmF2aWdhdG9yLmNwcCIKICNpbmNsdWRlICJKU1dyaXRhYmxl
U3RyZWFtLmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24g
MjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBj
b3B5KQpAQCAtMjAyLDExICsyMDIsOCBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1NpZ25hbGluZ1N0YXRlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuaWRsIFwKLSAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBc
Ci0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvcXVvdGEvTmF2aWdhdG9yU3RvcmFnZVF1b3RhLmlkbCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNiBA
QCBFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSA9IEVOQUJMRV9LCiBFTkFCTEVfS0VZQk9B
UkRfQ09ERV9BVFRSSUJVVEUgPSBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEU7CiBFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVM7CiBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQTsKLUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
U1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlM7CiBFTkFCTEVfTEVH
QUNZX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTOwogRU5B
QkxFX0xFVFRFUlBSRVNTW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9MRVRURVJQUkVTUzsKIEVOQUJM
RV9MSU5LX1BSRUZFVENIID0gOwpAQCAtMjU1LDQgKzI1NCw0IEBAIEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFNfSUZfTk9UXyA9ICQoRU5BQkwKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX05P
ID0gRU5BQkxFX1ZBUklBVElPTl9GT05UUzsKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9U
X1lFUyA9IDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVH
QVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xF
R0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9B
UEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRF
UlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9L
RVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlv
bnMuY3BwCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MjcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJET01XaW5kb3dOb3RpZmljYXRpb25zLmgiCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotCi0jaW5jbHVkZSAiRE9NV2luZG93
LmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIu
aCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCi0jaW5jbHVkZSAiUGFnZS5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLURPTVdpbmRvd05vdGlmaWNhdGlvbnM6OkRPTVdp
bmRvd05vdGlmaWNhdGlvbnMoRE9NV2luZG93KiB3aW5kb3cpCi0gICAgOiBET01XaW5kb3dQcm9w
ZXJ0eSh3aW5kb3ctPmZyYW1lKCkpCi0gICAgLCBtX3dpbmRvdyh3aW5kb3cpCi17Ci19Ci0KLURP
TVdpbmRvd05vdGlmaWNhdGlvbnM6On5ET01XaW5kb3dOb3RpZmljYXRpb25zKCkKLXsKLX0KLQot
Y29uc3QgY2hhciogRE9NV2luZG93Tm90aWZpY2F0aW9uczo6c3VwcGxlbWVudE5hbWUoKQotewot
ICAgIHJldHVybiAiRE9NV2luZG93Tm90aWZpY2F0aW9ucyI7Ci19Ci0KLURPTVdpbmRvd05vdGlm
aWNhdGlvbnMqIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmZyb20oRE9NV2luZG93KiB3aW5kb3cp
Ci17Ci0gICAgRE9NV2luZG93Tm90aWZpY2F0aW9ucyogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0
PERPTVdpbmRvd05vdGlmaWNhdGlvbnMqPihTdXBwbGVtZW50PERPTVdpbmRvdz46OmZyb20od2lu
ZG93LCBzdXBwbGVtZW50TmFtZSgpKSk7Ci0gICAgaWYgKCFzdXBwbGVtZW50KSB7Ci0gICAgICAg
IGF1dG8gbmV3U3VwcGxlbWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8RE9NV2luZG93Tm90aWZpY2F0
aW9ucz4od2luZG93KTsKLSAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7
Ci0gICAgICAgIHByb3ZpZGVUbyh3aW5kb3csIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3
U3VwcGxlbWVudCkpOwotICAgIH0KLSAgICByZXR1cm4gc3VwcGxlbWVudDsKLX0KLQotTm90aWZp
Y2F0aW9uQ2VudGVyKiBET01XaW5kb3dOb3RpZmljYXRpb25zOjp3ZWJraXROb3RpZmljYXRpb25z
KERPTVdpbmRvdyYgd2luZG93KQotewotICAgIHJldHVybiBET01XaW5kb3dOb3RpZmljYXRpb25z
Ojpmcm9tKCZ3aW5kb3cpLT53ZWJraXROb3RpZmljYXRpb25zKCk7Ci19Ci0KLXZvaWQgRE9NV2lu
ZG93Tm90aWZpY2F0aW9uczo6ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkK
LXsKLSAgICBtX3N1c3BlbmRlZE5vdGlmaWNhdGlvbkNlbnRlciA9IFdURk1vdmUobV9ub3RpZmlj
YXRpb25DZW50ZXIpOwotICAgIERPTVdpbmRvd1Byb3BlcnR5OjpkaXNjb25uZWN0RnJhbWVGb3JE
b2N1bWVudFN1c3BlbnNpb24oKTsKLX0KLQotdm9pZCBET01XaW5kb3dOb3RpZmljYXRpb25zOjpy
ZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqIGZyYW1lKQotewotICAg
IERPTVdpbmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24o
ZnJhbWUpOwotICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gV1RGTW92ZShtX3N1c3BlbmRlZE5v
dGlmaWNhdGlvbkNlbnRlcik7Ci19Ci0KLXZvaWQgRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2ls
bERlc3Ryb3lHbG9iYWxPYmplY3RJbkNhY2hlZEZyYW1lKCkKLXsKLSAgICBtX3N1c3BlbmRlZE5v
dGlmaWNhdGlvbkNlbnRlciA9IG51bGxwdHI7Ci0gICAgRE9NV2luZG93UHJvcGVydHk6OndpbGxE
ZXN0cm95R2xvYmFsT2JqZWN0SW5DYWNoZWRGcmFtZSgpOwotfQotCi12b2lkIERPTVdpbmRvd05v
dGlmaWNhdGlvbnM6OndpbGxEZXN0cm95R2xvYmFsT2JqZWN0SW5GcmFtZSgpCi17Ci0gICAgbV9u
b3RpZmljYXRpb25DZW50ZXIgPSBudWxscHRyOwotICAgIERPTVdpbmRvd1Byb3BlcnR5Ojp3aWxs
RGVzdHJveUdsb2JhbE9iamVjdEluRnJhbWUoKTsKLX0KLQotdm9pZCBET01XaW5kb3dOb3RpZmlj
YXRpb25zOjp3aWxsRGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCkKLXsKLSAgICBtX25vdGlm
aWNhdGlvbkNlbnRlciA9IG51bGxwdHI7Ci0gICAgRE9NV2luZG93UHJvcGVydHk6OndpbGxEZXRh
Y2hHbG9iYWxPYmplY3RGcm9tRnJhbWUoKTsKLX0KLQotTm90aWZpY2F0aW9uQ2VudGVyKiBET01X
aW5kb3dOb3RpZmljYXRpb25zOjp3ZWJraXROb3RpZmljYXRpb25zKCkKLXsKLSAgICBpZiAoIW1f
d2luZG93LT5pc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KLSAgICBpZiAobV9ub3RpZmljYXRpb25DZW50ZXIpCi0gICAgICAgIHJldHVybiBt
X25vdGlmaWNhdGlvbkNlbnRlci5nZXQoKTsKLQotICAgIGF1dG8qIGRvY3VtZW50ID0gbV93aW5k
b3ctPmRvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgCi0gICAgYXV0byogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7Ci0gICAgaWYgKCFw
YWdlKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIGF1dG8qIHByb3ZpZGVyID0gTm90
aWZpY2F0aW9uQ29udHJvbGxlcjo6Y2xpZW50RnJvbSgqcGFnZSk7Ci0gICAgaWYgKCFwcm92aWRl
cikKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBtX25vdGlmaWNhdGlvbkNlbnRlciA9
IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlKCpkb2N1bWVudCwgcHJvdmlkZXIpOwotICAgIHJl
dHVybiBtX25vdGlmaWNhdGlvbkNlbnRlci5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaAkocmV2aXNpb24g
MjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRv
d05vdGlmaWNhdGlvbnMuaAkobm9uZXhpc3RlbnQpCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9v
ciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLSNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0
eS5oIgotI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRE9NV2luZG93OwotY2xh
c3MgTm90aWZpY2F0aW9uQ2VudGVyOwotCi1jbGFzcyBET01XaW5kb3dOb3RpZmljYXRpb25zIDog
cHVibGljIFN1cHBsZW1lbnQ8RE9NV2luZG93PiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsK
LXB1YmxpYzoKLSAgICBleHBsaWNpdCBET01XaW5kb3dOb3RpZmljYXRpb25zKERPTVdpbmRvdyop
OwotICAgIHZpcnR1YWwgfkRPTVdpbmRvd05vdGlmaWNhdGlvbnMoKTsKLQotICAgIHN0YXRpYyBO
b3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoRE9NV2luZG93Jik7Ci0gICAg
c3RhdGljIERPTVdpbmRvd05vdGlmaWNhdGlvbnMqIGZyb20oRE9NV2luZG93Kik7Ci0KLSAgICB2
b2lkIGRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpIG92ZXJyaWRlOwotICAg
IHZvaWQgcmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKEZyYW1lKikgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCB3aWxsRGVzdHJveUdsb2JhbE9iamVjdEluQ2FjaGVkRnJhbWUoKSBvdmVy
cmlkZTsKLSAgICB2b2lkIHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0SW5GcmFtZSgpIG92ZXJyaWRl
OwotICAgIHZvaWQgd2lsbERldGFjaEdsb2JhbE9iamVjdEZyb21GcmFtZSgpIG92ZXJyaWRlOwot
Ci1wcml2YXRlOgotICAgIE5vdGlmaWNhdGlvbkNlbnRlciogd2Via2l0Tm90aWZpY2F0aW9ucygp
OwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOwotCi0gICAgRE9NV2lu
ZG93KiBtX3dpbmRvdzsKLSAgICBSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBtX25vdGlmaWNh
dGlvbkNlbnRlcjsKLSAgICBSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBtX3N1c3BlbmRlZE5v
dGlmaWNhdGlvbkNlbnRlcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90
aWZpY2F0aW9ucy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsCShyZXZpc2lvbiAyMTYwMjIpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0
aW9ucy5pZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0g
ICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUywKLV0gcGFy
dGlhbCBpbnRlcmZhY2UgRE9NV2luZG93IHsKLSNpZiBkZWZpbmVkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TCi0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIE5vdGlmaWNhdGlvbkNlbnRlciB3ZWJraXROb3RpZmljYXRpb25zOwotI2VuZGlm
Ci19OwotCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcAkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDc4ICszMSwzMyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uLmgiCiAKLSNpbmNsdWRl
ICJET01XaW5kb3cuaCIKLSNpbmNsdWRlICJET01XaW5kb3dOb3RpZmljYXRpb25zLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9u
Q2VudGVyLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgotI2luY2x1ZGUgIlZvaWRDYWxsYmFj
ay5oIgogI2luY2x1ZGUgIldpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLU5vdGlm
aWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYg
Ym9keSwgVVJMJiYgaWNvblVSTCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTm90
aWZpY2F0aW9uQ2VudGVyJiBub3RpZmljYXRpb25DZW50ZXIpCi0gICAgOiBBY3RpdmVET01PYmpl
Y3QoJmNvbnRleHQpCi0gICAgLCBtX2ljb24oV1RGTW92ZShpY29uVVJMKSkKLSAgICAsIG1fdGl0
bGUodGl0bGUpCi0gICAgLCBtX2JvZHkoYm9keSkKLSAgICAsIG1fbm90aWZpY2F0aW9uQ2VudGVy
KCZub3RpZmljYXRpb25DZW50ZXIpCi17Ci19Ci0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCi0KIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKERvY3VtZW50JiBkb2N1bWVu
dCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmZG9jdW1lbnQp
CiAgICAgLCBtX3RpdGxlKHRpdGxlKQogICAgICwgbV9zdGF0ZShJZGxlKQotICAgICwgbV9ub3Rp
ZmljYXRpb25DZW50ZXIoRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2Via2l0Tm90aWZpY2F0aW9u
cygqZG9jdW1lbnQuZG9tV2luZG93KCkpKQogICAgICwgbV90YXNrVGltZXIoc3RkOjptYWtlX3Vu
aXF1ZTxUaW1lcj4oW3RoaXNdICgpIHsgc2hvdygpOyB9KSkKIHsKLSAgICAvLyBGSVhNRTogU2Vl
bXMgdGhhdCBtX25vdGlmaWNhdGlvbkNlbnRlciBjYW4gYmUgbnVsbCBzbyBzaG91bGQgbm90IGJl
IGNoYW5nZWQgZnJvbSBSZWZQdHIgdG8gUmVmLgotICAgIC8vIEJ1dCB0aGUgcmVzdCBvZiB0aGUg
Y29kZSBpbiB0aGlzIGNsYXNzIGlzbid0IHRyeWluZyB0byBoYW5kbGUgdGhhdCBjYXNlLgotICAg
IEFTU0VSVChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCkpOwogICAgIG1fdGFza1RpbWVy
LT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAotI2VuZGlmCi0KIE5vdGlmaWNhdGlvbjo6fk5vdGlm
aWNhdGlvbigpIAogewogfQogCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotCi1F
eGNlcHRpb25PcjxSZWY8Tm90aWZpY2F0aW9uPj4gTm90aWZpY2F0aW9uOjpjcmVhdGUoY29uc3Qg
U3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkws
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE5vdGlmaWNhdGlvbkNlbnRlciYgcHJv
dmlkZXIpCi17IAotICAgIGlmIChwcm92aWRlci5jaGVja1Blcm1pc3Npb24oKSAhPSBOb3RpZmlj
YXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgU0VDVVJJVFlfRVJSIH07Ci0KLSAgICBVUkwgY29tcGxldGVkSWNvblVSTCA9IGljb25VUkwu
aXNFbXB0eSgpID8gVVJMKCkgOiBjb250ZXh0LmNvbXBsZXRlVVJMKGljb25VUkwpOwotICAgIGlm
ICghY29tcGxldGVkSWNvblVSTC5pc0VtcHR5KCkgJiYgIWNvbXBsZXRlZEljb25VUkwuaXNWYWxp
ZCgpKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU1lOVEFYX0VSUiB9OwotCi0gICAgYXV0
byBub3RpZmljYXRpb24gPSBhZG9wdFJlZigqbmV3IE5vdGlmaWNhdGlvbih0aXRsZSwgYm9keSwg
V1RGTW92ZShjb21wbGV0ZWRJY29uVVJMKSwgY29udGV4dCwgcHJvdmlkZXIpKTsKLSAgICBub3Rp
ZmljYXRpb24uZ2V0KCkuc3VzcGVuZElmTmVlZGVkKCk7Ci0gICAgcmV0dXJuIFdURk1vdmUobm90
aWZpY2F0aW9uKTsKLX0KLQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLQog
c3RhdGljIFN0cmluZyBkaXJlY3Rpb25TdHJpbmcoTm90aWZpY2F0aW9uOjpEaXJlY3Rpb24gZGly
ZWN0aW9uKQogewogICAgIC8vIEZJWE1FOiBTdG9yaW5nIHRoaXMgYXMgYSBzdHJpbmcgaXMgbm90
IHRoZSByaWdodCB3YXkgdG8gZG8gaXQuCkBAIC0xMjIsMzggKzc3LDM4IEBAIHN0YXRpYyBTdHJp
bmcgZGlyZWN0aW9uU3RyaW5nKE5vdGlmaWNhdGkKIFJlZjxOb3RpZmljYXRpb24+IE5vdGlmaWNh
dGlvbjo6Y3JlYXRlKERvY3VtZW50JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBPcHRpb25zJiBvcHRpb25zKQogewogICAgIGF1dG8gbm90aWZpY2F0aW9uID0gYWRvcHRSZWYo
Km5ldyBOb3RpZmljYXRpb24oY29udGV4dCwgdGl0bGUpKTsKLSAgICBub3RpZmljYXRpb24uZ2V0
KCkubV9ib2R5ID0gb3B0aW9ucy5ib2R5OwotICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5tX3RhZyA9
IG9wdGlvbnMudGFnOwotICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5tX2xhbmcgPSBvcHRpb25zLmxh
bmc7Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLm1fZGlyZWN0aW9uID0gZGlyZWN0aW9uU3RyaW5n
KG9wdGlvbnMuZGlyKTsKKyAgICBub3RpZmljYXRpb24tPm1fYm9keSA9IG9wdGlvbnMuYm9keTsK
KyAgICBub3RpZmljYXRpb24tPm1fdGFnID0gb3B0aW9ucy50YWc7CisgICAgbm90aWZpY2F0aW9u
LT5tX2xhbmcgPSBvcHRpb25zLmxhbmc7CisgICAgbm90aWZpY2F0aW9uLT5tX2RpcmVjdGlvbiA9
IGRpcmVjdGlvblN0cmluZyhvcHRpb25zLmRpcik7CiAgICAgaWYgKCFvcHRpb25zLmljb24uaXNF
bXB0eSgpKSB7CiAgICAgICAgIGF1dG8gaWNvblVSTCA9IGNvbnRleHQuY29tcGxldGVVUkwob3B0
aW9ucy5pY29uKTsKICAgICAgICAgaWYgKGljb25VUkwuaXNWYWxpZCgpKQotICAgICAgICAgICAg
bm90aWZpY2F0aW9uLmdldCgpLm1faWNvbiA9IGljb25VUkw7CisgICAgICAgICAgICBub3RpZmlj
YXRpb24tPm1faWNvbiA9IGljb25VUkw7CiAgICAgfQotICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5z
dXNwZW5kSWZOZWVkZWQoKTsKKyAgICBub3RpZmljYXRpb24tPnN1c3BlbmRJZk5lZWRlZCgpOwog
ICAgIHJldHVybiBub3RpZmljYXRpb247CiB9CiAKLSNlbmRpZgotCiB2b2lkIE5vdGlmaWNhdGlv
bjo6c2hvdygpIAogewogICAgIC8vIHByZXZlbnQgZG91YmxlLXNob3dpbmcKLSAgICBpZiAobV9z
dGF0ZSA9PSBJZGxlICYmIG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSkgewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQotICAgICAgICBhdXRvKiBwYWdlID0gZG93bmNhc3Q8RG9jdW1l
bnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLnBhZ2UoKTsKLSAgICAgICAgaWYgKCFwYWdl
KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpZiAoTm90aWZpY2F0aW9uQ29udHJvbGxl
cjo6ZnJvbShwYWdlKS0+Y2xpZW50KCkuY2hlY2tQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSkgIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCkgewotICAg
ICAgICAgICAgZGlzcGF0Y2hFcnJvckV2ZW50KCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KLSNlbmRpZgotICAgICAgICBpZiAobV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgp
LT5zaG93KHRoaXMpKSB7Ci0gICAgICAgICAgICBtX3N0YXRlID0gU2hvd2luZzsKLSAgICAgICAg
ICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKLSAgICAgICAgfQorICAgIGlmIChtX3N0YXRl
ICE9IElkbGUpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8qIHBhZ2UgPSBkb3duY2FzdDxE
b2N1bWVudD4oKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkucGFnZSgpOworICAgIGlmICghcGFn
ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byYgY2xpZW50ID0gTm90aWZpY2F0aW9uQ29u
dHJvbGxlcjo6ZnJvbShwYWdlKS0+Y2xpZW50KCk7CisKKyAgICBpZiAoY2xpZW50LmNoZWNrUGVy
bWlzc2lvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6
UGVybWlzc2lvbkFsbG93ZWQpIHsKKyAgICAgICAgZGlzcGF0Y2hFcnJvckV2ZW50KCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGNsaWVudC5zaG93KHRoaXMpKSB7CisgICAgICAg
IG1fc3RhdGUgPSBTaG93aW5nOworICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAg
ICAgfQogfQogCkBAIC0xNjIsMTAgKzExNywxMiBAQCB2b2lkIE5vdGlmaWNhdGlvbjo6Y2xvc2Uo
KQogICAgIHN3aXRjaCAobV9zdGF0ZSkgewogICAgIGNhc2UgSWRsZToKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBTaG93aW5nOgotICAgICAgICBpZiAobV9ub3RpZmljYXRpb25DZW50ZXItPmNs
aWVudCgpKQotICAgICAgICAgICAgbV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgpLT5jYW5j
ZWwodGhpcyk7CisgICAgY2FzZSBTaG93aW5nOiB7CisgICAgICAgIGF1dG8qIHBhZ2UgPSBkb3du
Y2FzdDxEb2N1bWVudD4oKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkucGFnZSgpOworICAgICAg
ICBpZiAocGFnZSkKKyAgICAgICAgICAgIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFn
ZSktPmNsaWVudCgpLmNhbmNlbCh0aGlzKTsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNh
c2UgQ2xvc2VkOgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xNzQsOCArMTMxLDEwIEBAIHZv
aWQgTm90aWZpY2F0aW9uOjpjbG9zZSgpCiB2b2lkIE5vdGlmaWNhdGlvbjo6Y29udGV4dERlc3Ry
b3llZCgpCiB7CiAgICAgQWN0aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJveWVkKCk7Ci0gICAg
aWYgKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSkKLSAgICAgICAgbV9ub3RpZmljYXRp
b25DZW50ZXItPmNsaWVudCgpLT5ub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQodGhpcyk7CisK
KyAgICBhdXRvKiBwYWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpLnBhZ2UoKTsKKyAgICBpZiAocGFnZSkKKyAgICAgICAgTm90aWZpY2F0aW9uQ29udHJv
bGxlcjo6ZnJvbShwYWdlKS0+Y2xpZW50KCkubm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKHRo
aXMpOwogfQogCiBjb25zdCBjaGFyKiBOb3RpZmljYXRpb246OmFjdGl2ZURPTU9iamVjdE5hbWUo
KSBjb25zdApAQCAtMjE5LDggKzE3OCw2IEBAIHZvaWQgTm90aWZpY2F0aW9uOjpkaXNwYXRjaEVy
cm9yRXZlbnQoKQogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCku
ZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKLQogU3RyaW5nIE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvbihEb2N1bWVudCYgZG9jdW1lbnQp
CiB7CiAgICAgcmV0dXJuIHBlcm1pc3Npb25TdHJpbmcoTm90aWZpY2F0aW9uQ29udHJvbGxlcjo6
ZnJvbShkb2N1bWVudC5wYWdlKCkpLT5jbGllbnQoKS5jaGVja1Blcm1pc3Npb24oJmRvY3VtZW50
KSk7CkBAIC0yNDUsOCArMjAyLDYgQEAgdm9pZCBOb3RpZmljYXRpb246OnJlcXVlc3RQZXJtaXNz
aW9uKERvYwogICAgIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZyb20oZG9jdW1lbnQucGFnZSgp
KS0+Y2xpZW50KCkucmVxdWVzdFBlcm1pc3Npb24oJmRvY3VtZW50LCBXVEZNb3ZlKGNhbGxiYWNr
KSk7CiB9CiAKLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2Vu
ZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAkocmV2aXNpb24gMjE2MDIy
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCkBAIC00NCwxNyArNDQsMTEgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBOb3RpZmljYXRpb25DZW50ZXI7CiBj
bGFzcyBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s7CiAKIGNsYXNzIE5vdGlmaWNhdGlv
biBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvbj4sIHB1YmxpYyBBY3RpdmVE
T01PYmplY3QsIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCi0gICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxOb3RpZmljYXRpb24+PiBjcmVhdGUoY29u
c3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25V
UkwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBOb3RpZmljYXRpb25DZW50ZXImKTsKLSNlbmRp
ZgotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgZW51bSBjbGFzcyBEaXJlY3Rpb24g
eyBBdXRvLCBMdHIsIFJ0bCB9OwogICAgIHN0cnVjdCBPcHRpb25zIHsKICAgICAgICAgRGlyZWN0
aW9uIGRpcjsKQEAgLTY0LDcgKzU4LDYgQEAgcHVibGljOgogICAgICAgICBTdHJpbmcgaWNvbjsK
ICAgICB9OwogICAgIHN0YXRpYyBSZWY8Tm90aWZpY2F0aW9uPiBjcmVhdGUoRG9jdW1lbnQmLCBj
b25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBPcHRpb25zJik7Ci0jZW5kaWYKICAgICAKICAgICB2
aXJ0dWFsIH5Ob3RpZmljYXRpb24oKTsKIApAQCAtOTQsMTEgKzg3LDkgQEAgcHVibGljOgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmaW5hbGl6ZSgpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgc3RhdGljIFN0cmluZyBwZXJtaXNzaW9uKERvY3VtZW50Jik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBwZXJtaXNzaW9uU3RyaW5nKE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbik7CiAgICAgc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oRG9j
dW1lbnQmLCBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiYmKTsKLSNlbmRp
ZgogCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpOyB9CiAKQEAgLTEwNiwxMyArOTcsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291
bnRlZDo6ZGVyZWY7CiAKIHByaXZhdGU6Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQotICAgIE5vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJv
ZHksIFVSTCYmIGljb25VUkwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBOb3RpZmljYXRpb25D
ZW50ZXImKTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgTm90aWZp
Y2F0aW9uKERvY3VtZW50JiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7Ci0jZW5kaWYKIAogICAgIEV2
ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gTm90aWZpY2F0aW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAKQEAgLTEzMywx
MyArMTE4LDkgQEAgcHJpdmF0ZToKICAgICBlbnVtIFN0YXRlIHsgSWRsZSwgU2hvd2luZywgQ2xv
c2VkIH07CiAgICAgU3RhdGUgbV9zdGF0ZSB7IElkbGUgfTsKIAotICAgIFJlZlB0cjxOb3RpZmlj
YXRpb25DZW50ZXI+IG1fbm90aWZpY2F0aW9uQ2VudGVyOwotCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFRpbWVyPiBtX3Rhc2tUaW1lcjsKLSNlbmRpZgog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsMzYgKzMwLDM4IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlvbmFsPU5P
VElGSUNBVElPTlN8TEVHQUNZX05PVElGSUNBVElPTlMsCisgICAgQ29uZGl0aW9uYWw9Tk9USUZJ
Q0FUSU9OUywKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9F
WFBPUlQsCi0jaWYgZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElG
SUNBVElPTlMKICAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgdGl0bGUsIG9wdGlvbmFsIE5vdGlm
aWNhdGlvbk9wdGlvbnMgb3B0aW9ucyksCiAgICAgQ29uc3RydWN0b3JDYWxsV2l0aD1Eb2N1bWVu
dCwKLSNlbmRpZgogXSBpbnRlcmZhY2UgTm90aWZpY2F0aW9uIDogRXZlbnRUYXJnZXQgewogICAg
IHZvaWQgc2hvdygpOwotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfTk9USUZJQ0FUSU9OUywgSW1w
bGVtZW50ZWRBcz1jbG9zZV0gdm9pZCBjYW5jZWwoKTsKLSAgICBbQ29uZGl0aW9uYWw9Tk9USUZJ
Q0FUSU9OU10gdm9pZCBjbG9zZSgpOworICAgIHZvaWQgY2xvc2UoKTsKIAotICAgIFtDb25kaXRp
b25hbD1OT1RJRklDQVRJT05TLCBDYWxsV2l0aD1Eb2N1bWVudF0gc3RhdGljIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgcGVybWlzc2lvbjsKLSAgICBbQ29uZGl0aW9uYWw9Tk9USUZJQ0FU
SU9OUywgQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKG9w
dGlvbmFsIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz8gY2FsbGJhY2spOworICAgIFtD
YWxsV2l0aD1Eb2N1bWVudF0gc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcGVy
bWlzc2lvbjsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHN0YXRpYyB2b2lkIHJlcXVlc3RQZXJt
aXNzaW9uKG9wdGlvbmFsIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz8gY2FsbGJhY2sp
OwogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNsaWNrOworICAgIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25lcnJvcjsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2xvc2U7
CiAgICAgW0ltcGxlbWVudGVkQXM9b25zaG93XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZGlz
cGxheTsKLSAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZXJyb3I7CiAgICAgYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbnNob3c7CiAKLSAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX05PVElGSUNB
VElPTlNdIGF0dHJpYnV0ZSBET01TdHJpbmcgZGlyOwotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lf
Tk9USUZJQ0FUSU9OU10gYXR0cmlidXRlIERPTVN0cmluZyByZXBsYWNlSWQ7Ci0KLSAgICBbQ29u
ZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU10gYXR0cmlidXRlIERPTVN0cmluZyB0YWc7CisgICAgYXR0
cmlidXRlIERPTVN0cmluZyB0YWc7CiB9OwogCi1bQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU10g
ZW51bSBOb3RpZmljYXRpb25EaXJlY3Rpb24geyAiYXV0byIsICJsdHIiLCAicnRsIiB9OworWwor
ICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMKK10gZW51bSBOb3RpZmljYXRpb25EaXJlY3Rp
b24geworICAgICJhdXRvIiwKKyAgICAibHRyIiwKKyAgICAicnRsIgorfTsKIAotW0NvbmRpdGlv
bmFsPU5PVElGSUNBVElPTlNdIGRpY3Rpb25hcnkgTm90aWZpY2F0aW9uT3B0aW9ucyB7CitbCisg
ICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUworXSBkaWN0aW9uYXJ5IE5vdGlmaWNhdGlvbk9w
dGlvbnMgewogICAgIE5vdGlmaWNhdGlvbkRpcmVjdGlvbiBkaXIgPSAiYXV0byI7CiAgICAgRE9N
U3RyaW5nIGxhbmcgPSAiIjsKICAgICBET01TdHJpbmcgYm9keSA9ICIiOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5jcHAJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCShub25leGlzdGVudCkKQEAg
LTEsMTU4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
Ci0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
Ci0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotI2luY2x1ZGUgIk5v
dGlmaWNhdGlvbkNlbnRlci5oIgotCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1
ZGUgIk5vdGlmaWNhdGlvbi5oIgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
LSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxOb3RpZmljYXRpb25DZW50ZXI+IE5vdGlmaWNh
dGlvbkNlbnRlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE5vdGlm
aWNhdGlvbkNsaWVudCogY2xpZW50KQotewotICAgIGF1dG8gbm90aWZpY2F0aW9uQ2VudGVyID0g
YWRvcHRSZWYoKm5ldyBOb3RpZmljYXRpb25DZW50ZXIoY29udGV4dCwgY2xpZW50KSk7Ci0gICAg
bm90aWZpY2F0aW9uQ2VudGVyLT5zdXNwZW5kSWZOZWVkZWQoKTsKLSAgICByZXR1cm4gbm90aWZp
Y2F0aW9uQ2VudGVyOwotfQotCi1Ob3RpZmljYXRpb25DZW50ZXI6Ok5vdGlmaWNhdGlvbkNlbnRl
cihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBOb3RpZmljYXRpb25DbGllbnQqIGNs
aWVudCkKLSAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fY2xpZW50KGNs
aWVudCkKLSAgICAsIG1fdGltZXIoW3RoaXNdKCkgeyB0aW1lckZpcmVkKCk7IH0pCi17Ci19Ci0K
LSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLUV4Y2VwdGlvbk9yPFJlZjxOb3Rp
ZmljYXRpb24+PiBOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZU5vdGlmaWNhdGlvbihjb25zdCBT
dHJpbmcmIGljb25VUkksIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSkK
LXsKLSAgICBpZiAoIW1fY2xpZW50IHx8ICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX1NUQVRFX0VSUiB9OwotICAgIHJldHVybiBO
b3RpZmljYXRpb246OmNyZWF0ZSh0aXRsZSwgYm9keSwgaWNvblVSSSwgKnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgKnRoaXMpOwotfQotCi1pbnQgTm90aWZpY2F0aW9uQ2VudGVyOjpjaGVja1Bl
cm1pc3Npb24oKQotewotICAgIGlmICghbV9jbGllbnQgfHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSkKLSAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmll
ZDsKLQotICAgIHN3aXRjaCAoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdp
bigpLT5jYW5TaG93Tm90aWZpY2F0aW9ucygpKSB7Ci0gICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6
QWx3YXlzQWxsb3c6Ci0gICAgICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Np
b25BbGxvd2VkOwotICAgIGNhc2UgU2VjdXJpdHlPcmlnaW46OkFsd2F5c0Rlbnk6Ci0gICAgICAg
IHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7Ci0gICAgY2FzZSBT
ZWN1cml0eU9yaWdpbjo6QXNrOgotICAgICAgICByZXR1cm4gbV9jbGllbnQtPmNoZWNrUGVybWlz
c2lvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgIHJldHVybiBtX2NsaWVudC0+Y2hlY2tQZXJtaXNzaW9uKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSk7Ci19Ci0KLXZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0
UGVybWlzc2lvbihSZWZQdHI8Vm9pZENhbGxiYWNrPiYmIGNhbGxiYWNrKQotewotICAgIGlmICgh
bV9jbGllbnQgfHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgc3dpdGNoIChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkt
PmNhblNob3dOb3RpZmljYXRpb25zKCkpIHsKLSAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdh
eXNBbGxvdzoKLSAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNEZW55OgotICAgICAgICBp
ZiAobV9jYWxsYmFja3MuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICByZWYoKTsgLy8gQmFsYW5j
ZWQgYnkgdGhlIGRlcmVmcyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0b3AgYW5kIE5vdGlmaWNh
dGlvbkNlbnRlcjo6dGltZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7Ci0gICAgICAgIH0KLSAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10o
KSB7Ci0gICAgICAgICAgICBpZiAoY2FsbGJhY2spCi0gICAgICAgICAgICAgICAgY2FsbGJhY2st
PmhhbmRsZUV2ZW50KCk7Ci0gICAgICAgIH0pOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBT
ZWN1cml0eU9yaWdpbjo6QXNrOgotICAgICAgICBtX2NsaWVudC0+cmVxdWVzdFBlcm1pc3Npb24o
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBtX2NsaWVudC0+
cmVxdWVzdFBlcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGNhbGxi
YWNrKSk7Ci19Ci0KLSNlbmRpZgotCi12b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6c3RvcCgpCi17
Ci0gICAgaWYgKCFtX2NsaWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gQ2xlYXIgbV9j
bGllbnQgaW1tZWRpYXRlbHkgdG8gZ3VhcmFudGVlIHJlZW50cmFudCBjYWxscyB0byBOb3RpZmlj
YXRpb25DZW50ZXIgZG8gbm90aGluZy4KLSAgICAvLyBBbHNvIHByb3RlY3QgfHRoaXN8IHNvIGl0
J3Mgbm90IGluZGlyZWN0bHkgZGVzdHJveWVkIHVuZGVyIHVzIGJ5IHdvcmsgZG9uZSBieSB0aGUg
Y2xpZW50LgotICAgIGF1dG8mIGNsaWVudCA9ICpzdGQ6OmV4Y2hhbmdlKG1fY2xpZW50LCBudWxs
cHRyKTsKLSAgICBSZWY8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsK
LQotICAgIGlmICghbV9jYWxsYmFja3MuaXNFbXB0eSgpKQotICAgICAgICBkZXJlZigpOyAvLyBC
YWxhbmNlZCBieSB0aGUgcmVmIGluIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Np
b24uCi0KLSAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICBtX2NhbGxiYWNrcy5jbGVhcigpOwotCi0g
ICAgY2xpZW50LmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpOwotICAgIGNsaWVudC5jbGVhck5vdGlmaWNhdGlvbnMoc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKTsKLX0KLQotY29uc3QgY2hhciogTm90aWZpY2F0aW9uQ2VudGVyOjphY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gIk5vdGlmaWNhdGlvbkNlbnRlciI7Ci19
Ci0KLWJvb2wgTm90aWZpY2F0aW9uQ2VudGVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3QKLXsKLSAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IE5vdGlm
aWNhdGlvbnMgYmVjYXVzZSB0aG9zZSBhcmUgQWN0aXZlRE9NT2JqZWN0IHRvby4KLSAgICAvLyBU
aGUgTm90aWZpY2F0aW9uQ2VudGVyIGNhbiBzYWZlbHkgYmUgc3VzcGVuZGVkIGlmIHRoZXJlIGFy
ZSBubyBwZW5kaW5nIHBlcm1pc3Npb24gcmVxdWVzdHMuCi0gICAgcmV0dXJuIG1fY2FsbGJhY2tz
LmlzRW1wdHkoKSAmJiAoIW1fY2xpZW50IHx8ICFtX2NsaWVudC0+aGFzUGVuZGluZ1Blcm1pc3Np
b25SZXF1ZXN0cyhzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKTsKLX0KLQotdm9pZCBOb3RpZmlj
YXRpb25DZW50ZXI6OnRpbWVyRmlyZWQoKQotewotICAgIEFTU0VSVChtX2NsaWVudCk7Ci0gICAg
YXV0byBjYWxsYmFja3MgPSBXVEZNb3ZlKG1fY2FsbGJhY2tzKTsKLSAgICBmb3IgKGF1dG8mIGNh
bGxiYWNrIDogY2FsbGJhY2tzKQotICAgICAgICBjYWxsYmFjaygpOwotICAgIGRlcmVmKCk7IC8v
IEJhbGFuY2VkIGJ5IHRoZSByZWYgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlz
c2lvbi4KLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKClByb3BlcnR5IGNo
YW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuY3BwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCww
ICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaAkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCShub25leGlzdGVudCkKQEAgLTEsNzgg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyLCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
LSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
LSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
Ci0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVj
dC5oIgotI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBOb3RpZmljYXRpb247Ci1jbGFzcyBOb3RpZmljYXRpb25DbGllbnQ7Ci1jbGFzcyBWb2lkQ2Fs
bGJhY2s7Ci0KLWNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPE5vdGlmaWNhdGlvbkNlbnRlcj4sIHByaXZhdGUgQWN0aXZlRE9NT2JqZWN0IHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUmVmPE5vdGlmaWNhdGlvbkNlbnRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBOb3RpZmljYXRpb25DbGllbnQqKTsKLQotI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKLSAgICBFeGNlcHRpb25PcjxSZWY8Tm90aWZpY2F0aW9uPj4gY3JlYXRl
Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0aXRsZSwg
Y29uc3QgU3RyaW5nJiBib2R5KTsKLQotICAgIGludCBjaGVja1Blcm1pc3Npb24oKTsKLSAgICB2
b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpOwotI2VuZGlmCi0K
LSAgICBOb3RpZmljYXRpb25DbGllbnQqIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50
OyB9Ci0KLSAgICB1c2luZyBBY3RpdmVET01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0eTsKLQot
cHJpdmF0ZToKLSAgICBOb3RpZmljYXRpb25DZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IE5vdGlmaWNhdGlvbkNsaWVudCopOwotCi0gICAgdm9pZCBzdG9wKCkgZmluYWw7Ci0gICAgY29u
c3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgY2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOwotCi0gICAgdm9pZCB0
aW1lckZpcmVkKCk7Ci0KLSAgICBOb3RpZmljYXRpb25DbGllbnQqIG1fY2xpZW50OwotICAgIFZl
Y3RvcjxzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+PiBtX2NhbGxiYWNrczsKLSAgICBUaW1lciBtX3Rp
bWVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKClByb3BlcnR5IGNo
YW5nZXMgb246IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAj
IwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaWRsCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDQxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0g
KiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0g
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAot
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotWwotICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICBDb25kaXRpb25hbD1M
RUdBQ1lfTk9USUZJQ0FUSU9OUywKLSAgICBOb0ludGVyZmFjZU9iamVjdCwKLV0gaW50ZXJmYWNl
IE5vdGlmaWNhdGlvbkNlbnRlciB7Ci0gICBbTWF5VGhyb3dFeGNlcHRpb25dIE5vdGlmaWNhdGlv
biBjcmVhdGVOb3RpZmljYXRpb24oRE9NU3RyaW5nIGljb25VcmwsIERPTVN0cmluZyB0aXRsZSwg
RE9NU3RyaW5nIGJvZHkpOwotCi0gICBsb25nIGNoZWNrUGVybWlzc2lvbigpOwotICAgdm9pZCBy
ZXF1ZXN0UGVybWlzc2lvbihvcHRpb25hbCBWb2lkQ2FsbGJhY2s/IGNhbGxiYWNrKTsKLX07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xp
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTcwLDEyICs3MCw3IEBAIHB1YmxpYzoKICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBlcm1p
c3Npb24gdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNhdGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIKICAg
ICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNhbGxiYWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVu
IHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgLy8gbWFkZSBhIGRlY2lzaW9uLgotI2lmIEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpID0gMDsKLSNl
bmRpZgotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUmVmUHRyPE5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjaz4mJikgPSAwOwotI2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgaGFz
UGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgY29uc3Qg
PSAwOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMTYw
MjIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50Lmgi
CiAKQEAgLTYzLDQgKzYzLDQgQEAgdm9pZCBwcm92aWRlTm90aWZpY2F0aW9uKFBhZ2UqIHBhZ2Us
IE5vdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJM
RShOT1RJRklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oCShyZXZpc2lv
biAyMTYwMjIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtNTIsNCArNTIsNCBAQCBwcml2YXRl
OgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShO
T1RJRklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9ucy5jcHAJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwCShub25leGlzdGVu
dCkKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgR29vZ2xl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV29ya2Vy
R2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmgiCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9u
Q2VudGVyLmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLSNpbmNsdWRlICJXb3Jr
ZXJUaHJlYWQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1Xb3JrZXJHbG9iYWxTY29wZU5v
dGlmaWNhdGlvbnM6Oldvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyhXb3JrZXJHbG9iYWxT
Y29wZSYgc2NvcGUpCi0gICAgOiBtX2NvbnRleHQoJnNjb3BlKQotewotfQotCi1Xb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnM6On5Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMoKQot
ewotfQotCi1jb25zdCBjaGFyKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnM6OnN1cHBs
ZW1lbnROYW1lKCkKLXsKLSAgICByZXR1cm4gIldvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9u
cyI7Ci19Ci0KLVdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyogV29ya2VyR2xvYmFsU2Nv
cGVOb3RpZmljYXRpb25zOjpmcm9tKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKLXsKLSAgICBX
b3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMqIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxX
b3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMqPihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNj
b3BlPjo6ZnJvbSgmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsKLSAgICBpZiAoIXN1cHBsZW1l
bnQpIHsKLSAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3Jr
ZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnM+KHNjb3BlKTsKLSAgICAgICAgc3VwcGxlbWVudCA9
IG5ld1N1cHBsZW1lbnQuZ2V0KCk7Ci0gICAgICAgIHByb3ZpZGVUbygmc2NvcGUsIHN1cHBsZW1l
bnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOwotICAgIH0KLSAgICByZXR1cm4gc3Vw
cGxlbWVudDsKLX0KLQotTm90aWZpY2F0aW9uQ2VudGVyKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlm
aWNhdGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQot
ewotICAgIHJldHVybiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnM6OmZyb20oc2NvcGUp
LT53ZWJraXROb3RpZmljYXRpb25zKCk7Ci19Ci0KLU5vdGlmaWNhdGlvbkNlbnRlciogV29ya2Vy
R2xvYmFsU2NvcGVOb3RpZmljYXRpb25zOjp3ZWJraXROb3RpZmljYXRpb25zKCkKLXsKLSAgICAv
LyBGSVhNRTogQXMgb2YgdGhpcyB3cml0aW5nLCB0aGlzIGFsd2F5cyBwYXNzZXMgbnVsbHB0ciBm
b3IgdGhlIGNsaWVudC4KLSAgICAvLyBJZiBpdCB3YXNuJ3QgZm9yIHRoYXQsIHRoZSBub3RpZmlj
YXRpb24gY2VudGVyIGNyZWF0ZSBmdW5jdGlvbiBjb3VsZCBiZSB0YWtpbmcgYSByZWZlcmVuY2Uu
Ci0gICAgLy8gSG93IGlzIGl0IHVzZWZ1bCB0byBjcmVhdGUgYSBub3RpZmljYXRpb24gY2VudGVy
IHdpdGggbm8gY2xpZW50PwotICAgIGlmICghbV9ub3RpZmljYXRpb25DZW50ZXIpCi0gICAgICAg
IG1fbm90aWZpY2F0aW9uQ2VudGVyID0gTm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGUoKm1fY29u
dGV4dCwgbV9jb250ZXh0LT50aHJlYWQoKS5nZXROb3RpZmljYXRpb25DbGllbnQoKSk7Ci0gICAg
cmV0dXJuIG1fbm90aWZpY2F0aW9uQ2VudGVyLmdldCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNh
dGlvbnMuaAkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5oCShub25leGlzdGVudCkK
QEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMywg
MjAxNCwgMjAxNSwgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICoKLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
Ci0KLSNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKLWNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwotCi1j
bGFzcyBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMgOiBwdWJsaWMgU3VwcGxlbWVudDxX
b3JrZXJHbG9iYWxTY29wZT4gewotcHVibGljOgotICAgIGV4cGxpY2l0IFdvcmtlckdsb2JhbFNj
b3BlTm90aWZpY2F0aW9ucyhXb3JrZXJHbG9iYWxTY29wZSYpOwotICAgIHZpcnR1YWwgfldvcmtl
ckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucygpOwotCi0gICAgc3RhdGljIE5vdGlmaWNhdGlvbkNl
bnRlciogd2Via2l0Tm90aWZpY2F0aW9ucyhXb3JrZXJHbG9iYWxTY29wZSYpOwotICAgIHN0YXRp
YyBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMqIGZyb20oV29ya2VyR2xvYmFsU2NvcGUm
KTsKLQotcHJpdmF0ZToKLSAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlv
bnMoKTsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKLQotICAgIFdv
cmtlckdsb2JhbFNjb3BlKiBtX2NvbnRleHQ7Ci0gICAgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRl
cj4gbV9ub3RpZmljYXRpb25DZW50ZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtl
ckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5p
ZGwJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsCShub25leGlzdGVudCkKQEAg
LTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAq
Ci0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8TEVHQUNZX05PVElGSUNB
VElPTlMsCi1dIHBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlckdsb2JhbFNjb3BlIHsKLSNpZiBkZWZp
bmVkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vdGlmaWNhdGlvbkNlbnRlciB3ZWJraXRO
b3RpZmljYXRpb25zOwotI2VuZGlmCi19OwotCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNC0zMCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZpY2F0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRp
b24gb2YgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TLgorCiAyMDE3LTA0LTI1ICBEYW5pZWwg
QmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdW1dpbl0gRW5hYmxl
IG9mIFgtQ29udGVudC1UeXBlLU9wdGlvbnM6IG5vc25pZmYgaGVhZGVyCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3
ICsxMzksNiBAQCBFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSA9IEVOQUJMRV9LCiBFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUgPSBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEU7CiBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFj
b3N4Kl0gPSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQTsKLUVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlM7CiBF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTOwogRU5BQkxFX0xFVFRFUlBSRVNTW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9MRVRURVJQUkVT
UzsKIEVOQUJMRV9MSU5LX1BSRUZFVENIID0gOwpAQCAtMjU1LDQgKzI1NCw0IEBAIEVOQUJMRV9W
QVJJQVRJT05fRk9OVFNfSUZfTk9UXyA9ICQoRU5BQkwKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNf
SUZfTk9UX05PID0gRU5BQkxFX1ZBUklBVElPTl9GT05UUzsKIEVOQUJMRV9WQVJJQVRJT05fRk9O
VFNfSUZfTk9UX1lFUyA9IDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9T
TklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURF
T19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQ
UExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJM
RV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9Q
T0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTYw
MjIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTE1NzEsMTEgKzE1NzEsNyBAQAogCQkzMzUwM0M5QTEwMTc5QTc0
MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZp
Y2F0aW9uQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMzM1MDNDQTMxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQzlGMTAx
NzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbi5jcHAgKi87IH07CiAJCTMzNTAzQ0E0MTAx
NzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDQTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90
aWZpY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJMzM1MDNDQTUxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQ0Ex
MTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5jcHAgKi87IH07Ci0JCTMz
NTAzQ0E2MTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDQTIxMDE3OUFENzAw
M0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmggKi87IH07CiAJCTMzNTAzQ0M3MTAxN0Ex
QjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDQzYxMDE3QTFCMTAwM0I0N0UxIC8qIE5vdGlmaWNh
dGlvbi5jcHAgKi87IH07Ci0JCTMzOTBDQTU1MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRp
b25DZW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzM5MENBNTEwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgKi87
IH07Ci0JCTMzOTBDQTU2MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzOTBDQTUyMEZG
QzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCAqLzsgfTsKIAkJMzM5QjVCNjMx
MzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENv
b2tpZXNTdHJhdGVneS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTMzRDAyMTJEMTMxREIzN0IwMDQwOTFBOCAvKiBDb29raWVTdG9yYWdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTNGMDFFQTEyNzBF
MTBEMDBERkJBNzEgLyogQ29va2llU3RvcmFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM1NzE4ODNFRUY2MTg3OTM3NTFFNDA4OSAvKiBSZW5k
ZXJNYXRoTUxNZW5jbG9zZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzNjYyRjk4NDA0N0NFREJFNUREREFGQUEgLyogUmVuZGVyTWF0aE1MTWVuY2xv
c2UuY3BwICovOyB9OwpAQCAtNDA0OCw4ICs0MDQ0LDYgQEAKIAkJOTdBQUJEMjcxNEZBMDlENTAw
NzQ1N0FFIC8qIFdlYlNvY2tldEhhbmRzaGFrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTdBQUJEMEMxNEZBMDlENTAwNzQ1N0FFIC8qIFdlYlNvY2tl
dEhhbmRzaGFrZS5oICovOyB9OwogCQk5N0FBQkQyQzE0RkEwOUQ1MDA3NDU3QUUgLyogV29ya2Vy
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTdBQUJEMTExNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcCAqLzsgfTsKIAkJOTdBQUJEMkQxNEZBMDlENTAw
NzQ1N0FFIC8qIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0FBQkQxMjE0RkEwOUQ1MDA3NDU3
QUUgLyogV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk5N0IzOEUyNzE1MUM0MjcxMDA0NjIy
RTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCMzhFMjQxNTFDNDI2NDAwNDYyMkU5IC8qIERPTVdpbmRv
d05vdGlmaWNhdGlvbnMuaCAqLzsgfTsKLQkJOTdCMzhFMjgxNTFDNDI3MzAwNDYyMkU5IC8qIERP
TVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTdCMzhFMjMxNTFDNDI2NDAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlm
aWNhdGlvbnMuY3BwICovOyB9OwogCQk5N0I4RkZEMTE2QUU3Rjk2MDAzODM4OEQgLyogQ2hhcmFj
dGVyUmVmZXJlbmNlUGFyc2VySW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTdCOEZGQ0YxNkFFN0Y5MjAwMzgzODhEIC8qIENoYXJhY3RlclJl
ZmVyZW5jZVBhcnNlcklubGluZXMuaCAqLzsgfTsKIAkJOTdCQzY5REMxNTA1RjA3NjAwMUI3NEFD
IC8qIENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3QkM2OUQ4MTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VWZXJz
aW9uV3JhcHBlci5jcHAgKi87IH07CiAJCTk3QkM2OUREMTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFu
Z2VWZXJzaW9uV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTdCQzY5RDkxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZlcnNpb25XcmFwcGVy
LmggKi87IH07CkBAIC00MDk4LDggKzQwOTIsNiBAQAogCQk5N0RDRTIwMjEwODA3Qzc1MDA1N0Qz
OTQgLyogSGlzdG9yeUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk3RENFMjAwMTA4MDdDNzUwMDU3RDM5NCAvKiBIaXN0b3J5Q29udHJv
bGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTk3RTQwMjhGMTNBNjk2RUQwMDkxM0Q2NyAvKiBJY29uQ29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0U0MDI4RDEzQTY5NkVEMDA5
MTNENjcgLyogSWNvbkNvbnRyb2xsZXIuY3BwICovOyB9OwogCQk5N0U0MDI5MDEzQTY5NkVEMDA5
MTNENjcgLyogSWNvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk3RTQwMjhFMTNBNjk2RUQwMDkxM0Q2NyAvKiBJY29uQ29udHJvbGxl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk3
RjhFNjY1MTUxRDRBNEIwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdGOEU2
NjExNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAg
Ki87IH07Ci0JCTk3RjhFNjY2MTUxRDRBNEUwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5v
dGlmaWNhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3RjhFNjYyMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNh
dGlvbnMuaCAqLzsgfTsKIAkJOTgzMUFFNEExNTQyMjVDOTAwRkUyNjQ0IC8qIFJlZmVycmVyUG9s
aWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5ODMx
QUU0OTE1NDIyNUEyMDBGRTI2NDQgLyogUmVmZXJyZXJQb2xpY3kuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5ODQyNjRGMTEyRDUyODBBMDAwRDg4
QTQgLyogTGlua0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTg0MjY0RUYxMkQ1MjgwQTAwMEQ4OEE0IC8qIExpbmtMb2FkZXJDbGll
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5
ODVCQjk2RDEzQTk0MDU4MDA3QTBCNjkgLyogTGlua1JlbEF0dHJpYnV0ZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5ODVCQjk2QjEzQTk0MDU4MDA3
QTBCNjkgLyogTGlua1JlbEF0dHJpYnV0ZS5jcHAgKi87IH07CkBAIC05MTkyLDEyICs5MTg0LDcg
QEAKIAkJMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgZmlsZUVuY29kaW5nID0gNDsgcGF0aCA9IE5vdGlmaWNhdGlvbkNsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzUwM0M5RjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNO
b3RpZmljYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNO
b3RpZmljYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzUwM0NBMDEw
MTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNOb3RpZmljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMzM1MDNDQTExMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm90aWZpY2F0aW9uQ2VudGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzM1MDNDQTIxMDE3OUFENzAwM0I0
N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTTm90aWZpY2F0aW9uQ2VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMzNTAzQ0M2MTAxN0ExQjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm90aWZpY2F0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzM5MENBNTEwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNh
dGlvbkNlbnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3Rp
ZmljYXRpb25DZW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMzkwQ0E1
MjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE5vdGlmaWNhdGlvbkNlbnRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkzMzkwQ0E1MzBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2Vu
dGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOb3RpZmljYXRpb25DZW50ZXIuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyog
Q29va2llc1N0cmF0ZWd5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tp
ZXNTdHJhdGVneS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNjYyRjk4NDA0N0NF
REJFNUREREFGQUEgLyogUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzNzE3RDdFNTE3RUNDM0E2MDAzQzI3NkQgLyogZXh0cmFjdC1s
b2NhbGl6YWJsZS1zdHJpbmdzLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgcGF0aCA9ICJleHRyYWN0LWxvY2FsaXph
YmxlLXN0cmluZ3MucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTIxNzgsOSAr
MTIxNjUsNiBAQAogCQk5N0FBQkQwQzE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0SGFuZHNo
YWtlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNvY2tldEhhbmRzaGFr
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0FBQkQxMTE0RkEwOUQ1MDA3NDU3
QUUgLyogV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0FBQkQxMjE0RkEwOUQ1MDA3NDU3
QUUgLyogV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTdCMzhFMjMxNTFDNDI2NDAwNDYyMkU5IC8qIERP
TVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTk3QjM4RTI0MTUxQzQyNjQwMDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd05vdGlmaWNhdGlv
bnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTdCMzhFMjUxNTFDNDI2NDAwNDYy
MkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5N0I4RkZDRjE2QUU3RjkyMDAzODM4OEQgLyogQ2hhcmFjdGVyUmVmZXJlbmNlUGFyc2VySW5s
aW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGFyYWN0ZXJSZWZlcmVu
Y2VQYXJzZXJJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM2OUQ4
MTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM2OUQ5MTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFu
Z2VWZXJzaW9uV3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGFu
Z2VWZXJzaW9uV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTIyNDUs
OSArMTIyMjksNiBAQAogCQk5N0U0MDI4RTEzQTY5NkVEMDA5MTNENjcgLyogSWNvbkNvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWNvbkNvbnRyb2xsZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdFOUVDOEIxNURDNDkyRjAwNEYyRTcxIC8q
IEpTVm9pZENhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTVm9pZENhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdFOUVD
OEMxNURDNDkyRjAwNEYyRTcxIC8qIEpTVm9pZENhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTVm9pZENhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTk3RjhFNjYxMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlm
aWNhdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2Vy
R2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOTdGOEU2NjIxNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJHbG9iYWxTY29w
ZU5vdGlmaWNhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTdGOEU2NjMx
NTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTgzMUFFNDkxNTQyMjVBMjAwRkUyNjQ0IC8q
IFJlZmVycmVyUG9saWN5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZmVy
cmVyUG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk4NDI2NEVGMTJENTI4
MEEwMDBEODhBNCAvKiBMaW5rTG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExpbmtMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTg1QkI5NkIxM0E5NDA1ODAwN0EwQjY5IC8qIExpbmtSZWxBdHRyaWJ1dGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGlua1JlbEF0dHJpYnV0ZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzQ4NCwyMyArMTc0NjUsMTQgQEAKIAkJMzMz
RjcwM0QwRkI0OUMxNjAwOEUxMkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTk3QjM4RTIzMTUxQzQyNjQwMDQ2MjJFOSAv
KiBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCAqLywKLQkJCQk5N0IzOEUyNDE1MUM0MjY0MDA0
NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oICovLAotCQkJCTk3QjM4RTI1MTUxQzQy
NjQwMDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbCAqLywKIAkJCQkzMzUwM0ND
NjEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uLmNwcCAqLywKIAkJCQkzMzNGNzA0RjBG
QjQ5Q0EyMDA4RTEyQTYgLyogTm90aWZpY2F0aW9uLmggKi8sCiAJCQkJMzMzRjcwNEUwRkI0OUNB
MjAwOEUxMkE2IC8qIE5vdGlmaWNhdGlvbi5pZGwgKi8sCi0JCQkJMzM5MENBNTEwRkZDMTU3QjAw
OTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgKi8sCi0JCQkJMzM5MENBNTIwRkZDMTU3
QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oICovLAotCQkJCTMzOTBDQTUzMEZGQzE1
N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaWRsICovLAogCQkJCTMzNTAzQzk5MTAx
NzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCAqLywKIAkJCQkzMTI4Q0E2NzE0
NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEy
OENBNkExNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJ
CQkzMUVDMURBQzE0RkYyNkVBMDBDOTQ2NjIgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrLmggKi8sCiAJCQkJMzFFQzFENTAxNEZFRkQwODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5pZGwgKi8sCi0JCQkJOTdGOEU2NjExNTFENEEzRjAwRDJEMTgxIC8q
IFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAgKi8sCi0JCQkJOTdGOEU2NjIxNTFE
NEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5oICovLAotCQkJ
CTk3RjhFNjYzMTUxRDRBM0YwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlv
bnMuaWRsICovLAogCQkJKTsKIAkJCXBhdGggPSBub3RpZmljYXRpb25zOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTE3NTEwLDggKzE3NDgyLDYgQEAKIAkJCWNoaWxkcmVuID0gKAog
CQkJCTMzNTAzQzlGMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbi5jcHAgKi8sCiAJ
CQkJMzM1MDNDQTAxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmggKi8sCi0JCQkJ
MzM1MDNDQTExMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLywK
LQkJCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAq
LywKIAkJCQkzMUVDMUUyNjE0RkY2MEVFMDBDOTQ2NjIgLyogSlNOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2suY3BwICovLAogCQkJCTMxRUMxRTI3MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovLAogCQkJKTsKQEAgLTI3MDAyLDcgKzI2
OTcyLDYgQEAKIAkJCQkxNDAzQjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBDMUJBMEIgLyogRE9NV2luZG93RXh0
ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkM3NTFCQjRDNEU4MDAxMjg5OEYgLyog
RE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKLQkJCQk5N0IzOEUyNzE1
MUM0MjcxMDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTdEMkFEMDQxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmggaW4g
SGVhZGVycyAqLywKIAkJCQk4OUY2MEIxMTE1N0Y2ODZFMDA3NUUxNTcgLyogRE9NV2luZG93UXVv
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBMkE1QUQ2MTZBNDg2MTYwMDk3NUEyNSAvKiBET01X
aW5kb3dTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjc5NTgsNyArMjc5Mjcs
NiBAQAogCQkJCUJDRDlDMkMzMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05vZGVMaXN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBRDIwQjE4RDE4RTlEMjM3MDA1QTgwODMgLyogSlNOb2RlTGlzdEN1c3Rv
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzM1MDNDQTQxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90
aWZpY2F0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQkzMzUwM0NBNjEwMTc5QUQ3MDAzQjQ3RTEg
LyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRUMxRTI5MTRG
RjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0U0NkY2RkIxNjI3QTJDQTAwMDYyMjIzIC8qIEpTT0VTRWxlbWVudElu
ZGV4VWludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTAwMTc4ODExMkUwMzcwNzAwNjQ4NDYyIC8q
IEpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODYwNSw3ICsy
ODU3Myw2IEBACiAJCQkJOTM4MkFBQjQwRDhDMzg2MTAwRjM1N0E2IC8qIE5vZGVXaXRoSW5kZXgu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0NkI0MUY5MUNCMjRFNzAwMDhGMTFERSAvKiBOb0V2ZW50
RGlzcGF0Y2hBc3NlcnRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMkMwQzQxMTQ2REM2Q0Mw
MDE2QzkxMSAvKiBOb3RpZmljYXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTMzOTBDQTU2MEZG
QzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTMzNTAzQzlBMTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTMxMjhDQTZCMTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUZFNkRGQTE1MDA0QzJBMDAwNEVCQzQgLyog
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKQEAgLTMwMDA2
LDcgKzI5OTczLDYgQEAKIAkJCQlBM0UyNjQzMTE0NzQ4OTkxMDA1QTg1ODggLyogV29ya2VyRXZl
bnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8q
IFdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg1RkNCNDFCQjRDNEU4
MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTk3RjhFNjY2MTUxRDRBNEUwMEQyRDE4MSAvKiBXb3JrZXJHbG9iYWxTY29wZU5v
dGlmaWNhdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIwRjFC
QSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2
MjFEQjdGOEMxMDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTU0QTBDNkMxREI4MzFGOTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclBy
b3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTMwOTk1LDcgKzMwOTYxLDYgQEAKIAkJCQk1MTdGQkEx
RTE1MUFCMTdDMDBCNTc5NTkgLyogRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTQxOEMzOTU2MUM4REFDN0YwMDUxQzhBMyAvKiBET01XaW5kb3dGZXRjaC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MTg1RkM3NDFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93SW5k
ZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTk3QjM4RTI4MTUxQzQyNzMwMDQ2
MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3
RDJBRDAzMTRCODIzQTYwMDkzREYzMiAvKiBET01XaW5kb3dQcm9wZXJ0eS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBQTJBNUFENzE2QTQ4NjFBMDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3lu
dGhlc2lzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4Q0NCQjQ4MTUxRjgzMTYwMEFCN0NFOSAv
KiBET01XaW5kb3dXZWJEYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxOTQzLDcgKzMx
OTA4LDYgQEAKIAkJCQlCQ0Q5QzJDMjBDMTdCNjlFMDA1QzkwQTIgLyogSlNOb2RlTGlzdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQ0Q5QzI2NTBDMTdBQTY3MDA1QzkwQTIgLyogSlNOb2RlTGlz
dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzUwM0NBMzEwMTc5QUQ3MDAzQjQ3RTEg
LyogSlNOb3RpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzM1MDNDQTUxMDE3OUFE
NzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTMxRUMxRTI4MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3RTQ2RjZGQTE2MjdBMkNBMDAwNjIyMjMgLyog
SlNPRVNFbGVtZW50SW5kZXhVaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkwMDE3ODgwMTJF
MDM3MDcwMDY0ODQ2MiAvKiBKU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0zMjU5NSw3ICszMjU1OSw2IEBACiAJCQkJNEZGQzAyMkIxNjQzQjcxMDAwNEUxNjM4
IC8qIE5vZGVSYXJlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDMxMDVCODE2NzUwRjBD
MDBEQjJGQjggLyogTm9kZVRyYXZlcnNhbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzUwM0ND
NzEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CTMzOTBDQTU1MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzEyOENBNjgxNDczMzE1MjAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNv
bnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE1MTNENTExNjc3RjA4ODAwMTQ5RkNC
IC8qIE5vdEltcGxlbWVudGVkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNTY5RDBBMEQ3RTJC
ODIwMDdDMzk4MyAvKiBOUF9qc29iamVjdC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzNzA4LDcg
KzMzNjcxLDYgQEAKIAkJCQkyRTQzNDY0ODBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFs
U2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE4QzM5NUExQzhERDY5OTAwNTFDOEEzIC8q
IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4NUZDQjMx
QkI0QzRFODAwMTI4OThGIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTk3RjhFNjY1MTUxRDRBNEIwMEQyRDE4MSAvKiBXb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU0QTBDNjExREI3
RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTU0QTBDNkIxREI4MzFGOTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFNDM0NjRDMEY1NDZBODIwMEIwRjFCQSAvKiBXb3Jr
ZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldEZhY3RvcnkuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBA
QCBNZWRpYVN0cmVhbSBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhU3RyZWFtVHJhY2sg
Y29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZXNzYWdlUG9ydAogTm9kZQotTm90aWZpY2F0aW9u
IGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8TEVHQUNZX05PVElGSUNBVElPTlMKK05vdGlmaWNh
dGlvbiBjb25kaXRpb25hbD1OT1RJRklDQVRJT05TCiBQZXJmb3JtYW5jZSBjb25kaXRpb25hbD1X
RUJfVElNSU5HCiBSVENEYXRhQ2hhbm5lbCBjb25kaXRpb25hbD1XRUJfUlRDCiBSVENEVE1GU2Vu
ZGVyIGNvbmRpdGlvbmFsPVdFQl9SVENfRFRNRgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcAkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiRE9NVG9rZW5M
aXN0LmgiCiAjaW5jbHVkZSAiRE9NVVJMLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93RXh0ZW5zaW9u
LmgiCi0jaW5jbHVkZSAiRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oIgogI2luY2x1ZGUgIkRldmlj
ZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5oCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclRocmVhZC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdW5zaWduZWQgd29ya2VyVGhyZWFkQ291bnQoKTsK
ICAgICBzdGF0aWMgdm9pZCByZWxlYXNlRmFzdE1hbGxvY0ZyZWVNZW1vcnlJbkFsbFRocmVhZHMo
KTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uQ2xpZW50
KiBnZXROb3RpZmljYXRpb25DbGllbnQoKSB7IHJldHVybiBtX25vdGlmaWNhdGlvbkNsaWVudDsg
fQogICAgIHZvaWQgc2V0Tm90aWZpY2F0aW9uQ2xpZW50KE5vdGlmaWNhdGlvbkNsaWVudCogY2xp
ZW50KSB7IG1fbm90aWZpY2F0aW9uQ2xpZW50ID0gY2xpZW50OyB9CiAjZW5kaWYKQEAgLTExMCw3
ICsxMTAsNyBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlclRocmVhZFN0
YXJ0dXBEYXRhPiBtX3N0YXJ0dXBEYXRhOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
ICAgICBOb3RpZmljYXRpb25DbGllbnQqIG1fbm90aWZpY2F0aW9uQ2xpZW50IHsgbnVsbHB0ciB9
OwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA0
LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBv
cnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoK
KyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICBSZW1vdmUgbGVnYWN5IG5vdGlmaWNhdGlvbiBzcGVjaWZpYyBjb2Rl
LgorCiAyMDE3LTA1LTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgVHdlYWsgaG93IGxvbmcgd2UgYWxsb3cgYSBwcm9jZXNzIHRvIGdvIG92ZXIgaXRzIGJhY2tn
cm91bmQgQ1BVIGxpbWl0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjE2MDIyKQorKysgU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtp
bmcgY29weSkKQEAgLTEzOSw3ICsxMzksNiBAQCBFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSA9IEVOQUJMRV9LCiBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUgPSBFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEU7CiBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMg
PSBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM7CiBFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQTsK
LUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlM7CiBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFVFRFUlBSRVNTW3Nkaz1pcGhvbmUqXSA9
IEVOQUJMRV9MRVRURVJQUkVTUzsKIEVOQUJMRV9MSU5LX1BSRUZFVENIID0gOwpAQCAtMjU1LDQg
KzI1NCw0IEBAIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UXyA9ICQoRU5BQkwKIEVOQUJM
RV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX05PID0gRU5BQkxFX1ZBUklBVElPTl9GT05UUzsKIEVO
QUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX1lFUyA9IDsKIAotRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BB
WSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRD
SF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5U
UykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElO
S19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5B
QkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJS
RU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklN
QVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BF
Uk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lO
VEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAk
KEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
MSw3ICsxMTEsNyBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kCiAg
ICAgICAgIGVuY29kZXIgPDwgYnVuZGxlUGFyYW1ldGVyRGF0YS0+ZGF0YVJlZmVyZW5jZSgpOwog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGVuY29kZXIgPDwgbm90
aWZpY2F0aW9uUGVybWlzc2lvbnM7CiAjZW5kaWYKIApAQCAtMjc4LDcgKzI3OCw3IEBAIGJvb2wg
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICB9CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0
ZXJzLm5vdGlmaWNhdGlvblBlcm1pc3Npb25zKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1
MCw3ICsxNTAsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAg
UmVmUHRyPEFQSTo6RGF0YT4gYnVuZGxlUGFyYW1ldGVyRGF0YTsKICNlbmRpZiAvLyBQTEFURk9S
TShDT0NPQSkKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgSGFzaE1hcDxTdHJp
bmcsIGJvb2w+IG5vdGlmaWNhdGlvblBlcm1pc3Npb25zOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjE2MDIy
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzA5LDcgKzcwOSw3IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bv
b2w6OmNyZWF0ZU4KIAogICAgIHBhcmFtZXRlcnMuZGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2
YWwgPSBBUEk6OlVSTFJlcXVlc3Q6OmRlZmF1bHRUaW1lb3V0SW50ZXJ2YWwoKTsKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgLy8gRklYTUU6IFRoZXJlIHNob3VsZCBiZSBhIGdl
bmVyaWMgd2F5IGZvciBzdXBwbGVtZW50cyB0byBhZGQgdG8gdGhlIGludGlhbGl6YXRpb24gcGFy
YW1ldGVycy4KICAgICBzdXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eT4oKS0+
cG9wdWxhdGVDb3B5T2ZOb3RpZmljYXRpb25QZXJtaXNzaW9ucyhwYXJhbWV0ZXJzLm5vdGlmaWNh
dGlvblBlcm1pc3Npb25zKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNyArMTI4LDcgQEAK
ICNpbmNsdWRlICJXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNlbmRpZgogCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5h
Z2VyLmgiCiAjZW5kaWYKIApAQCAtMTgyLDcgKzE4Miw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nl
c3MoKQogICAgIGFkZFN1cHBsZW1lbnQ8V2ViQ29va2llTWFuYWdlcj4oKTsKICAgICBhZGRTdXBw
bGVtZW50PEF1dGhlbnRpY2F0aW9uTWFuYWdlcj4oKTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgYWRkU3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyPigpOwogI2Vu
ZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAyMTYwMjIpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzksOCArNzksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVXNl
clNjcmlwdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlclN0eWxlU2hlZXQuaD4KIAotCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
LmgiCiAjZW5kaWYKIApAQCAtNTQwLDcgKzUzOSw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNl
dFVzZXJTdHlsZVNoZWV0TG8KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0V2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbihXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywg
Ym9vbCBhbGxvd2VkKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcGFnZS0+
bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPnNldFBlcm1pc3Npb25MZXZl
bEZvclRlc3Rpbmcob3JpZ2luU3RyaW5nLCBhbGxvd2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BB
UkFNKHBhZ2UpOwpAQCAtNTUxLDcgKzU1MCw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFdl
Yk5vdGlmaWNhdGlvblAKIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVtb3ZlQWxsV2ViTm90aWZp
Y2F0aW9uUGVybWlzc2lvbnMoV2ViUGFnZSogcGFnZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogICAgIHBhZ2UtPm5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigp
LT5yZW1vdmVBbGxQZXJtaXNzaW9uc0ZvclRlc3RpbmcoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BB
UkFNKHBhZ2UpOwpAQCAtNTYwLDcgKzU1OSw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnJlbW92
ZUFsbFdlYk5vdGlmaWMKIAogdWludDY0X3QgSW5qZWN0ZWRCdW5kbGU6OndlYk5vdGlmaWNhdGlv
bklEKEpTQ29udGV4dFJlZiBqc0NvbnRleHQsIEpTVmFsdWVSZWYganNOb3RpZmljYXRpb24pCiB7
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbiA9IEpTTm90aWZpY2F0aW9uOjp0b1dyYXBwZWQodG9KUyhqc0NvbnRleHQp
LT52bSgpLCB0b0pTKHRvSlMoanNDb250ZXh0KSwganNOb3RpZmljYXRpb24pKTsKICAgICBpZiAo
IW5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAkocmV2aXNpb24g
MjE2MDIyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDcgKzM2LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICNp
bmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgiCiAjZW5kaWYKIApAQCAtNDQsNyArNDQs
NyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUmVxdWVz
dElEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgdW5pcXVlUmVxdWVzdElEID0gMTsKQEAgLTU3
LDcgKzU3LDcgQEAgUmVmPE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcgogICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
cihwYWdlKSk7CiB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXIoV2ViUGFnZSogcGFnZSkKICAgICA6IG1fcGFnZShwYWdlKQogewpAQCAtODYsMzggKzg2
LDE1IEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2UKIH0KICNlbmRp
ZgogCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotdm9pZCBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3Jp
Z2luLCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiYmIGNhbGxiYWNrKQotewotICAgIE5v
dGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBwZXJtaXNzaW9uID0gcGVybWlzc2lvbkxldmVs
KG9yaWdpbik7Ci0gICAgaWYgKHBlcm1pc3Npb24gIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uTm90QWxsb3dlZCkgewotICAgICAgICBpZiAoY2FsbGJhY2spCi0gICAgICAgICAgICBj
YWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAKLSAg
ICB1aW50NjRfdCByZXF1ZXN0SUQgPSBnZW5lcmF0ZVJlcXVlc3RJRCgpOwotICAgIG1fb3JpZ2lu
VG9JRE1hcC5zZXQob3JpZ2luLCByZXF1ZXN0SUQpOwotICAgIG1faWRUb09yaWdpbk1hcC5zZXQo
cmVxdWVzdElELCBvcmlnaW4pOwotICAgIG1faWRUb1ZvaWRDYWxsYmFja01hcC5zZXQocmVxdWVz
dElELCBXVEZNb3ZlKGNhbGxiYWNrKSk7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OlJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKHJlcXVlc3RJRCwgb3JpZ2lu
LT50b1N0cmluZygpKSk7Ci19Ci0jZW5kaWYKLQogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXI6OmNhbmNlbFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKIHsK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHVpbnQ2NF90IGlkID0gbV9vcmlnaW5U
b0lETWFwLnRha2Uob3JpZ2luKTsKICAgICBpZiAoIWlkKQogICAgICAgICByZXR1cm47CiAgICAg
CiAgICAgbV9pZFRvT3JpZ2luTWFwLnJlbW92ZShpZCk7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgbV9pZFRvQ2FsbGJhY2tNYXAucmVtb3ZlKGlkKTsKLSNlbmRpZgotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXAucmVtb3Zl
KGlkKTsKLSNlbmRpZgogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ob3JpZ2luKTsKICNlbmRpZgpA
QCAtMTI1LDcgKzEwMiw3IEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2UKIAogYm9vbCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6Omhhc1BlbmRp
bmdQZXJtaXNzaW9uUmVxdWVzdHMoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikgY29uc3QKIHsKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHJldHVybiBtX29yaWdpblRvSURNYXAuY29u
dGFpbnMob3JpZ2luKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpbik7CkBAIC0xMzUs
NyArMTEyLDcgQEAgYm9vbCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZQogCiBO
b3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpwZXJtaXNzaW9uTGV2ZWwoU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2lu
KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFtX3BhZ2UtPmNvcmVQ
YWdlKCktPnNldHRpbmdzKCkubm90aWZpY2F0aW9uc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZDsKICAgICAKQEAgLTE0OCw3ICsx
MjUsNyBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gTm90aWZpY2F0CiAKIHZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzZXRQZXJtaXNzaW9uTGV2ZWxG
b3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpCiB7Ci0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5z
dXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI+KCktPmRpZFVwZGF0ZU5vdGlmaWNhdGlv
bkRlY2lzaW9uKG9yaWdpblN0cmluZywgYWxsb3dlZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJB
TShvcmlnaW5TdHJpbmcpOwpAQCAtMTU4LDE0ICsxMzUsMTQgQEAgdm9pZCBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZQogCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcjo6cmVtb3ZlQWxsUGVybWlzc2lvbnNGb3JUZXN0aW5nKCkKIHsKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnN1cHBsZW1l
bnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKS0+cmVtb3ZlQWxsUGVybWlzc2lvbnNGb3JUZXN0
aW5nKCk7CiAjZW5kaWYKIH0KIAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24odWludDY0X3Qg
cmVxdWVzdElELCBib29sIGFsbG93ZWQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
ICAgICBpZiAoIWlzUmVxdWVzdElEVmFsaWQocmVxdWVzdElEKSkKICAgICAgICAgcmV0dXJuOwog
CkBAIC0xNzcsMjIgKzE1NCwxMSBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlCiAKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXI+KCktPmRpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKG9yaWdpbi0+
dG9TdHJpbmcoKSwgYWxsb3dlZCk7CiAKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gdm9pZENhbGxiYWNrID0gbV9pZFRv
Vm9pZENhbGxiYWNrTWFwLnRha2UocmVxdWVzdElEKTsKLSAgICBpZiAodm9pZENhbGxiYWNrKSB7
Ci0gICAgICAgIHZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgUmVmUHRyPE5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2lkVG9DYWxsYmFja01h
cC50YWtlKHJlcXVlc3RJRCk7CiAgICAgaWYgKCFjYWxsYmFjaykKICAgICAgICAgcmV0dXJuOwog
ICAgIAogICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnBlcm1pc3Npb25T
dHJpbmcoYWxsb3dlZCA/IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBO
b3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQpKTsKLSNlbmRpZgotCiAjZWxzZQog
ICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0SUQpOwogICAgIFVOVVNFRF9QQVJBTShhbGxvd2VkKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyLmgJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtNTIsOSArNTIsNiBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgdm9pZCBzdGFydFJlcXVlc3QoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBS
ZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiYmKTsKICNlbmRp
ZgotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICB2b2lkIHN0YXJ0UmVxdWVz
dChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+
JiYpOwotI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luKik7CiAgICAgYm9vbCBoYXNQZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzKFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luKikgY29uc3Q7CiAgICAgCkBAIC03MiwxMyArNjksMTAgQEAgcHJpdmF0ZToK
ICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8
V2ViQ29yZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPj4gbV9pZFRvQ2FsbGJhY2tN
YXA7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgSGFzaE1h
cDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4+IG1faWRUb1ZvaWRDYWxs
YmFja01hcDsKLSNlbmRpZgogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luPiwgdWludDY0X3Q+IG1fb3JpZ2luVG9JRE1hcDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBS
ZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiBtX2lkVG9PcmlnaW5NYXA7CiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIFdlYlBhZ2UqIG1fcGFnZTsKICNlbmRpZgogfTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxNjAy
MikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1
ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogI2luY2x1ZGUgIldlYk5vdGlmaWNh
dGlvbi5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCkBAIC00Nyw3ICs0Nyw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVOb3RpZmljYXRpb25JRCgpCiB7
CiAgICAgc3RhdGljIHVpbnQ2NF90IHVuaXF1ZU5vdGlmaWNhdGlvbklEID0gMTsKQEAgLTYzLDcg
KzYzLDcgQEAgY29uc3QgY2hhciogV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c3VwcAogV2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcihXZWJQcm9jZXNzKiBwcm9j
ZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCAqdGhpcyk7CiAjZW5kaWYK
IH0KQEAgLTc0LDcgKzc0LDcgQEAgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6fldlYk5vdGlmaWNh
dGlvbgogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmluaXRpYWxpemUoY29uc3QgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIG1fcGVybWlzc2lvbnNNYXAgPSBwYXJhbWV0ZXJzLm5vdGlmaWNh
dGlvblBlcm1pc3Npb25zOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocGFyYW1ldGVycyk7CkBA
IC04Myw3ICs4Myw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6aW5pdGlhbGl6ZSgK
IAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRVcGRhdGVOb3RpZmljYXRpb25EZWNp
c2lvbihjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKQogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgbV9wZXJtaXNzaW9uc01hcC5zZXQob3JpZ2luU3Ry
aW5nLCBhbGxvd2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpblN0cmluZyk7CkBA
IC05MywyMyArOTMsMjIgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRVcGRhdGVO
bwogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFJlbW92ZU5vdGlmaWNhdGlvbkRl
Y2lzaW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgb3JpZ2luU3RyaW5ncykKIHsKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIHNp
emVfdCBjb3VudCA9IG9yaWdpblN0cmluZ3Muc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgY291bnQ7ICsraSkKLSAgICAgICAgbV9wZXJtaXNzaW9uc01hcC5yZW1vdmUob3JpZ2lu
U3RyaW5nc1tpXSk7CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgZm9yIChhdXRvJiBv
cmlnaW5TdHJpbmcgOiBvcmlnaW5TdHJpbmdzKQorICAgICAgICBtX3Blcm1pc3Npb25zTWFwLnJl
bW92ZShvcmlnaW5TdHJpbmcpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ob3JpZ2luU3RyaW5n
cyk7CiAjZW5kaWYKIH0KIAotTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXI6OnBvbGljeUZvck9yaWdpbihXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiAq
b3JpZ2luKSBjb25zdAorTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6OnBvbGljeUZvck9yaWdpbihXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiogb3Jp
Z2luKSBjb25zdAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFvcmln
aW4pCiAgICAgICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxv
d2VkOwogCiAgICAgQVNTRVJUKCFvcmlnaW4tPmlzVW5pcXVlKCkpOwotICAgIEhhc2hNYXA8U3Ry
aW5nLCBib29sPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3Blcm1pc3Npb25zTWFwLmZpbmQob3Jp
Z2luLT50b1Jhd1N0cmluZygpKTsKKyAgICBhdXRvIGl0ID0gbV9wZXJtaXNzaW9uc01hcC5maW5k
KG9yaWdpbi0+dG9SYXdTdHJpbmcoKSk7CiAgICAgaWYgKGl0ICE9IG1fcGVybWlzc2lvbnNNYXAu
ZW5kKCkpCiAgICAgICAgIHJldHVybiBpdC0+dmFsdWUgPyBOb3RpZmljYXRpb25DbGllbnQ6OlBl
cm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwog
I2Vsc2UKQEAgLTEyMSwxNCArMTIwLDE0IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lv
biBXZWJOb3RpZmkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpyZW1vdmVBbGxQZXJt
aXNzaW9uc0ZvclRlc3RpbmcoKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAg
bV9wZXJtaXNzaW9uc01hcC5jbGVhcigpOwogI2VuZGlmCiB9CiAKIHVpbnQ2NF90IFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXI6Om5vdGlmaWNhdGlvbklERm9yVGVzdGluZyhOb3RpZmljYXRpb24qIG5v
dGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghbm90
aWZpY2F0aW9uKQogICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4gbV9ub3RpZmljYXRpb25N
YXAuZ2V0KG5vdGlmaWNhdGlvbik7CkBAIC0xNDAsNyArMTM5LDcgQEAgdWludDY0X3QgV2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6bm90aWZpYwogCiBib29sIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNhdGlvbiB8fCAhcGFnZS0+
Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5ub3RpZmljYXRpb25zRW5hYmxlZCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgCkBAIC0xNDgsMTQgKzE0NywxMCBAQCBib29sIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6OnNob3coTm90aWZpCiAgICAgbV9ub3RpZmljYXRpb25NYXAuc2V0KG5vdGlm
aWNhdGlvbiwgbm90aWZpY2F0aW9uSUQpOwogICAgIG1fbm90aWZpY2F0aW9uSURNYXAuc2V0KG5v
dGlmaWNhdGlvbklELCBub3RpZmljYXRpb24pOwogICAgIAotICAgIE5vdGlmaWNhdGlvbkNvbnRl
eHRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmFkZChub3RpZmlj
YXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgVmVjdG9yPHVpbnQ2NF90PigpKS5pdGVy
YXRvcjsKKyAgICBhdXRvIGl0ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmFkZChub3RpZmlj
YXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgVmVjdG9yPHVpbnQ2NF90PigpKS5pdGVy
YXRvcjsKICAgICBpdC0+dmFsdWUuYXBwZW5kKG5vdGlmaWNhdGlvbklEKTsKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIG1fcHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNh
dGlvbi0+dGl0bGUoKSwgbm90aWZpY2F0aW9uLT5ib2R5KCksIG5vdGlmaWNhdGlvbi0+aWNvblVS
TCgpLnN0cmluZygpLCBub3RpZmljYXRpb24tPnRhZygpLCBub3RpZmljYXRpb24tPmxhbmcoKSwg
bm90aWZpY2F0aW9uLT5kaXIoKSwgbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+
cGFnZUlEKCkpOwotI2Vsc2UKLSAgICBtX3Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmlj
YXRpb24tPnRpdGxlKCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24tPmljb25V
UkwoKS5zdHJpbmcoKSwgbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSwgbm90aWZpY2F0aW9uLT5s
YW5nKCksIG5vdGlmaWNhdGlvbi0+ZGlyKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCks
IHBhZ2UtPnBhZ2VJRCgpKTsKLSNlbmRpZgogICAgIHJldHVybiB0cnVlOwogI2Vsc2UKICAgICBV
TlVTRURfUEFSQU0obm90aWZpY2F0aW9uKTsKQEAgLTE2Niw3ICsxNjEsNyBAQCBib29sIFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXI6OnNob3coTm90aWZpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFu
YWdlcjo6Y2FuY2VsKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBwYWdlKQog
ewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFub3RpZmljYXRpb24gfHwg
IXBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCkubm90aWZpY2F0aW9uc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIApAQCAtMTgzLDcgKzE3OCw3IEBAIHZvaWQgV2ViTm90aWZpY2F0
aW9uTWFuYWdlcjo6Y2FuY2VsKE5vdGkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpj
bGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgV2ViUGFnZSogcGFnZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIE5v
dGlmaWNhdGlvbkNvbnRleHRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9ub3RpZmljYXRpb25Db250ZXh0
TWFwLmZpbmQoY29udGV4dCk7CiAgICAgaWYgKGl0ID09IG1fbm90aWZpY2F0aW9uQ29udGV4dE1h
cC5lbmQoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMjA4LDcgKzIwMyw3IEBAIHZvaWQgV2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6Y2xlYXJOb3RpZmkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5h
Z2VyOjpkaWREZXN0cm95Tm90aWZpY2F0aW9uKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBX
ZWJQYWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgdWludDY0
X3Qgbm90aWZpY2F0aW9uSUQgPSBtX25vdGlmaWNhdGlvbk1hcC50YWtlKG5vdGlmaWNhdGlvbik7
CiAgICAgaWYgKCFub3RpZmljYXRpb25JRCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjI0LDcgKzIx
OSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkRGVzdHJveU4KIAogdm9pZCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRTaG93Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlm
aWNhdGlvbklEKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFpc05v
dGlmaWNhdGlvbklEVmFsaWQobm90aWZpY2F0aW9uSUQpKQogICAgICAgICByZXR1cm47CiAgICAg
CkBAIC0yNDAsNyArMjM1LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRTaG93
Tm90aQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsaWNrTm90aWZpY2F0aW9u
KHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgaWYgKCFpc05vdGlmaWNhdGlvbklEVmFsaWQobm90aWZpY2F0aW9uSUQpKQogICAgICAg
ICByZXR1cm47CiAKQEAgLTI1OCw3ICsyNTMsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXI6OmRpZENsaWNrTm90CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xvc2VO
b3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykKIHsK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHNpemVfdCBjb3VudCA9IG5vdGlmaWNh
dGlvbklEcy5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7
CiAgICAgICAgIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEID0gbm90aWZpY2F0aW9uSURzW2ldOwpA
QCAtMjc5LDcgKzI3NCw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xvc2VO
b3QKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIHZvaWQgV2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6cmVtb3ZlTm90aWZpY2F0aW9uRnJvbUNvbnRleHRNYXAodWludDY0
X3Qgbm90aWZpY2F0aW9uSUQsIE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewogICAgIC8v
IFRoaXMgaXMgYSBoZWxwZXIgZnVuY3Rpb24gZm9yIG1hbmFnaW5nIHRoZSBoYXNoIG1hcHMuCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgJKHJldmlzaW9uIDIxNjAyMikKKysr
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25N
YW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTgwLDEzICs4MCwxMyBAQCBwcml2YXRlOgogICAg
IHZvaWQgZGlkQ2xvc2VOb3RpZmljYXRpb25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlm
aWNhdGlvbklEcyk7CiAgICAgdm9pZCBkaWRSZW1vdmVOb3RpZmljYXRpb25EZWNpc2lvbnMoY29u
c3QgVmVjdG9yPFN0cmluZz4mIG9yaWdpblN0cmluZ3MpOwogICAgIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgdm9pZCByZW1vdmVOb3RpZmljYXRpb25Gcm9tQ29udGV4dE1hcCh1
aW50NjRfdCBub3RpZmljYXRpb25JRCwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uKik7CiAjZW5kaWYK
IAogICAgIFdlYlByb2Nlc3MqIG1fcHJvY2VzczsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb24+LCB1
aW50NjRfdD4gTm90aWZpY2F0aW9uTWFwOwogICAgIE5vdGlmaWNhdGlvbk1hcCBtX25vdGlmaWNh
dGlvbk1hcDsKICAgICAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAJ
KHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbkNs
aWVudC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIk5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNh
dGlvbk1hbmFnZXIuaCIKQEAgLTcyLDE5ICs3MiwxMCBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6bm90aWZpY2F0aW9uCiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKLSNpZiBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCi12b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBl
cm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUmVmUHRyPFdlYkNvcmU6
OlZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKLXsKLSAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlP
cmlnaW4oKSwgV1RGTW92ZShjYWxsYmFjaykpOwotfQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBSZWZQdHI8Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPiYmIGNhbGxiYWNrKQogewogICAgIG1fcGFnZS0+bm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCktPnN0YXJ0UmVxdWVzdChjb250ZXh0LT5zZWN1cml0
eU9yaWdpbigpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9Ci0jZW5kaWYKIAogYm9vbCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6Omhhc1BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkgY29uc3QKIHsKQEAgLTEwNSw0ICs5Niw0IEBAIE5vdGlmaWNh
dGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYk5vdGlmaWNhdGlvbkNs
aWVudF9oCiAjZGVmaW5lIFdlYk5vdGlmaWNhdGlvbkNsaWVudF9oCiAKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25DbGllbnQuaD4K
IApAQCAtNTEsMTIgKzUxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9u
cyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgdm9pZCBu
b3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgb3ZlcnJpZGU7
Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFJlZlB0cjxXZWJDb3JlOjpW
b2lkQ2FsbGJhY2s+JiYpIG92ZXJyaWRlOwotI2VuZGlmCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCiAgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4m
Jikgb3ZlcnJpZGU7Ci0jZW5kaWYKICAgICB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lv
bihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgYm9vbCBo
YXNQZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSBjb25zdCBvdmVycmlkZTsKICAgICBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24g
Y2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlk
ZTsKQEAgLTY2LDYgKzYxLDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
LSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQogCiAjZW5kaWYgLy8gV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50X2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMyLDcg
KzQzMiw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQYWcKICNpZiBF
TkFCTEUoR0VPTE9DQVRJT04pCiAgICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xvY2F0aW9uVG8obV9w
YWdlLmdldCgpLCBuZXcgV2ViR2VvbG9jYXRpb25DbGllbnQodGhpcykpOwogI2VuZGlmCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpwcm92aWRlTm90aWZpY2F0aW9u
KG1fcGFnZS5nZXQoKSwgbmV3IFdlYk5vdGlmaWNhdGlvbkNsaWVudCh0aGlzKSk7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoVklCUkFUSU9OKQpAQCAtMzE5OCw3ICszMTk4LDcgQEAgdm9pZCBXZWJQYWdl
Ojp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZQogICAgIHNldHRpbmdzLnNldFNob3VsZERpc3Bs
YXlUZXh0RGVzY3JpcHRpb25zKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6c2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNLZXkoKSkpOwogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHNldHRpbmdzLnNldE5vdGlmaWNhdGlvbnNF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bm90aWZp
Y2F0aW9uc0VuYWJsZWRLZXkoKSkpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA0LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5tbToKKyAgICAgICAgKiBXZWJWaWV3L1dlYk5vdGlmaWNhdGlv
bi5tbToKKyAgICAgICAgKiBXZWJWaWV3L1dlYk5vdGlmaWNhdGlvbkludGVybmFsLmg6CisgICAg
ICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0
aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3
IF9ub3RpZmljYXRpb25JREZvclRlc3Rpbmc6XSk6CisgICAgICAgIFJlbW92ZSBsZWdhY3kgbm90
aWZpY2F0aW9uIHNwZWNpZmljIGNvZGUuCisKIDIwMTctMDUtMDEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29tZSB1c2FnZSBvZiBQYXNzUmVmUHRy
IGluIGVkaXRpbmcgY29kZQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIxNjAyMikK
KysrIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNyArMTM5LDYgQEAgRU5BQkxFX0tFWUJPQVJEX0tF
WV9BVFRSSUJVVEUgPSBFTkFCTEVfSwogRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFID0g
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFOwogRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUFbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUE7Ci1FTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TOwogRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMg
PSBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRVRURVJQUkVTU1tzZGs9
aXBob25lKl0gPSBFTkFCTEVfTEVUVEVSUFJFU1M7CiBFTkFCTEVfTElOS19QUkVGRVRDSCA9IDsK
QEAgLTI1NSw0ICsyNTQsNCBAQCBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF8gPSAkKEVO
QUJMCiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9OTyA9IEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFM7CiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9ZRVMgPSA7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09E
RV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJH
TDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9E
RUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0
aW9uQ2xpZW50Lmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogI2ltcG9ydCA8V2Vi
Q29yZS9Ob3RpZmljYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3
dGYvUmVmUHRyLmg+CkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICBXZWJOb3RpZmljYXRp
b25DbGllbnQoV2ViVmlldyAqKTsKICAgICBXZWJWaWV3ICp3ZWJWaWV3KCkgeyByZXR1cm4gbV93
ZWJWaWV3OyB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIC8vIEZvciB0ZXN0
aW5nIHB1cnBvc2VzLgogICAgIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklERm9yVGVzdGluZyhXZWJD
b3JlOjpOb3RpZmljYXRpb24qKTsKICNlbmRpZgpAQCAtNTksOSArNTksNiBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChXZWJD
b3JlOjpOb3RpZmljYXRpb24qKSBvdmVycmlkZTsKICAgICB2b2lkIG5vdGlmaWNhdGlvbkNvbnRy
b2xsZXJEZXN0cm95ZWQoKSBvdmVycmlkZTsKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCi0gICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJikgb3ZlcnJpZGU7Ci0jZW5k
aWYKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9u
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBSZWZQdHI8V2ViQ29yZTo6Tm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiYmKSBvdmVycmlkZTsKICNlbmRpZgpAQCAtNjksMTIg
KzY2LDEyIEBAIHByaXZhdGU6CiAgICAgYm9vbCBoYXNQZW5kaW5nUGVybWlzc2lvblJlcXVlc3Rz
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBjb25zdCBvdmVycmlkZTsKICAgICBX
ZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBvdmVycmlkZTsKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKik7CiAj
ZW5kaWYKIAogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIFJldGFpblB0
cjxXZWJOb3RpZmljYXRpb24+PiBtX25vdGlmaWNhdGlvbk1hcDsKICAgICAKICAgICB0eXBlZGVm
IEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+LCBWZWN0b3I8
UmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4+PiBOb3RpZmljYXRpb25Db250ZXh0TWFwOwpJbmRl
eDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5v
dGlmaWNhdGlvbkNsaWVudC5tbQkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSw0OCArMjUsMzAgQEAKIAogI2ltcG9ydCAiV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmgi
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogI2ltcG9ydCAiV2ViRGVsZWdhdGVJbXBs
ZW1lbnRhdGlvbkNhY2hpbmcuaCIKICNpbXBvcnQgIldlYk5vdGlmaWNhdGlvbkludGVybmFsLmgi
CiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCIKICNpbXBvcnQgIldlYlNlY3VyaXR5
T3JpZ2luSW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYlVJRGVsZWdhdGVQcml2YXRlLmgiCiAjaW1w
b3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIKKyNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQotI2ltcG9ydCA8V2ViQ29yZS9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2suaD4KLSNlbmRpZgotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKLSNpbXBvcnQgPFdlYkNvcmUvVm9pZENhbGxiYWNrLmg+Ci0jZW5kaWYKLQogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogQGludGVyZmFj
ZSBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciA6IE5TT2JqZWN0IDxXZWJBbGxvd0RlbnlQ
b2xpY3lMaXN0ZW5lcj4KIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBSZWZQdHI8
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiBfY2FsbGJhY2s7Ci0jZW5kaWYKLSNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gX3Zv
aWRDYWxsYmFjazsKLSAgICBib29sIF9pc0xlZ2FjeVJlcXVlc3Q7Ci0jZW5kaWYKIH0KLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKIC0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiljYWxsYmFjazsKLSNlbmRpZgotI2lmIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLS0gKGlkKWluaXRXaXRoVm9pZENhbGxiYWNrOihQ
YXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pY2FsbGJhY2s7Ci0jZW5kaWYKLQogQGVuZAogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRl
Tm90aWZpY2F0aW9uSUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCB1bmlxdWVOb3RpZmljYXRp
b25JRCA9IDE7CkBAIC04MSw3ICs2Myw3IEBAIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6V2ViTm90
aWZpY2F0aW9uQ2wKIAogYm9vbCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnNob3coTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24pCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBp
ZiAoIVttX3dlYlZpZXcgX25vdGlmaWNhdGlvblByb3ZpZGVyXSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCkBAIC04OSw3ICs3MSw3IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpzaG93
KE5vdGlmaWMKICAgICBSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPiB3ZWJOb3RpZmljYXRpb24g
PSBhZG9wdE5TKFtbV2ViTm90aWZpY2F0aW9uIGFsbG9jXSBpbml0V2l0aENvcmVOb3RpZmljYXRp
b246bm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbklEOm5vdGlmaWNhdGlvbklEXSk7CiAgICAgbV9u
b3RpZmljYXRpb25NYXAuc2V0KG5vdGlmaWNhdGlvbiwgd2ViTm90aWZpY2F0aW9uKTsKIAotICAg
IE5vdGlmaWNhdGlvbkNvbnRleHRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9ub3RpZmljYXRpb25Db250
ZXh0TWFwLmFkZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgVmVjdG9y
PFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+PigpKS5pdGVyYXRvcjsKKyAgICBhdXRvIGl0ID0g
bV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmFkZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgVmVjdG9yPFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+PigpKS5pdGVyYXRv
cjsKICAgICBpdC0+dmFsdWUuYXBwZW5kKHdlYk5vdGlmaWNhdGlvbik7CiAKICAgICBbW21fd2Vi
VmlldyBfbm90aWZpY2F0aW9uUHJvdmlkZXJdIHNob3dOb3RpZmljYXRpb246d2ViTm90aWZpY2F0
aW9uLmdldCgpIGZyb21XZWJWaWV3Om1fd2ViVmlld107CkBAIC0xMDIsNyArODQsNyBAQCBib29s
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6c2hvdyhOb3RpZmljCiAKIHZvaWQgV2ViTm90aWZpY2F0
aW9uQ2xpZW50OjpjYW5jZWwoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJOb3RpZmljYXRpb24gKndlYk5vdGlmaWNhdGlv
biA9IG1fbm90aWZpY2F0aW9uTWFwLmdldChub3RpZmljYXRpb24pLmdldCgpOwogICAgIGlmICgh
d2ViTm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm47CkBAIC0xMTUsOCArOTcsOCBAQCB2b2lk
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsKE5vdGlmCiAKIHZvaWQgV2ViTm90aWZpY2F0
aW9uQ2xpZW50OjpjbGVhck5vdGlmaWNhdGlvbnMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQotICAgIE5vdGlmaWNhdGlvbkNvbnRleHRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9u
b3RpZmljYXRpb25Db250ZXh0TWFwLmZpbmQoY29udGV4dCk7CisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisgICAgYXV0byBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5maW5kKGNvbnRl
eHQpOwogICAgIGlmIChpdCA9PSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZW5kKCkpCiAgICAg
ICAgIHJldHVybjsKICAgICAKQEAgLTEzOSwxMiArMTIxLDEyIEBAIHZvaWQgV2ViTm90aWZpY2F0
aW9uQ2xpZW50OjpjbGVhck5vdGlmaWMKIAogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5v
dGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIFJldGFpblB0cjxXZWJOb3RpZmljYXRp
b24+IHdlYk5vdGlmaWNhdGlvbiA9IG1fbm90aWZpY2F0aW9uTWFwLnRha2Uobm90aWZpY2F0aW9u
KTsKICAgICBpZiAoIXdlYk5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgTm90
aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRN
YXAuZmluZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgYXV0
byBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5maW5kKG5vdGlmaWNhdGlvbi0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICBBU1NFUlQoaXQgIT0gbV9ub3RpZmljYXRpb25Db250
ZXh0TWFwLmVuZCgpKTsKICAgICBzaXplX3QgaW5kZXggPSBpdC0+dmFsdWUuZmluZCh3ZWJOb3Rp
ZmljYXRpb24pOwogICAgIEFTU0VSVChpbmRleCAhPSBub3RGb3VuZCk7CkBAIC0xNjMsNyArMTQ1
LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbgogICAgIGRlbGV0
ZSB0aGlzOwogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIHZvaWQgV2ViTm90aWZp
Y2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciAqbGlzdGVuZXIpCiB7CiAgICAg
U0VMIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0
aW9uUmVxdWVzdEZyb21PcmlnaW46bGlzdGVuZXI6KTsKQEAgLTE4MCwyMCArMTYyLDkgQEAgdm9p
ZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaQogfQogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi12b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6
cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUmVmUHRy
PFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKLXsKLSAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQ
VElPTlM7Ci0gICAgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgKmxpc3RlbmVyID0gW1tX
ZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhWb2lkQ2FsbGJhY2s6
Y2FsbGJhY2tdOwotICAgIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnRleHQsIGxpc3RlbmVyKTsKLSAg
ICBbbGlzdGVuZXIgcmVsZWFzZV07Ci0gICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLX0K
LSNlbmRpZgotCiBib29sIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6aGFzUGVuZGluZ1Blcm1pc3Np
b25SZXF1ZXN0cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgY29uc3QKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIC8vIFdlIGtub3cgcGVybWlzc2lvbiB3YXMgcmVxdWVzdGVk
IGJ1dCB3ZSBkb24ndCBrbm93IGlmIHRoZSBjbGllbnQgcmVzcG9uZGVkLiBJbiB0aGlzIGNhc2Us
IHdlIHBsYXkgaXQKICAgICAvLyBzYWZlIGFuZCBwcmVzdW1lIHRoZXJlIGlzIG9uZSBwZW5kaW5n
IHNvIHRoYXQgQWN0aXZlRE9NT2JqZWN0cyBkb24ndCBnZXQgc3VzcGVuZGVkLgogICAgIHJldHVy
biBtX2V2ZXJSZXF1ZXN0ZWRQZXJtaXNzaW9uOwpAQCAtMjE1LDcgKzE4Niw3IEBAIHZvaWQgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWkKIAogTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
ICAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPmlzRG9jdW1lbnQoKSkKICAgICAgICAgcmV0
dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZDsKICAgICBpZiAoIVtbbV93
ZWJWaWV3IHByZWZlcmVuY2VzXSBub3RpZmljYXRpb25zRW5hYmxlZF0pCkBAIC0yMzksNyArMjEw
LDggQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaQogI2VuZGlmCiB9
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorCiB1aW50NjRfdCBXZWJOb3RpZmljYXRp
b25DbGllbnQ6Om5vdGlmaWNhdGlvbklERm9yVGVzdGluZyhXZWJDb3JlOjpOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbikKIHsKICAgICByZXR1cm4gW21fbm90aWZpY2F0aW9uTWFwLmdldChub3Rp
ZmljYXRpb24pLmdldCgpIG5vdGlmaWNhdGlvbklEXTsKQEAgLTI0Nyw3ICsyMTksNiBAQCB1aW50
NjRfdCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhCiAKIEBpbXBsZW1lbnRhdGlvbiBX
ZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAtIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjaz4pY2FsbGJhY2sKIHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkK
QEAgLTI1Niw0OCArMjI3LDE3IEBAIC0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KFBhc3NSZWZQdHI8
Tm90aWYKICAgICBfY2FsbGJhY2sgPSBjYWxsYmFjazsKICAgICByZXR1cm4gc2VsZjsKIH0KLSNl
bmRpZgotCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotLSAoaWQpaW5pdFdpdGhW
b2lkQ2FsbGJhY2s6KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiljYWxsYmFjawotewotICAgIGlm
ICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQotICAgICAgICByZXR1cm4gbmlsOwotCi0gICAgX2lz
TGVnYWN5UmVxdWVzdCA9IHRydWU7Ci0gICAgX3ZvaWRDYWxsYmFjayA9IGNhbGxiYWNrOwotICAg
IHJldHVybiBzZWxmOwotfQotI2VuZGlmCiAKIC0gKHZvaWQpYWxsb3cKIHsKLSNpZiBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgaWYgKF9pc0xlZ2FjeVJlcXVlc3QpIHsKLSAgICAg
ICAgaWYgKF92b2lkQ2FsbGJhY2spCi0gICAgICAgICAgICBfdm9pZENhbGxiYWNrLT5oYW5kbGVF
dmVudCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCiAgICAgaWYgKF9jYWxsYmFjaykKICAgICAgICAgX2NhbGxiYWNrLT5oYW5kbGVF
dmVudChOb3RpZmljYXRpb246OnBlcm1pc3Npb25TdHJpbmcoTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uQWxsb3dlZCkpOwotI2VuZGlmCiB9CiAKIC0gKHZvaWQpZGVueQogewotI2lmIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBpZiAoX2lzTGVnYWN5UmVxdWVzdCkgewot
ICAgICAgICBpZiAoX3ZvaWRDYWxsYmFjaykKLSAgICAgICAgICAgIF92b2lkQ2FsbGJhY2stPmhh
bmRsZUV2ZW50KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKICAgICBpZiAoX2NhbGxiYWNrKQogICAgICAgICBfY2FsbGJhY2stPmhh
bmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvblN0cmluZyhOb3RpZmljYXRpb25DbGll
bnQ6OlBlcm1pc3Npb25EZW5pZWQpKTsKLSNlbmRpZgogfQogCiAjaWYgUExBVEZPUk0oSU9TKQpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0JKHJl
dmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0
aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbXBvcnQgIldlYk5v
dGlmaWNhdGlvbkludGVybmFsLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogI2lt
cG9ydCAiV2ViU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9Ob3Rp
ZmljYXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oPgpA
QCAtNDIsNyArNDIsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIEBpbnRlcmZhY2UgV2Vi
Tm90aWZpY2F0aW9uUHJpdmF0ZSA6IE5TT2JqZWN0CiB7CiBAcHVibGljCi0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKICAgICBSZWZQdHI8Tm90aWZpY2F0aW9uPiBfaW50ZXJuYWw7CiAgICAg
dWludDY0X3QgX25vdGlmaWNhdGlvbklEOwogI2VuZGlmCkBAIC01Miw4ICs1Miw5IEBAIEBpbnRl
cmZhY2UgV2ViTm90aWZpY2F0aW9uUHJpdmF0ZSA6IE5TT2IKIEBpbXBsZW1lbnRhdGlvbiBXZWJO
b3RpZmljYXRpb25Qcml2YXRlCiBAZW5kCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
QGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvbiAoV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwp
CisKIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIHsK
ICAgICBpZiAoIW5vdGlmaWNhdGlvbi0+X3ByaXZhdGUpCkBAIC04Nyw3ICs4OCw3IEBAIC0gKHZv
aWQpZGVhbGxvYwogCiAtIChOU1N0cmluZyAqKXRpdGxlCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICByZXR1cm4gY29yZShzZWxmKS0+dGl0bGUoKTsKICNlbHNlCiAgICAgcmV0
dXJuIG5pbDsKQEAgLTk2LDcgKzk3LDcgQEAgLSAoTlNTdHJpbmcgKil0aXRsZQogCiAtIChOU1N0
cmluZyAqKWJvZHkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHJldHVybiBj
b3JlKHNlbGYpLT5ib2R5KCk7CiAjZWxzZQogICAgIHJldHVybiBuaWw7CkBAIC0xMDUsNyArMTA2
LDcgQEAgLSAoTlNTdHJpbmcgKilib2R5CiAKIC0gKE5TU3RyaW5nICopdGFnCiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICByZXR1cm4gY29yZShzZWxmKS0+dGFnKCk7CiAjZWxz
ZQogICAgIHJldHVybiBuaWw7CkBAIC0xMTQsNyArMTE1LDcgQEAgLSAoTlNTdHJpbmcgKil0YWcK
IAogLSAoTlNTdHJpbmcgKilpY29uVVJMCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
ICAgICByZXR1cm4gY29yZShzZWxmKS0+aWNvblVSTCgpOwogI2Vsc2UKICAgICByZXR1cm4gbmls
OwpAQCAtMTIzLDcgKzEyNCw3IEBAIC0gKE5TU3RyaW5nICopaWNvblVSTAogCiAtIChOU1N0cmlu
ZyAqKWxhbmcKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHJldHVybiBjb3Jl
KHNlbGYpLT5sYW5nKCk7CiAjZWxzZQogICAgIHJldHVybiBuaWw7CkBAIC0xMzIsNyArMTMzLDcg
QEAgLSAoTlNTdHJpbmcgKilsYW5nCiAKIC0gKE5TU3RyaW5nICopZGlyCiB7Ci0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICByZXR1cm4gY29yZShzZWxmKS0+ZGlyKCk7CiAjZWxzZQog
ICAgIHJldHVybiBuaWw7CkBAIC0xNDEsNyArMTQyLDcgQEAgLSAoTlNTdHJpbmcgKilkaXIKIAog
LSAoV2ViU2VjdXJpdHlPcmlnaW4gKilvcmlnaW4KIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIHJldHVybiBbW1tXZWJTZWN1cml0eU9yaWdpbiBhbGxvY10gX2luaXRXaXRoV2Vi
Q29yZVNlY3VyaXR5T3JpZ2luOmNvcmUoc2VsZiktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
c2VjdXJpdHlPcmlnaW4oKV0gYXV0b3JlbGVhc2VdOwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwpA
QCAtMTUwLDcgKzE1MSw3IEBAIC0gKFdlYlNlY3VyaXR5T3JpZ2luICopb3JpZ2luCiAKIC0gKHVp
bnQ2NF90KW5vdGlmaWNhdGlvbklECiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAg
ICByZXR1cm4gX3ByaXZhdGUtPl9ub3RpZmljYXRpb25JRDsKICNlbHNlCiAgICAgcmV0dXJuIDA7
CkBAIC0xNTksMjggKzE2MCwyOCBAQCAtICh1aW50NjRfdClub3RpZmljYXRpb25JRAogCiAtICh2
b2lkKWRpc3BhdGNoU2hvd0V2ZW50CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAg
ICBjb3JlKHNlbGYpLT5kaXNwYXRjaFNob3dFdmVudCgpOwogI2VuZGlmCiB9CiAKIC0gKHZvaWQp
ZGlzcGF0Y2hDbG9zZUV2ZW50CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBj
b3JlKHNlbGYpLT5kaXNwYXRjaENsb3NlRXZlbnQoKTsKICNlbmRpZgogfQogCiAtICh2b2lkKWRp
c3BhdGNoQ2xpY2tFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgY29y
ZShzZWxmKS0+ZGlzcGF0Y2hDbGlja0V2ZW50KCk7CiAjZW5kaWYKIH0KIAogLSAodm9pZClkaXNw
YXRjaEVycm9yRXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGNvcmUo
c2VsZiktPmRpc3BhdGNoRXJyb3JFdmVudCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbkludGVybmFsLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oCShyZXZp
c2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlv
bkludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2ltcG9ydCAi
V2ViTm90aWZpY2F0aW9uLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBOb3RpZmljYXRpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyMTYwMjIpCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE0ODEsNyArMTQ4MSw3IEBA
IC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmEKICNpZiBFTkFCTEUoR0VP
TE9DQVRJT04pCiAgICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xvY2F0aW9uVG8oX3ByaXZhdGUtPnBh
Z2UsIG5ldyBXZWJHZW9sb2NhdGlvbkNsaWVudChzZWxmKSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIFdlYkNvcmU6OnByb3ZpZGVOb3RpZmljYXRpb24oX3ByaXZh
dGUtPnBhZ2UsIG5ldyBXZWJOb3RpZmljYXRpb25DbGllbnQoc2VsZikpOwogI2VuZGlmCiAjaWYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKQEAgLTEwMDMzLDcgKzEwMDMzLDcgQEAgLSAodm9p
ZClfbm90aWZpY2F0aW9uc0RpZENsb3NlOihOU0FycmF5IAogCiAtICh1aW50NjRfdClfbm90aWZp
Y2F0aW9uSURGb3JUZXN0aW5nOihKU1ZhbHVlUmVmKWpzTm90aWZpY2F0aW9uCiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBhdXRvKiBwYWdlID0gX3ByaXZhdGUtPnBhZ2U7CiAg
ICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA0LTMwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OldlYkNocm9tZUNsaWVudCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZS5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNh
dGlvbnNEZWxlZ2F0ZS5oOgorICAgICAgICBSZW1vdmUgbGVnYWN5IG5vdGlmaWNhdGlvbiBzcGVj
aWZpYyBjb2RlLgorCiAyMDE3LTA0LTI3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW9kZXJuaXplIEZyYW1lLmgKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAko
cmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMg
Y29uc3Qgc2l6ZV90IG1heEZpbGVQYXRoc0xpc3RTaXplCiAKIFdlYkNocm9tZUNsaWVudDo6V2Vi
Q2hyb21lQ2xpZW50KFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgOiBtX3dlYlZpZXcod2ViVmlldykK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgICwgbV9ub3RpZmljYXRpb25zRGVsZWdh
dGUoc3RkOjptYWtlX3VuaXF1ZTxXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlPih3ZWJW
aWV3KSkKICNlbmRpZgogewpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZXhpdFZpZGVvRnVsbHNjcmVl
bkZvclZpZGVvRWxlbWVudChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50JikgZmluYWw7CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6Tm90aWZpY2F0
aW9uQ2xpZW50KiBub3RpZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudCo+KG1fbm90aWZpY2F0
aW9uc0RlbGVnYXRlLmdldCgpKTsgfQogI2VuZGlmCiAKQEAgLTE3Niw3ICsxNzYsNyBAQCBwcml2
YXRlOgogCiAgICAgV2ViVmlldyogbV93ZWJWaWV3OwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0
ZT4gbV9ub3RpZmljYXRpb25zRGVsZWdhdGU7CiAjZW5kaWYKIH07CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNr
dG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L0RvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0yMjMsNCArMjIz
LDQgQEAgQ09NUHRyPElXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlPgogICAgIHJldHVy
biBkZWxlZ2F0ZTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMp
CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZp
Y2F0aW9uc0RlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCShyZXZpc2lvbiAyMTYw
MjIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZp
Y2F0aW9uc0RlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0
aW9uQ2xpZW50Lmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogCiBpbnRlcmZhY2Ug
SVdlYkRlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXI7CiAKQEAgLTUwLDEyICs1MCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2Jq
ZWN0KTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9u
Q29udHJvbGxlckRlc3Ryb3llZCgpOwotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
LSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4qLCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiYmKTsKLSNlbmRpZgotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbiosIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2s+JiYpOwotI2VuZGlmCiAgICAgYm9vbCBoYXNQZW5kaW5nUGVybWlzc2lvblJl
cXVlc3RzKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlv
bkNsaWVudDo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgVVJMJik7CkluZGV4OiBT
b3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2Uv
T3B0aW9uc01hYy5jbWFrZQkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL2NtYWtlL09wdGlv
bnNNYWMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDYgQEAgV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFXwogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTIFBSSVZB
VEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSBQUklWQVRFIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyBQUklWQVRF
IE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFVFRFUlBSRVNT
IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTElO
S19QUkVGRVRDSCBQUklWQVRFIE9GRikKSW5kZXg6IFNvdXJjZS9jbWFrZS9PcHRpb25zV2luLmNt
YWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luLmNtYWtlCShyZXZpc2lv
biAyMTYwMjIpCisrKyBTb3VyY2UvY21ha2UvT3B0aW9uc1dpbi5jbWFrZQkod29ya2luZyBjb3B5
KQpAQCAtMzcsNyArMzcsNiBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgUFVCTElDIE9OKQotV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIFBV
QkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUyBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0xJTktfUFJFRkVUQ0ggUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NQVRITUwgUFVCTElDIE9OKQpJbmRleDogU291cmNlL2Nt
YWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQkocmV2aXNpb24gMjE2MDIyKQorKysgU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsNyArMTM2LDYgQEAgbWFjcm8o
V0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSklU
ICJFbmFibGUgSnVzdEluVGltZSBqYXZhc2NyaXB0IHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTICJU
b2dnbGUgbGVnYWN5IGNzcyB2ZW5kb3IgcHJlZml4IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBICJTdXBw
b3J0IGxlZ2FjeSBFTUUiIFBSSVZBVEUgT0ZGKQotICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyAiVG9nZ2xlIExlZ2FjeSBEZXNrdG9wIE5vdGlmaWNh
dGlvbnMgU3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgIlRvZ2dsZSBMZWdhY3kgVmVuZG9yIFByZWZpeCBT
dXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9MRVRU
RVJQUkVTUyAiVG9nZ2xlIGxldHRlcnByZXNzIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9MSU5LX1BSRUZFVENIICJUb2dnbGUgcHJlIGZldGNo
aW5nIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpJbmRleDogU291cmNlL2NtYWtlL3Rvb2xzL3ZzcHJv
cHMvRmVhdHVyZURlZmluZXMucHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlL3Rvb2xz
L3ZzcHJvcHMvRmVhdHVyZURlZmluZXMucHJvcHMJKHJldmlzaW9uIDIxNjAyMikKKysrIFNvdXJj
ZS9jbWFrZS90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnByb3BzCSh3b3JraW5nIGNvcHkp
CkBAIC00NSw3ICs0NSw2IEBACiAgICAgPEVOQUJMRV9JTlRMPkVOQUJMRV9JTlRMPC9FTkFCTEVf
SU5UTD4KICAgICA8RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTPkVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUzwvRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
PgogICAgIDxFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQT5FTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQTwvRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE+Ci0gICAgPEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUyAvPgogICAgIDxFTkFCTEVfTElOS19QUkVGRVRDSCAvPgogICAg
IDxFTkFCTEVfTElOS19QUkVSRU5ERVIgLz4KICAgICA8RU5BQkxFX01BVEhNTD5FTkFCTEVfTUFU
SE1MPC9FTkFCTEVfTUFUSE1MPgpAQCAtODUsNyArODQsNyBAQAogICA8L1Byb3BlcnR5R3JvdXA+
CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+JChFTkFCTEVfM0RfVFJBTlNGT1JNUyk7JChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
OyQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCk7JChFTkFCTEVfQ0FOVkFTX1BBVEgpOyQoRU5B
QkxFX0NBTlZBU19QUk9YWSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NT
UzNfQ09ORElUSU9OQUxfUlVMRVMpOyQoRU5BQkxFX0NTU19JTUFHRV9TRVQpOyQoRU5BQkxFX0NT
UzNfVEVYVCk7JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKTskKEVOQUJMRV9DU1Nf
U0hBREVSUyk7JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKTskKEVOQUJMRV9DU1NfUkVHSU9OUyk7
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpOyQoRU5BQkxFX0NTU19TSEFQRV9JTlNJREUp
OyQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElPTlNfVU5QUkVGSVhF
RCk7JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpOyQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUik7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpOyQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7JChF
TkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRU5DUllQVEVEX01FRElBKTskKEVOQUJM
RV9GRVRDSF9BUEkpOyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSk7JChFTkFCTEVfR0FNRVBBRCk7JChFTkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0hJR0hf
RFBJX0NBTlZBUyk7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKTskKEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpOyQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpOyQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSk7JChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKTskKEVOQUJMRV9JTlRMKTskKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
Uyk7JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSk7JChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpOyQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5BQkxFX0xJTktfUFJFUkVOREVS
KTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX01FVEVSX0VMRU1FTlQpOyQoRU5BQkxFX01JQ1JP
REFUQSk7JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKTskKEVOQUJMRV9OT1RJRklDQVRJT05T
KTskKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKTskKEVOQUJMRV9RVU9UQSk7JChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpOyQoRU5BQkxFX1NUUkVBTVNfQVBJKTskKEVOQUJMRV9TQ1JJ
UFRFRF9TUEVFQ0gpOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpOyQoRU5BQkxFX01FRElBX1NPVVJDRSk7JChFTkFCTEVfTUVESUFfU1RBVElT
VElDUyk7JChFTkFCTEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5B
QkxFX1NVQlBJWEVMX0xBWU9VVCk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVO
QUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9WSURFT19UUkFDSyk7JChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSk7JChFTkFCTEVfV0VCX0FOSU1BVElPTlMpOyQoRU5B
QkxFX1dFQl9BVURJTyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9USU1JTkcp
OyQoRU5BQkxFX1dFQkdMKTskKEVOQUJMRV9XRUJHUFUpOyQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KTskKEVOQUJMRV9YSFJfVElNRU9VVCk7JChFTkFCTEVfWFNMVCk7JShQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFByZXByb2Nlc3NvckRl
ZmluaXRpb25zPiQoRU5BQkxFXzNEX1RSQU5TRk9STVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUyk7JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKTskKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpOyQoRU5BQkxFX0NBTlZBU19QQVRIKTskKEVOQUJMRV9DQU5W
QVNfUFJPWFkpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKTskKEVOQUJMRV9DU1MzX0NPTkRJ
VElPTkFMX1JVTEVTKTskKEVOQUJMRV9DU1NfSU1BR0VfU0VUKTskKEVOQUJMRV9DU1MzX1RFWFQp
OyQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyk7JChFTkFCTEVfQ1NTX1NIQURFUlMp
OyQoRU5BQkxFX0NTU19DT01QT1NJVElORyk7JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KTskKEVOQUJMRV9DU1NfU0hBUEVfSU5TSURFKTskKEVOQUJM
RV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQpOyQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKTskKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpOyQo
RU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKTskKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pOyQoRU5BQkxFX0RJ
UkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSk7JChFTkFCTEVfRkVUQ0hf
QVBJKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5B
QkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9ISUdIX0RQSV9DQU5W
QVMpOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUik7JChFTkFCTEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSk7
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKTskKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyk7
JChFTkFCTEVfSU5UTCk7JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpOyQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpOyQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5B
QkxFX0xJTktfUFJFUkVOREVSKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpOyQoRU5BQkxFX01JQ1JPREFUQSk7JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKTskKEVO
QUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKTskKEVOQUJMRV9R
VU9UQSk7JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpOyQoRU5BQkxFX1NUUkVBTVNf
QVBJKTskKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTsk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpOyQoRU5BQkxFX01FRElBX1NPVVJDRSk7JChF
TkFCTEVfTUVESUFfU1RBVElTVElDUyk7JChFTkFCTEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9T
VFlMRV9TQ09QRUQpOyQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCk7JChFTkFCTEVfU1ZHX0RPTV9P
QkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJM
RV9WSURFT19UUkFDSyk7JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSk7JChFTkFCTEVfV0VC
X0FOSU1BVElPTlMpOyQoRU5BQkxFX1dFQl9BVURJTyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQo
RU5BQkxFX1dFQl9USU1JTkcpOyQoRU5BQkxFX1dFQkdMKTskKEVOQUJMRV9XRUJHUFUpOyQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKTskKEVOQUJMRV9YSFJfVElNRU9VVCk7JChFTkFCTEVfWFNMVCk7
JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAg
IDwvQ2xDb21waWxlPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CkBA
IC0yNjUsMTAgKzI2NCw2IEBACiAgICAgICA8VmFsdWU+JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSk8L1ZhbHVlPgogICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+dHJ1ZTwvRW52aXJv
bm1lbnRWYXJpYWJsZT4KICAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVk
ZT0iRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIj4KLSAgICAgIDxWYWx1ZT4kKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUyk8L1ZhbHVlPgotICAgICAgPEVudmlyb25tZW50VmFyaWFibGU+
dHJ1ZTwvRW52aXJvbm1lbnRWYXJpYWJsZT4KLSAgICA8L0J1aWxkTWFjcm8+CiAgICAgPEJ1aWxk
TWFjcm8gSW5jbHVkZT0iRU5BQkxFX0xJTktfUFJFRkVUQ0giPgogICAgICAgPFZhbHVlPiQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpPC9WYWx1ZT4KICAgICAgIDxFbnZpcm9ubWVudFZhcmlhYmxlPnRy
dWU8L0Vudmlyb25tZW50VmFyaWFibGU+CkluZGV4OiBTb3VyY2UvY21ha2UvdG9vbHMvdnNwcm9w
cy9GZWF0dXJlRGVmaW5lc0NhaXJvLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS90
b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8ucHJvcHMJKHJldmlzaW9uIDIxNjAyMikK
KysrIFNvdXJjZS9jbWFrZS90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8ucHJvcHMJ
KHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAKICAgICA8RU5BQkxFX0lOVEw+RU5BQkxF
X0lOVEw8L0VOQUJMRV9JTlRMPgogICAgIDxFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVM+RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTPC9FTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVM+CiAgICAgPEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBIC8+Ci0g
ICAgPEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyAvPgogICAgIDxFTkFCTEVfTElOS19QUkVG
RVRDSCAvPgogICAgIDxFTkFCTEVfTElOS19QUkVSRU5ERVIgLz4KICAgICA8RU5BQkxFX01BVEhN
TD5FTkFCTEVfTUFUSE1MPC9FTkFCTEVfTUFUSE1MPgpAQCAtODQsNyArODMsNyBAQAogICA8L1By
b3BlcnR5R3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0g
ICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+JChFTkFCTEVfM0RfVFJBTlNGT1JNUyk7JChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpOyQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCk7JChFTkFCTEVfQ0FOVkFT
X1BBVEgpOyQoRU5BQkxFX0NBTlZBU19QUk9YWSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
OyQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpOyQoRU5BQkxFX0NTU19JTUFHRV9TRVQp
OyQoRU5BQkxFX0NTUzNfVEVYVCk7JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKTsk
KEVOQUJMRV9DU1NfU0hBREVSUyk7JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKTskKEVOQUJMRV9D
U1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpOyQoRU5BQkxFX0NTU19T
SEFQRV9JTlNJREUpOyQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVFJBTlNJVElP
TlNfVU5QUkVGSVhFRCk7JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpOyQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUik7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpOyQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRU5DUllQVEVEX01F
RElBKTskKEVOQUJMRV9GRVRDSF9BUEkpOyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSk7JChFTkFCTEVfR0FNRVBBRCk7JChFTkFCTEVfR0VPTE9DQVRJT04pOyQo
RU5BQkxFX0hJR0hfRFBJX0NBTlZBUyk7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKTskKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpOyQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpOyQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSk7JChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKTskKEVOQUJMRV9JTlRMKTskKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUyk7JChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSk7JChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5BQkxFX0xJ
TktfUFJFUkVOREVSKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX01FVEVSX0VMRU1FTlQpOyQo
RU5BQkxFX01JQ1JPREFUQSk7JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKTskKEVOQUJMRV9O
T1RJRklDQVRJT05TKTskKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKTskKEVOQUJMRV9RVU9UQSk7
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpOyQoRU5BQkxFX1NDUklQVEVEX1NQRUVD
SCk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCk7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVO
QUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX1NUWUxFX1NDT1BFRCk7JChFTkFCTEVfU1VCUElY
RUxfTEFZT1VUKTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19G
T05UUyk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX1ZJREVPX1RSQUNLKTskKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKTskKEVOQUJMRV9XRUJfQU5JTUFUSU9OUyk7JChFTkFCTEVfV0VCX0FV
RElPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV0VCX1RJTUlORyk7JChFTkFCTEVf
V0VCR0wpOyQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKTskKEVOQUJMRV9YSFJfVElNRU9VVCk7JChF
TkFCTEVfWFNMVCk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmlu
aXRpb25zPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPiQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKTskKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpOyQoRU5B
QkxFX0NBTlZBU19QQVRIKTskKEVOQUJMRV9DQU5WQVNfUFJPWFkpOyQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKTskKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKTskKEVOQUJMRV9DU1Nf
SU1BR0VfU0VUKTskKEVOQUJMRV9DU1MzX1RFWFQpOyQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSyk7JChFTkFCTEVfQ1NTX1NIQURFUlMpOyQoRU5BQkxFX0NTU19DT01QT1NJVElORyk7
JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KTskKEVO
QUJMRV9DU1NfU0hBUEVfSU5TSURFKTskKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05T
X1RSQU5TSVRJT05TX1VOUFJFRklYRUQpOyQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKTskKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSk7JChFTkFCTEVfRkVUQ0hfQVBJKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xP
Q0FUSU9OKTskKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUik7JChF
TkFCTEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKTskKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSU5UTCk7JChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpOyQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
OyQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5BQkxFX0xJTktfUFJFUkVOREVSKTskKEVOQUJM
RV9NQVRITUwpOyQoRU5BQkxFX01FVEVSX0VMRU1FTlQpOyQoRU5BQkxFX01JQ1JPREFUQSk7JChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKTskKEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKTskKEVOQUJMRV9RVU9UQSk7JChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpOyQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCk7JChFTkFCTEVfU0hBUkVEX1dP
UktFUlMpOyQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCk7JChFTkFCTEVfTUVESUFfU09V
UkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQo
RU5BQkxFX1NUWUxFX1NDT1BFRCk7JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKTskKEVOQUJMRV9T
VkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7JChFTkFCTEVfVklERU8p
OyQoRU5BQkxFX1ZJREVPX1RSQUNLKTskKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKTskKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUyk7JChFTkFCTEVfV0VCX0FVRElPKTskKEVOQUJMRV9XRUJfU09D
S0VUUyk7JChFTkFCTEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV0VCR0wpOyQoRU5BQkxFX1dFQlZU
VF9SRUdJT05TKTskKEVOQUJMRV9YSFJfVElNRU9VVCk7JChFTkFCTEVfWFNMVCk7JShQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21w
aWxlPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CkBAIC0yNjQsMTAg
KzI2Myw2IEBACiAgICAgICA8VmFsdWU+JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpPC9WYWx1ZT4KICAgICAgIDxFbnZpcm9ubWVudFZhcmlhYmxlPnRydWU8L0Vudmlyb25tZW50
VmFyaWFibGU+CiAgICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IkVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyI+Ci0gICAgICA8VmFsdWU+JChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpPC9WYWx1ZT4KLSAgICAgIDxFbnZpcm9ubWVudFZhcmlhYmxlPnRydWU8
L0Vudmlyb25tZW50VmFyaWFibGU+Ci0gICAgPC9CdWlsZE1hY3JvPgogICAgIDxCdWlsZE1hY3Jv
IEluY2x1ZGU9IkVOQUJMRV9MSU5LX1BSRUZFVENIIj4KICAgICAgIDxWYWx1ZT4kKEVOQUJMRV9M
SU5LX1BSRUZFVENIKTwvVmFsdWU+CiAgICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZT50cnVlPC9F
bnZpcm9ubWVudFZhcmlhYmxlPgpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDIyKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlm
aWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXIuY3Bw
OgorICAgICAgICAoRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlcjo6Y2hlY2tOb3RpZmlj
YXRpb25QZXJtaXNzaW9uKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKyAgICAgICAgUmVtb3ZlIHVzZSBhbmQgZGVmaW5pdGlvbiBvZiBFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMuCisKIDIwMTctMDUtMDEgIEJldGggRGFraW4gIDxiZGFr
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIE9uLXNjcmVlbiBwYW5lbCBmb3IgY2FuZGlkYXRlIGJh
ciBpcyBpbiB0aGUgd3JvbmcgcGxhY2Ugd2hlbiB0aGUgY2FyZXQgaXMgYXQgdGhlIApJbmRleDog
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90
aWZpY2F0aW9uUHJlc2VudGVyLmNwcAkocmV2aXNpb24gMjE2MDIyKQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjUsNyArMTI1LDcgQEAgSFJFU1VMVCBEUlREZXNrdG9wTm90aWZpY2F0aW9u
UHJlc2VudGVyOgogCiAgICAgKnJlc3VsdCA9IDA7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQogICAgIEpTU3RyaW5nUmVmIGpzT3JpZ2luID0gSlNTdHJpbmdDcmVhdGVXaXRoQlNUUihv
cmlnaW4pOwogICAgIGJvb2wgYWxsb3dlZCA9IDo6Z1Rlc3RSdW5uZXItPmNoZWNrRGVza3RvcE5v
dGlmaWNhdGlvblBlcm1pc3Npb24oanNPcmlnaW4pOwogCkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCShyZXZpc2lvbiAyMTYwMjIpCisrKyBUb29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0JKHdvcmtpbmcgY29weSkKQEAgLTI4MSw5ICsyODEs
NiBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImxlZ2FjeS1lbmNyeXB0ZWQt
bWVkaWEiLCBkZXNjID0+ICJUb2dnbGUgTGVnYWN5IEVNRSBWMiBzdXBwb3J0IiwKICAgICAgIGRl
ZmluZSA9PiAiRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEiLCBkZWZhdWx0ID0+IDAsIHZh
bHVlID0+IFwkbGVnYWN5RW5jcnlwdGVkTWVkaWFTdXBwb3J0IH0sCiAKLSAgICB7IG9wdGlvbiA9
PiAibGVnYWN5LW5vdGlmaWNhdGlvbnMiLCBkZXNjID0+ICJUb2dnbGUgTGVnYWN5IE5vdGlmaWNh
dGlvbnMgc3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUyIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRsZWdhY3lOb3RpZmljYXRpb25zU3VwcG9y
dCB9LAotCiAgICAgeyBvcHRpb24gPT4gImxlZ2FjeS12ZW5kb3ItcHJlZml4ZXMiLCBkZXNjID0+
ICJUb2dnbGUgTGVnYWN5IFZlbmRvciBQcmVmaXggc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBc
JGxlZ2FjeVZlbmRvclByZWZpeFN1cHBvcnQgfSwKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CShyZXZpc2lvbiAyMTYwMjIpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNyArMTM5LDYg
QEAgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgPSBFTkFCTEVfSwogRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFID0gRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFOwogRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTOwogRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUFbc2RrPW1hY29zeCpdID0g
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE7Ci1FTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TOwogRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUzsKIEVO
QUJMRV9MRVRURVJQUkVTU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfTEVUVEVSUFJFU1M7CiBFTkFC
TEVfTElOS19QUkVGRVRDSCA9IDsKQEAgLTI1NSw0ICsyNTQsNCBAQCBFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTX0lGX05PVF8gPSAkKEVOQUJMCiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9O
TyA9IEVOQUJMRV9WQVJJQVRJT05fRk9OVFM7CiBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05P
VF9ZRVMgPSA7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxF
R0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNU
X0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkg
JChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hf
QVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9Q
T1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9T
VFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2MDIyKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsOTMgQEAK
KzIwMTctMDQtMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1v
dmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gUmVtb3ZlIGZhc3Qvbm90aWZpY2F0aW9ucy8u
IEl0IHdhcyBza2lwcGVkIG9uIGFsbCBwbGF0Zm9ybXMgYW5kIHVzZSBsZWdhY3kgTm90aWZpY2F0
aW9ucyBBUEkuCisgICAgICAgIC0gUmVtb3ZlIGh0dHAvbm90aWZpY2F0aW9ucy9sZWdhY3kuIEl0
IHRlc3RlZCB0aGUgbGVnYWN5IEFQSS4KKyAgICAgICAgLSBVcGRhdGUgdHdvIHRlc3RzIGluIGZh
c3QvaGlzdG9yeSB0byB1c2UgdGhlIG5vbi1sZWdhY3kgQVBJIHRvIHRlc3QgcGFnZSBjYWNoZSAr
IG5vdGlmaWNhdGlvbnMuCisgICAgICAgIC0gVXBkYXRlIFRlc3RFeHBlY3RhdGlvbnMgZm9yIHJl
bW92YWxzLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWw6CisgICAgICAg
ICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWw6
CisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xv
c2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJt
aXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNs
aWNrLWV2ZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZl
bnQtZm9jdXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0
aC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25z
dHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQt
cGVybWlzc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3Nl
LWV2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1j
cmFzaC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFn
YXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1tdWx0aS1ldmVudHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLW5vLWljb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9uLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFj
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVz
dC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9u
YWwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVy
bWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNo
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXdpdGgtcGVybWlzc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1w
ZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL3Jl
cXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmlj
YXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
bm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJt
aXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL3Jlc291
cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3k6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kv
ZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L2V2ZW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10
aGVuLW5hdmlnYXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhl
bi1uYXZpZ2F0ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9ub3RpZnktb3Bl
bmVyLWRvbmUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hv
dy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9zaG93Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3Rp
ZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hv
dy1vbi1jbGljay5odG1sOiBSZW1vdmVkLgorCiAyMDE3LTA1LTAxICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNraXAgZWRpdGluZy9leGVjQ29tbWFuZC9z
aG93LW1vZGFsLWRpYWxvZy1kdXJpbmctZXhlY0NvbW1hbmQuaHRtbCBvbiBtYWMtd2sxLgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLW5vbi1z
dXNwZW5kYWJsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbAkocmV2aXNpb24gMjE2
MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9u
LW5vbi1zdXNwZW5kYWJsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24KICAgICB3aW5kb3cuc2Vzc2lv
blN0b3JhZ2UucGFnZV9jYWNoZV9ub3RpZmljYXRpb25zX3Rlc3Rfc3RhcnRlZCA9IHRydWU7CiAK
ICAgICAvLyBUaGlzIG5vdGlmaWNhdGlvbiBpcyBzaG93biBhbmQgc2hvdWxkIG5vdCBiZSBzdXNw
ZW5kYWJsZS4KLSAgICBub3RpZmljYXRpb24gPSB3ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbignJywgJ3RpdGxlIDInLCAnYm9keScpOworICAgIG5vdGlmaWNhdGlvbiA9IG5l
dyBOb3RpZmljYXRpb24oJ3RpdGxlJywgeyBib2R5OiAnYm9keScgfSk7CiAgICAgbm90aWZpY2F0
aW9uLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKICAgICAgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90
IHNob3cgdGhlIG5vdGlmaWNhdGlvbiIpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKQEAgLTQ2
LDcgKzQ2LDYgQEAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbgogICAg
ICAgICAvLyBGb3JjZSBhIGJhY2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KICAgICAg
ICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0
bWwiOwogICAgIH07Ci0gICAgbm90aWZpY2F0aW9uLnNob3coKTsKIH0sIGZhbHNlKTsKIAogPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmlj
YXRpb24tc3VzcGVuZGFibGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFibGUuaHRtbAkocmV2aXNpb24g
MjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0
aW9uLXN1c3BlbmRhYmxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDI4ICsyOSwyNCBAQCB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBmdW5jCiB9LCBmYWxzZSk7CiAKIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7Ci0gICAgLy8gVGhpcyBu
b3RpZmljYXRpb24gaXMgaW4gaWRsZSBzdGF0ZSBhbmQgc2hvdWxkIGJlIHN1c3BlbmRhYmxlLgot
ICAgIG5vdGlmaWNhdGlvbjEgPSB3ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlv
bignJywgJ3RpdGxlIDEnLCAnYm9keScpOwotCiAgICAgLy8gVGhpcyBub3RpZmljYXRpb24gaXMg
c2hvd24gYW5kIHNob3VsZCBiZSBzdXNwZW5kYWJsZSBvbmNlIGl0IGlzIGNsb3NlZC4KLSAgICBu
b3RpZmljYXRpb24yID0gd2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycs
ICd0aXRsZSAyJywgJ2JvZHknKTsKLSAgICBub3RpZmljYXRpb24yLm9uZGlzcGxheSA9IGZ1bmN0
aW9uKCkgeworICAgIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oJ3RpdGxlJywgeyBi
b2R5OiAnYm9keScgfSk7CisgICAgbm90aWZpY2F0aW9uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkg
ewogICAgICAgICAvLyBDbG9zZSB0aGUgbm90aWZpY2F0aW9uLgogICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbm90aWZpY2F0aW9uMi5jYW5jZWwoKTsKKyAgICAg
ICAgICAgIG5vdGlmaWNhdGlvbi5jbG9zZSgpOwogICAgICAgICB9LCAwKTsKICAgICB9OwotICAg
IG5vdGlmaWNhdGlvbjIub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgIG5vdGlmaWNhdGlvbi5v
bmVycm9yID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBkaXNw
bGF5IHRoZSBub3RpZmljYXRpb24iKTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfTsK
LSAgICBub3RpZmljYXRpb24yLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsKKyAgICBub3RpZmljYXRp
b24ub25jbG9zZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgLy8gRm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBh
Z2UuCiAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJjZXMvcGFnZS1j
YWNoZS1oZWxwZXIuaHRtbCI7CiAgICAgICAgIH0sIDApOwogICAgIH07Ci0gICAgbm90aWZpY2F0
aW9uMi5zaG93KCk7CiB9LCBmYWxzZSk7CiAKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKQEAgLTEsMiArMCwwIEBACi1QQVNTCi0KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFm
dGVyLWNsb3NlLmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDQ0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICB3aW4gPSB3aW5kb3cub3BlbignYWJvdXQ6YmxhbmsnKTsKLSAgICAgICAg
ICAgIGlmICh3aW4ud2Via2l0Tm90aWZpY2F0aW9ucyA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICAg
ICAgICAgICAgbG9nKCJQQVNTIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIG5vdGlmaWNhdGlvbkNlbnRlcj13aW4ud2Via2l0Tm90aWZpY2F0aW9uczsKLSAgICAgICAg
ICAgICAgICB3aW4uY2xvc2UoKTsKLSAgICAgICAgICAgICAgICB0cnkgeyAKLSAgICAgICAgICAg
ICAgICAgICAgbj1ub3RpZmljYXRpb25DZW50ZXIuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsgCi0g
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KLSAgICAgICAgICAgICAgICAvLyBKdXN0IG1h
a2Ugc3VyZSB3ZSBkb24ndCBjcmFzaC4KLSAgICAgICAgICAgICAgICBsb2coIlBBU1MiKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAgPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAgIAotICAgIAot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0Pgot
Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNz
c2lvbi1kZWxldGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJs
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0
IE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzIGRlbGV0YWJsZS4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgImRlZmF1bHQi
Ci1QQVNTIGRlbGV0ZSBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyB0cnVlCi1QQVNTIE5vdGlm
aWNhdGlvbi5wZXJtaXNzaW9uIGlzIHVuZGVmaW5lZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlz
c3Npb24tZGVsZXRhYmxlLmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBOb3RpZmljYXRpb24ucGVy
bWlzc2lvbiBpcyBkZWxldGFibGUuIik7Ci0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZp
Y2F0aW9uLnBlcm1pc3Npb24iLCAiZGVmYXVsdCIpOwotc2hvdWxkQmVUcnVlKCJkZWxldGUgTm90
aWZpY2F0aW9uLnBlcm1pc3Npb24iKTsKLXNob3VsZEJlVW5kZWZpbmVkKCJOb3RpZmljYXRpb24u
cGVybWlzc2lvbiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJ
T04gUkVRVUVTVEVEOiBmaWxlOi8vCi1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJF
UVVFU1QgQ0FOQ0VMTEVEOiBmaWxlOi8vCi1SZXF1ZXN0aW5nIGFuZCBjYW5jZWxsaW5nIG5vdGlm
aWNhdGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBhc3MgaWYgbm90aWZpY2F0aW9uIGlzIGNhbmNlbGxl
ZApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24u
aHRtbAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsNDQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Ci0KLSAgICAgICAgLy8gVGltZW91dCBpcyB0byBlbnN1cmUgdGhhdCB0
aGUgaWZyYW1lIHdhcyByZW1vdmVkLgotICAgICAgICBzZXRUaW1lb3V0KGlzRG9uZSw1MDApOwot
Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAi
PGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkK
LSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICgh
d2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6
IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLmlu
bmVySFRNTD0iUGFzcyBpZiBub3RpZmljYXRpb24gaXMgY2FuY2VsbGVkIjsKLSAgICAgICAgfQot
Ci0gICAgICAgIGZ1bmN0aW9uIGlzRG9uZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgotICAgIDxwPlJlcXVlc3RpbmcgYW5kIGNhbmNl
bGxpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgotPGRpdiBpZD0idGVzdCI+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL25vdGlm
aWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sIiB3aWR0aD04MDAgaGVpZ2h0
PTgwMD48L2lmcmFtZT4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAy
MikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNr
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1D
aGVja2luZyBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQuCi1Q
QVNTOiBQZXJtaXNzaW9uIGdyYW50ZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJt
aXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNz
YWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVz
dWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlm
aWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAg
ICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lv
bigpOwotICAgICAgICAgICAgaWYgKE4gIT0gMCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFT
UzogUGVybWlzc2lvbiBub3QgZ3JhbnRlZC4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgbG9nKCJGQUlMOiBQZXJtaXNzaW9uIHNob3VsZG4ndCBiZSBncmFudGVkLiIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9u
KCk7Ci0gICAgICAgICAgICBpZiAoTiA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJQQVNT
OiBQZXJtaXNzaW9uIGdyYW50ZWQuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIGxvZygiRkFJTDogUGVybWlzc2lvbiBub3QgZ3JhbnRlZC4iKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5DaGVja2lu
ZyBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtY2xpY2stZXZlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtY2xpY2stZXZlbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsOCAr
MCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiAsIHRpdGxlIE5ldyBFLW1haWwsIHRl
eHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1ERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5l
dyBFLW1haWwKLVNob3dpbmcgbm90aWZpY2F0aW9ucy4KLQotVG8gZXhlcmNpc2UgbWFudWFsbHks
IGdyYW50IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2UsIHRoZW4g
Y2xpY2sgb24gdGhlIG5vdGlmaWNhdGlvbi4gWW91IHNob3VsZCBzZWUgYSAiUEFTUyIgbWVzc2Fn
ZS4KLQotUEFTUzogY2xpY2sgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50
LWZvY3VzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBAQAotREVTS1RP
UCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9u
aWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1DaGVj
ayB0aGF0IHdpbmRvdy5mb2N1cygpIGlzIG5vdCByZXN0cmljdGVkIGR1cmluZyBub3RpZmljYXRp
b24gY2xpY2sgZXZlbnRzLgotCi1UbyBleGVyY2lzZSBtYW51YWxseSwgZGlzYWJsZSBwb3AtdXAg
YmxvY2tpbmcsIGdyYW50IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBh
Z2UsIHRoZW4gY2xpY2sgb24gdGhlIG5vdGlmaWNhdGlvbi4gWW91IHNob3VsZCBzZWUgdHdvICJQ
QVNTIiBtZXNzYWdlcyBhbmQgdGhpcyB3aW5kb3cgc2hvdWxkIGJlIGZvY3VzZWQuCi0KLVBBU1M6
IGNsaWNrIGV2ZW50IGZpcmVkLgotUEFTUzogZm9jdXMgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZv
Y3VzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMuaHRtbAkocmV2aXNpb24gMjE2MDIyKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQt
Zm9jdXMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUxICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0g
ICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJy
PiI7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRD
YW5PcGVuV2luZG93cygpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1h
aW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2co
IkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICAvLyBPcGVuIGEgbmV3IHdpbmRvdywgc28gd2UgZG9uJ3QgaGF2ZSB0
aGUgZm9jdXMuCi0gICAgICAgICAgICB2YXIgVyA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIp
OwotICAgICAgICAgICAgVy5mb2N1cygpOwotCi0gICAgICAgICAgICB3aW5kb3cub25mb2N1cyA9
IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGZvY3VzIGV2ZW50IGZpcmVkLiIpOyB9Ci0KLSAgICAg
ICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAg
ICAgIE4ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVk
LiIpOyB3aW5kb3cuZm9jdXMoKTsgTi5jYW5jZWwoKTsgIH0KLSAgICAgICAgICAgIE4uc2hvdygp
OwotCi0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNpbXVsYXRlTGVnYWN5V2ViTm90aWZpY2F0aW9uQ2xpY2soIk5ldyBFLW1h
aWwiKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5DaGVj
ayB0aGF0IHdpbmRvdy5mb2N1cygpIGlzIG5vdCByZXN0cmljdGVkIGR1cmluZyBub3RpZmljYXRp
b24gY2xpY2sgZXZlbnRzLjwvcD4KLQotPHA+VG8gZXhlcmNpc2UgbWFudWFsbHksIGRpc2FibGUg
cG9wLXVwIGJsb2NraW5nLCBncmFudCBub3RpZmljYXRpb24gcGVybWlzc2lvbnMgYW5kIGxvYWQg
dGhpcyBwYWdlLCB0aGVuIGNsaWNrIG9uIHRoZSBub3RpZmljYXRpb24uICBZb3Ugc2hvdWxkIHNl
ZSB0d28gIlBBU1MiIG1lc3NhZ2VzIGFuZCB0aGlzIHdpbmRvdyBzaG91bGQgYmUgZm9jdXNlZC48
L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSw0NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBs
b2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
Z3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZp
Y2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAg
ICAgIE4ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVk
LiIpOyBOLmNhbmNlbCgpOyAgfQotICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNpbXVs
YXRlTGVnYWN5V2ViTm90aWZpY2F0aW9uQ2xpY2soIk5ldyBFLW1haWwiKTsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TaG93aW5nIG5vdGlmaWNhdGlvbnMu
PC9wPgotCi08cD5UbyBleGVyY2lzZSBtYW51YWxseSwgZ3JhbnQgbm90aWZpY2F0aW9uIHBlcm1p
c3Npb25zIGFuZCBsb2FkIHRoaXMgcGFnZSwgdGhlbiBjbGljayBvbiB0aGUgbm90aWZpY2F0aW9u
LiAgWW91IHNob3VsZCBzZWUgYSAiUEFTUyIgbWVzc2FnZS48L3A+Ci08ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRl
c3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT04g
UEVSTUlTU0lPTiBSRVFVRVNURUQ6IGZpbGU6Ly8KLVJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBl
cm1pc3Npb24uLi4KLQotUEFTUzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLgotCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rv
ci1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Np
b24uaHRtbAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwzNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlv
biBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9
Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRv
dy5Ob3RpZmljYXRpb24pIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIE5vdGlmaWNh
dGlvbiBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIHZhciBOID0gd2luZG93Lk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigKLSAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGlu
dm9rZWQuIik7IH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotICAgIDxwPlJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24u
Li48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLTxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotCi08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9y
LXdpdGgtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURF
U0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgSGVsbG8gd29ybGQsIHRleHQgCi1TZW5k
aW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IHNob3cgZXZlbnQg
ZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgt
cGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1
bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAg
ICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYg
KCF3aW5kb3cuTm90aWZpY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBO
b3RpZmljYXRpb24gY29uc3RydWN0b3IhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIHZhciBOID0gbmV3IE5vdGlmaWNhdGlvbigiSGVsbG8gd29ybGQiKTsKLSAg
ICAgICAgICAgIE4ub25zaG93ID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogc2hvdyBldmVudCBm
aXJlZC4iKTsgfQotICAgICAgICAgICAgTi5vbmVycm9yID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJ
TDogZXJyb3IgZXZlbnQgZmlyZWQuIik7IH0KLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKSB7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAxMDApOwotICAgICAgICB9Ci0gICAg
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRo
IHBlcm1pc3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVj
dG9yLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9y
LXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICsw
LDAgQEAKLVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi4KLQotUEFT
UzogZXJyb3IgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rv
ci13aXRob3V0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9
IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9u
IHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgICAgICAgICAgLy8gTk8gUEVSTUlTU0lPTiB0ZXN0UnVubmVyLmdyYW50V2Vi
Tm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy5Ob3RpZmlj
YXRpb24pIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIE5vdGlmaWNhdGlvbiBjb25z
dHJ1Y3RvciEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFy
IE4gPSBuZXcgTm90aWZpY2F0aW9uKCJIZWxsbyB3b3JsZCIpOwotICAgICAgICAgICAgTi5vbnNo
b3cgPSBmdW5jdGlvbigpIHsgbG9nKCJGQUlMOiBzaG93IGV2ZW50IGZpcmVkLiIpOyB9Ci0gICAg
ICAgICAgICBOLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBlcnJvciBldmVudCBm
aXJlZC4iKTsgfQotICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7IH0sIDEwMCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQgcGVybWlzc2lvbi4u
LjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xv
c2UtZXZlbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDcgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBO
ZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJ
T04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNz
aW9uLi4uCi0KLVBBU1M6IGRpc3BsYXkgZXZlbnQgaW52b2tlZC4KLVBBU1M6IGNsb3NlIGV2ZW50
IGludm9rZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMu
aHRtbAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90
aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0
aW9ucygpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
KSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGlu
dGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFy
IE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJO
ZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTi5vbmRp
c3BsYXkgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7
IE4uY2FuY2VsKCk7IH0KLSAgICAgICAgICAgIE4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgeyBsb2co
IlBBU1M6IGNsb3NlIGV2ZW50IGludm9rZWQuIik7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9
Ci0gICAgICAgICAgICBOLnNob3coKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9w
PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVu
dC1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNjogVW5jYXVn
aHQgSW52YWxpZFN0YXRlRXJyb3IgKERPTSBFeGNlcHRpb24gMTEpOiBUaGUgb2JqZWN0IGlzIGlu
IGFuIGludmFsaWQgc3RhdGUuDQotUEFTUw0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1l
bnQtY2xvc2UtY3Jhc2guaHRtbAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2guaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDUwICswLDAgQEAKLTxodG1sPgotICAgIDxib2R5PgotICAgICAg
ICA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2Fu
T3BlbldpbmRvd3MoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZp
Y2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3
ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgdmFyIHRhcmdldCA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIpOwotICAgICAgICAg
ICAgdmFyIG5vdGlmaWNhdGlvbiA9IHRhcmdldC53ZWJraXROb3RpZmljYXRpb25zOwotICAgICAg
ICAgICAgdGFyZ2V0LmxvY2F0aW9uLnJlbG9hZCgpOwotICAgICAgICAgICAgdmFyIHRpbWVyID0g
c2V0SW50ZXJ2YWwoImNyYXNoKCkiLCA2MCk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KCJmaW5p
c2goKSIsIDEwMCk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGNyYXNoKCkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICB2YXIgYSA9IFtdOwotICAgICAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgMHgxMDA7IGkrKykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgIHRyeQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBhLnB1c2gobmV3IFdlYkdMQnl0ZUFycmF5KCkpOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7fQotICAgICAgICAgICAgICAgICAgICBhLnB1
c2goQXJyYXkoaSkuam9pbigiQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiKSk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGRlbGV0ZSBhOwotICAgICAgICAgICAgICAgIG5vdGlm
aWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBmaW5pc2goKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNsZWFy
SW50ZXJ2YWwodGltZXIpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiUEFTUyI7Ci0gICAgICAgICAgICAgICAgdGFyZ2V0LmNs
b3NlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgPC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAt
MSw2ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0dHA6Ly9sb2NhbGhvc3Qv
bXlfaWNvbi5wbmcsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDgh
Ci1ERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5ldyBFLW1haWwKLVNlbmRpbmcgbm90aWZp
Y2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNw
bGF5KSBjYXB0dXJlIGNhbGxiYWNrIGludm9rZWQKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdh
dGlvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAg
ICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+
IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAg
ICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEi
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly9sb2NhbGhv
c3QvbXlfaWNvbi5wbmciLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsK
LSAgICAgICAgICAgIE4uYWRkRXZlbnRMaXN0ZW5lcigiZGlzcGxheSIsIGZ1bmN0aW9uKGUpIHsg
bG9nKCJQQVNTOiBhZGRFdmVudExpc3RlbmVyKGRpc3BsYXkpIG5vbi1jYXB0dXJlIGNhbGxiYWNr
IGludm9rZWQiKTsgfSk7Ci0gICAgICAgICAgICBOLm9uZGlzcGxheSA9ICAgICAgICAgICAgICAg
ICBmdW5jdGlvbihlKSB7IGxvZygiUEFTUzogb25kaXNwbGF5IGF0dHJpYnV0ZSBldmVudCBjYWxs
YmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bs
YXkiLCBmdW5jdGlvbihlKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBj
YXB0dXJlIGNhbGxiYWNrIGludm9rZWQiKTsgZS5zdG9wUHJvcGFnYXRpb24oKTsgfSwgdHJ1ZSAp
OwotICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOwotICAgICAg
ICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0
aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAK
LSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZl
bnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEwICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0
dHA6Ly9sb2NhbGhvc3QvbXlfaWNvbi5wbmcsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBt
ZSB0b25pZ2h0IGF0IDghCi1ERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5ldyBFLW1haWwK
LVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotUEFTUzogYWRkRXZl
bnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVyZSBjYWxsYmFjayAjMSBpbnZva2VkCi1QQVNTOiBhZGRF
dmVudExpc3RlbmVyKGNsb3NlKSBjYXB0dXJlIGNhbGxiYWNrICMyIGludm9rZWQKLVBBU1M6IGFk
ZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNrICMxIGludm9rZWQKLVBBU1M6IG9uY2xvc2Ug
YXR0cmlidXRlIGV2ZW50IGNhbGxiYWNrIGludm9rZWQuCi1QQVNTOiBhZGRFdmVudExpc3RlbmVy
KGNsb3NlKSBjYWxsYmFjayAjMyBpbnZva2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50
cy5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQw
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5u
ZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNh
dGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0
Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90
aWZpY2F0aW9uKCJodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAi
TWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIo
ImNsb3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkg
Y2FsbGJhY2sgIzEgaW52b2tlZCIpOyB9KTsKLSAgICAgICAgICAgIE4ub25jbG9zZSA9ICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBvbmNsb3NlIGF0dHJpYnV0ZSBldmVu
dCBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIo
ImNsb3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkg
Y2FwdHVyZSBjYWxsYmFjayAjMSBpbnZva2VkIik7IH0sIHRydWUgKTsKLSAgICAgICAgICAgIE4u
YWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBhZGRFdmVu
dExpc3RlbmVyKGNsb3NlKSBjYXB0dXJlIGNhbGxiYWNrICMyIGludm9rZWQiKTsgfSwgdHJ1ZSAp
OwotICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBs
b2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNrICMzIGludm9rZWQiKTsg
fSk7Ci0gICAgICAgICAgICBOLnNob3coKTsKLSAgICAgICAgICAgIE4uY2FuY2VsKCk7Ci0gICAg
ICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmlj
YXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAg
IAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAg
LTEsNCArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiAsIHRpdGxlIE5ldyBFLW1h
aWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0
aCBwZXJtaXNzaW9uLi4uCi0KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtbm8taWNvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRtbAkocmV2aXNpb24gMjE2
MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8t
aWNvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAg
ICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+
IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAg
ICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTSA9IHdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBt
ZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBNLnNob3coKTsKLSAgICAgICAgfQotICAg
IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0
aCBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsMTAgKzAsMCBAQAotQ2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBOb3RpZmljYXRpb24ucGVy
bWlzc2lvbgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLVBBU1Mgd2luZG93Lk5vdGlm
aWNhdGlvbiBpcyBkZWZpbmVkLgotUEFTUyB3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24g
aXMgZGVmaW5lZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9u
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci0JPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5PgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLWRlc2NyaXB0aW9uKCJDaGVjayBmb3IgZXhpc3RlbmNlIG9mIE5vdGlmaWNhdGlv
bi5wZXJtaXNzaW9uIik7Ci0KLXNob3VsZEJlRGVmaW5lZCgid2luZG93Lk5vdGlmaWNhdGlvbiIp
Owotc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iKTsKLQot
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJl
cGxhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYw
MjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBs
YWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotREVTS1RPUCBO
T1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdo
dCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBBbGFybSwgdGV4dCBJ
dCdzIHRpbWUgdG8gd2FrZSB1cCEKLVJFUExBQ0lORyBOT1RJRklDQVRJT04gTmV3IEUtbWFpbAot
REVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgcmVwbHksIHRleHQgQ29ycmVj
dGlvbiwgODoxNQotU2hvd2luZyBub3RpZmljYXRpb25zIHdpdGggcmVwbGFjZSBJRC4uLgotCi0K
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXJlcGxhY2UtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMSArMCwwICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBs
YWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2co
bWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3Jh
bnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
ZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5v
dGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cu
d2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Vi
a2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAKLSAgICAgICAgICAgIHZhciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRl
Tm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsK
LSAgICAgICAgICAgIE0ucmVwbGFjZUlkID0gIk5ld01haWwiOwotICAgICAgICAgICAgTS5zaG93
KCk7Ci0gICAgICAgICAgICB2YXIgb3RoZXIgPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5j
cmVhdGVOb3RpZmljYXRpb24oIiIsICJBbGFybSIsICJJdCdzIHRpbWUgdG8gd2FrZSB1cCEiKTsK
LSAgICAgICAgICAgIG90aGVyLnNob3coKTsKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93Lndl
YmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IHJlcGx5IiwgIkNv
cnJlY3Rpb24sIDg6MTUiKTsKLSAgICAgICAgICAgIE4ucmVwbGFjZUlkID0gIk5ld01haWwiOwot
ICAgICAgICAgICAgTi5zaG93KCk7ICAgICAgICAgIAotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNob3dpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHJlcGxhY2Ug
SUQuLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtcmVwbGFjZS5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MSArMCwwICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1
ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiBmaWxl
Oi8vCi1SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IFBlcm1p
c3Npb24gY2FsbGJhY2sgaW52b2tlZC4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsNiArMCwwIEBACi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIGlzIGRlZmlu
ZWQuCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVz
dC1wZXJtaXNzaW9uLW9wdGlvbmFsLmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1v
cHRpb25hbC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1zaG91
bGRCZURlZmluZWQoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIik7Ci1zaG91bGROb3RUaHJv
dygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBl
cm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwzNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2co
bWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJr
aXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXRO
b3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVy
bWlzc2lvbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBQZXJtaXNz
aW9uIGNhbGxiYWNrIGludm9rZWQuIik7IH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAg
ICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxwPlJlcXVlc3Rpbmcgbm90aWZpY2F0
aW9uIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAK
LTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4K
LQotCi08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLURF
U0tUT1AgTk9USUZJQ0FUSU9OOihSVEwpIGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1l
ZXQgbWUgdG9uaWdodCBhdCA4IQotU2hvd2luZyBhIG5vdGlmaWNhdGlvbiB3aXRoIGRpcmVjdGlv
biAicnRsIi4uLgotCi0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxl
dGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLUxGClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDM5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyht
ZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAg
ICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFu
dFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5k
dW1wTm90aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90
aWZpY2F0aW9ucygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJr
aXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IAotICAgICAgICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVO
b3RpZmljYXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwot
ICAgICAgICAgICAgTS5kaXIgPSAicnRsIjsKLSAgICAgICAgICAgIE0uc2hvdygpOwotICAgICAg
ICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNob3dpbmcgYSBub3RpZmlj
YXRpb24gd2l0aCBkaXJlY3Rpb24gInJ0bCIuLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgotICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygp
OwotPC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1MRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRi
b3gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNCArMCwwIEBACi1Ob3JtYWwgaWZyYW1l
LiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy4KLQotCi1TYW5kYm94ZWQgaWZyYW1lLCB3aXRo
IGFsbG93LXNhbWUtb3JpZ2luLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy4KLQotCi1TYW5k
Ym94ZWQgaWZyYW1lLCB3aXRob3V0IGFsbG93LXNhbWUtb3JpZ2luLiBTaG91bGQgbm90IGluaGVy
aXQgcGVybWlzc2lvbnMuCi0KLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8v
PCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1BbGxvd2VkCi0KLS0tLS0tLS0tCi1GcmFtZTog
JzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUxLS0+LS0+JwotLS0tLS0tLS0KLUFsbG93ZWQKLQot
LS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTItLT4tLT4nCi0tLS0t
LS0tLQotRGVuaWVkCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24uaHRt
bAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwy
NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdD4K
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNU
ZXh0KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbigiZmlsZTovLyIpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgICA8cD5Ob3JtYWwgaWZyYW1lLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy48L3A+
Ci0gICAgPGlmcmFtZSBzcmM9InJlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sIj48
L2lmcmFtZT4KLQotICAgIDxwPlNhbmRib3hlZCBpZnJhbWUsIHdpdGggYWxsb3ctc2FtZS1vcmln
aW4uIFNob3VsZCBpbmhlcml0IHBlcm1pc3Npb25zLjwvcD4KLSAgICA8aWZyYW1lIHNhbmRib3g9
ImFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4iCi0gICAgICAgICAgICBzcmM9InJlc291
cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sIj48L2lmcmFtZT4KLQotICAgIDxwPlNhbmRi
b3hlZCBpZnJhbWUsIHdpdGhvdXQgYWxsb3ctc2FtZS1vcmlnaW4uIFNob3VsZCBub3QgaW5oZXJp
dCBwZXJtaXNzaW9ucy48L3A+Ci0gICAgPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIgot
ICAgICAgICAgICAgc3JjPSJyZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbCI+PC9p
ZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdp
bmRvdy1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFz
aC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSArMCwwIEBACi1UaGlzIHRlc3QgbmVl
ZHMgdG8gcnVuIG1hbnVhbGx5IGFuZCBjYW5ub3QgcnVuIGluc2lkZSBEdW1wUmVuZGVyVHJlZS4g
UGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoIG9uIHJ1bm5pbmcgdGhlIHRlc3QgYWxvbmd3aXRo
IHdpdGggYSBjb3VwbGUgb2YgcGFnZSByZWxvYWRzLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2lu
ZG93LWNsb3NlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMjMgKzAsMCBAQAotPGh0bWw+IA0KLSAgICA8aGVhZD4gDQotICAg
ICAgICA8c2NyaXB0PiANCi0gICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkNCi0gICAgICAg
ICAgICB7DQotICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCi0gICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0KLSAgICAgICAgICAgICAgICBl
bHNlDQotICAgICAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhciB3aW4gPSB3
aW5kb3cub3BlbigiYWJvdXQ6YmxhbmsiKTsNCi0gICAgICAgICAgICAgICAgICAgIHZhciBub3Rp
ZmljYXRpb24gPSB3aW4ud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycp
Ow0KLSAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNob3coKTsNCi0gICAgICAgICAg
ICAgICAgICAgIHdpbi5jbG9zZSgpOw0KLSAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9u
LmNhbmNlbCgpOw0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAg
IDwvc2NyaXB0PiANCi0gICAgPC9oZWFkPiANCi0gICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PiANCi0gICAgICAgIDxwPlRoaXMgdGVzdCBuZWVkcyB0byBydW4gbWFudWFsbHkgYW5kIGNhbm5v
dCBydW4gaW5zaWRlIER1bXBSZW5kZXJUcmVlLiBQYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2gg
b24gcnVubmluZyB0aGUgdGVzdCBhbG9uZ3dpdGggd2l0aCBhIGNvdXBsZSBvZiBwYWdlIHJlbG9h
ZHMuPC9wPg0KLSAgICA8L2JvZHk+IA0KLTwvaHRtbD4NCi0NCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXdpdGgtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjAyMikKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAgQEAKLURFU0tUT1Ag
Tk9USUZJQ0FUSU9OOiBpY29uIGh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nLCB0aXRsZSBOZXcg
RS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotU2VuZGluZyBub3RpZmljYXRpb25z
IHdpdGggcGVybWlzc2lvbi4uLgotCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lv
bi5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDQwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iiku
aW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAg
ICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlm
aWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90aWZp
Y2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9u
cygpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7
Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVy
ZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE0g
PSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly8w
LjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDgh
Iik7Ci0gICAgICAgICAgICBNLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsgfQotICAgICAgICAgICAgTS5zaG93KCk7Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVy
bWlzc2lvbi4uLjwvcD4KLSAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotU2VuZGluZyBub3RpZmljYXRpb25z
IHdpdGhvdXQgcGVybWlzc2lvbi4uLgotCi1QQVNTOiBFeGNlcHRpb24gdGhyb3duLgotCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBl
cm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2MDIy
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91
dC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0
cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgICAgIC8vIE5PIFBFUk1JU1NJT04gdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNh
dGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0
Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24u
cG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAg
ICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBTaG91bGQgaGF2ZSB0
aHJvd24gc2VjdXJpdHkgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgfSBjYXRjaCAoZSkgewot
ICAgICAgICAgICAgICAgIGxvZygiUEFTUzogRXhjZXB0aW9uIHRocm93bi4iKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5k
aW5nIG5vdGlmaWNhdGlvbnMgd2l0aG91dCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMo
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2Fk
aW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQg
bm90aWZpY2F0aW9uIHBlcm1pc3Npb24gcmVxdWVzdHMgZHVyaW5nIHBhZ2UgcmVsb2FkIGRvIG5v
dCBjYXVzZSBhIGNyYXNoLgotCi1QQVNTOiBUZXN0IHBhc3NlZCBpZiB3ZSBzYXcgbm8gY3Jhc2gu
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVx
dWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQudHh0
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2Fk
aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jl
cXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLmh0bWwJKHJldmlz
aW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5v
dGlmaWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMjcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxwPlRoaXMgdGVzdHMg
dGhhdCBub3RpZmljYXRpb24gcGVybWlzc2lvbiByZXF1ZXN0cyBkdXJpbmcgcGFnZSByZWxvYWQg
ZG8gbm90IGNhdXNlIGEgY3Jhc2guPC9wPgotPHAgaWQ9Im1lc3NhZ2UiPkZBSUw6IFRlc3QgZGlk
IG5vdCBydW4gdG8gY29tcGxldGlvbiB5ZXQuPC9wPgotPHNjcmlwdD4KLQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLXZhciB0cmllcyA9IGxvY2F0aW9uLmhhc2guc3Vic3Ry
aW5nKDEpID4+PiAwOwotaWYgKHRyaWVzIDwgMTApIHsKLSAgICBsb2NhdGlvbi5oYXNoID0gIiMi
ICsgKHRyaWVzICsgMSk7Ci0gICAgbG9jYXRpb24ucmVsb2FkKCk7Ci0KLSAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewotICAgICAgICB3ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNz
aW9uKCk7Ci0gICAgfSwgMCk7Ci19IGVsc2UgewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJtZXNzYWdlIikudGV4dENvbnRlbnQgPSAiUEFTUzogVGVzdCBwYXNzZWQgaWYgd2Ugc2F3IG5v
IGNyYXNoLiI7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2JvZHk+CgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24t
cGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmcuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKRGVsZXRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMSArMCwwICMjCi10ZXh0L2h0bWwKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Np
b24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVz
b3VyY2VzL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShyZXZp
c2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2Vz
L25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMjggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7
Ci0gICAgICAgICAgICBwYXJlbnQuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlu
bmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmlnbm9yZUxlZ2FjeVdlYk5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0cygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigKLSAgICAgICAgICAgICAgICBmdW5j
dGlvbigpIHsgbG9nKCJGQUlMOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuIik7IH0KLSAg
ICAgICAgICAgICk7Ci0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW5UZXN0cygpOyI+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9u
b3RpZmljYXRpb25zLWlmcmFtZS5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci0gICAgPHRpdGxlPk5vdGlmaWNhdGlvbnM6IElmcmFtZSB0ZXN0LjwvdGl0bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLSAgICA8cCBpZD0iaGFzUGVybWlzc2lvbiI+PC9wPgotICAgIDxzY3Jp
cHQ+Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoYXNQZXJtaXNzaW9uIikuaW5u
ZXJUZXh0ID0KLSAgICAgICAgICAgICF3ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lv
bigpID8gIkFsbG93ZWQiIDogIkRlbmllZCI7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2Rv
dWJsZS1zaG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2Fj
eS9kb3VibGUtc2hvdy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBA
Ci1TZW5kaW5nIGRvdWJsZS1zaG93IG5vdGlmaWNhdGlvbi4uLgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucyBpcyBkZWZpbmVk
LgotUEFTUyBvbmRpc3BsYXkgZXZlbnQgaGFuZGxlciBjYWxsZWQKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hv
dy5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotZGVz
Y3JpcHRpb24oIlNlbmRpbmcgZG91YmxlLXNob3cgbm90aWZpY2F0aW9uLi4uIik7Ci0KLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQot
Ci1zaG91bGRCZURlZmluZWQoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIik7Ci0KLXZhciBO
ID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJodHRwOi8v
MC4wLjAuMC9teV9pY29uLnBuZyIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4
ISIpOwotTi5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsKLSAgICB0ZXN0UGFzc2VkKCJvbmRpc3Bs
YXkgZXZlbnQgaGFuZGxlciBjYWxsZWQiKTsKLSAgICB0ZXN0Q29tcGxldGVkKCk7Ci19OwotTi5z
aG93KCk7Ci1OLnNob3coKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3Rp
ZmljYXRpb25zL2xlZ2FjeS9ldmVudHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEs
MTQgKzAsMCBAQAotVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIGV2ZW50
IGhhbmRsZXJzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotR3JhbnRpbmcgcGVy
bWlzc2lvbiB0byBodHRwOi8vMTI3LjAuMC4xOjgwMDAKLVBBU1Mgd2Via2l0Tm90aWZpY2F0aW9u
cy5jaGVja1Blcm1pc3Npb24oKSBpcyAwCi1QQVNTIG9uZGlzcGxheSBldmVudCBoYW5kbGVyIHdh
cyBjYWxsZWQKLVBBU1Mgb25jbGljayBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQKLVBBU1Mgb25j
bG9zZSBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwJKHJldmlzaW9uIDIx
NjAyMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZl
bnRzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0JdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbG9va3MgZm9yIHRoZSBkaXNwYXRjaCBvZiB0aGUg
ZXZlbnQgaGFuZGxlcnMuIik7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotCWRlYnVnKCJH
cmFudGluZyBwZXJtaXNzaW9uIHRvICIgKyB0ZXN0VVJMKTsKLQl0ZXN0UnVubmVyLmdyYW50V2Vi
Tm90aWZpY2F0aW9uUGVybWlzc2lvbih0ZXN0VVJMKTsKLX0KLQotc2hvdWxkQmUoIndlYmtpdE5v
dGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMCIpOwotCi12YXIgbiA9IHdlYmtpdE5v
dGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAidGl0bGUiLCAiYm9keSIpOwotbi5v
bmRpc3BsYXkgPSBmdW5jdGlvbigpIHsKLQl0ZXN0UGFzc2VkKCJvbmRpc3BsYXkgZXZlbnQgaGFu
ZGxlciB3YXMgY2FsbGVkIik7Ci0JdGVzdFJ1bm5lci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNs
aWNrKHRoaXMpOwotfTsKLW4ub25jbGljayA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNzZWQoIm9u
Y2xpY2sgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkIik7Ci0JdGhpcy5jYW5jZWwoKTsKLX07Ci1u
Lm9uY2xvc2UgPSBmdW5jdGlvbigpIHsKLQl0ZXN0UGFzc2VkKCJvbmNsb3NlIGV2ZW50IGhhbmRs
ZXIgd2FzIGNhbGxlZCIpOwotCXRlc3RDb21wbGV0ZWQoKTsKLX07Ci1uLm9uZXJyb3IgPSBmdW5j
dGlvbigpIHsKLQl0ZXN0RmFpbGVkKCJvbmVycm9yIGV2ZW50IGhhbmRsZXIgc2hvdWxkIG5vdCBi
ZSBjYWxsZWQiKTsKLQl0ZXN0Q29tcGxldGVkKCk7Ci19Owotbi5zaG93KCk7Ci08L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZp
Y2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L25v
dGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLW1haW4gZnJhbWUgLSBo
YXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCi1UZXN0cyB0aGF0IHdlIGFyZSBub3QgY3Jhc2hpbmcg
d2hlbiBhIHBlcm1pc3Npb24gcmVxdWVzdCBpcyBhbnN3ZXJlZCBhZnRlciBuYXZpZ2F0aW5nCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRoaXMgdGVzdCBkaWQgbm90IGNy
YXNoCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmlj
YXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L25vdGlmaWNhdGlv
bi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCShyZXZpc2lvbiAyMTYwMjIp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L25vdGlmaWNh
dGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMzAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgd2UgYXJlIG5vdCBjcmFzaGluZyB3aGVuIGEgcGVybWlzc2lvbiByZXF1ZXN0IGlzIGFu
c3dlcmVkIGFmdGVyIG5hdmlnYXRpbmciKTsKLWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLQot
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldmVudCkKLXsKLSAg
dGVzdFBhc3NlZCgiVGhpcyB0ZXN0IGRpZCBub3QgY3Jhc2giKTsKLSAgdGFyZ2V0LmNsb3NlKCk7
Ci0gIGZpbmlzaEpTVGVzdCgpOwotfSk7Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICB0YXJn
ZXQgPSB3aW5kb3cub3BlbigncmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmln
YXRlLmh0bWwnKTsKLX0KLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3JlcXVlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKQEAgLTEsMTQgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVz
dCBmb3IgcGVybWlzc2lvbiBpcyBtYWRlLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0K
LQotUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggZGVmYXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDEKLVBBU1Mgd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAotUmVxdWVzdGlu
ZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRlZmF1bHQgcGVybWlzc2lvbgotUEFTUyB3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAyCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2stZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTYwMjIp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qt
bm8tY2FsbGJhY2stZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTUgKzAsMCBAQAot
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRob3V0IGEgY2Fs
bGJhY2sgd29ya3MuIFRoaXMgc3VwcG9ydHMgbGVnYWN5IEFQSS4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIGRlZmF1bHQgcGVybWlz
c2lvbgotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBp
cyAxCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KLVJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIG5vbi1kZWZhdWx0
IHBlcm1pc3Npb24KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNz
aW9uKCkgaXMgMgotUEFTUyB3ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxi
YWNrLmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay5odG1sCShub25leGlzdGVudCkK
QEAgLTEsMjggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3Rp
ZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCBjaGVja3MgdGhhdCByZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aG91dCBhIGNhbGxiYWNr
IHdvcmtzLiBUaGlzIHN1cHBvcnRzIGxlZ2FjeSBBUEkuIik7Ci0KLWZ1bmN0aW9uIHN0ZXAxKCkg
ewotICAgIGRlYnVnKCJSZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBkZWZhdWx0IHBlcm1pc3Np
b24iKTsKLSAgICBzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJt
aXNzaW9uKCkiLCAiMSIpOwotICAgIHNob3VsZE5vdFRocm93KCJ3ZWJraXROb3RpZmljYXRpb25z
LnJlcXVlc3RQZXJtaXNzaW9uKCkiKTsKLSAgICBzZXRUaW1lb3V0KHN0ZXAyLCAwKTsKLX0KLQot
ZnVuY3Rpb24gc3RlcDIoKSB7Ci0gICAgdGVzdFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVy
bWlzc2lvbih0ZXN0VVJMKTsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGgg
bm9uLWRlZmF1bHQgcGVybWlzc2lvbiIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIyIik7Ci0gICAgc2hvdWxkTm90VGhyb3co
IndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotICAgIHRlc3RDb21w
bGV0ZWQoKTsKLX0KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci0gICAgc3RlcDEoKTsKLX0KLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1
ZXN0Lmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzEgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBhIHJlcXVlc3QgZm9yIHBlcm1pc3Npb24gaXMgbWFkZS4iKTsKLQotZnVuY3Rpb24gc3Rl
cDEoKSB7Ci0gICAgZGVidWcoIlJlcXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIGRlZmF1bHQgcGVy
bWlzc2lvbiIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVj
a1Blcm1pc3Npb24oKSIsICIxIik7Ci0gICAgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVy
bWlzc2lvbihmdW5jdGlvbigpIHsKLSAgICAgICAgc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLSAgICAgICAgc2V0VGltZW91dChz
dGVwMiwgMCk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHN0ZXAyKCkgewotICAgIHRlc3RSdW5u
ZXIuZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0gICAgZGVidWcoIlJl
cXVlc3RpbmcgcGVybWlzc2lvbiB3aXRoIG5vbi1kZWZhdWx0IHBlcm1pc3Npb24iKTsKLSAgICB3
ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgewotICAgICAg
ICBzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCki
LCAiMiIpOwotICAgICAgICB0ZXN0Q29tcGxldGVkKCk7Ci0gICAgfSk7Ci19Ci0KLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHN0
ZXAxKCk7Ci19Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xl
Z2FjeS9zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIwICswLDAgQEAKLVRo
aXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBvbnNob3cgZXZlbnQgaGFuZGxl
ci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsgdGhy
ZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3IgKERPTSBFeGNlcHRpb24gMTgpOiBUaGUgb3BlcmF0
aW9uIGlzIGluc2VjdXJlLi4KLUdyYW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDovLzEyNy4wLjAu
MTo4MDAwCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigp
IGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyB0aGlz
Lm9uZGlzcGxheSBpcyB0aGlzLm9uc2hvdwotRGVueWluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAyCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlm
aWNhdGlvbignJywgJ3RpdGxlIDMnLCAnYm9keScpOyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlF
cnJvciAoRE9NIEV4Y2VwdGlvbiAxOCk6IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUuLgotUmVz
ZXR0aW5nIGFsbCBwZXJtaXNzaW9ucwotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5j
aGVja1Blcm1pc3Npb24oKSBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9zaG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi1kZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hvdyBldmVudCBo
YW5kbGVyLiIpOwotCi12YXIgbiA9IG51bGw7Ci1mdW5jdGlvbiBwYXJ0MSgpIHsKLQlzaG91bGRC
ZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMSIpOwot
CXNob3VsZFRocm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRp
b24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsiKTsKLQlzZXRUaW1lb3V0KHBhcnQyLCAwKTsKLX0K
LQotZnVuY3Rpb24gcGFydDIoKSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiAr
IHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRl
c3RVUkwpOwotCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSIsICIwIik7Ci0KLQluID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRl
Tm90aWZpY2F0aW9uKCIiLCAidGl0bGUgMiIsICJib2R5Iik7Ci0Jbi5vbmRpc3BsYXkgPSBmdW5j
dGlvbigpIHsKLQkJdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxl
ZCIpOwotCQlzaG91bGRCZSgidGhpcy5vbmRpc3BsYXkiLCAidGhpcy5vbnNob3ciKTsKLQkJc2V0
VGltZW91dChwYXJ0MywgMCk7Ci0JfTsKLQluLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKLQkJdGVz
dEZhaWxlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIik7Ci0J
CXNldFRpbWVvdXQocGFydDMsIDApOwotCX07Ci0Jbi5zaG93KCk7Ci19Ci0KLWZ1bmN0aW9uIHBh
cnQzKCkgewotCWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRl
c3RSdW5uZXIuZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0Jc2hvdWxk
QmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIiKTsK
LQlzaG91bGRUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCcnLCAndGl0bGUgMycsICdib2R5Jyk7Iik7Ci0Jc2V0VGltZW91dChwYXJ0NCwgMCk7Ci19
Ci0KLWZ1bmN0aW9uIHBhcnQ0KCkgewotCWRlYnVnKCJSZXNldHRpbmcgYWxsIHBlcm1pc3Npb25z
Iik7Ci0JdGVzdFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwot
CXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIs
ICIxIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfQotCi1wYXJ0MSgpOwotPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93
LW9uLWNsaWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9w
ZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24u
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlv
bnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAotUEFTUyBjbGlja2luZyBvbiBub3RpZmljYXRpb24g
c3VjY2Vzc2Z1bGx5IG9wZW5lZCBhIHdpbmRvdwotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93
LW9uLWNsaWNrLmh0bWwJKHJldmlzaW9uIDIxNjAyMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNz
aW9uKHRlc3RVUkwpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3ModHJ1ZSk7Ci0g
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNs
aWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24uIik7Ci0KLXNob3VsZEJlKCJ3ZWJraXROb3Rp
ZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLXZhciBuID0gd2Via2l0Tm90aWZp
Y2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICIiLCAiIik7Ci1uLm9uZGlzcGxheSA9IGZ1
bmN0aW9uKCkgewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHRoaXMpOwotfTsKLW4ub25jbGljayA9IGZ1
bmN0aW9uKCkgewotICAgIHdpbmRvdy5vcGVuKCcvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvd2lu
ZG93LXNob3ctb24tY2xpY2suaHRtbCcpOwotfTsKLW4uc2hvdygpOwotCi1mdW5jdGlvbiBvbldp
bmRvd09wZW4oKSB7Ci0gICAgdGVzdFBhc3NlZCgnY2xpY2tpbmcgb24gbm90aWZpY2F0aW9uIHN1
Y2Nlc3NmdWxseSBvcGVuZWQgYSB3aW5kb3cnKTsKLSAgICB0ZXN0Q29tcGxldGVkKCk7Ci19Ci08
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVzb3VyY2VzL25vdGlmeS1vcGVuZXItZG9uZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzL25vdGlmeS1v
cGVuZXItZG9uZS5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9ub3RpZnktb3BlbmVyLWRvbmUuaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0
Pgotb3BlbmVyLnBvc3RNZXNzYWdlKCJET05FIiwgJyonKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvcmVxdWVz
dC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1p
c3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1p
c3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0PgotZnVuY3Rpb24gcmVxdWVzdFBlcm1pc3Npb24oKQot
ewotICB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbihmdW5jdGlv
bigpIHsgfSk7Ci19Ci0KLXdpbmRvdy5vbnVubG9hZCA9IHJlcXVlc3RQZXJtaXNzaW9uOwotd2lu
ZG93LmxvY2F0aW9uID0gIm5vdGlmeS1vcGVuZXItZG9uZS5odG1sIgotPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE2
MDIyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtp
bmcgY29weSkKQEAgLTE2MiwxOSArMTYyLDkgQEAgd2Via2l0Lm9yZy9iLzk4OTI3IGZhc3QvZG9t
L0RldmljZU1vdGlvbgogd2Via2l0Lm9yZy9iLzk4OTI3IGZhc3QvZG9tL0RldmljZU9yaWVudGF0
aW9uIFsgU2tpcCBdCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgxNjk3IFNraXAgZmlsZTovLyBiYXNlZCBub3RpZmljYXRpb25zIHRlc3RzCi1mYXN0L25vdGlm
aWNhdGlvbnMKIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVu
ZGFibGUuaHRtbAogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRh
YmxlLmh0bWwKIAotIyB3ZSBkbyBub3QgZW5hYmxlIGxlZ2FjeSBub3RpZmljYXRpb25zCi1odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwKLWh0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sCi1odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAotaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRtbAotaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9zaG93Lmh0bWwKLWh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91Ymxl
LXNob3cuaHRtbAotaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24t
cmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAotCiAjIERhdGFsaXN0IGlzIG5v
dCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi85ODkzNCBmYXN0L2Zvcm1zL2RhdGFsaXN0IFsg
U2tpcCBdCiAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25z
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25z
CShyZXZpc2lvbiAyMTYwMjIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBmYXN0L2V2ZW50cy9jb25z
dHJ1Y3RvcnMvZGV2aWNlLXByb3hpbWl0CiBwcmludGluZwogCiAjIFdlYiBOb3RpZmljYXRpb25z
IGFyZSBub3Qgc3VwcG9ydGVkIG9uIGlPUy4KLWZhc3Qvbm90aWZpY2F0aW9ucwogaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zCiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9u
LXN1c3BlbmRhYmxlLmh0bWwKIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1z
dXNwZW5kYWJsZS5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwkocmV2aXNpb24gMjE2MDIyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDYgQEAgZmFzdC9ldmVu
dHMvYXR0ZW1wdC1zY3JvbGwtd2l0aC1uby1zY3JvbAogIyBQaXhlbCB0ZXN0IGRvZXNuJ3QgcmVw
YWludCBlbnRpcmUgdmlldyBzbyByZXN1bHQgaXMgY29ycnVwdGVkIGJ5IHByZXZpb3VzIHRlc3QK
IHdlYmtpdC5vcmcvYi8yMTkxNiB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdz
L2J1ZzE3ODg1NS54bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgRmFpbHVyZSBdCiAKLSMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNjk3IFNraXAgZmlsZTovLyBi
YXNlZCBub3RpZmljYXRpb25zIHRlc3RzCi1mYXN0L25vdGlmaWNhdGlvbnMKLQogIyBUaGlzIHBv
cnQgZG9lc24ndCBzdXBwb3J0IGRldGVjdGluZyBzbG93IHVubG9hZCBoYW5kbGVycy4KIGZhc3Qv
ZG9tL1dpbmRvdy9zbG93LXVubG9hZC1oYW5kbGVyLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9zbG93
LXVubG9hZC1oYW5kbGVyLW9ubHktZnJhbWUtaXMtc3RvcHBlZC5odG1sCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE2MDIyKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkK
QEAgLTE0NCw3ICsxNDQsNiBAQCBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1p
ZnJhCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi8gWyBTa2lwIF0KIAogIyBUT0RPIFRoaXMgcG9ydCBk
b2Vzbid0IHN1cHBvcnQgTm90aWZpY2F0aW9ucy4KLWZhc3Qvbm90aWZpY2F0aW9ucy8gWyBTa2lw
IF0KIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy8gWyBTa2lwIF0KIGZhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbCBbIFNraXAgXQogZmFzdC9o
aXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwgWyBTa2lwIF0K
</data>
<flag name="review"
          id="329882"
          type_id="1"
          status="+"
          setter="jonlee"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309564</attachid>
            <date>2017-05-09 17:17:07 -0700</date>
            <delta_ts>2017-05-09 17:21:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171487-20170509171706.patch</filename>
            <type>text/plain</type>
            <size>318297</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE3LTA1LTA5ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVt
b3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorICAgICAgICBSZW1vdmUgZGVmaW5pdGlvbiBvZiBFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMuCisKIDIwMTctMDUtMDkgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVuaW5kZW50IHNvbWUgY29kZSBpbiBXYXRjaGRvZzo6c2hvdWxkVGVy
bWluYXRlKCkuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAyMTY1NTgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNiBAQCBFTkFCTEVfS0VZQk9B
UkRfS0VZX0FUVFJJQlVURSA9IEVOQUJMRV9LCiBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUgPSBFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEU7CiBFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM7CiBFTkFC
TEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQVtzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQTsKLUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OU1tzZGs9bWFjb3N4Kl0g
PSBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlM7CiBFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUyA9IEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFVFRFUlBSRVNT
W3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9MRVRURVJQUkVTUzsKIEVOQUJMRV9MSU5LX1BSRUZFVENI
ID0gOwpAQCAtMjU1LDQgKzI1NCw0IEBAIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UXyA9
ICQoRU5BQkwKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX05PID0gRU5BQkxFX1ZBUklB
VElPTl9GT05UUzsKIEVOQUJMRV9WQVJJQVRJT05fRk9OVFNfSUZfTk9UX1lFUyA9IDsKIAotRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05T
KSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FS
RF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX0RFTEVHQVRFKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBM
RVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9V
U0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVf
V0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfWFNMVCk7CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dURi9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNS0wOSAgU2FtIFdl
aW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdh
Y3kgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRp
b24gb2YgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TLgorCiAyMDE3LTA1LTA5ICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JjZSBTdGF0aWNTdHJpbmdJbXBs
IGNvbnN0cnVjdG9yIHRvIHVzZSB0aGUgY29uc3RleHByIHZlcnNpb25zIG9mIFN0cmluZ0ltcGxT
aGFwZSBjb25zdHJ1Y3RvcnMuCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHJldmlzaW9u
IDIxNjU1OCkKKysrIFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTUzOCwxMCArNTM4LDYgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28g
bmVlZCB0bwogI2RlZmluZSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSAwCiAjZW5kaWYK
IAotI2lmICFkZWZpbmVkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSNkZWZpbmUgRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIDAKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpCiAjZGVmaW5lIEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTIDAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2NTU4KQorKysgU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIw
MTctMDUtMDkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUg
c3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBSZW1vdmUgZmlsZXMuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAg
ICAgUmVtb3ZlIGRlZmluaXRpb24gb2YgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TLgorCisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgUmVtb3ZlIElETCBmaWxlcy4K
KworICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25z
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93
Tm90aWZpY2F0aW9ucy5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmg6IFJlbW92ZWQuCisg
ICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGw6IFJl
bW92ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVu
dC5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9s
bGVyLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29u
dHJvbGxlci5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxT
Y29wZU5vdGlmaWNhdGlvbnMuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25z
LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAg
ICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRv
dy5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgUmVtb3Zl
IGNvZGUgbGVnYWN5IE5vdGlmaWNhdGlvbiBjb2RlLiBSZXBsYWNlIHVzZSBvZiBOb3RpZmljYXRp
b25DZW50ZXIgd2l0aCBkaXJlY3QKKyAgICAgICAgY2FsbHMgdG8gdGhlIE5vdGlmaWNhdGlvbkNs
aWVudC4KKwogMjAxNy0wNS0wOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIEltcGxlbWVudCBTdWJyZXNvdXJjZSBJbnRlZ3JpdHkgKFNSSSkgW1BhcnQgMiAtIEZldGNo
XQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yNjEsMTEgKzI2MSw4IEBA
IHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAKICAgICBNb2R1bGVzL25hdmlnYXRvcmNv
bnRlbnR1dGlscy9OYXZpZ2F0b3JDb250ZW50VXRpbHMuaWRsCiAKLSAgICBNb2R1bGVzL25vdGlm
aWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwKICAgICBNb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmlkbAotICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaWRsCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjay5pZGwKLSAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyR2xv
YmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbAogCiAgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNl
UHJveGltaXR5RXZlbnQuaWRsCiAKQEAgLTk4NSwxMSArOTgyLDggQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogCiAgICAgTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvTmF2aWdhdG9yQ29udGVu
dFV0aWxzLmNwcAogCi0gICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNh
dGlvbnMuY3BwCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKLSAg
ICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAogICAgIE1vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcAotICAgIE1vZHVsZXMv
bm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwCiAKICAgICBN
b2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcAogICAgIE1vZHVs
ZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmNwcApJbmRleDogU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcAkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDYgQEAKICNpbmNsdWRl
ICJKU0RPTVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNET01XaW5kb3dGZXRjaC5jcHAiCiAjaW5j
bHVkZSAiSlNET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwIgotI2luY2x1ZGUgIkpTRE9NV2lu
ZG93Tm90aWZpY2F0aW9ucy5jcHAiCiAjaW5jbHVkZSAiSlNET01XaW5kb3dTcGVlY2hTeW50aGVz
aXMuY3BwIgogI2luY2x1ZGUgIkpTRE9NV2luZG93V2ViRGF0YWJhc2UuY3BwIgogI2luY2x1ZGUg
IkpTRWxlbWVudC5jcHAiCkBAIC0zNTMsNyArMzUyLDYgQEAKICNpbmNsdWRlICJKU05vbkRvY3Vt
ZW50VHlwZUNoaWxkTm9kZS5jcHAiCiAjaW5jbHVkZSAiSlNOb25FbGVtZW50UGFyZW50Tm9kZS5j
cHAiCiAjaW5jbHVkZSAiSlNOb3RpZmljYXRpb24uY3BwIgotI2luY2x1ZGUgIkpTTm90aWZpY2F0
aW9uQ2VudGVyLmNwcCIKICNpbmNsdWRlICJKU05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
ay5jcHAiCiAjaW5jbHVkZSAiSlNPdmVyZmxvd0V2ZW50LmNwcCIKICNpbmNsdWRlICJKU09mZmxp
bmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAiCkBAIC02NDUsNyArNjQzLDYgQEAKICNpbmNsdWRl
ICJKU1dvcmtlckdsb2JhbFNjb3BlLmNwcCIKICNpbmNsdWRlICJKU1dvcmtlckdsb2JhbFNjb3Bl
RmV0Y2guY3BwIgogI2luY2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2Uu
Y3BwIgotI2luY2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcCIKICNp
bmNsdWRlICJKU1dvcmtlckxvY2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU1dvcmtlck5hdmlnYXRv
ci5jcHAiCiAjaW5jbHVkZSAiSlNXcml0YWJsZVN0cmVhbS5jcHAiCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTIwMiwxMSArMjAyLDggQEAgSlNf
QklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
aWduYWxpbmdTdGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTdGF0c1JlcG9ydC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENUcmFja0V2ZW50LmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
RE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAotICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBs
dWdpblJlcGxhY2VtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3F1b3RhL0RPTVdp
bmRvd1F1b3RhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3F1b3RhL05hdmlnYXRvclN0
b3JhZ2VRdW90YS5pZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzksNyArMTM5LDYgQEAgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUgPSBFTkFCTEVfSwogRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFID0gRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFOwogRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
ID0gRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUFbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE7
Ci1FTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TOwogRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRVRURVJQUkVTU1tzZGs9aXBob25lKl0g
PSBFTkFCTEVfTEVUVEVSUFJFU1M7CiBFTkFCTEVfTElOS19QUkVGRVRDSCA9IDsKQEAgLTI1NSw0
ICsyNTQsNCBAQCBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF8gPSAkKEVOQUJMCiBFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9OTyA9IEVOQUJMRV9WQVJJQVRJT05fRk9OVFM7CiBF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9ZRVMgPSA7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9Q
QVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVU
Q0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5J
TUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9Y
U0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9Q
RVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRT
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05T
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9S
VEMpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
R1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlm
aWNhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcAkocmV2aXNpb24gMjE2NTU4KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlv
bnMuY3BwCShub25leGlzdGVudCkKQEAgLTEsMTI3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRE9NV2luZG93Tm90aWZpY2F0aW9ucy5o
IgotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKLQotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0j
aW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29u
dHJvbGxlci5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1E
T01XaW5kb3dOb3RpZmljYXRpb25zOjpET01XaW5kb3dOb3RpZmljYXRpb25zKERPTVdpbmRvdyog
d2luZG93KQotICAgIDogRE9NV2luZG93UHJvcGVydHkod2luZG93LT5mcmFtZSgpKQotICAgICwg
bV93aW5kb3cod2luZG93KQotewotfQotCi1ET01XaW5kb3dOb3RpZmljYXRpb25zOjp+RE9NV2lu
ZG93Tm90aWZpY2F0aW9ucygpCi17Ci19Ci0KLWNvbnN0IGNoYXIqIERPTVdpbmRvd05vdGlmaWNh
dGlvbnM6OnN1cHBsZW1lbnROYW1lKCkKLXsKLSAgICByZXR1cm4gIkRPTVdpbmRvd05vdGlmaWNh
dGlvbnMiOwotfQotCi1ET01XaW5kb3dOb3RpZmljYXRpb25zKiBET01XaW5kb3dOb3RpZmljYXRp
b25zOjpmcm9tKERPTVdpbmRvdyogd2luZG93KQotewotICAgIERPTVdpbmRvd05vdGlmaWNhdGlv
bnMqIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxET01XaW5kb3dOb3RpZmljYXRpb25zKj4oU3Vw
cGxlbWVudDxET01XaW5kb3c+Ojpmcm9tKHdpbmRvdywgc3VwcGxlbWVudE5hbWUoKSkpOwotICAg
IGlmICghc3VwcGxlbWVudCkgewotICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBzdGQ6Om1h
a2VfdW5pcXVlPERPTVdpbmRvd05vdGlmaWNhdGlvbnM+KHdpbmRvdyk7Ci0gICAgICAgIHN1cHBs
ZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOwotICAgICAgICBwcm92aWRlVG8od2luZG93LCBz
dXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsKLSAgICB9Ci0gICAgcmV0
dXJuIHN1cHBsZW1lbnQ7Ci19Ci0KLU5vdGlmaWNhdGlvbkNlbnRlciogRE9NV2luZG93Tm90aWZp
Y2F0aW9uczo6d2Via2l0Tm90aWZpY2F0aW9ucyhET01XaW5kb3cmIHdpbmRvdykKLXsKLSAgICBy
ZXR1cm4gRE9NV2luZG93Tm90aWZpY2F0aW9uczo6ZnJvbSgmd2luZG93KS0+d2Via2l0Tm90aWZp
Y2F0aW9ucygpOwotfQotCi12b2lkIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmRpc2Nvbm5lY3RG
cmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpCi17Ci0gICAgbV9zdXNwZW5kZWROb3RpZmljYXRp
b25DZW50ZXIgPSBXVEZNb3ZlKG1fbm90aWZpY2F0aW9uQ2VudGVyKTsKLSAgICBET01XaW5kb3dQ
cm9wZXJ0eTo6ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCk7Ci19Ci0KLXZv
aWQgRE9NV2luZG93Tm90aWZpY2F0aW9uczo6cmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNw
ZW5zaW9uKEZyYW1lKiBmcmFtZSkKLXsKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6cmVjb25uZWN0
RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKGZyYW1lKTsKLSAgICBtX25vdGlmaWNhdGlvbkNl
bnRlciA9IFdURk1vdmUobV9zdXNwZW5kZWROb3RpZmljYXRpb25DZW50ZXIpOwotfQotCi12b2lk
IERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OndpbGxEZXN0cm95R2xvYmFsT2JqZWN0SW5DYWNoZWRG
cmFtZSgpCi17Ci0gICAgbV9zdXNwZW5kZWROb3RpZmljYXRpb25DZW50ZXIgPSBudWxscHRyOwot
ICAgIERPTVdpbmRvd1Byb3BlcnR5Ojp3aWxsRGVzdHJveUdsb2JhbE9iamVjdEluQ2FjaGVkRnJh
bWUoKTsKLX0KLQotdm9pZCBET01XaW5kb3dOb3RpZmljYXRpb25zOjp3aWxsRGVzdHJveUdsb2Jh
bE9iamVjdEluRnJhbWUoKQotewotICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gbnVsbHB0cjsK
LSAgICBET01XaW5kb3dQcm9wZXJ0eTo6d2lsbERlc3Ryb3lHbG9iYWxPYmplY3RJbkZyYW1lKCk7
Ci19Ci0KLXZvaWQgRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2lsbERldGFjaEdsb2JhbE9iamVj
dEZyb21GcmFtZSgpCi17Ci0gICAgbV9ub3RpZmljYXRpb25DZW50ZXIgPSBudWxscHRyOwotICAg
IERPTVdpbmRvd1Byb3BlcnR5Ojp3aWxsRGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCk7Ci19
Ci0KLU5vdGlmaWNhdGlvbkNlbnRlciogRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2Via2l0Tm90
aWZpY2F0aW9ucygpCi17Ci0gICAgaWYgKCFtX3dpbmRvdy0+aXNDdXJyZW50bHlEaXNwbGF5ZWRJ
bkZyYW1lKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgaWYgKG1fbm90aWZpY2F0
aW9uQ2VudGVyKQotICAgICAgICByZXR1cm4gbV9ub3RpZmljYXRpb25DZW50ZXIuZ2V0KCk7Ci0K
LSAgICBhdXRvKiBkb2N1bWVudCA9IG1fd2luZG93LT5kb2N1bWVudCgpOwotICAgIGlmICghZG9j
dW1lbnQpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIAotICAgIGF1dG8qIHBhZ2UgPSBk
b2N1bWVudC0+cGFnZSgpOwotICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0KLSAgICBhdXRvKiBwcm92aWRlciA9IE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmNsaWVudEZy
b20oKnBhZ2UpOwotICAgIGlmICghcHJvdmlkZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOwot
Ci0gICAgbV9ub3RpZmljYXRpb25DZW50ZXIgPSBOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZSgq
ZG9jdW1lbnQsIHByb3ZpZGVyKTsKLSAgICByZXR1cm4gbV9ub3RpZmljYXRpb25DZW50ZXIuZ2V0
KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5k
b3dOb3RpZmljYXRpb25zLmgJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmgJKG5vbmV4aXN0ZW50
KQpAQCAtMSw2NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA5
LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykg
MjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQot
Ci0jaW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKLSNpbmNsdWRlICJTdXBwbGVtZW50YWJs
ZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWNsYXNzIERPTVdpbmRvdzsKLWNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKLQotY2xh
c3MgRE9NV2luZG93Tm90aWZpY2F0aW9ucyA6IHB1YmxpYyBTdXBwbGVtZW50PERPTVdpbmRvdz4s
IHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgRE9NV2lu
ZG93Tm90aWZpY2F0aW9ucyhET01XaW5kb3cqKTsKLSAgICB2aXJ0dWFsIH5ET01XaW5kb3dOb3Rp
ZmljYXRpb25zKCk7Ci0KLSAgICBzdGF0aWMgTm90aWZpY2F0aW9uQ2VudGVyKiB3ZWJraXROb3Rp
ZmljYXRpb25zKERPTVdpbmRvdyYpOwotICAgIHN0YXRpYyBET01XaW5kb3dOb3RpZmljYXRpb25z
KiBmcm9tKERPTVdpbmRvdyopOwotCi0gICAgdm9pZCBkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBvdmVycmlkZTsKLSAgICB2b2lkIHJlY29ubmVjdEZyYW1lRnJvbURvY3Vt
ZW50U3VzcGVuc2lvbihGcmFtZSopIG92ZXJyaWRlOwotICAgIHZvaWQgd2lsbERlc3Ryb3lHbG9i
YWxPYmplY3RJbkNhY2hlZEZyYW1lKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3aWxsRGVzdHJveUds
b2JhbE9iamVjdEluRnJhbWUoKSBvdmVycmlkZTsKLSAgICB2b2lkIHdpbGxEZXRhY2hHbG9iYWxP
YmplY3RGcm9tRnJhbWUoKSBvdmVycmlkZTsKLQotcHJpdmF0ZToKLSAgICBOb3RpZmljYXRpb25D
ZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoKTsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogc3Vw
cGxlbWVudE5hbWUoKTsKLQotICAgIERPTVdpbmRvdyogbV93aW5kb3c7Ci0gICAgUmVmUHRyPE5v
dGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmljYXRpb25DZW50ZXI7Ci0gICAgUmVmUHRyPE5vdGlm
aWNhdGlvbkNlbnRlcj4gbV9zdXNwZW5kZWROb3RpZmljYXRpb25DZW50ZXI7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRp
b25zLmlkbAkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsCShub25leGlzdGVudCkKQEAgLTEs
MzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8
TEVHQUNZX05PVElGSUNBVElPTlMsCi1dIHBhcnRpYWwgaW50ZXJmYWNlIERPTVdpbmRvdyB7Ci0j
aWYgZGVmaW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb3RpZmljYXRpb25DZW50ZXIg
d2Via2l0Tm90aWZpY2F0aW9uczsKLSNlbmRpZgotfTsKLQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAJKHJldmlz
aW9uIDIxNjU1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3OCArMzEsMzMgQEAKIAogI2luY2x1
ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvbi5oIgogCi0jaW5jbHVkZSAiRE9NV2luZG93LmgiCi0jaW5jbHVkZSAiRE9N
V2luZG93Tm90aWZpY2F0aW9ucy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
RXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZS5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNh
dGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCIKLSNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKICNpbmNsdWRlICJXaW5kb3dGb2N1c0Fs
bG93ZWRJbmRpY2F0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQotCi1Ob3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIFVSTCYmIGljb25VUkwsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE5vdGlmaWNhdGlvbkNlbnRlciYgbm90aWZpY2F0aW9u
Q2VudGVyKQotICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQotICAgICwgbV9pY29uKFdU
Rk1vdmUoaWNvblVSTCkpCi0gICAgLCBtX3RpdGxlKHRpdGxlKQotICAgICwgbV9ib2R5KGJvZHkp
Ci0gICAgLCBtX25vdGlmaWNhdGlvbkNlbnRlcigmbm90aWZpY2F0aW9uQ2VudGVyKQotewotfQot
Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQotCiBOb3RpZmljYXRpb246Ok5v
dGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAg
OiBBY3RpdmVET01PYmplY3QoJmRvY3VtZW50KQogICAgICwgbV90aXRsZSh0aXRsZSkKICAgICAs
IG1fc3RhdGUoSWRsZSkKLSAgICAsIG1fbm90aWZpY2F0aW9uQ2VudGVyKERPTVdpbmRvd05vdGlm
aWNhdGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoKmRvY3VtZW50LmRvbVdpbmRvdygpKSkKICAg
ICAsIG1fdGFza1RpbWVyKHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KFt0aGlzXSAoKSB7IHNob3co
KTsgfSkpCiB7Ci0gICAgLy8gRklYTUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50ZXIg
Y2FuIGJlIG51bGwgc28gc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJlZi4K
LSAgICAvLyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0cnlp
bmcgdG8gaGFuZGxlIHRoYXQgY2FzZS4KLSAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50ZXIt
PmNsaWVudCgpKTsKICAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKLSNl
bmRpZgotCiBOb3RpZmljYXRpb246On5Ob3RpZmljYXRpb24oKSAKIHsKIH0KIAotI2lmIEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLQotRXhjZXB0aW9uT3I8UmVmPE5vdGlmaWNhdGlvbj4+
IE5vdGlmaWNhdGlvbjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYg
Ym9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBOb3RpZmljYXRpb25DZW50ZXImIHByb3ZpZGVyKQoteyAKLSAgICBpZiAocHJvdmlkZXIu
Y2hlY2tQZXJtaXNzaW9uKCkgIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dl
ZCkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFNFQ1VSSVRZX0VSUiB9OwotCi0gICAgVVJM
IGNvbXBsZXRlZEljb25VUkwgPSBpY29uVVJMLmlzRW1wdHkoKSA/IFVSTCgpIDogY29udGV4dC5j
b21wbGV0ZVVSTChpY29uVVJMKTsKLSAgICBpZiAoIWNvbXBsZXRlZEljb25VUkwuaXNFbXB0eSgp
ICYmICFjb21wbGV0ZWRJY29uVVJMLmlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IFNZTlRBWF9FUlIgfTsKLQotICAgIGF1dG8gbm90aWZpY2F0aW9uID0gYWRvcHRSZWYoKm5l
dyBOb3RpZmljYXRpb24odGl0bGUsIGJvZHksIFdURk1vdmUoY29tcGxldGVkSWNvblVSTCksIGNv
bnRleHQsIHByb3ZpZGVyKSk7Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLnN1c3BlbmRJZk5lZWRl
ZCgpOwotICAgIHJldHVybiBXVEZNb3ZlKG5vdGlmaWNhdGlvbik7Ci19Ci0KLSNlbmRpZgotCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCi0KIHN0YXRpYyBTdHJpbmcgZGlyZWN0aW9uU3RyaW5n
KE5vdGlmaWNhdGlvbjo6RGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKICAgICAvLyBGSVhNRTogU3Rv
cmluZyB0aGlzIGFzIGEgc3RyaW5nIGlzIG5vdCB0aGUgcmlnaHQgd2F5IHRvIGRvIGl0LgpAQCAt
MTIyLDM4ICs3NywzOCBAQCBzdGF0aWMgU3RyaW5nIGRpcmVjdGlvblN0cmluZyhOb3RpZmljYXRp
CiBSZWY8Tm90aWZpY2F0aW9uPiBOb3RpZmljYXRpb246OmNyZWF0ZShEb2N1bWVudCYgY29udGV4
dCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBh
dXRvIG5vdGlmaWNhdGlvbiA9IGFkb3B0UmVmKCpuZXcgTm90aWZpY2F0aW9uKGNvbnRleHQsIHRp
dGxlKSk7Ci0gICAgbm90aWZpY2F0aW9uLmdldCgpLm1fYm9keSA9IG9wdGlvbnMuYm9keTsKLSAg
ICBub3RpZmljYXRpb24uZ2V0KCkubV90YWcgPSBvcHRpb25zLnRhZzsKLSAgICBub3RpZmljYXRp
b24uZ2V0KCkubV9sYW5nID0gb3B0aW9ucy5sYW5nOwotICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5t
X2RpcmVjdGlvbiA9IGRpcmVjdGlvblN0cmluZyhvcHRpb25zLmRpcik7CisgICAgbm90aWZpY2F0
aW9uLT5tX2JvZHkgPSBvcHRpb25zLmJvZHk7CisgICAgbm90aWZpY2F0aW9uLT5tX3RhZyA9IG9w
dGlvbnMudGFnOworICAgIG5vdGlmaWNhdGlvbi0+bV9sYW5nID0gb3B0aW9ucy5sYW5nOworICAg
IG5vdGlmaWNhdGlvbi0+bV9kaXJlY3Rpb24gPSBkaXJlY3Rpb25TdHJpbmcob3B0aW9ucy5kaXIp
OwogICAgIGlmICghb3B0aW9ucy5pY29uLmlzRW1wdHkoKSkgewogICAgICAgICBhdXRvIGljb25V
UkwgPSBjb250ZXh0LmNvbXBsZXRlVVJMKG9wdGlvbnMuaWNvbik7CiAgICAgICAgIGlmIChpY29u
VVJMLmlzVmFsaWQoKSkKLSAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5nZXQoKS5tX2ljb24gPSBp
Y29uVVJMOworICAgICAgICAgICAgbm90aWZpY2F0aW9uLT5tX2ljb24gPSBpY29uVVJMOwogICAg
IH0KLSAgICBub3RpZmljYXRpb24uZ2V0KCkuc3VzcGVuZElmTmVlZGVkKCk7CisgICAgbm90aWZp
Y2F0aW9uLT5zdXNwZW5kSWZOZWVkZWQoKTsKICAgICByZXR1cm4gbm90aWZpY2F0aW9uOwogfQog
Ci0jZW5kaWYKLQogdm9pZCBOb3RpZmljYXRpb246OnNob3coKSAKIHsKICAgICAvLyBwcmV2ZW50
IGRvdWJsZS1zaG93aW5nCi0gICAgaWYgKG1fc3RhdGUgPT0gSWRsZSAmJiBtX25vdGlmaWNhdGlv
bkNlbnRlci0+Y2xpZW50KCkpIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLSAgICAgICAg
YXV0byogcGFnZSA9IGRvd25jYXN0PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KS5wYWdlKCk7Ci0gICAgICAgIGlmICghcGFnZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgaWYgKE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSktPmNsaWVudCgpLmNoZWNr
UGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpICE9IE5vdGlmaWNhdGlvbkNsaWVu
dDo6UGVybWlzc2lvbkFsbG93ZWQpIHsKLSAgICAgICAgICAgIGRpc3BhdGNoRXJyb3JFdmVudCgp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgaWYgKG1f
bm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKS0+c2hvdyh0aGlzKSkgewotICAgICAgICAgICAg
bV9zdGF0ZSA9IFNob3dpbmc7Ci0gICAgICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7
Ci0gICAgICAgIH0KKyAgICBpZiAobV9zdGF0ZSAhPSBJZGxlKQorICAgICAgICByZXR1cm47CisK
KyAgICBhdXRvKiBwYWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpLnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGF1
dG8mIGNsaWVudCA9IE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSktPmNsaWVudCgp
OworCisgICAgaWYgKGNsaWVudC5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSB7CisgICAgICAg
IGRpc3BhdGNoRXJyb3JFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChj
bGllbnQuc2hvdyh0aGlzKSkgeworICAgICAgICBtX3N0YXRlID0gU2hvd2luZzsKKyAgICAgICAg
c2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwogICAgIH0KIH0KIApAQCAtMTYyLDIyICsxMTcsMTcg
QEAgdm9pZCBOb3RpZmljYXRpb246OmNsb3NlKCkKICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKICAg
ICBjYXNlIElkbGU6CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgU2hvd2luZzoKLSAgICAgICAg
aWYgKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSkKLSAgICAgICAgICAgIG1fbm90aWZp
Y2F0aW9uQ2VudGVyLT5jbGllbnQoKS0+Y2FuY2VsKHRoaXMpOworICAgIGNhc2UgU2hvd2luZzog
eworICAgICAgICBhdXRvKiBwYWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpLnBhZ2UoKTsKKyAgICAgICAgaWYgKHBhZ2UpCisgICAgICAgICAgICBOb3Rp
ZmljYXRpb25Db250cm9sbGVyOjpmcm9tKHBhZ2UpLT5jbGllbnQoKS5jYW5jZWwodGhpcyk7CiAg
ICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENsb3NlZDoKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogfQogCi12b2lkIE5vdGlmaWNhdGlvbjo6Y29udGV4dERlc3Ryb3llZCgpCi17Ci0gICAg
QWN0aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJveWVkKCk7Ci0gICAgaWYgKG1fbm90aWZpY2F0
aW9uQ2VudGVyLT5jbGllbnQoKSkKLSAgICAgICAgbV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVu
dCgpLT5ub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQodGhpcyk7Ci19Ci0KIGNvbnN0IGNoYXIq
IE5vdGlmaWNhdGlvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
ICJOb3RpZmljYXRpb24iOwpAQCAtMTg5LDYgKzEzOSwxNSBAQCBib29sIE5vdGlmaWNhdGlvbjo6
Y2FuU3VzcGVuZEZvckRvY3VtZW50CiAgICAgcmV0dXJuIG1fc3RhdGUgPT0gSWRsZSB8fCBtX3N0
YXRlID09IENsb3NlZDsKIH0KIAordm9pZCBOb3RpZmljYXRpb246OnN0b3AoKQoreworICAgIEFj
dGl2ZURPTU9iamVjdDo6c3RvcCgpOworCisgICAgYXV0byogcGFnZSA9IGRvd25jYXN0PERvY3Vt
ZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCk7CisgICAgaWYgKHBhZ2UpCisg
ICAgICAgIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSktPmNsaWVudCgpLm5vdGlm
aWNhdGlvbk9iamVjdERlc3Ryb3llZCh0aGlzKTsKK30KKwogdm9pZCBOb3RpZmljYXRpb246OmZp
bmFsaXplKCkKIHsKICAgICBpZiAobV9zdGF0ZSA9PSBDbG9zZWQpCkBAIC0yMTksOCArMTc4LDYg
QEAgdm9pZCBOb3RpZmljYXRpb246OmRpc3BhdGNoRXJyb3JFdmVudCgpCiAgICAgZGlzcGF0Y2hF
dmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgZmFsc2Up
KTsKIH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQotCiBTdHJpbmcgTm90aWZpY2F0aW9u
OjpwZXJtaXNzaW9uKERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4gcGVybWlzc2lv
blN0cmluZyhOb3RpZmljYXRpb25Db250cm9sbGVyOjpmcm9tKGRvY3VtZW50LnBhZ2UoKSktPmNs
aWVudCgpLmNoZWNrUGVybWlzc2lvbigmZG9jdW1lbnQpKTsKQEAgLTI0NSw4ICsyMDIsNiBAQCB2
b2lkIE5vdGlmaWNhdGlvbjo6cmVxdWVzdFBlcm1pc3Npb24oRG9jCiAgICAgTm90aWZpY2F0aW9u
Q29udHJvbGxlcjo6ZnJvbShkb2N1bWVudC5wYWdlKCkpLT5jbGllbnQoKS5yZXF1ZXN0UGVybWlz
c2lvbigmZG9jdW1lbnQsIFdURk1vdmUoY2FsbGJhY2spKTsKIH0KIAotI2VuZGlmCi0KIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElP
TlMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5oCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
CiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIK
QEAgLTQ0LDE3ICs0NCwxMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVu
dDsKLWNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKIGNsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjazsKIAogY2xhc3MgTm90aWZpY2F0aW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50
ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFy
Z2V0V2l0aElubGluZURhdGEgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBzdGF0aWMgRXhjZXB0aW9u
T3I8UmVmPE5vdGlmaWNhdGlvbj4+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBT
dHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIE5vdGlmaWNhdGlvbkNlbnRlciYpOwotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICBlbnVtIGNsYXNzIERpcmVjdGlvbiB7IEF1dG8sIEx0ciwgUnRsIH07CiAgICAg
c3RydWN0IE9wdGlvbnMgewogICAgICAgICBEaXJlY3Rpb24gZGlyOwpAQCAtNjQsNyArNTgsNiBA
QCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyBpY29uOwogICAgIH07CiAgICAgc3RhdGljIFJlZjxO
b3RpZmljYXRpb24+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0
IE9wdGlvbnMmKTsKLSNlbmRpZgogICAgIAogICAgIHZpcnR1YWwgfk5vdGlmaWNhdGlvbigpOwog
CkBAIC05NCwxMSArODcsOSBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZp
bmFsaXplKCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBzdGF0aWMgU3RyaW5n
IHBlcm1pc3Npb24oRG9jdW1lbnQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5n
IHBlcm1pc3Npb25TdHJpbmcoTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uKTsKICAgICBz
dGF0aWMgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihEb2N1bWVudCYsIFJlZlB0cjxOb3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpOwotI2VuZGlmCiAKICAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQWN0
aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIApAQCAtMTA2LDE5ICs5
NywxNCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CiAKIHByaXZhdGU6
Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIE5vdGlmaWNhdGlvbihjb25z
dCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIFVSTCYmIGljb25VUkwsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBOb3RpZmljYXRpb25DZW50ZXImKTsKLSNlbmRpZgotCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKERvY3VtZW50JiwgY29uc3Qg
U3RyaW5nJiB0aXRsZSk7Ci0jZW5kaWYKIAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50
VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gTm90aWZpY2F0aW9uRXZlbnRU
YXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAKLSAgICB2b2lkIGNvbnRleHREZXN0cm95ZWQoKSBmaW5h
bDsKKyAgICAvLyBBY3RpdmVET01PYmplY3QKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAKICAgICB2b2lk
IHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZFdmVudFRh
cmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQpAQCAtMTMzLDEzICsxMTksOSBAQCBwcml2YXRlOgog
ICAgIGVudW0gU3RhdGUgeyBJZGxlLCBTaG93aW5nLCBDbG9zZWQgfTsKICAgICBTdGF0ZSBtX3N0
YXRlIHsgSWRsZSB9OwogCi0gICAgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmlj
YXRpb25DZW50ZXI7Ci0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8VGltZXI+IG1fdGFza1RpbWVyOwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5pZGwJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwzNiArMzAs
MzggQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9U
SUZJQ0FUSU9OUywKKyAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAogICAgIEFjdGl2ZURP
TU9iamVjdCwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKLSNpZiBkZWZpbmVkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAgIENvbnN0cnVj
dG9yKERPTVN0cmluZyB0aXRsZSwgb3B0aW9uYWwgTm90aWZpY2F0aW9uT3B0aW9ucyBvcHRpb25z
KSwKICAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPURvY3VtZW50LAotI2VuZGlmCiBdIGludGVyZmFj
ZSBOb3RpZmljYXRpb24gOiBFdmVudFRhcmdldCB7CiAgICAgdm9pZCBzaG93KCk7Ci0gICAgW0Nv
bmRpdGlvbmFsPUxFR0FDWV9OT1RJRklDQVRJT05TLCBJbXBsZW1lbnRlZEFzPWNsb3NlXSB2b2lk
IGNhbmNlbCgpOwotICAgIFtDb25kaXRpb25hbD1OT1RJRklDQVRJT05TXSB2b2lkIGNsb3NlKCk7
CisgICAgdm9pZCBjbG9zZSgpOwogCi0gICAgW0NvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsIENh
bGxXaXRoPURvY3VtZW50XSBzdGF0aWMgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwZXJt
aXNzaW9uOwotICAgIFtDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLCBDYWxsV2l0aD1Eb2N1bWVu
dF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24ob3B0aW9uYWwgTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPyBjYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBzdGF0
aWMgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwZXJtaXNzaW9uOworICAgIFtDYWxsV2l0
aD1Eb2N1bWVudF0gc3RhdGljIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24ob3B0aW9uYWwgTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPyBjYWxsYmFjayk7CiAKICAgICBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9uY2xpY2s7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVycm9yOwog
ICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jbG9zZTsKICAgICBbSW1wbGVtZW50ZWRBcz1v
bnNob3ddIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25kaXNwbGF5OwotICAgIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25lcnJvcjsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hvdzsK
IAotICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfTk9USUZJQ0FUSU9OU10gYXR0cmlidXRlIERPTVN0
cmluZyBkaXI7Ci0gICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9OT1RJRklDQVRJT05TXSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHJlcGxhY2VJZDsKLQotICAgIFtDb25kaXRpb25hbD1OT1RJRklDQVRJT05T
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhZzsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhZzsK
IH07CiAKLVtDb25kaXRpb25hbD1OT1RJRklDQVRJT05TXSBlbnVtIE5vdGlmaWNhdGlvbkRpcmVj
dGlvbiB7ICJhdXRvIiwgImx0ciIsICJydGwiIH07CitbCisgICAgQ29uZGl0aW9uYWw9Tk9USUZJ
Q0FUSU9OUworXSBlbnVtIE5vdGlmaWNhdGlvbkRpcmVjdGlvbiB7CisgICAgImF1dG8iLAorICAg
ICJsdHIiLAorICAgICJydGwiCit9OwogCi1bQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU10gZGlj
dGlvbmFyeSBOb3RpZmljYXRpb25PcHRpb25zIHsKK1sKKyAgICBDb25kaXRpb25hbD1OT1RJRklD
QVRJT05TCitdIGRpY3Rpb25hcnkgTm90aWZpY2F0aW9uT3B0aW9ucyB7CiAgICAgTm90aWZpY2F0
aW9uRGlyZWN0aW9uIGRpciA9ICJhdXRvIjsKICAgICBET01TdHJpbmcgbGFuZyA9ICIiOwogICAg
IERPTVN0cmluZyBib2R5ID0gIiI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAkocmV2aXNp
b24gMjE2NTU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNTggKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
Q29weXJpZ2h0IChDKSAyMDEyLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICog
ZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQotCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCi0K
LSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9uLmgiCi0j
aW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCi0jaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotUmVmPE5vdGlmaWNhdGlvbkNlbnRlcj4gTm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTm90aWZpY2F0aW9uQ2xpZW50KiBjbGllbnQp
Ci17Ci0gICAgYXV0byBub3RpZmljYXRpb25DZW50ZXIgPSBhZG9wdFJlZigqbmV3IE5vdGlmaWNh
dGlvbkNlbnRlcihjb250ZXh0LCBjbGllbnQpKTsKLSAgICBub3RpZmljYXRpb25DZW50ZXItPnN1
c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiBub3RpZmljYXRpb25DZW50ZXI7Ci19Ci0KLU5v
dGlmaWNhdGlvbkNlbnRlcjo6Tm90aWZpY2F0aW9uQ2VudGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIE5vdGlmaWNhdGlvbkNsaWVudCogY2xpZW50KQotICAgIDogQWN0aXZlRE9N
T2JqZWN0KCZjb250ZXh0KQotICAgICwgbV9jbGllbnQoY2xpZW50KQotICAgICwgbV90aW1lcihb
dGhpc10oKSB7IHRpbWVyRmlyZWQoKTsgfSkKLXsKLX0KLQotI2lmIEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKLQotRXhjZXB0aW9uT3I8UmVmPE5vdGlmaWNhdGlvbj4+IE5vdGlmaWNhdGlv
bkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgaWNvblVSSSwgY29uc3Qg
U3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5KQotewotICAgIGlmICghbV9jbGllbnQg
fHwgIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IElOVkFMSURfU1RBVEVfRVJSIH07Ci0gICAgcmV0dXJuIE5vdGlmaWNhdGlvbjo6Y3JlYXRlKHRp
dGxlLCBib2R5LCBpY29uVVJJLCAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqdGhpcyk7Ci19
Ci0KLWludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCi17Ci0gICAgaWYg
KCFtX2NsaWVudCB8fCAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQotICAgICAgICByZXR1cm4g
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwotCi0gICAgc3dpdGNoIChzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhblNob3dOb3RpZmljYXRp
b25zKCkpIHsKLSAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNBbGxvdzoKLSAgICAgICAg
cmV0dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQ7Ci0gICAgY2FzZSBT
ZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToKLSAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkRlbmllZDsKLSAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBc2s6Ci0g
ICAgICAgIHJldHVybiBtX2NsaWVudC0+Y2hlY2tQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7Ci0gICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IG1fY2xpZW50LT5jaGVja1Blcm1pc3Npb24oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKLX0K
LQotdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFJlZlB0cjxWb2lk
Q2FsbGJhY2s+JiYgY2FsbGJhY2spCi17Ci0gICAgaWYgKCFtX2NsaWVudCB8fCAhc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBzd2l0Y2ggKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuU2hvd05vdGlmaWNhdGlvbnMo
KSkgewotICAgIGNhc2UgU2VjdXJpdHlPcmlnaW46OkFsd2F5c0FsbG93OgotICAgIGNhc2UgU2Vj
dXJpdHlPcmlnaW46OkFsd2F5c0Rlbnk6Ci0gICAgICAgIGlmIChtX2NhbGxiYWNrcy5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIHJlZigpOyAvLyBCYWxhbmNlZCBieSB0aGUgZGVyZWZzIGluIE5v
dGlmaWNhdGlvbkNlbnRlcjo6c3RvcCBhbmQgTm90aWZpY2F0aW9uQ2VudGVyOjp0aW1lckZpcmVk
LgotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKLSAgICAgICAgfQotICAg
ICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsKLSAgICAgICAgICAgIGlmIChj
YWxsYmFjaykKLSAgICAgICAgICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKLSAgICAg
ICAgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBc2s6Ci0g
ICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0UGVybWlzc2lvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCksIFdURk1vdmUoY2FsbGJhY2spKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIG1fY2xpZW50LT5yZXF1ZXN0UGVybWlzc2lvbihzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIFdURk1vdmUoY2FsbGJhY2spKTsKLX0KLQotI2VuZGlmCi0K
LXZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wKCkKLXsKLSAgICBpZiAoIW1fY2xpZW50KQot
ICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBDbGVhciBtX2NsaWVudCBpbW1lZGlhdGVseSB0byBn
dWFyYW50ZWUgcmVlbnRyYW50IGNhbGxzIHRvIE5vdGlmaWNhdGlvbkNlbnRlciBkbyBub3RoaW5n
LgotICAgIC8vIEFsc28gcHJvdGVjdCB8dGhpc3wgc28gaXQncyBub3QgaW5kaXJlY3RseSBkZXN0
cm95ZWQgdW5kZXIgdXMgYnkgd29yayBkb25lIGJ5IHRoZSBjbGllbnQuCi0gICAgYXV0byYgY2xp
ZW50ID0gKnN0ZDo6ZXhjaGFuZ2UobV9jbGllbnQsIG51bGxwdHIpOwotICAgIFJlZjxOb3RpZmlj
YXRpb25DZW50ZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotCi0gICAgaWYgKCFtX2NhbGxiYWNr
cy5pc0VtcHR5KCkpCi0gICAgICAgIGRlcmVmKCk7IC8vIEJhbGFuY2VkIGJ5IHRoZSByZWYgaW4g
Tm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbi4KLQotICAgIG1fdGltZXIuc3Rv
cCgpOwotICAgIG1fY2FsbGJhY2tzLmNsZWFyKCk7Ci0KLSAgICBjbGllbnQuY2FuY2VsUmVxdWVz
dHNGb3JQZXJtaXNzaW9uKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgY2xpZW50LmNs
ZWFyTm90aWZpY2F0aW9ucyhzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotfQotCi1jb25zdCBj
aGFyKiBOb3RpZmljYXRpb25DZW50ZXI6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAotewot
ICAgIHJldHVybiAiTm90aWZpY2F0aW9uQ2VudGVyIjsKLX0KLQotYm9vbCBOb3RpZmljYXRpb25D
ZW50ZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIC8v
IFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgTm90aWZpY2F0aW9ucyBiZWNhdXNlIHRob3Nl
IGFyZSBBY3RpdmVET01PYmplY3QgdG9vLgotICAgIC8vIFRoZSBOb3RpZmljYXRpb25DZW50ZXIg
Y2FuIHNhZmVseSBiZSBzdXNwZW5kZWQgaWYgdGhlcmUgYXJlIG5vIHBlbmRpbmcgcGVybWlzc2lv
biByZXF1ZXN0cy4KLSAgICByZXR1cm4gbV9jYWxsYmFja3MuaXNFbXB0eSgpICYmICghbV9jbGll
bnQgfHwgIW1fY2xpZW50LT5oYXNQZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzKHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkpOwotfQotCi12b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJGaXJl
ZCgpCi17Ci0gICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICBhdXRvIGNhbGxiYWNrcyA9IFdURk1v
dmUobV9jYWxsYmFja3MpOwotICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBjYWxsYmFja3MpCi0g
ICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgZGVyZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIHJlZiBp
biBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uLgotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAkocmV2aXNpb24g
MjE2NTU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5oCShub25leGlzdGVudCkKQEAgLTEsNzggKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDExLCAyMDEyLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICog
ZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJh
Z21hIG9uY2UKLQotI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgotI2luY2x1ZGUgIkV4Y2Vw
dGlvbk9yLmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgotCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBOb3RpZmljYXRpb247Ci1jbGFz
cyBOb3RpZmljYXRpb25DbGllbnQ7Ci1jbGFzcyBWb2lkQ2FsbGJhY2s7Ci0KLWNsYXNzIE5vdGlm
aWNhdGlvbkNlbnRlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvbkNlbnRl
cj4sIHByaXZhdGUgQWN0aXZlRE9NT2JqZWN0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPE5v
dGlmaWNhdGlvbkNlbnRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBOb3RpZmlj
YXRpb25DbGllbnQqKTsKLQotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBF
eGNlcHRpb25PcjxSZWY8Tm90aWZpY2F0aW9uPj4gY3JlYXRlTm90aWZpY2F0aW9uKGNvbnN0IFN0
cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5KTsK
LQotICAgIGludCBjaGVja1Blcm1pc3Npb24oKTsKLSAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9u
KFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpOwotI2VuZGlmCi0KLSAgICBOb3RpZmljYXRpb25DbGll
bnQqIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9Ci0KLSAgICB1c2luZyBBY3Rp
dmVET01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0eTsKLQotcHJpdmF0ZToKLSAgICBOb3RpZmlj
YXRpb25DZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE5vdGlmaWNhdGlvbkNsaWVudCop
OwotCi0gICAgdm9pZCBzdG9wKCkgZmluYWw7Ci0gICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGNvbnN0IGZpbmFsOwotCi0gICAgdm9pZCB0aW1lckZpcmVkKCk7Ci0KLSAgICBO
b3RpZmljYXRpb25DbGllbnQqIG1fY2xpZW50OwotICAgIFZlY3RvcjxzdGQ6OmZ1bmN0aW9uPHZv
aWQgKCk+PiBtX2NhbGxiYWNrczsKLSAgICBUaW1lciBtX3RpbWVyOwotfTsKLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaApfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCShyZXZpc2lv
biAyMTY1NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmlkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQxICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRp
c3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
LSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAg
IEFjdGl2ZURPTU9iamVjdCwKLSAgICBDb25kaXRpb25hbD1MRUdBQ1lfTk9USUZJQ0FUSU9OUywK
LSAgICBOb0ludGVyZmFjZU9iamVjdCwKLV0gaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkNlbnRlciB7
Ci0gICBbTWF5VGhyb3dFeGNlcHRpb25dIE5vdGlmaWNhdGlvbiBjcmVhdGVOb3RpZmljYXRpb24o
RE9NU3RyaW5nIGljb25VcmwsIERPTVN0cmluZyB0aXRsZSwgRE9NU3RyaW5nIGJvZHkpOwotCi0g
ICBsb25nIGNoZWNrUGVybWlzc2lvbigpOwotICAgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihvcHRp
b25hbCBWb2lkQ2FsbGJhY2s/IGNhbGxiYWNrKTsKLX07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNsaWVudC5o
CShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDEyICs3MCw3IEBA
IHB1YmxpYzoKICAgICAvLyBSZXF1ZXN0cyB1c2VyIHBlcm1pc3Npb24gdG8gc2hvdyBkZXNrdG9w
IG5vdGlmaWNhdGlvbnMgZnJvbSBhIHBhcnRpY3VsYXIKICAgICAvLyBzY3JpcHQgY29udGV4dC4g
VGhlIGNhbGxiYWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHVzZXIgaGFzCiAg
ICAgLy8gbWFkZSBhIGRlY2lzaW9uLgotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
LSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpID0gMDsKLSNlbmRpZgotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4mJikg
PSAwOwotI2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ1Blcm1pc3Npb25SZXF1
ZXN0cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgY29uc3QgPSAwOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAKQEAgLTYzLDQgKzYzLDQgQEAg
dm9pZCBwcm92aWRlTm90aWZpY2F0aW9uKFBhZ2UqIHBhZ2UsIE5vdAogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRy
b2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgpAQCAtNTIsNCArNTIsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90
aWZpY2F0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAJKHJldmlzaW9uIDIx
NjU1OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9i
YWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwCShub25leGlzdGVudCkKQEAgLTEsODEgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICoKLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRp
b25zLmgiCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQotCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCi0jaW5jbHVkZSAi
V29ya2VyR2xvYmFsU2NvcGUuaCIKLSNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnM6Oldvcmtlckds
b2JhbFNjb3BlTm90aWZpY2F0aW9ucyhXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpCi0gICAgOiBt
X2NvbnRleHQoJnNjb3BlKQotewotfQotCi1Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnM6
On5Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMoKQotewotfQotCi1jb25zdCBjaGFyKiBX
b3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnM6OnN1cHBsZW1lbnROYW1lKCkKLXsKLSAgICBy
ZXR1cm4gIldvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyI7Ci19Ci0KLVdvcmtlckdsb2Jh
bFNjb3BlTm90aWZpY2F0aW9ucyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zOjpmcm9t
KFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSkKLXsKLSAgICBXb3JrZXJHbG9iYWxTY29wZU5vdGlm
aWNhdGlvbnMqIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZU5vdGlm
aWNhdGlvbnMqPihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNjb3BlPjo6ZnJvbSgmc2NvcGUsIHN1
cHBsZW1lbnROYW1lKCkpKTsKLSAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAgICAgYXV0byBu
ZXdTdXBwbGVtZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNh
dGlvbnM+KHNjb3BlKTsKLSAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7
Ci0gICAgICAgIHByb3ZpZGVUbygmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3
U3VwcGxlbWVudCkpOwotICAgIH0KLSAgICByZXR1cm4gc3VwcGxlbWVudDsKLX0KLQotTm90aWZp
Y2F0aW9uQ2VudGVyKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlm
aWNhdGlvbnMoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQotewotICAgIHJldHVybiBXb3JrZXJH
bG9iYWxTY29wZU5vdGlmaWNhdGlvbnM6OmZyb20oc2NvcGUpLT53ZWJraXROb3RpZmljYXRpb25z
KCk7Ci19Ci0KLU5vdGlmaWNhdGlvbkNlbnRlciogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRp
b25zOjp3ZWJraXROb3RpZmljYXRpb25zKCkKLXsKLSAgICAvLyBGSVhNRTogQXMgb2YgdGhpcyB3
cml0aW5nLCB0aGlzIGFsd2F5cyBwYXNzZXMgbnVsbHB0ciBmb3IgdGhlIGNsaWVudC4KLSAgICAv
LyBJZiBpdCB3YXNuJ3QgZm9yIHRoYXQsIHRoZSBub3RpZmljYXRpb24gY2VudGVyIGNyZWF0ZSBm
dW5jdGlvbiBjb3VsZCBiZSB0YWtpbmcgYSByZWZlcmVuY2UuCi0gICAgLy8gSG93IGlzIGl0IHVz
ZWZ1bCB0byBjcmVhdGUgYSBub3RpZmljYXRpb24gY2VudGVyIHdpdGggbm8gY2xpZW50PwotICAg
IGlmICghbV9ub3RpZmljYXRpb25DZW50ZXIpCi0gICAgICAgIG1fbm90aWZpY2F0aW9uQ2VudGVy
ID0gTm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGUoKm1fY29udGV4dCwgbV9jb250ZXh0LT50aHJl
YWQoKS5nZXROb3RpZmljYXRpb25DbGllbnQoKSk7Ci0gICAgcmV0dXJuIG1fbm90aWZpY2F0aW9u
Q2VudGVyLmdldCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3Bl
Tm90aWZpY2F0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaAkocmV2aXNpb24gMjE2
NTU4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2Jh
bFNjb3BlTm90aWZpY2F0aW9ucy5oCShub25leGlzdGVudCkKQEAgLTEsNTYgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMywgMjAxNCwgMjAxNSwgMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICoKLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0KLSNpbmNsdWRlICJTdXBwbGVt
ZW50YWJsZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIE5vdGlmaWNhdGlvbkNl
bnRlcjsKLWNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwotCi1jbGFzcyBXb3JrZXJHbG9iYWxTY29w
ZU5vdGlmaWNhdGlvbnMgOiBwdWJsaWMgU3VwcGxlbWVudDxXb3JrZXJHbG9iYWxTY29wZT4gewot
cHVibGljOgotICAgIGV4cGxpY2l0IFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucyhXb3Jr
ZXJHbG9iYWxTY29wZSYpOwotICAgIHZpcnR1YWwgfldvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9ucygpOwotCi0gICAgc3RhdGljIE5vdGlmaWNhdGlvbkNlbnRlciogd2Via2l0Tm90aWZpY2F0
aW9ucyhXb3JrZXJHbG9iYWxTY29wZSYpOwotICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZU5v
dGlmaWNhdGlvbnMqIGZyb20oV29ya2VyR2xvYmFsU2NvcGUmKTsKLQotcHJpdmF0ZToKLSAgICBO
b3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoKTsKLSAgICBzdGF0aWMgY29u
c3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKLQotICAgIFdvcmtlckdsb2JhbFNjb3BlKiBtX2Nv
bnRleHQ7Ci0gICAgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmljYXRpb25DZW50
ZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9ucy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5pZGwJKHJldmlzaW9uIDIxNjU1OCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29w
ZU5vdGlmaWNhdGlvbnMuaWRsCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqCi0gKi8KLQotWwotICAgIENvbmRp
dGlvbmFsPU5PVElGSUNBVElPTlN8TEVHQUNZX05PVElGSUNBVElPTlMsCi1dIHBhcnRpYWwgaW50
ZXJmYWNlIFdvcmtlckdsb2JhbFNjb3BlIHsKLSNpZiBkZWZpbmVkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TCi0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIE5vdGlmaWNhdGlvbkNlbnRlciB3ZWJraXROb3RpZmljYXRpb25zOwotI2VuZGlm
Ci19OwotCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxNy0wNS0wOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92
ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgUmVtb3ZlIGRlZmluaXRpb24gb2YgRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TLgorCiAyMDE3LTA1LTA5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KIAogICAgICAgICBVcHN0cmVhbSB0aGUgV1BFIHBvcnQKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcg
KzEzOSw2IEBAIEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RTsKIEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNv
c3gqXSA9IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVM7CiBFTkFCTEVfTEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNT
OwogRU5BQkxFX0xJTktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZB
UklBVElPTl9GT05UU19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19J
Rl9OT1RfTk8gPSBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05U
U19JRl9OT1RfWUVTID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRI
KSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JF
R0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZF
UikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NO
SUZGKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZP
TlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRU
UklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxNjU1
OCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMTU3MywxMSArMTU3Myw3IEBACiAJCTMzNTAzQzlBMTAxNzlBNzQw
MDNCNDdFMSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmlj
YXRpb25DbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkzMzUwM0NBMzEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOUYxMDE3
OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmNwcCAqLzsgfTsKIAkJMzM1MDNDQTQxMDE3
OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3Rp
ZmljYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQkzMzUwM0NBNTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDQTEx
MDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLzsgfTsKLQkJMzM1
MDNDQTYxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uQ2VudGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NBMjEwMTc5QUQ3MDAz
QjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLzsgfTsKIAkJMzM1MDNDQzcxMDE3QTFC
MTAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NDNjEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0
aW9uLmNwcCAqLzsgfTsKLQkJMzM5MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlv
bkNlbnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLzsg
fTsKLQkJMzM5MENBNTYwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5MENBNTIwRkZD
MTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oICovOyB9OwogCQkzMzlCNUI2MzEz
MURBQTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29v
a2llc1N0cmF0ZWd5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMzNEMDIxMkQxMzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0b3JhZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxM0YwMUVBMTI3MEUx
MEQwMERGQkE3MSAvKiBDb29raWVTdG9yYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzU3MTg4M0VFRjYxODc5Mzc1MUU0MDg5IC8qIFJlbmRl
ck1hdGhNTE1lbmNsb3NlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDM2NjJGOTg0MDQ3Q0VEQkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9z
ZS5jcHAgKi87IH07CkBAIC00MDUxLDggKzQwNDcsNiBAQAogCQk5N0FBQkQyNzE0RkEwOUQ1MDA3
NDU3QUUgLyogV2ViU29ja2V0SGFuZHNoYWtlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5N0FBQkQwQzE0RkEwOUQ1MDA3NDU3QUUgLyogV2ViU29ja2V0
SGFuZHNoYWtlLmggKi87IH07CiAJCTk3QUFCRDJDMTRGQTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJU
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5N0FBQkQxMTE0RkEwOUQ1MDA3NDU3QUUgLyogV29ya2VyVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuY3BwICovOyB9OwogCQk5N0FBQkQyRDE0RkEwOUQ1MDA3
NDU3QUUgLyogV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QUFCRDEyMTRGQTA5RDUwMDc0NTdB
RSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk3QjM4RTI3MTUxQzQyNzEwMDQ2MjJF
OSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5N0IzOEUyNDE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2luZG93
Tm90aWZpY2F0aW9ucy5oICovOyB9OwotCQk5N0IzOEUyODE1MUM0MjczMDA0NjIyRTkgLyogRE9N
V2luZG93Tm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5N0IzOEUyMzE1MUM0MjY0MDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZp
Y2F0aW9ucy5jcHAgKi87IH07CiAJCTk3QjhGRkQxMTZBRTdGOTYwMDM4Mzg4RCAvKiBDaGFyYWN0
ZXJSZWZlcmVuY2VQYXJzZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5N0I4RkZDRjE2QUU3RjkyMDAzODM4OEQgLyogQ2hhcmFjdGVyUmVm
ZXJlbmNlUGFyc2VySW5saW5lcy5oICovOyB9OwogCQk5N0JDNjlEQzE1MDVGMDc2MDAxQjc0QUMg
LyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTdCQzY5RDgxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZlcnNp
b25XcmFwcGVyLmNwcCAqLzsgfTsKIAkJOTdCQzY5REQxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5n
ZVZlcnNpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5N0JDNjlEOTE1MDVGMDc2MDAxQjc0QUMgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIu
aCAqLzsgfTsKQEAgLTQxMDEsOCArNDA5NSw2IEBACiAJCTk3RENFMjAyMTA4MDdDNzUwMDU3RDM5
NCAvKiBIaXN0b3J5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTdEQ0UyMDAxMDgwN0M3NTAwNTdEMzk0IC8qIEhpc3RvcnlDb250cm9s
bGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
OTdFNDAyOEYxM0E2OTZFRDAwOTEzRDY3IC8qIEljb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3RTQwMjhEMTNBNjk2RUQwMDkx
M0Q2NyAvKiBJY29uQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTk3RTQwMjkwMTNBNjk2RUQwMDkx
M0Q2NyAvKiBJY29uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTdFNDAyOEUxM0E2OTZFRDAwOTEzRDY3IC8qIEljb25Db250cm9sbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTdG
OEU2NjUxNTFENEE0QjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0Y4RTY2
MTE1MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcCAq
LzsgfTsKLQkJOTdGOEU2NjYxNTFENEE0RTAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90
aWZpY2F0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTdGOEU2NjIxNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0
aW9ucy5oICovOyB9OwogCQk5ODMxQUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQb2xp
Y3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk4MzFB
RTQ5MTU0MjI1QTIwMEZFMjY0NCAvKiBSZWZlcnJlclBvbGljeS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk4NDI2NEYxMTJENTI4MEEwMDBEODhB
NCAvKiBMaW5rTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5ODQyNjRFRjEyRDUyODBBMDAwRDg4QTQgLyogTGlua0xvYWRlckNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk4
NUJCOTZEMTNBOTQwNTgwMDdBMEI2OSAvKiBMaW5rUmVsQXR0cmlidXRlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk4NUJCOTZCMTNBOTQwNTgwMDdB
MEI2OSAvKiBMaW5rUmVsQXR0cmlidXRlLmNwcCAqLzsgfTsKQEAgLTkxOTgsMTIgKzkxOTAsNyBA
QAogCQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBmaWxlRW5jb2RpbmcgPSA0OyBwYXRoID0gTm90aWZpY2F0aW9uQ2xpZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzNTAzQzlGMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05v
dGlmaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05v
dGlmaWNhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzNTAzQ0EwMTAx
NzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU05vdGlmaWNhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkzMzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb3RpZmljYXRpb25DZW50ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMzUwM0NBMjEwMTc5QUQ3MDAzQjQ3
RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNOb3RpZmljYXRpb25DZW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzM1MDNDQzYxMDE3QTFCMTAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb3RpZmljYXRpb24uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQkzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0
aW9uQ2VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlm
aWNhdGlvbkNlbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzOTBDQTUy
MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTm90aWZpY2F0aW9uQ2VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTMzOTBDQTUzMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50
ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5vdGlmaWNhdGlvbkNlbnRlci5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzOUI1QjYyMTMxREFBMzIwMEY0OEQwMiAvKiBD
b29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29va2ll
c1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM2NjJGOTg0MDQ3Q0VE
QkU1REREQUZBQSAvKiBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTM3MTdEN0U1MTdFQ0MzQTYwMDNDMjc2RCAvKiBleHRyYWN0LWxv
Y2FsaXphYmxlLXN0cmluZ3MucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBwYXRoID0gImV4dHJhY3QtbG9jYWxpemFi
bGUtc3RyaW5ncy5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjE4OSw5ICsx
MjE3Niw2IEBACiAJCTk3QUFCRDBDMTRGQTA5RDUwMDc0NTdBRSAvKiBXZWJTb2NrZXRIYW5kc2hh
a2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0SGFuZHNoYWtl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QUFCRDExMTRGQTA5RDUwMDc0NTdB
RSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QUFCRDEyMTRGQTA5RDUwMDc0NTdB
RSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0IzOEUyMzE1MUM0MjY0MDA0NjIyRTkgLyogRE9N
V2luZG93Tm90aWZpY2F0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJOTdCMzhFMjQxNTFDNDI2NDAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93Tm90aWZpY2F0aW9u
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0IzOEUyNTE1MUM0MjY0MDA0NjIy
RTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
RE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk3QjhGRkNGMTZBRTdGOTIwMDM4Mzg4RCAvKiBDaGFyYWN0ZXJSZWZlcmVuY2VQYXJzZXJJbmxp
bmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoYXJhY3RlclJlZmVyZW5j
ZVBhcnNlcklubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdCQzY5RDgx
NTA1RjA3NjAwMUI3NEFDIC8qIENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTdCQzY5RDkxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5n
ZVZlcnNpb25XcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoYW5n
ZVZlcnNpb25XcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjI1Niw5
ICsxMjI0MCw2IEBACiAJCTk3RTQwMjhFMTNBNjk2RUQwMDkxM0Q2NyAvKiBJY29uQ29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJY29uQ29udHJvbGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0U5RUM4QjE1REM0OTJGMDA0RjJFNzEgLyog
SlNWb2lkQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNWb2lkQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0U5RUM4
QzE1REM0OTJGMDA0RjJFNzEgLyogSlNWb2lkQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNWb2lkQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJOTdGOEU2NjExNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJH
bG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk5N0Y4RTY2MjE1MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRp
b25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3Bl
Tm90aWZpY2F0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0Y4RTY2MzE1
MUQ0QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnMuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5ODMxQUU0OTE1NDIyNUEyMDBGRTI2NDQgLyog
UmVmZXJyZXJQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmZXJy
ZXJQb2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTg0MjY0RUYxMkQ1Mjgw
QTAwMEQ4OEE0IC8qIExpbmtMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTGlua0xvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5ODVCQjk2QjEzQTk0MDU4MDA3QTBCNjkgLyogTGlua1JlbEF0dHJpYnV0ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMaW5rUmVsQXR0cmlidXRlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NDk5LDIzICsxNzQ4MCwxNCBAQAogCQkzMzNG
NzAzRDBGQjQ5QzE2MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJOTdCMzhFMjMxNTFDNDI2NDAwNDYyMkU5IC8q
IERPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwICovLAotCQkJCTk3QjM4RTI0MTUxQzQyNjQwMDQ2
MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggKi8sCi0JCQkJOTdCMzhFMjUxNTFDNDI2
NDAwNDYyMkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsICovLAogCQkJCTMzNTAzQ0M2
MTAxN0ExQjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwICovLAogCQkJCTMzM0Y3MDRGMEZC
NDlDQTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaCAqLywKIAkJCQkzMzNGNzA0RTBGQjQ5Q0Ey
MDA4RTEyQTYgLyogTm90aWZpY2F0aW9uLmlkbCAqLywKLQkJCQkzMzkwQ0E1MTBGRkMxNTdCMDA5
MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLywKLQkJCQkzMzkwQ0E1MjBGRkMxNTdC
MDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggKi8sCi0JCQkJMzM5MENBNTMwRkZDMTU3
QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5pZGwgKi8sCiAJCQkJMzM1MDNDOTkxMDE3
OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oICovLAogCQkJCTMxMjhDQTY3MTQ3
MzMxNTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQkzMTI4
Q0E2QTE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovLAogCQkJ
CTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2suaCAqLywKIAkJCQkzMUVDMUQ1MDE0RkVGRDA4MDBDOTQ2NjIgLyogTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmlkbCAqLywKLQkJCQk5N0Y4RTY2MTE1MUQ0QTNGMDBEMkQxODEgLyog
V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmNwcCAqLywKLQkJCQk5N0Y4RTY2MjE1MUQ0
QTNGMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmggKi8sCi0JCQkJ
OTdGOEU2NjMxNTFENEEzRjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9u
cy5pZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9IG5vdGlmaWNhdGlvbnM7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwpAQCAtMTc1MjUsOCArMTc0OTcsNiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJMzM1MDNDOUYxMDE3OUFENzAwM0I0N0UxIC8qIEpTTm90aWZpY2F0aW9uLmNwcCAqLywKIAkJ
CQkzMzUwM0NBMDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb24uaCAqLywKLQkJCQkz
MzUwM0NBMTEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwICovLAot
CQkJCTMzNTAzQ0EyMTAxNzlBRDcwMDNCNDdFMSAvKiBKU05vdGlmaWNhdGlvbkNlbnRlci5oICov
LAogCQkJCTMxRUMxRTI2MTRGRjYwRUUwMEM5NDY2MiAvKiBKU05vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjay5jcHAgKi8sCiAJCQkJMzFFQzFFMjcxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggKi8sCiAJCQkpOwpAQCAtMjcwMjgsNyArMjY5
OTgsNiBAQAogCQkJCTE0MDNCOTk3MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxRkEyRDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5kb3dFeHRl
bnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBE
T01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTk3QjM4RTI3MTUx
QzQyNzEwMDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0QyQUQwNDE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg5RjYwQjExMTU3RjY4NkUwMDc1RTE1NyAvKiBET01XaW5kb3dRdW90
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVBRDYxNkE0ODYxNjAwOTc1QTI1IC8qIERPTVdp
bmRvd1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzk4NSw3ICsyNzk1NCw2
IEBACiAJCQkJQkNEOUMyQzMwQzE3QjY5RTAwNUM5MEEyIC8qIEpTTm9kZUxpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUFEMjBCMThEMThFOUQyMzcwMDVBODA4MyAvKiBKU05vZGVMaXN0Q3VzdG9t
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMzUwM0NBNDEwMTc5QUQ3MDAzQjQ3RTEgLyogSlNOb3Rp
ZmljYXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTMzNTAzQ0E2MTAxNzlBRDcwMDNCNDdFMSAv
KiBKU05vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFFQzFFMjkxNEZG
NjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3RTQ2RjZGQjE2MjdBMkNBMDAwNjIyMjMgLyogSlNPRVNFbGVtZW50SW5k
ZXhVaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MDAxNzg4MTEyRTAzNzA3MDA2NDg0NjIgLyog
SlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NjM1LDcgKzI4
NjAzLDYgQEAKIAkJCQk5MzgyQUFCNDBEOEMzODYxMDBGMzU3QTYgLyogTm9kZVdpdGhJbmRleC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ2QjQxRjkxQ0IyNEU3MDAwOEYxMURFIC8qIE5vRXZlbnRE
aXNwYXRjaEFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEyQzBDNDExNDZEQzZDQzAw
MTZDOTExIC8qIE5vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMzM5MENBNTYwRkZD
MTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzM1MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzEyOENBNkIxNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRkU2REZBMTUwMDRDMkEwMDA0RUJDNCAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLApAQCAtMzAwMzUs
NyArMzAwMDIsNiBAQAogCQkJCUEzRTI2NDMxMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVu
dFF1ZXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyog
V29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQ0I0MUJCNEM0RTgw
MDEyODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJOTdGOEU2NjYxNTFENEE0RTAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90
aWZpY2F0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEIwRjU0NkE4MjAwQjBGMUJB
IC8qIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzYy
MURCN0Y4QzEwMDE3QTkwQiAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNTRBMEM2QzFEQjgzMUY5MDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yUHJv
eHkuaCBpbiBIZWFkZXJzICovLApAQCAtMzEwMjQsNyArMzA5OTAsNiBAQAogCQkJCTUxN0ZCQTFF
MTUxQUIxN0MwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDE4QzM5NTYxQzhEQUM3RjAwNTFDOEEzIC8qIERPTVdpbmRvd0ZldGNoLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxODVGQzc0MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRl
eGVkRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTdCMzhFMjgxNTFDNDI3MzAwNDYy
MkU5IC8qIERPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdE
MkFEMDMxNEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUFBMkE1QUQ3MTZBNDg2MUEwMDk3NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50
aGVzaXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThDQ0JCNDgxNTFGODMxNjAwQUI3Q0U5IC8q
IERPTVdpbmRvd1dlYkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzE5NzMsNyArMzE5
MzgsNiBAQAogCQkJCUJDRDlDMkMyMEMxN0I2OUUwMDVDOTBBMiAvKiBKU05vZGVMaXN0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDRDlDMjY1MEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVMaXN0
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzNTAzQ0EzMTAxNzlBRDcwMDNCNDdFMSAv
KiBKU05vdGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkzMzUwM0NBNTEwMTc5QUQ3
MDAzQjQ3RTEgLyogSlNOb3RpZmljYXRpb25DZW50ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MzFFQzFFMjgxNEZGNjBFRTAwQzk0NjYyIC8qIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxi
YWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdFNDZGNkZBMTYyN0EyQ0EwMDA2MjIyMyAvKiBK
U09FU0VsZW1lbnRJbmRleFVpbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTAwMTc4ODAxMkUw
MzcwNzAwNjQ4NDYyIC8qIEpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTMyNjI2LDcgKzMyNTkwLDYgQEAKIAkJCQk0RkZDMDIyQjE2NDNCNzEwMDA0RTE2Mzgg
LyogTm9kZVJhcmVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0MzEwNUI4MTY3NTBGMEMw
MERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzNTAzQ0M3
MTAxN0ExQjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
MzM5MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzMTI4Q0E2ODE0NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29u
dHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTUxM0Q1MTE2NzdGMDg4MDAxNDlGQ0Ig
LyogTm90SW1wbGVtZW50ZWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1NjlEMEEwRDdFMkI4
MjAwN0MzOTgzIC8qIE5QX2pzb2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzM3MzgsNyAr
MzM3MDEsNiBAQAogCQkJCTJFNDM0NjQ4MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxT
Y29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MThDMzk1QTFDOERENjk5MDA1MUM4QTMgLyog
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTg1RkNCMzFC
QjRDNEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJOTdGOEU2NjUxNTFENEE0QjAwRDJEMTgxIC8qIFdvcmtlckdsb2Jh
bFNjb3BlTm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTRBMEM2MTFEQjdG
OEMxMDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBNTRBMEM2QjFEQjgzMUY5MDAxN0E5MEIgLyogV29ya2VySW5zcGVjdG9yUHJveHku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU0MzQ2NEMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtl
ckxvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXRGYWN0b3J5LmluCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBA
IE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFTdHJlYW1UcmFjayBj
b25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lc3NhZ2VQb3J0CiBOb2RlCi1Ob3RpZmljYXRpb24g
Y29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUworTm90aWZpY2F0
aW9uIGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMKIFBlcmZvcm1hbmNlIGNvbmRpdGlvbmFsPVdF
Ql9USU1JTkcKIFJUQ0RhdGFDaGFubmVsIGNvbmRpdGlvbmFsPVdFQl9SVEMKIFJUQ0RUTUZTZW5k
ZXIgY29uZGl0aW9uYWw9V0VCX1JUQ19EVE1GCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRlICJET01Ub2tlbkxp
c3QuaCIKICNpbmNsdWRlICJET01VUkwuaCIKICNpbmNsdWRlICJET01XaW5kb3dFeHRlbnNpb24u
aCIKLSNpbmNsdWRlICJET01XaW5kb3dOb3RpZmljYXRpb25zLmgiCiAjaW5jbHVkZSAiRGV2aWNl
TW90aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclRocmVhZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmgJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB1bnNpZ25lZCB3b3JrZXJUaHJlYWRDb3VudCgpOwog
ICAgIHN0YXRpYyB2b2lkIHJlbGVhc2VGYXN0TWFsbG9jRnJlZU1lbW9yeUluQWxsVGhyZWFkcygp
OwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb25DbGllbnQq
IGdldE5vdGlmaWNhdGlvbkNsaWVudCgpIHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uQ2xpZW50OyB9
CiAgICAgdm9pZCBzZXROb3RpZmljYXRpb25DbGllbnQoTm90aWZpY2F0aW9uQ2xpZW50KiBjbGll
bnQpIHsgbV9ub3RpZmljYXRpb25DbGllbnQgPSBjbGllbnQ7IH0KICNlbmRpZgpAQCAtMTEwLDcg
KzExMCw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyVGhyZWFkU3Rh
cnR1cERhdGE+IG1fc3RhcnR1cERhdGE7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
ICAgIE5vdGlmaWNhdGlvbkNsaWVudCogbV9ub3RpZmljYXRpb25DbGllbnQgeyBudWxscHRyIH07
CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDUt
MDkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgc3VwcG9y
dCBmb3IgbGVnYWN5IE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgor
ICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHA6CisgICAgICAgIFJlbW92ZSBsZWdhY3kgbm90aWZpY2F0aW9uIHNwZWNpZmljIGNvZGUu
CisKIDIwMTctMDUtMDkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBCdWZmZXIgbWVkaWEgaW4gTmV0d29ya1Byb2Nlc3MgdG8gcmVkdWNlIElQ
QyBvdmVyaGVhZApJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzksNyArMTM5LDYgQEAgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgPSBF
TkFCTEVfSwogRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFID0gRU5BQkxFX0tFWUJPQVJE
X0NPREVfQVRUUklCVVRFOwogRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTID0gRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTOwogRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUFbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE7Ci1FTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlNbc2RrPW1hY29zeCpdID0gRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TOwogRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgPSBFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRVRURVJQUkVTU1tzZGs9aXBob25lKl0gPSBFTkFC
TEVfTEVUVEVSUFJFU1M7CiBFTkFCTEVfTElOS19QUkVGRVRDSCA9IDsKQEAgLTI1NSw0ICsyNTQs
NCBAQCBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTX0lGX05PVF8gPSAkKEVOQUJMCiBFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTX0lGX05PVF9OTyA9IEVOQUJMRV9WQVJJQVRJT05fRk9OVFM7CiBFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTX0lGX05PVF9ZRVMgPSA7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJ
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJT
RUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZ
Qk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9O
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
QkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
K0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9ERUxFR0FURSkgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9TTklGRikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklB
VElPTl9GT05UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpJbmRleDog
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcAkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNyAr
MTExLDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogICAgICAg
ICBlbmNvZGVyIDw8IGJ1bmRsZVBhcmFtZXRlckRhdGEtPmRhdGFSZWZlcmVuY2UoKTsKICNlbmRp
ZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBlbmNvZGVyIDw8IG5vdGlmaWNh
dGlvblBlcm1pc3Npb25zOwogI2VuZGlmCiAKQEAgLTI3OCw3ICsyNzgsNyBAQCBib29sIFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgfQogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5u
b3RpZmljYXRpb25QZXJtaXNzaW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpJ
bmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsNyAr
MTUwLDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFJlZlB0
cjxBUEk6OkRhdGE+IGJ1bmRsZVBhcmFtZXRlckRhdGE7CiAjZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8U3RyaW5nLCBi
b29sPiBub3RpZmljYXRpb25QZXJtaXNzaW9uczsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDIxNjU1OCkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcwOSw3ICs3MDksNyBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpj
cmVhdGVOCiAKICAgICBwYXJhbWV0ZXJzLmRlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsID0g
QVBJOjpVUkxSZXF1ZXN0OjpkZWZhdWx0VGltZW91dEludGVydmFsKCk7CiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIC8vIEZJWE1FOiBUaGVyZSBzaG91bGQgYmUgYSBnZW5lcmlj
IHdheSBmb3Igc3VwcGxlbWVudHMgdG8gYWRkIHRvIHRoZSBpbnRpYWxpemF0aW9uIHBhcmFtZXRl
cnMuCiAgICAgc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk+KCktPnBvcHVs
YXRlQ29weU9mTm90aWZpY2F0aW9uUGVybWlzc2lvbnMocGFyYW1ldGVycy5ub3RpZmljYXRpb25Q
ZXJtaXNzaW9ucyk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw3IEBACiAjaW5j
bHVkZSAiV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjZW5kaWYKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlci5o
IgogI2VuZGlmCiAKQEAgLTE4Myw3ICsxODMsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkK
ICAgICBhZGRTdXBwbGVtZW50PFdlYkNvb2tpZU1hbmFnZXI+KCk7CiAgICAgYWRkU3VwcGxlbWVu
dDxBdXRoZW50aWNhdGlvbk1hbmFnZXI+KCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIGFkZFN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKTsKICNlbmRpZgog
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTc5LDggKzc5LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3Jp
cHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTdHlsZVNoZWV0Lmg+CiAKLQotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oIgog
I2VuZGlmCiAKQEAgLTU0MCw3ICs1MzksNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRVc2Vy
U3R5bGVTaGVldExvCiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFdlYk5vdGlmaWNhdGlvblBl
cm1pc3Npb24oV2ViUGFnZSogcGFnZSwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIGJvb2wg
YWxsb3dlZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHBhZ2UtPm5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zZXRQZXJtaXNzaW9uTGV2ZWxGb3JU
ZXN0aW5nKG9yaWdpblN0cmluZywgYWxsb3dlZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShw
YWdlKTsKQEAgLTU1MSw3ICs1NTAsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRXZWJOb3Rp
ZmljYXRpb25QCiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnJlbW92ZUFsbFdlYk5vdGlmaWNhdGlv
blBlcm1pc3Npb25zKFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBwYWdlLT5ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS0+cmVt
b3ZlQWxsUGVybWlzc2lvbnNGb3JUZXN0aW5nKCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShw
YWdlKTsKQEAgLTU2MCw3ICs1NTksNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpyZW1vdmVBbGxX
ZWJOb3RpZmljCiAKIHVpbnQ2NF90IEluamVjdGVkQnVuZGxlOjp3ZWJOb3RpZmljYXRpb25JRChK
U0NvbnRleHRSZWYganNDb250ZXh0LCBKU1ZhbHVlUmVmIGpzTm90aWZpY2F0aW9uKQogewotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBub3Rp
ZmljYXRpb24gPSBKU05vdGlmaWNhdGlvbjo6dG9XcmFwcGVkKHRvSlMoanNDb250ZXh0KS0+dm0o
KSwgdG9KUyh0b0pTKGpzQ29udGV4dCksIGpzTm90aWZpY2F0aW9uKSk7CiAgICAgaWYgKCFub3Rp
ZmljYXRpb24pCiAgICAgICAgIHJldHVybiAwOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAJKHJldmlzaW9uIDIxNjU1
OCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICsz
Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU2V0dGluZ3MuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAjaW5jbHVk
ZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oIgogI2VuZGlmCiAKQEAgLTQ0LDcgKzQ0LDcgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVJlcXVlc3RJRCgp
CiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IHVuaXF1ZVJlcXVlc3RJRCA9IDE7CkBAIC01Nyw3ICs1
Nyw3IEBAIFJlZjxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIKICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIocGFn
ZSkpOwogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlcjo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
KFdlYlBhZ2UqIHBhZ2UpCiAgICAgOiBtX3BhZ2UocGFnZSkKIHsKQEAgLTg2LDM4ICs4NiwxNSBA
QCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlCiB9CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLXZvaWQgTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwg
UmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKLXsKLSAgICBOb3RpZmlj
YXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IHBlcm1pc3Npb25MZXZlbChvcmln
aW4pOwotICAgIGlmIChwZXJtaXNzaW9uICE9IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lv
bk5vdEFsbG93ZWQpIHsKLSAgICAgICAgaWYgKGNhbGxiYWNrKQotICAgICAgICAgICAgY2FsbGJh
Y2stPmhhbmRsZUV2ZW50KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAgdWlu
dDY0X3QgcmVxdWVzdElEID0gZ2VuZXJhdGVSZXF1ZXN0SUQoKTsKLSAgICBtX29yaWdpblRvSURN
YXAuc2V0KG9yaWdpbiwgcmVxdWVzdElEKTsKLSAgICBtX2lkVG9PcmlnaW5NYXAuc2V0KHJlcXVl
c3RJRCwgb3JpZ2luKTsKLSAgICBtX2lkVG9Wb2lkQ2FsbGJhY2tNYXAuc2V0KHJlcXVlc3RJRCwg
V1RGTW92ZShjYWxsYmFjaykpOwotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpSZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbihyZXF1ZXN0SUQsIG9yaWdpbi0+dG9T
dHJpbmcoKSkpOwotfQotI2VuZGlmCi0KIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB1aW50NjRfdCBpZCA9IG1fb3JpZ2luVG9JRE1h
cC50YWtlKG9yaWdpbik7CiAgICAgaWYgKCFpZCkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IG1faWRUb09yaWdpbk1hcC5yZW1vdmUoaWQpOwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
ICAgIG1faWRUb0NhbGxiYWNrTWFwLnJlbW92ZShpZCk7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCi0gICAgbV9pZFRvVm9pZENhbGxiYWNrTWFwLnJlbW92ZShpZCk7
Ci0jZW5kaWYKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpbik7CiAjZW5kaWYKQEAgLTEy
NSw3ICsxMDIsNyBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlCiAK
IGJvb2wgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpoYXNQZW5kaW5nUGVy
bWlzc2lvblJlcXVlc3RzKFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pIGNvbnN0CiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICByZXR1cm4gbV9vcmlnaW5Ub0lETWFwLmNvbnRhaW5z
KG9yaWdpbik7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW4pOwpAQCAtMTM1LDcgKzEx
Miw3IEBAIGJvb2wgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2UKIAogTm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6cGVybWlzc2lvbkxldmVsKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKIHsK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgp
LT5zZXR0aW5ncygpLm5vdGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgCkBAIC0xNDgsNyArMTI1LDcg
QEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIE5vdGlmaWNhdAogCiB2b2lkIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c2V0UGVybWlzc2lvbkxldmVsRm9yVGVz
dGluZyhjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKQogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxl
bWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyPigpLT5kaWRVcGRhdGVOb3RpZmljYXRpb25EZWNp
c2lvbihvcmlnaW5TdHJpbmcsIGFsbG93ZWQpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ob3Jp
Z2luU3RyaW5nKTsKQEAgLTE1OCwxNCArMTM1LDE0IEBAIHZvaWQgTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2UKIAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OnJlbW92ZUFsbFBlcm1pc3Npb25zRm9yVGVzdGluZygpCiB7Ci0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXI+KCktPnJlbW92ZUFsbFBlcm1pc3Npb25zRm9yVGVzdGluZygp
OwogI2VuZGlmCiB9CiAKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
OjpkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKHVpbnQ2NF90IHJlcXVl
c3RJRCwgYm9vbCBhbGxvd2VkKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAg
aWYgKCFpc1JlcXVlc3RJRFZhbGlkKHJlcXVlc3RJRCkpCiAgICAgICAgIHJldHVybjsKIApAQCAt
MTc3LDIyICsxNTQsMTEgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZQogCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRp
b25NYW5hZ2VyPigpLT5kaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihvcmlnaW4tPnRvU3Ry
aW5nKCksIGFsbG93ZWQpOwogCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAg
IFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+IHZvaWRDYWxsYmFjayA9IG1faWRUb1ZvaWRD
YWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7Ci0gICAgaWYgKHZvaWRDYWxsYmFjaykgewotICAg
ICAgICB2b2lkQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIFJlZlB0cjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gbV9pZFRvQ2FsbGJhY2tNYXAudGFr
ZShyZXF1ZXN0SUQpOwogICAgIGlmICghY2FsbGJhY2spCiAgICAgICAgIHJldHVybjsKICAgICAK
ICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5n
KGFsbG93ZWQgPyBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKSk7Ci0jZW5kaWYKLQogI2Vsc2UKICAgICBV
TlVTRURfUEFSQU0ocmVxdWVzdElEKTsKICAgICBVTlVTRURfUEFSQU0oYWxsb3dlZCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5oCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUyLDkgKzUyLDYgQEAgcHVibGljOgogI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIHZvaWQgc3RhcnRSZXF1ZXN0KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgUmVmUHRy
PFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4mJik7CiAjZW5kaWYKLSNp
ZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgdm9pZCBzdGFydFJlcXVlc3QoV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4qLCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNrPiYmKTsK
LSNlbmRpZgogICAgIHZvaWQgY2FuY2VsUmVxdWVzdChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiop
OwogICAgIGJvb2wgaGFzUGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbiopIGNvbnN0OwogICAgIApAQCAtNzIsMTMgKzY5LDEwIEBAIHByaXZhdGU6CiAjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNv
cmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4+IG1faWRUb0NhbGxiYWNrTWFwOwog
I2VuZGlmCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIEhhc2hNYXA8dWlu
dDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+PiBtX2lkVG9Wb2lkQ2FsbGJhY2tN
YXA7Ci0jZW5kaWYKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4s
IHVpbnQ2NF90PiBtX29yaWdpblRvSURNYXA7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRy
PFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPj4gbV9pZFRvT3JpZ2luTWFwOwogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJQYWdlKiBtX3BhZ2U7CiAjZW5kaWYKIH07CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTY1NTgpCisr
KyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJX
ZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb24u
aCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRl
ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgpAQCAtNDcsNyArNDcsNyBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlTm90aWZpY2F0aW9uSUQoKQogewogICAg
IHN0YXRpYyB1aW50NjRfdCB1bmlxdWVOb3RpZmljYXRpb25JRCA9IDE7CkBAIC02Myw3ICs2Myw3
IEBAIGNvbnN0IGNoYXIqIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnN1cHAKIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXIoV2ViUHJvY2VzcyogcHJvY2VzcykK
ICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgKnRoaXMpOwogI2VuZGlmCiB9CkBA
IC03NCw3ICs3NCw3IEBAIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6On5XZWJOb3RpZmljYXRpb24K
IAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICBtX3Blcm1pc3Npb25zTWFwID0gcGFyYW1ldGVycy5ub3RpZmljYXRpb25Q
ZXJtaXNzaW9uczsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOwpAQCAtODMs
NyArODMsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmluaXRpYWxpemUoCiAKIHZv
aWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24o
Y29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIGJvb2wgYWxsb3dlZCkKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgIG1fcGVybWlzc2lvbnNNYXAuc2V0KG9yaWdpblN0cmluZywg
YWxsb3dlZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShvcmlnaW5TdHJpbmcpOwpAQCAtOTMs
MjMgKzkzLDIyIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkVXBkYXRlTm8KIAog
dm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRSZW1vdmVOb3RpZmljYXRpb25EZWNpc2lv
bnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIG9yaWdpblN0cmluZ3MpCiB7Ci0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBzaXplX3Qg
Y291bnQgPSBvcmlnaW5TdHJpbmdzLnNpemUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGNvdW50OyArK2kpCi0gICAgICAgIG1fcGVybWlzc2lvbnNNYXAucmVtb3ZlKG9yaWdpblN0cmlu
Z3NbaV0pOworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIGZvciAoYXV0byYgb3JpZ2lu
U3RyaW5nIDogb3JpZ2luU3RyaW5ncykKKyAgICAgICAgbV9wZXJtaXNzaW9uc01hcC5yZW1vdmUo
b3JpZ2luU3RyaW5nKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpblN0cmluZ3MpOwog
I2VuZGlmCiB9CiAKLU5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRp
b25NYW5hZ2VyOjpwb2xpY3lGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4gKm9yaWdp
bikgY29uc3QKK05vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyOjpwb2xpY3lGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbikg
Y29uc3QKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghb3JpZ2luKQog
ICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZDsK
IAogICAgIEFTU0VSVCghb3JpZ2luLT5pc1VuaXF1ZSgpKTsKLSAgICBIYXNoTWFwPFN0cmluZywg
Ym9vbD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9wZXJtaXNzaW9uc01hcC5maW5kKG9yaWdpbi0+
dG9SYXdTdHJpbmcoKSk7CisgICAgYXV0byBpdCA9IG1fcGVybWlzc2lvbnNNYXAuZmluZChvcmln
aW4tPnRvUmF3U3RyaW5nKCkpOwogICAgIGlmIChpdCAhPSBtX3Blcm1pc3Npb25zTWFwLmVuZCgp
KQogICAgICAgICByZXR1cm4gaXQtPnZhbHVlID8gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uQWxsb3dlZCA6IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkRlbmllZDsKICNlbHNl
CkBAIC0xMjEsMTQgKzEyMCwxNCBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2Vi
Tm90aWZpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6cmVtb3ZlQWxsUGVybWlzc2lv
bnNGb3JUZXN0aW5nKCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIG1fcGVy
bWlzc2lvbnNNYXAuY2xlYXIoKTsKICNlbmRpZgogfQogCiB1aW50NjRfdCBXZWJOb3RpZmljYXRp
b25NYW5hZ2VyOjpub3RpZmljYXRpb25JREZvclRlc3RpbmcoTm90aWZpY2F0aW9uKiBub3RpZmlj
YXRpb24pCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNh
dGlvbikKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIG1fbm90aWZpY2F0aW9uTWFwLmdl
dChub3RpZmljYXRpb24pOwpAQCAtMTQwLDcgKzEzOSw3IEBAIHVpbnQ2NF90IFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6Om5vdGlmaWMKIAogYm9vbCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93
KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBwYWdlKQogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFub3RpZmljYXRpb24gfHwgIXBhZ2UtPmNvcmVQ
YWdlKCktPnNldHRpbmdzKCkubm90aWZpY2F0aW9uc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIApAQCAtMTQ4LDE0ICsxNDcsMTAgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyOjpzaG93KE5vdGlmaQogICAgIG1fbm90aWZpY2F0aW9uTWFwLnNldChub3RpZmljYXRp
b24sIG5vdGlmaWNhdGlvbklEKTsKICAgICBtX25vdGlmaWNhdGlvbklETWFwLnNldChub3RpZmlj
YXRpb25JRCwgbm90aWZpY2F0aW9uKTsKICAgICAKLSAgICBOb3RpZmljYXRpb25Db250ZXh0TWFw
OjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9u
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFZlY3Rvcjx1aW50NjRfdD4oKSkuaXRlcmF0b3I7
CisgICAgYXV0byBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9u
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFZlY3Rvcjx1aW50NjRfdD4oKSkuaXRlcmF0b3I7
CiAgICAgaXQtPnZhbHVlLmFwcGVuZChub3RpZmljYXRpb25JRCk7CiAKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICBtX3Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24t
PnRpdGxlKCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24tPmljb25VUkwoKS5z
dHJpbmcoKSwgbm90aWZpY2F0aW9uLT50YWcoKSwgbm90aWZpY2F0aW9uLT5sYW5nKCksIG5vdGlm
aWNhdGlvbi0+ZGlyKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5z
ZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCksIHBhZ2UtPnBhZ2VJ
RCgpKTsKLSNlbHNlCi0gICAgbV9wcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9u
LT50aXRsZSgpLCBub3RpZmljYXRpb24tPmJvZHkoKSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCku
c3RyaW5nKCksIG5vdGlmaWNhdGlvbi0+cmVwbGFjZUlkKCksIG5vdGlmaWNhdGlvbi0+bGFuZygp
LCBub3RpZmljYXRpb24tPmRpcigpLCBub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQpLCBwYWdl
LT5wYWdlSUQoKSk7Ci0jZW5kaWYKICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgVU5VU0VE
X1BBUkFNKG5vdGlmaWNhdGlvbik7CkBAIC0xNjYsNyArMTYxLDcgQEAgYm9vbCBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyOjpzaG93KE5vdGlmaQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKIHsKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghbm90aWZpY2F0aW9uIHx8ICFwYWdl
LT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLm5vdGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAg
IHJldHVybjsKICAgICAKQEAgLTE4Myw3ICsxNzgsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6OmNhbmNlbChOb3RpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6Y2xlYXJO
b3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdl
YlBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmlj
YXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5m
aW5kKGNvbnRleHQpOwogICAgIGlmIChpdCA9PSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZW5k
KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTIwOCw3ICsyMDMsNyBAQCB2b2lkIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6OmNsZWFyTm90aWZpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6
ZGlkRGVzdHJveU5vdGlmaWNhdGlvbihOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFn
ZSogcGFnZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEID0gbV9ub3RpZmljYXRpb25NYXAudGFrZShub3RpZmljYXRpb24pOwogICAg
IGlmICghbm90aWZpY2F0aW9uSUQpCiAgICAgICAgIHJldHVybjsKQEAgLTIyNCw3ICsyMTksNyBA
QCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZERlc3Ryb3lOCiAKIHZvaWQgV2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6ZGlkU2hvd05vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRp
b25JRCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmICghaXNOb3RpZmlj
YXRpb25JRFZhbGlkKG5vdGlmaWNhdGlvbklEKSkKICAgICAgICAgcmV0dXJuOwogICAgIApAQCAt
MjQwLDcgKzIzNSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkU2hvd05vdGkK
IAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbGlja05vdGlmaWNhdGlvbih1aW50
NjRfdCBub3RpZmljYXRpb25JRCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAg
IGlmICghaXNOb3RpZmljYXRpb25JRFZhbGlkKG5vdGlmaWNhdGlvbklEKSkKICAgICAgICAgcmV0
dXJuOwogCkBAIC0yNTgsNyArMjUzLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpk
aWRDbGlja05vdAogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsb3NlTm90aWZp
Y2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZmljYXRpb25JRHMpCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBzaXplX3QgY291bnQgPSBub3RpZmljYXRpb25J
RHMuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAg
ICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCA9IG5vdGlmaWNhdGlvbklEc1tpXTsKQEAgLTI3
OSw3ICsyNzQsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsb3NlTm90CiAj
ZW5kaWYKIH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiB2b2lkIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkZyb21Db250ZXh0TWFwKHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklELCBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKICAgICAvLyBUaGlz
IGlzIGEgaGVscGVyIGZ1bmN0aW9uIGZvciBtYW5hZ2luZyB0aGUgaGFzaCBtYXBzLgpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNh
dGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC04MCwxMyArODAsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGRpZENsb3NlTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZmljYXRp
b25JRHMpOwogICAgIHZvaWQgZGlkUmVtb3ZlTm90aWZpY2F0aW9uRGVjaXNpb25zKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBvcmlnaW5TdHJpbmdzKTsKICAgICAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogICAgIHZvaWQgcmVtb3ZlTm90aWZpY2F0aW9uRnJvbUNvbnRleHRNYXAodWludDY0
X3Qgbm90aWZpY2F0aW9uSUQsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopOwogI2VuZGlmCiAKICAg
ICBXZWJQcm9jZXNzKiBtX3Byb2Nlc3M7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
ICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgdWludDY0
X3Q+IE5vdGlmaWNhdGlvbk1hcDsKICAgICBOb3RpZmljYXRpb25NYXAgbV9ub3RpZmljYXRpb25N
YXA7CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCShyZXZp
c2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25DbGllbnQu
aCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25N
YW5hZ2VyLmgiCkBAIC03MiwxOSArNzIsMTAgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6
Om5vdGlmaWNhdGlvbgogICAgIGRlbGV0ZSB0aGlzOwogfQogCi0jaWYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQotdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0cjxXZWJDb3JlOjpWb2lk
Q2FsbGJhY2s+JiYgY2FsbGJhY2spCi17Ci0gICAgbV9wYWdlLT5ub3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXIoKS0+c3RhcnRSZXF1ZXN0KGNvbnRleHQtPnNlY3VyaXR5T3JpZ2lu
KCksIFdURk1vdmUoY2FsbGJhY2spKTsKLX0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Np
b25DYWxsYmFjaz4mJiBjYWxsYmFjaykKIHsKICAgICBtX3BhZ2UtPm5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlcigpLT5zdGFydFJlcXVlc3QoY29udGV4dC0+c2VjdXJpdHlPcmln
aW4oKSwgV1RGTW92ZShjYWxsYmFjaykpOwogfQotI2VuZGlmCiAKIGJvb2wgV2ViTm90aWZpY2F0
aW9uQ2xpZW50OjpoYXNQZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpIGNvbnN0CiB7CkBAIC0xMDUsNCArOTYsNCBAQCBOb3RpZmljYXRpb25D
bGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0j
ZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJO
b3RpZmljYXRpb25DbGllbnQuaAkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBXZWJOb3RpZmljYXRpb25DbGllbnRf
aAogI2RlZmluZSBXZWJOb3RpZmljYXRpb25DbGllbnRfaAogCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAKQEAg
LTUxLDEyICs1MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnMoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZp
Y2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopIG92ZXJyaWRlOwog
ICAgIHZvaWQgbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIG92ZXJyaWRlOwotI2lm
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICB2b2lkIHJlcXVlc3RQZXJtaXNzaW9u
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBSZWZQdHI8V2ViQ29yZTo6Vm9pZENh
bGxiYWNrPiYmKSBvdmVycmlkZTsKLSNlbmRpZgotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQog
ICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+JiYpIG92
ZXJyaWRlOwotI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIG92ZXJyaWRlOwogICAgIGJvb2wgaGFzUGVu
ZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIGNoZWNr
UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CkBA
IC02Niw2ICs2MSw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5k
aWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAogI2VuZGlmIC8vIFdlYk5vdGlm
aWNhdGlvbkNsaWVudF9oCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzNCw3ICs0MzQs
NyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnCiAjaWYgRU5BQkxF
KEdFT0xPQ0FUSU9OKQogICAgIFdlYkNvcmU6OnByb3ZpZGVHZW9sb2NhdGlvblRvKG1fcGFnZS5n
ZXQoKSwgbmV3IFdlYkdlb2xvY2F0aW9uQ2xpZW50KHRoaXMpKTsKICNlbmRpZgotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6cHJvdmlkZU5vdGlmaWNhdGlvbihtX3Bh
Z2UuZ2V0KCksIG5ldyBXZWJOb3RpZmljYXRpb25DbGllbnQodGhpcykpOwogI2VuZGlmCiAjaWYg
RU5BQkxFKFZJQlJBVElPTikKQEAgLTMyMTIsNyArMzIxMiw3IEBAIHZvaWQgV2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMoY29uc3QgV2UKICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9ucyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OnNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zS2V5KCkpKTsKICNlbmRpZgogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBzZXR0aW5ncy5zZXROb3RpZmljYXRpb25zRW5hYmxl
ZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om5vdGlmaWNhdGlv
bnNFbmFibGVkS2V5KCkpKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMCBAQAorMjAxNy0wNS0wOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgTm90aWZpY2F0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJOb3RpZmljYXRpb25DbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJOb3Rp
ZmljYXRpb25DbGllbnQubW06CisgICAgICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW06
CisgICAgICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oOgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6
YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfbm90
aWZpY2F0aW9uSURGb3JUZXN0aW5nOl0pOgorICAgICAgICBSZW1vdmUgbGVnYWN5IG5vdGlmaWNh
dGlvbiBzcGVjaWZpYyBjb2RlLgorCiAyMDE3LTA1LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgTW92ZSAnc3R5bGUnIGZyb20gRWxlbWVudCB0byBIVE1MRWxl
bWVudCAvIFNWR0VsZW1lbnQgYW5kIG1ha2UgaXQgc2V0dGFibGUKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTM5LDcgKzEzOSw2
IEBAIEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sKIEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURTsKIEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nkaz1tYWNvc3gqXSA9
IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUzsKIEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVM7CiBF
TkFCTEVfTEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRFUlBSRVNTOwogRU5B
QkxFX0xJTktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5BQkxFX1ZBUklBVElP
Tl9GT05UU19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1Rf
Tk8gPSBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElPTl9GT05UU19JRl9O
T1RfWUVTID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVM
RUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFT
VF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChF
TkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1NOSUZGKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9Q
T0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENI
X0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lO
VEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRF
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05JRkYpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCShyZXZp
c2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3Rp
ZmljYXRpb25DbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW1w
b3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uLmg+CiAjaW1wb3J0IDx3dGYv
SGFzaE1hcC5oPgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgpAQCAtNDgsNyArNDgsNyBAQCBwdWJs
aWM6CiAgICAgV2ViTm90aWZpY2F0aW9uQ2xpZW50KFdlYlZpZXcgKik7CiAgICAgV2ViVmlldyAq
d2ViVmlldygpIHsgcmV0dXJuIG1fd2ViVmlldzsgfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICAvLyBGb3IgdGVzdGluZyBwdXJwb3Nlcy4KICAgICB1aW50NjRfdCBub3RpZmlj
YXRpb25JREZvclRlc3RpbmcoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKik7CiAjZW5kaWYKQEAgLTU5
LDkgKzU5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyTm90aWZpY2F0aW9ucyhXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgdm9pZCBub3RpZmljYXRp
b25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgb3ZlcnJpZGU7Ci0jaWYgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFJlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJh
Y2s+JiYpIG92ZXJyaWRlOwotI2VuZGlmCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAg
dm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UmVmUHRyPFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4mJikgb3ZlcnJp
ZGU7CiAjZW5kaWYKQEAgLTY5LDEyICs2NiwxMiBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzUGVu
ZGluZ1Blcm1pc3Npb25SZXF1ZXN0cyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikgb3Zl
cnJpZGU7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHZvaWQgcmVxdWVzdFBl
cm1pc3Npb24oV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYk5vdGlmaWNhdGlv
blBvbGljeUxpc3RlbmVyICopOwogI2VuZGlmCiAKICAgICBXZWJWaWV3ICptX3dlYlZpZXc7Ci0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpO
b3RpZmljYXRpb24+LCBSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPj4gbV9ub3RpZmljYXRpb25N
YXA7CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0PiwgVmVjdG9yPFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+Pj4gTm90aWZp
Y2F0aW9uQ29udGV4dE1hcDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0JKHJldmlzaW9uIDIxNjU1
OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNs
aWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjUsNDggKzI1LDMwIEBACiAKICNpbXBvcnQgIldl
Yk5vdGlmaWNhdGlvbkNsaWVudC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICNp
bXBvcnQgIldlYkRlbGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLmgiCiAjaW1wb3J0ICJXZWJO
b3RpZmljYXRpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgi
CiAjaW1wb3J0ICJXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJVSURl
bGVnYXRlUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0IDxX
ZWJDb3JlL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0
aW9ucy5oPgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLSNpbXBvcnQgPFdl
YkNvcmUvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg+Ci0jZW5kaWYKLSNpZiBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0jaW1wb3J0IDxXZWJDb3JlL1ZvaWRDYWxsYmFjay5o
PgotI2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKIEBpbnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgOiBO
U09iamVjdCA8V2ViQWxsb3dEZW55UG9saWN5TGlzdGVuZXI+CiB7Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCiAgICAgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4gX2Nh
bGxiYWNrOwotI2VuZGlmCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIFJl
ZlB0cjxWb2lkQ2FsbGJhY2s+IF92b2lkQ2FsbGJhY2s7Ci0gICAgYm9vbCBfaXNMZWdhY3lSZXF1
ZXN0OwotI2VuZGlmCiB9Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAtIChpZClpbml0V2l0
aENhbGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4pY2Fs
bGJhY2s7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0tIChpZClp
bml0V2l0aFZvaWRDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrOwot
I2VuZGlmCi0KIEBlbmQKICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIHN0
YXRpYyB1aW50NjRfdCBnZW5lcmF0ZU5vdGlmaWNhdGlvbklEKCkKIHsKICAgICBzdGF0aWMgdWlu
dDY0X3QgdW5pcXVlTm90aWZpY2F0aW9uSUQgPSAxOwpAQCAtODEsNyArNjMsNyBAQCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OldlYk5vdGlmaWNhdGlvbkNsCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9u
Q2xpZW50OjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFbbV93ZWJWaWV3IF9ub3RpZmljYXRpb25Qcm92aWRl
cl0pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtODksNyArNzEsNyBAQCBib29sIFdlYk5v
dGlmaWNhdGlvbkNsaWVudDo6c2hvdyhOb3RpZmljCiAgICAgUmV0YWluUHRyPFdlYk5vdGlmaWNh
dGlvbj4gd2ViTm90aWZpY2F0aW9uID0gYWRvcHROUyhbW1dlYk5vdGlmaWNhdGlvbiBhbGxvY10g
aW5pdFdpdGhDb3JlTm90aWZpY2F0aW9uOm5vdGlmaWNhdGlvbiBub3RpZmljYXRpb25JRDpub3Rp
ZmljYXRpb25JRF0pOwogICAgIG1fbm90aWZpY2F0aW9uTWFwLnNldChub3RpZmljYXRpb24sIHdl
Yk5vdGlmaWNhdGlvbik7CiAKLSAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBp
dCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIFZlY3RvcjxSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPj4oKSkuaXRl
cmF0b3I7CisgICAgYXV0byBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZp
Y2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFZlY3RvcjxSZXRhaW5QdHI8V2ViTm90
aWZpY2F0aW9uPj4oKSkuaXRlcmF0b3I7CiAgICAgaXQtPnZhbHVlLmFwcGVuZCh3ZWJOb3RpZmlj
YXRpb24pOwogCiAgICAgW1ttX3dlYlZpZXcgX25vdGlmaWNhdGlvblByb3ZpZGVyXSBzaG93Tm90
aWZpY2F0aW9uOndlYk5vdGlmaWNhdGlvbi5nZXQoKSBmcm9tV2ViVmlldzptX3dlYlZpZXddOwpA
QCAtMTAyLDcgKzg0LDcgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnNob3coTm90aWZp
YwogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsKE5vdGlmaWNhdGlvbiogbm90
aWZpY2F0aW9uKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgV2ViTm90aWZp
Y2F0aW9uICp3ZWJOb3RpZmljYXRpb24gPSBtX25vdGlmaWNhdGlvbk1hcC5nZXQobm90aWZpY2F0
aW9uKS5nZXQoKTsKICAgICBpZiAoIXdlYk5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuOwpA
QCAtMTE1LDggKzk3LDggQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNhbmNlbChOb3Rp
ZgogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljYXRpb25zKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBOb3RpZmljYXRpb25Db250ZXh0
TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5maW5kKGNvbnRleHQp
OworI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIGF1dG8gaXQgPSBtX25vdGlmaWNhdGlv
bkNvbnRleHRNYXAuZmluZChjb250ZXh0KTsKICAgICBpZiAoaXQgPT0gbV9ub3RpZmljYXRpb25D
b250ZXh0TWFwLmVuZCgpKQogICAgICAgICByZXR1cm47CiAgICAgCkBAIC0xMzksMTIgKzEyMSwx
MiBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljCiAKIHZvaWQgV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24pCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBS
ZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPiB3ZWJOb3RpZmljYXRpb24gPSBtX25vdGlmaWNhdGlv
bk1hcC50YWtlKG5vdGlmaWNhdGlvbik7CiAgICAgaWYgKCF3ZWJOb3RpZmljYXRpb24pCiAgICAg
ICAgIHJldHVybjsKIAotICAgIE5vdGlmaWNhdGlvbkNvbnRleHRNYXA6Oml0ZXJhdG9yIGl0ID0g
bV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmZpbmQobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpOworICAgIGF1dG8gaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZmlu
ZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgQVNTRVJUKGl0
ICE9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5lbmQoKSk7CiAgICAgc2l6ZV90IGluZGV4ID0g
aXQtPnZhbHVlLmZpbmQod2ViTm90aWZpY2F0aW9uKTsKICAgICBBU1NFUlQoaW5kZXggIT0gbm90
Rm91bmQpOwpAQCAtMTYzLDcgKzE0NSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpu
b3RpZmljYXRpb24KICAgICBkZWxldGUgdGhpczsKIH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVu
ZXIgKmxpc3RlbmVyKQogewogICAgIFNFTCBzZWxlY3RvciA9IEBzZWxlY3Rvcih3ZWJWaWV3OmRl
Y2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblJlcXVlc3RGcm9tT3JpZ2luOmxpc3RlbmVyOik7CkBA
IC0xODAsMjAgKzE2Miw5IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVy
bWkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotdm9pZCBX
ZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCi17Ci0gICAg
QkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotICAgIFdlYk5vdGlmaWNhdGlvblBvbGljeUxp
c3RlbmVyICpsaXN0ZW5lciA9IFtbV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgYWxsb2Nd
IGluaXRXaXRoVm9pZENhbGxiYWNrOmNhbGxiYWNrXTsKLSAgICByZXF1ZXN0UGVybWlzc2lvbihj
b250ZXh0LCBsaXN0ZW5lcik7Ci0gICAgW2xpc3RlbmVyIHJlbGVhc2VdOwotICAgIEVORF9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7Ci19Ci0jZW5kaWYKLQogYm9vbCBXZWJOb3RpZmljYXRpb25DbGll
bnQ6Omhhc1BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
IGNvbnN0CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICAvLyBXZSBrbm93IHBl
cm1pc3Npb24gd2FzIHJlcXVlc3RlZCBidXQgd2UgZG9uJ3Qga25vdyBpZiB0aGUgY2xpZW50IHJl
c3BvbmRlZC4gSW4gdGhpcyBjYXNlLCB3ZSBwbGF5IGl0CiAgICAgLy8gc2FmZSBhbmQgcHJlc3Vt
ZSB0aGVyZSBpcyBvbmUgcGVuZGluZyBzbyB0aGF0IEFjdGl2ZURPTU9iamVjdHMgZG9uJ3QgZ2V0
IHN1c3BlbmRlZC4KICAgICByZXR1cm4gbV9ldmVyUmVxdWVzdGVkUGVybWlzc2lvbjsKQEAgLTIx
NSw3ICsxODYsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pCiAK
IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNo
ZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5pc0Rv
Y3VtZW50KCkpCiAgICAgICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25E
ZW5pZWQ7CiAgICAgaWYgKCFbW21fd2ViVmlldyBwcmVmZXJlbmNlc10gbm90aWZpY2F0aW9uc0Vu
YWJsZWRdKQpAQCAtMjM5LDcgKzIxMCw4IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lv
biBXZWJOb3RpZmkKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKwog
dWludDY0X3QgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25JREZvclRlc3Rpbmco
V2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7CiAgICAgcmV0dXJuIFttX25v
dGlmaWNhdGlvbk1hcC5nZXQobm90aWZpY2F0aW9uKS5nZXQoKSBub3RpZmljYXRpb25JRF07CkBA
IC0yNDcsNyArMjE5LDYgQEAgdWludDY0X3QgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmlj
YQogCiBAaW1wbGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooUGFzc1JlZlB0
cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CiAgICAgaWYgKCEo
c2VsZiA9IFtzdXBlciBpbml0XSkpCkBAIC0yNTYsNDggKzIyNywxNyBAQCAtIChpZClpbml0V2l0
aENhbGxiYWNrOihQYXNzUmVmUHRyPE5vdGlmCiAgICAgX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAg
ICAgcmV0dXJuIHNlbGY7CiB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKLS0gKGlkKWluaXRXaXRoVm9pZENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFj
az4pY2FsbGJhY2sKLXsKLSAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKLSAgICAgICAg
cmV0dXJuIG5pbDsKLQotICAgIF9pc0xlZ2FjeVJlcXVlc3QgPSB0cnVlOwotICAgIF92b2lkQ2Fs
bGJhY2sgPSBjYWxsYmFjazsKLSAgICByZXR1cm4gc2VsZjsKLX0KLSNlbmRpZgogCiAtICh2b2lk
KWFsbG93CiB7Ci0jaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIGlmIChfaXNM
ZWdhY3lSZXF1ZXN0KSB7Ci0gICAgICAgIGlmIChfdm9pZENhbGxiYWNrKQotICAgICAgICAgICAg
X3ZvaWRDYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNl
bmRpZgotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIGlmIChfY2FsbGJhY2spCiAgICAg
ICAgIF9jYWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5n
KE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQpKTsKLSNlbmRpZgogfQogCiAt
ICh2b2lkKWRlbnkKIHsKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgaWYg
KF9pc0xlZ2FjeVJlcXVlc3QpIHsKLSAgICAgICAgaWYgKF92b2lkQ2FsbGJhY2spCi0gICAgICAg
ICAgICBfdm9pZENhbGxiYWNrLT5oYW5kbGVFdmVudCgpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotI2VuZGlmCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgaWYgKF9jYWxsYmFjaykK
ICAgICAgICAgX2NhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnBlcm1pc3Npb25T
dHJpbmcoTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKSk7Ci0jZW5kaWYKIH0K
IAogI2lmIFBMQVRGT1JNKElPUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Tm90aWZpY2F0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViTm90aWZpY2F0aW9uLm1tCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAs
NyBAQAogCiAjaW1wb3J0ICJXZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oIgogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICNpbXBvcnQgIldlYlNlY3VyaXR5T3JpZ2luSW50ZXJuYWwuaCIK
ICNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaD4KQEAgLTQyLDcgKzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlvblByaXZhdGUgOiBOU09iamVjdAogewog
QHB1YmxpYwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgUmVmUHRyPE5vdGlmaWNh
dGlvbj4gX2ludGVybmFsOwogICAgIHVpbnQ2NF90IF9ub3RpZmljYXRpb25JRDsKICNlbmRpZgpA
QCAtNTIsOCArNTIsOSBAQCBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlvblByaXZhdGUgOiBOU09i
CiBAaW1wbGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9uUHJpdmF0ZQogQGVuZAogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKIEBpbXBsZW1lbnRhdGlvbiBXZWJOb3RpZmljYXRpb24gKFdl
Yk5vdGlmaWNhdGlvbkludGVybmFsKQorCiBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0
aW9uICpub3RpZmljYXRpb24pCiB7CiAgICAgaWYgKCFub3RpZmljYXRpb24tPl9wcml2YXRlKQpA
QCAtODcsNyArODgsNyBAQCAtICh2b2lkKWRlYWxsb2MKIAogLSAoTlNTdHJpbmcgKil0aXRsZQog
ewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPnRp
dGxlKCk7CiAjZWxzZQogICAgIHJldHVybiBuaWw7CkBAIC05Niw3ICs5Nyw3IEBAIC0gKE5TU3Ry
aW5nICopdGl0bGUKIAogLSAoTlNTdHJpbmcgKilib2R5CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICByZXR1cm4gY29yZShzZWxmKS0+Ym9keSgpOwogI2Vsc2UKICAgICByZXR1
cm4gbmlsOwpAQCAtMTA1LDcgKzEwNiw3IEBAIC0gKE5TU3RyaW5nICopYm9keQogCiAtIChOU1N0
cmluZyAqKXRhZwogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNv
cmUoc2VsZiktPnRhZygpOwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwpAQCAtMTE0LDcgKzExNSw3
IEBAIC0gKE5TU3RyaW5nICopdGFnCiAKIC0gKE5TU3RyaW5nICopaWNvblVSTAogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPmljb25VUkwoKTsK
ICNlbHNlCiAgICAgcmV0dXJuIG5pbDsKQEAgLTEyMyw3ICsxMjQsNyBAQCAtIChOU1N0cmluZyAq
KWljb25VUkwKIAogLSAoTlNTdHJpbmcgKilsYW5nCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKICAgICByZXR1cm4gY29yZShzZWxmKS0+bGFuZygpOwogI2Vsc2UKICAgICByZXR1cm4g
bmlsOwpAQCAtMTMyLDcgKzEzMyw3IEBAIC0gKE5TU3RyaW5nICopbGFuZwogCiAtIChOU1N0cmlu
ZyAqKWRpcgogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIGNvcmUo
c2VsZiktPmRpcigpOwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwpAQCAtMTQxLDcgKzE0Miw3IEBA
IC0gKE5TU3RyaW5nICopZGlyCiAKIC0gKFdlYlNlY3VyaXR5T3JpZ2luICopb3JpZ2luCiB7Ci0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICByZXR1cm4gW1tbV2ViU2VjdXJpdHlPcmln
aW4gYWxsb2NdIF9pbml0V2l0aFdlYkNvcmVTZWN1cml0eU9yaWdpbjpjb3JlKHNlbGYpLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCldIGF1dG9yZWxlYXNlXTsKICNl
bHNlCiAgICAgcmV0dXJuIG5pbDsKQEAgLTE1MCw3ICsxNTEsNyBAQCAtIChXZWJTZWN1cml0eU9y
aWdpbiAqKW9yaWdpbgogCiAtICh1aW50NjRfdClub3RpZmljYXRpb25JRAogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAgICAgcmV0dXJuIF9wcml2YXRlLT5fbm90aWZpY2F0aW9uSUQ7
CiAjZWxzZQogICAgIHJldHVybiAwOwpAQCAtMTU5LDI4ICsxNjAsMjggQEAgLSAodWludDY0X3Qp
bm90aWZpY2F0aW9uSUQKIAogLSAodm9pZClkaXNwYXRjaFNob3dFdmVudAogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAgICAgY29yZShzZWxmKS0+ZGlzcGF0Y2hTaG93RXZlbnQoKTsK
ICNlbmRpZgogfQogCiAtICh2b2lkKWRpc3BhdGNoQ2xvc2VFdmVudAogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgY29yZShzZWxmKS0+ZGlzcGF0Y2hDbG9zZUV2ZW50KCk7CiAj
ZW5kaWYKIH0KIAogLSAodm9pZClkaXNwYXRjaENsaWNrRXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIGNvcmUoc2VsZiktPmRpc3BhdGNoQ2xpY2tFdmVudCgpOwogI2Vu
ZGlmCiB9CiAKIC0gKHZvaWQpZGlzcGF0Y2hFcnJvckV2ZW50CiB7Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICBjb3JlKHNlbGYpLT5kaXNwYXRjaEVycm9yRXZlbnQoKTsKICNlbmRp
ZgogfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRl
cm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZp
Y2F0aW9uSW50ZXJuYWwuaAkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3
ICsyOCw3IEBACiAKICNpbXBvcnQgIldlYk5vdGlmaWNhdGlvbi5oIgogCi0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTm90aWZpY2F0aW9u
OwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjE2NTU4
KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDgxLDcgKzE0ODEsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhG
cmFtZU5hCiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQogICAgIFdlYkNvcmU6OnByb3ZpZGVHZW9s
b2NhdGlvblRvKF9wcml2YXRlLT5wYWdlLCBuZXcgV2ViR2VvbG9jYXRpb25DbGllbnQoc2VsZikp
OwogI2VuZGlmCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpwcm92
aWRlTm90aWZpY2F0aW9uKF9wcml2YXRlLT5wYWdlLCBuZXcgV2ViTm90aWZpY2F0aW9uQ2xpZW50
KHNlbGYpKTsKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkBAIC0xMDAz
Myw3ICsxMDAzMyw3IEBAIC0gKHZvaWQpX25vdGlmaWNhdGlvbnNEaWRDbG9zZTooTlNBcnJheSAK
IAogLSAodWludDY0X3QpX25vdGlmaWNhdGlvbklERm9yVGVzdGluZzooSlNWYWx1ZVJlZilqc05v
dGlmaWNhdGlvbgogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgYXV0byogcGFn
ZSA9IF9wcml2YXRlLT5wYWdlOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIDA7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTY1NTgpCisrKyBTb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxNy0wNS0wOSAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZv
ciBsZWdhY3kgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViQ2hyb21lQ2xpZW50OjpXZWJDaHJvbWVDbGllbnQpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
YkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaDoKKyAgICAgICAgUmVtb3ZlIGxl
Z2FjeSBub3RpZmljYXRpb24gc3BlY2lmaWMgY29kZS4KKwogMjAxNy0wNS0wOSAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgRml4IFdpbmRvd3MgYnVpbGQuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDcg
QEAgc3RhdGljIGNvbnN0IHNpemVfdCBtYXhGaWxlUGF0aHNMaXN0U2l6ZQogCiBXZWJDaHJvbWVD
bGllbnQ6OldlYkNocm9tZUNsaWVudChXZWJWaWV3KiB3ZWJWaWV3KQogICAgIDogbV93ZWJWaWV3
KHdlYlZpZXcpCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICAsIG1fbm90aWZpY2F0
aW9uc0RlbGVnYXRlKHN0ZDo6bWFrZV91bmlxdWU8V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxl
Z2F0ZT4od2ViVmlldykpCiAjZW5kaWYKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiAyMTY1NTgpCisr
KyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGV4aXRWaWRl
b0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1lbnQoV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudCYpIGZp
bmFsOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbkNsaWVudCogbm90aWZpY2F0aW9uUHJlc2VudGVyKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQqPiht
X25vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5nZXQoKSk7IH0KICNlbmRpZgogCkBAIC0xNzYsNyArMTc2
LDcgQEAgcHJpdmF0ZToKIAogICAgIFdlYlZpZXcqIG1fd2ViVmlldzsKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGU+IG1fbm90aWZpY2F0aW9uc0RlbGVnYXRlOwogI2VuZGlmCiB9OwpJbmRleDog
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAJKHJldmlzaW9uIDIxNjU1OCkK
KysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAt
MjIzLDQgKzIyMyw0IEBAIENPTVB0cjxJV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZT4K
ICAgICByZXR1cm4gZGVsZWdhdGU7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaAkocmV2
aXNpb24gMjE2NTU4KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L05vdGlmaWNhdGlvbkNsaWVudC5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIAog
aW50ZXJmYWNlIElXZWJEZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyOwogCkBAIC01MCwxMiAr
NTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbChXZWJDb3JlOjpOb3RpZmlj
YXRpb24qIG9iamVjdCk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ry
b3llZChXZWJDb3JlOjpOb3RpZmljYXRpb24qIG9iamVjdCk7CiAgICAgdmlydHVhbCB2b2lkIG5v
dGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKLSNpZiBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luKiwgUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4mJik7Ci0jZW5kaWYK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrPiYmKTsKLSNlbmRpZgogICAgIGJvb2wgaGFzUGVuZGluZ1Bl
cm1pc3Npb25SZXF1ZXN0cyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpO
b3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKGNvbnN0IFVSTCYp
OwpJbmRleDogU291cmNlL2NtYWtlL09wdGlvbnNNYWMuY21ha2UKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL2NtYWtlL09wdGlvbnNNYWMuY21ha2UJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9j
bWFrZS9PcHRpb25zTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw2IEBAIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV8KIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUgUFJJVkFURSBPTikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEgUFJJVkFURSBPTikKLVdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyBQUklWQVRFIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9M
RVRURVJQUkVTUyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0xJTktfUFJFRkVUQ0ggUFJJVkFURSBPRkYpCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0
aW9uc1dpbi5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvT3B0aW9uc1dpbi5jbWFr
ZQkocmV2aXNpb24gMjE2NTU4KQorKysgU291cmNlL2NtYWtlL09wdGlvbnNXaW4uY21ha2UJKHdv
cmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDYgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFXwogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTIFBVQkxJQyBP
TikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUyBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MSU5LX1BSRUZFVENIIFBVQkxJQyBPRkYpCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUFUSE1MIFBVQkxJQyBPTikKSW5kZXg6
IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
Y21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHJldmlzaW9uIDIxNjU1OCkKKysrIFNvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEzNiw2
IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0pJVCAiRW5hYmxlIEp1c3RJblRpbWUgamF2YXNjcmlwdCBzdXBwb3J0IiBQUklWQVRF
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUyAiVG9nZ2xlIGxlZ2FjeSBjc3MgdmVuZG9yIHByZWZpeCBzdXBwb3J0IiBQUklWQVRF
IE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSAiU3VwcG9ydCBsZWdhY3kgRU1FIiBQUklWQVRFIE9GRikKLSAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgIlRvZ2dsZSBMZWdhY3kgRGVza3Rv
cCBOb3RpZmljYXRpb25zIFN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTICJUb2dnbGUgTGVnYWN5IFZlbmRv
ciBQcmVmaXggU3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfTEVUVEVSUFJFU1MgIlRvZ2dsZSBsZXR0ZXJwcmVzcyBzdXBwb3J0IiBQUklWQVRFIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfTElOS19QUkVGRVRDSCAiVG9nZ2xl
IHByZSBmZXRjaGluZyBzdXBwb3J0IiBQUklWQVRFIE9GRikKSW5kZXg6IFNvdXJjZS9jbWFrZS90
b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9j
bWFrZS90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnByb3BzCShyZXZpc2lvbiAyMTY1NTgp
CisrKyBTb3VyY2UvY21ha2UvdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy5wcm9wcwkod29y
a2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBAQAogICAgIDxFTkFCTEVfSU5UTD5FTkFCTEVfSU5U
TDwvRU5BQkxFX0lOVEw+CiAgICAgPEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUz5F
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVM8L0VOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUz4KICAgICA8RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUE+RU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUE8L0VOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBPgotICAg
IDxFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgLz4KICAgICA8RU5BQkxFX0xJTktfUFJFRkVU
Q0ggLz4KICAgICA8RU5BQkxFX0xJTktfUFJFUkVOREVSIC8+CiAgICAgPEVOQUJMRV9NQVRITUw+
RU5BQkxFX01BVEhNTDwvRU5BQkxFX01BVEhNTD4KQEAgLTg1LDcgKzg0LDcgQEAKICAgPC9Qcm9w
ZXJ0eUdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAg
ICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPiQoRU5BQkxFXzNEX1RSQU5TRk9STVMpOyQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKTskKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpOyQoRU5BQkxFX0NBTlZBU19Q
QVRIKTskKEVOQUJMRV9DQU5WQVNfUFJPWFkpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKTsk
KEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKTskKEVOQUJMRV9DU1NfSU1BR0VfU0VUKTsk
KEVOQUJMRV9DU1MzX1RFWFQpOyQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyk7JChF
TkFCTEVfQ1NTX1NIQURFUlMpOyQoRU5BQkxFX0NTU19DT01QT1NJVElORyk7JChFTkFCTEVfQ1NT
X1JFR0lPTlMpOyQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KTskKEVOQUJMRV9DU1NfU0hB
UEVfSU5TSURFKTskKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05T
X1VOUFJFRklYRUQpOyQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKTskKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSk7JChFTkFCTEVfRkVUQ0hfQVBJKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVO
QUJMRV9ISUdIX0RQSV9DQU5WQVMpOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUik7JChFTkFCTEVfSU5QVVRf
U1BFRUNIKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKTskKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpOyQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSU5UTCk7JChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpOyQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpOyQoRU5BQkxFX0xF
R0FDWV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJMRV9MSU5L
X1BSRVJFTkRFUik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9FTEVNRU5UKTskKEVO
QUJMRV9NSUNST0RBVEEpOyQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSk7JChFTkFCTEVfTk9U
SUZJQ0FUSU9OUyk7JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyk7JChFTkFCTEVfUVVPVEEpOyQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKTskKEVOQUJMRV9TVFJFQU1TX0FQSSk7JChF
TkFCTEVfU0NSSVBURURfU1BFRUNIKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKTskKEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7JChFTkFCTEVfU1RZTEVfU0NP
UEVEKTskKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5E
SU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfVklERU9f
VFJBQ0spOyQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpOyQoRU5BQkxFX1dFQl9BTklNQVRJ
T05TKTskKEVOQUJMRV9XRUJfQVVESU8pOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9X
RUJfVElNSU5HKTskKEVOQUJMRV9XRUJHTCk7JChFTkFCTEVfV0VCR1BVKTskKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUyk7JChFTkFCTEVfWEhSX1RJTUVPVVQpOyQoRU5BQkxFX1hTTFQpOyUoUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVw
cm9jZXNzb3JEZWZpbml0aW9ucz4kKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKTskKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
Ryk7JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKTskKEVOQUJMRV9DQU5WQVNfUEFUSCk7JChF
TkFCTEVfQ0FOVkFTX1BST1hZKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVf
Q1NTM19DT05ESVRJT05BTF9SVUxFUyk7JChFTkFCTEVfQ1NTX0lNQUdFX1NFVCk7JChFTkFCTEVf
Q1NTM19URVhUKTskKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspOyQoRU5BQkxFX0NT
U19TSEFERVJTKTskKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpOyQoRU5BQkxFX0NTU19SRUdJT05T
KTskKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCk7JChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lE
RSk7JChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJ
WEVEKTskKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSk7JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCk7JChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTsk
KEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9FTkNSWVBURURfTUVESUEpOyQoRU5B
QkxFX0ZFVENIX0FQSSk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSElH
SF9EUElfQ0FOVkFTKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpOyQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCk7JChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCk7JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKTskKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspOyQoRU5BQkxFX0lOVEwpOyQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKTskKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKTskKEVOQUJMRV9MSU5LX1BSRUZF
VENIKTskKEVOQUJMRV9MSU5LX1BSRVJFTkRFUik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKTskKEVOQUJMRV9NSUNST0RBVEEpOyQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyk7
JChFTkFCTEVfUVVPVEEpOyQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKTskKEVOQUJM
RV9TVFJFQU1TX0FQSSk7JChFTkFCTEVfU0NSSVBURURfU1BFRUNIKTskKEVOQUJMRV9TSEFSRURf
V09SS0VSUyk7JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKTskKEVOQUJMRV9NRURJQV9T
T1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7
JChFTkFCTEVfU1RZTEVfU0NPUEVEKTskKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpOyQoRU5BQkxF
X1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURF
Tyk7JChFTkFCTEVfVklERU9fVFJBQ0spOyQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpOyQo
RU5BQkxFX1dFQl9BTklNQVRJT05TKTskKEVOQUJMRV9XRUJfQVVESU8pOyQoRU5BQkxFX1dFQl9T
T0NLRVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XRUJHTCk7JChFTkFCTEVfV0VC
R1BVKTskKEVOQUJMRV9XRUJWVFRfUkVHSU9OUyk7JChFTkFCTEVfWEhSX1RJTUVPVVQpOyQoRU5B
QkxFX1hTTFQpOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0
aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRl
bUdyb3VwPgpAQCAtMjY1LDEwICsyNjQsNiBAQAogICAgICAgPFZhbHVlPiQoRU5BQkxFX0xFR0FD
WV9FTkNSWVBURURfTUVESUEpPC9WYWx1ZT4KICAgICAgIDxFbnZpcm9ubWVudFZhcmlhYmxlPnRy
dWU8L0Vudmlyb25tZW50VmFyaWFibGU+CiAgICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1h
Y3JvIEluY2x1ZGU9IkVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUyI+Ci0gICAgICA8VmFsdWU+
JChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpPC9WYWx1ZT4KLSAgICAgIDxFbnZpcm9ubWVu
dFZhcmlhYmxlPnRydWU8L0Vudmlyb25tZW50VmFyaWFibGU+Ci0gICAgPC9CdWlsZE1hY3JvPgog
ICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IkVOQUJMRV9MSU5LX1BSRUZFVENIIj4KICAgICAgIDxW
YWx1ZT4kKEVOQUJMRV9MSU5LX1BSRUZFVENIKTwvVmFsdWU+CiAgICAgICA8RW52aXJvbm1lbnRW
YXJpYWJsZT50cnVlPC9FbnZpcm9ubWVudFZhcmlhYmxlPgpJbmRleDogU291cmNlL2NtYWtlL3Rv
b2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby5wcm9wcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvY21ha2UvdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnByb3BzCShyZXZpc2lv
biAyMTY1NTgpCisrKyBTb3VyY2UvY21ha2UvdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0Nh
aXJvLnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw2IEBACiAgICAgPEVOQUJMRV9J
TlRMPkVOQUJMRV9JTlRMPC9FTkFCTEVfSU5UTD4KICAgICA8RU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTPkVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUzwvRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTPgogICAgIDxFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSAvPgotICAgIDxFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMgLz4KICAgICA8RU5BQkxF
X0xJTktfUFJFRkVUQ0ggLz4KICAgICA8RU5BQkxFX0xJTktfUFJFUkVOREVSIC8+CiAgICAgPEVO
QUJMRV9NQVRITUw+RU5BQkxFX01BVEhNTDwvRU5BQkxFX01BVEhNTD4KQEAgLTg0LDcgKzgzLDcg
QEAKICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xD
b21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPiQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKTskKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpOyQoRU5B
QkxFX0NBTlZBU19QQVRIKTskKEVOQUJMRV9DQU5WQVNfUFJPWFkpOyQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKTskKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKTskKEVOQUJMRV9DU1Nf
SU1BR0VfU0VUKTskKEVOQUJMRV9DU1MzX1RFWFQpOyQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSyk7JChFTkFCTEVfQ1NTX1NIQURFUlMpOyQoRU5BQkxFX0NTU19DT01QT1NJVElORyk7
JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KTskKEVO
QUJMRV9DU1NfU0hBUEVfSU5TSURFKTskKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05T
X1RSQU5TSVRJT05TX1VOUFJFRklYRUQpOyQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKTskKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSk7JChFTkFCTEVfRkVUQ0hfQVBJKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dBTUVQQUQpOyQoRU5BQkxFX0dFT0xP
Q0FUSU9OKTskKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUik7JChF
TkFCTEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpOyQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKTskKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKTskKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpOyQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyk7JChFTkFCTEVfSU5UTCk7JChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpOyQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
OyQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTsk
KEVOQUJMRV9MSU5LX1BSRVJFTkRFUik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKTskKEVOQUJMRV9NSUNST0RBVEEpOyQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSk7
JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyk7JChFTkFC
TEVfUVVPVEEpOyQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKTskKEVOQUJMRV9TQ1JJ
UFRFRF9TUEVFQ0gpOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpOyQoRU5BQkxFX01FRElBX1NPVVJDRSk7JChFTkFCTEVfTUVESUFfU1RBVElT
VElDUyk7JChFTkFCTEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5B
QkxFX1NVQlBJWEVMX0xBWU9VVCk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVO
QUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9WSURFT19UUkFDSyk7JChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSk7JChFTkFCTEVfV0VCX0FOSU1BVElPTlMpOyQoRU5B
QkxFX1dFQl9BVURJTyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9USU1JTkcp
OyQoRU5BQkxFX1dFQkdMKTskKEVOQUJMRV9XRUJWVFRfUkVHSU9OUyk7JChFTkFCTEVfWEhSX1RJ
TUVPVVQpOyQoRU5BQkxFX1hTTFQpOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4kKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORyk7JChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKTskKEVOQUJMRV9DQU5WQVNfUEFUSCk7JChFTkFCTEVfQ0FOVkFTX1BST1hZKTskKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyk7JChF
TkFCTEVfQ1NTX0lNQUdFX1NFVCk7JChFTkFCTEVfQ1NTM19URVhUKTskKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspOyQoRU5BQkxFX0NTU19TSEFERVJTKTskKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpOyQoRU5BQkxFX0NTU19SRUdJT05TKTskKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCk7JChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lERSk7JChFTkFCTEVfQ1NTX1RSQU5TRk9STVNf
QU5JTUFUSU9OU19UUkFOU0lUSU9OU19VTlBSRUZJWEVEKTskKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSk7JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKTskKEVOQUJMRV9EQVRBR1JJRCk7
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTsk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpOyQoRU5BQkxFX0ZFVENIX0FQSSk7JChFTkFCTEVfRklM
RV9TWVNURU0pOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTskKEVOQUJMRV9HQU1FUEFEKTskKEVO
QUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKTskKEVOQUJMRV9JQ09O
REFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKTsk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpOyQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCk7JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCk7JChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKTskKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspOyQoRU5BQkxFX0lOVEwpOyQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKTskKEVOQUJMRV9MRUdBQ1lfRU5DUllQ
VEVEX01FRElBKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJMRV9MSU5LX1BSRVJFTkRF
Uik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9FTEVNRU5UKTskKEVOQUJMRV9NSUNS
T0RBVEEpOyQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSk7JChFTkFCTEVfTk9USUZJQ0FUSU9O
Uyk7JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUyk7JChFTkFCTEVfUVVPVEEpOyQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKTskKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpOyQoRU5BQkxF
X1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpOyQoRU5BQkxF
X01FRElBX1NPVVJDRSk7JChFTkFCTEVfTUVESUFfU1RBVElTVElDUyk7JChFTkFCTEVfU1FMX0RB
VEFCQVNFKTskKEVOQUJMRV9TVFlMRV9TQ09QRUQpOyQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCk7
JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5B
QkxFX1ZJREVPKTskKEVOQUJMRV9WSURFT19UUkFDSyk7JChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSk7JChFTkFCTEVfV0VCX0FOSU1BVElPTlMpOyQoRU5BQkxFX1dFQl9BVURJTyk7JChFTkFC
TEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9USU1JTkcpOyQoRU5BQkxFX1dFQkdMKTskKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUyk7JChFTkFCTEVfWEhSX1RJTUVPVVQpOyQoRU5BQkxFX1hTTFQp
OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAg
ICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgpA
QCAtMjY0LDEwICsyNjMsNiBAQAogICAgICAgPFZhbHVlPiQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKTwvVmFsdWU+CiAgICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZT50cnVlPC9F
bnZpcm9ubWVudFZhcmlhYmxlPgogICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJ
bmNsdWRlPSJFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMiPgotICAgICAgPFZhbHVlPiQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKTwvVmFsdWU+Ci0gICAgICA8RW52aXJvbm1lbnRWYXJp
YWJsZT50cnVlPC9FbnZpcm9ubWVudFZhcmlhYmxlPgotICAgIDwvQnVpbGRNYWNybz4KICAgICA8
QnVpbGRNYWNybyBJbmNsdWRlPSJFTkFCTEVfTElOS19QUkVGRVRDSCI+CiAgICAgICA8VmFsdWU+
JChFTkFCTEVfTElOS19QUkVGRVRDSCk8L1ZhbHVlPgogICAgICAgPEVudmlyb25tZW50VmFyaWFi
bGU+dHJ1ZTwvRW52aXJvbm1lbnRWYXJpYWJsZT4KSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjU1OCkKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA1LTA5ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGxl
Z2FjeSBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9uUHJl
c2VudGVyLmNwcDoKKyAgICAgICAgKERSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNo
ZWNrTm90aWZpY2F0aW9uUGVybWlzc2lvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIFJlbW92ZSB1c2UgYW5kIGRlZmluaXRp
b24gb2YgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TLgorCiAyMDE3LTA1LTA5ICBKb25hdGhh
biBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICB3ZWJraXRweTogUmVtb3Zl
IHVubmVlZGVkIGNyYXNoIGxvZyByZXRyaWV2YWwsIHJlZmFjdG9yIERhcndpbiBjcmFzaCByZXRy
aWV2YWwKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0
aW9uUHJlc2VudGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlci5jcHAJKHJldmlzaW9uIDIxNjU1OCkKKysr
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIEhSRVNVTFQgRFJURGVza3Rv
cE5vdGlmaWNhdGlvblByZXNlbnRlcjoKIAogICAgICpyZXN1bHQgPSAwOwogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBKU1N0cmluZ1JlZiBqc09yaWdpbiA9IEpTU3RyaW5nQ3Jl
YXRlV2l0aEJTVFIob3JpZ2luKTsKICAgICBib29sIGFsbG93ZWQgPSA6OmdUZXN0UnVubmVyLT5j
aGVja0Rlc2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uKGpzT3JpZ2luKTsKIApJbmRleDogVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQkocmV2aXNpb24gMjE2NTU4KQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCSh3b3JraW5nIGNvcHkpCkBA
IC0yODEsOSArMjgxLDYgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJsZWdh
Y3ktZW5jcnlwdGVkLW1lZGlhIiwgZGVzYyA9PiAiVG9nZ2xlIExlZ2FjeSBFTUUgVjIgc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBIiwgZGVm
YXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGxlZ2FjeUVuY3J5cHRlZE1lZGlhU3VwcG9ydCB9LAogCi0g
ICAgeyBvcHRpb24gPT4gImxlZ2FjeS1ub3RpZmljYXRpb25zIiwgZGVzYyA9PiAiVG9nZ2xlIExl
Z2FjeSBOb3RpZmljYXRpb25zIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkbGVnYWN5Tm90aWZp
Y2F0aW9uc1N1cHBvcnQgfSwKLQogICAgIHsgb3B0aW9uID0+ICJsZWdhY3ktdmVuZG9yLXByZWZp
eGVzIiwgZGVzYyA9PiAiVG9nZ2xlIExlZ2FjeSBWZW5kb3IgUHJlZml4IHN1cHBvcnQiLAogICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUyIsIGRlZmF1bHQgPT4g
MSwgdmFsdWUgPT4gXCRsZWdhY3lWZW5kb3JQcmVmaXhTdXBwb3J0IH0sCiAKSW5kZXg6IFRvb2xz
L1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjE2NTU4KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAt
MTM5LDcgKzEzOSw2IEBAIEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFID0gRU5BQkxFX0sK
IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSA9IEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURTsKIEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUyA9IEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUzsKIEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBW3Nk
az1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBOwotRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UzsKIEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTID0gRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVM7CiBFTkFCTEVfTEVUVEVSUFJFU1Nbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0xFVFRF
UlBSRVNTOwogRU5BQkxFX0xJTktfUFJFRkVUQ0ggPSA7CkBAIC0yNTUsNCArMjU0LDQgQEAgRU5B
QkxFX1ZBUklBVElPTl9GT05UU19JRl9OT1RfID0gJChFTkFCTAogRU5BQkxFX1ZBUklBVElPTl9G
T05UU19JRl9OT1RfTk8gPSBFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTOwogRU5BQkxFX1ZBUklBVElP
Tl9GT05UU19JRl9OT1RfWUVTID0gOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9P
QlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0tF
WV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1NOSUZGKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfTUFD
X1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfREVMRUdBVEUpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0NP
REVfQVRUUklCVVRFKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBU
VVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PU05J
RkYpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9NQUNfVklERU9f
VE9PTEJPWCkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDkzIEBACisyMDE3LTA1LTA5ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3RpZmljYXRpb25zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE0ODcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIFJlbW92ZSBmYXN0L25v
dGlmaWNhdGlvbnMvLiBJdCB3YXMgc2tpcHBlZCBvbiBhbGwgcGxhdGZvcm1zIGFuZCB1c2UgbGVn
YWN5IE5vdGlmaWNhdGlvbnMgQVBJLgorICAgICAgICAtIFJlbW92ZSBodHRwL25vdGlmaWNhdGlv
bnMvbGVnYWN5LiBJdCB0ZXN0ZWQgdGhlIGxlZ2FjeSBBUEkuCisgICAgICAgIC0gVXBkYXRlIHR3
byB0ZXN0cyBpbiBmYXN0L2hpc3RvcnkgdG8gdXNlIHRoZSBub24tbGVnYWN5IEFQSSB0byB0ZXN0
IHBhZ2UgY2FjaGUgKyBub3RpZmljYXRpb25zLgorICAgICAgICAtIFVwZGF0ZSBUZXN0RXhwZWN0
YXRpb25zIGZvciByZW1vdmFscy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLW5vbi1zdXNwZW5kYWJsZS5o
dG1sOgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNw
ZW5kYWJsZS5odG1sOgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9uczogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9uLWFmdGVyLWNsb3NlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlzc3Np
b24tZGVsZXRhYmxlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2FuY2Vs
LXJlcXVlc3QtcGVybWlzc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBl
cm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jbGljay1ldmVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNsaWNrLWV2ZW50LWZvY3VzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNv
bnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aC1wZXJt
aXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1
Y3Rvci13aXRob3V0LXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
ZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9j
dW1lbnQtY2xvc2UtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVu
dC1zdG9wLXByb3BhZ2F0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1uby1pY29uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1uby1pY29uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlz
c2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXJlcGxhY2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJt
aXNzaW9uLW9wdGlvbmFsLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1zYW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRv
dy1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90
aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGlu
Zy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL3Jl
cXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24td2hpbGUtcmVsb2FkaW5nLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlczogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtY2FuY2Vs
LXJlcXVlc3QtcGVybWlzc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvbm90aWZp
Y2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5OiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kv
ZG91YmxlLXNob3cuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0
LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1w
ZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxs
YmFjay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxiYWNrLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXM6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJj
ZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4t
bmF2aWdhdGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3Nob3ctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbDogUmVtb3ZlZC4KKwogMjAxNy0wNS0wOSAgTWF0
dCBMZXdpcyAgPGpsZXdpczNAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgd2VicnRjL2F1ZGlv
LXJlcGxhY2UtdHJhY2suaHRtbCBhcyBmbGFreS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXIt
Y2xvc2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDIgKzAsMCBAQAotUEFTUwotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1jbG9z
ZS5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBm
dW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgd2luID0gd2luZG93Lm9wZW4oJ2Fib3V0OmJsYW5rJyk7Ci0gICAgICAgICAgICBpZiAo
d2luLndlYmtpdE5vdGlmaWNhdGlvbnMgPT09IHVuZGVmaW5lZCkgewotICAgICAgICAgICAgICAg
IGxvZygiUEFTUyIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBub3Rp
ZmljYXRpb25DZW50ZXI9d2luLndlYmtpdE5vdGlmaWNhdGlvbnM7Ci0gICAgICAgICAgICAgICAg
d2luLmNsb3NlKCk7Ci0gICAgICAgICAgICAgICAgdHJ5IHsgCi0gICAgICAgICAgICAgICAgICAg
IG49bm90aWZpY2F0aW9uQ2VudGVyLmNyZWF0ZU5vdGlmaWNhdGlvbignJyk7IAotICAgICAgICAg
ICAgICAgIH0gY2F0Y2ggKGUpIHt9Ci0gICAgICAgICAgICAgICAgLy8gSnVzdCBtYWtlIHN1cmUg
d2UgZG9uJ3QgY3Jhc2guCi0gICAgICAgICAgICAgICAgbG9nKCJQQVNTIik7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPC9ib2R5
PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVs
ZXRhYmxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgdGhhdCBOb3RpZmlj
YXRpb24ucGVybWlzc2lvbiBpcyBkZWxldGFibGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotCi1QQVNTIE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzICJkZWZhdWx0IgotUEFTUyBk
ZWxldGUgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgdHJ1ZQotUEFTUyBOb3RpZmljYXRpb24u
cGVybWlzc2lvbiBpcyB1bmRlZmluZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbi1wZXJtaXNzc2lvbi1kZWxldGFibGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRl
bGV0YWJsZS5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24g
aXMgZGVsZXRhYmxlLiIpOwotCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIk5vdGlmaWNhdGlvbi5w
ZXJtaXNzaW9uIiwgImRlZmF1bHQiKTsKLXNob3VsZEJlVHJ1ZSgiZGVsZXRlIE5vdGlmaWNhdGlv
bi5wZXJtaXNzaW9uIik7Ci1zaG91bGRCZVVuZGVmaW5lZCgiTm90aWZpY2F0aW9uLnBlcm1pc3Np
b24iKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKQEAgLTEsNSArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVF
U1RFRDogZmlsZTovLwotREVTS1RPUCBOT1RJRklDQVRJT04gUEVSTUlTU0lPTiBSRVFVRVNUIENB
TkNFTExFRDogZmlsZTovLwotUmVxdWVzdGluZyBhbmQgY2FuY2VsbGluZyBub3RpZmljYXRpb24g
cGVybWlzc2lvbi4uLgotCi1QYXNzIGlmIG5vdGlmaWNhdGlvbiBpcyBjYW5jZWxsZWQKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1
ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJl
dmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDQ0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotCi0gICAgICAgIC8vIFRpbWVvdXQgaXMgdG8gZW5zdXJlIHRoYXQgdGhlIGlmcmFt
ZSB3YXMgcmVtb3ZlZC4KLSAgICAgICAgc2V0VGltZW91dChpc0RvbmUsNTAwKTsKLQotICAgICAg
ICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwot
ICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJr
aXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IAotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS5pbm5lckhUTUw9
IlBhc3MgaWYgbm90aWZpY2F0aW9uIGlzIGNhbmNlbGxlZCI7Ci0gICAgICAgIH0KLQotICAgICAg
ICBmdW5jdGlvbiBpc0RvbmUoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3RzKCk7Ij4KLSAgICA8cD5SZXF1ZXN0aW5nIGFuZCBjYW5jZWxsaW5nIG5v
dGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KLTxkaXYgaWQ9InRlc3QiPgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9ub3RpZmljYXRpb25z
LWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbCIgd2lkdGg9ODAwIGhlaWdodD04MDA+PC9p
ZnJhbWU+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNoZWNrLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotQ2hlY2tpbmcg
cGVybWlzc2lvbi4uLgotCi1QQVNTOiBQZXJtaXNzaW9uIG5vdCBncmFudGVkLgotUEFTUzogUGVy
bWlzc2lvbiBncmFudGVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi5o
dG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1jaGVjay1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0
OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAg
ICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlu
bmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25z
IGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAg
dmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKTsKLSAg
ICAgICAgICAgIGlmIChOICE9IDApIHsKLSAgICAgICAgICAgICAgICBsb2coIlBBU1M6IFBlcm1p
c3Npb24gbm90IGdyYW50ZWQuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIGxvZygiRkFJTDogUGVybWlzc2lvbiBzaG91bGRuJ3QgYmUgZ3JhbnRlZC4iKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1p
c3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAg
ICAgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpOwotICAg
ICAgICAgICAgaWYgKE4gPT0gMCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFTUzogUGVybWlz
c2lvbiBncmFudGVkLiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBs
b2coIkZBSUw6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQuIik7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+Q2hlY2tpbmcgcGVybWlz
c2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNr
LWV2ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDggKzAsMCBAQAot
REVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQg
bWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWls
Ci1TaG93aW5nIG5vdGlmaWNhdGlvbnMuCi0KLVRvIGV4ZXJjaXNlIG1hbnVhbGx5LCBncmFudCBu
b3RpZmljYXRpb24gcGVybWlzc2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdlLCB0aGVuIGNsaWNrIG9u
IHRoZSBub3RpZmljYXRpb24uIFlvdSBzaG91bGQgc2VlIGEgIlBBU1MiIG1lc3NhZ2UuCi0KLVBB
U1M6IGNsaWNrIGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xp
Y2stZXZlbnQtZm9jdXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw5ICswLDAgQEAKLURFU0tUT1AgTk9USUZJ
Q0FUSU9OOiBpY29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQg
OCEKLURFU0tUT1AgTk9USUZJQ0FUSU9OIENMT1NFRDogTmV3IEUtbWFpbAotQ2hlY2sgdGhhdCB3
aW5kb3cuZm9jdXMoKSBpcyBub3QgcmVzdHJpY3RlZCBkdXJpbmcgbm90aWZpY2F0aW9uIGNsaWNr
IGV2ZW50cy4KLQotVG8gZXhlcmNpc2UgbWFudWFsbHksIGRpc2FibGUgcG9wLXVwIGJsb2NraW5n
LCBncmFudCBub3RpZmljYXRpb24gcGVybWlzc2lvbnMgYW5kIGxvYWQgdGhpcyBwYWdlLCB0aGVu
IGNsaWNrIG9uIHRoZSBub3RpZmljYXRpb24uIFlvdSBzaG91bGQgc2VlIHR3byAiUEFTUyIgbWVz
c2FnZXMgYW5kIHRoaXMgd2luZG93IHNob3VsZCBiZSBmb2N1c2VkLgotCi1QQVNTOiBjbGljayBl
dmVudCBmaXJlZC4KLVBBU1M6IGZvY3VzIGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC1mb2N1cy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNsaWNrLWV2ZW50LWZvY3VzLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLmh0
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBm
dW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAg
ICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2lu
ZG93c1doZW5Db21wbGV0ZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdp
bmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBO
byB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgLy8gT3BlbiBhIG5ldyB3aW5kb3csIHNvIHdlIGRvbid0IGhhdmUgdGhlIGZvY3Vz
LgotICAgICAgICAgICAgdmFyIFcgPSB3aW5kb3cub3BlbigiYWJvdXQ6YmxhbmsiKTsKLSAgICAg
ICAgICAgIFcuZm9jdXMoKTsKLQotICAgICAgICAgICAgd2luZG93Lm9uZm9jdXMgPSBmdW5jdGlv
bigpIHsgbG9nKCJQQVNTOiBmb2N1cyBldmVudCBmaXJlZC4iKTsgfQotCi0gICAgICAgICAgICB2
YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwg
Ik5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLm9u
Y2xpY2sgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBjbGljayBldmVudCBmaXJlZC4iKTsgd2lu
ZG93LmZvY3VzKCk7IE4uY2FuY2VsKCk7ICB9Ci0gICAgICAgICAgICBOLnNob3coKTsKLQotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zaW11bGF0ZUxlZ2FjeVdlYk5vdGlmaWNhdGlvbkNsaWNrKCJOZXcgRS1tYWlsIik7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+Q2hlY2sgdGhhdCB3
aW5kb3cuZm9jdXMoKSBpcyBub3QgcmVzdHJpY3RlZCBkdXJpbmcgbm90aWZpY2F0aW9uIGNsaWNr
IGV2ZW50cy48L3A+Ci0KLTxwPlRvIGV4ZXJjaXNlIG1hbnVhbGx5LCBkaXNhYmxlIHBvcC11cCBi
bG9ja2luZywgZ3JhbnQgbm90aWZpY2F0aW9uIHBlcm1pc3Npb25zIGFuZCBsb2FkIHRoaXMgcGFn
ZSwgdGhlbiBjbGljayBvbiB0aGUgbm90aWZpY2F0aW9uLiAgWW91IHNob3VsZCBzZWUgdHdvICJQ
QVNTIiBtZXNzYWdlcyBhbmQgdGhpcyB3aW5kb3cgc2hvdWxkIGJlIGZvY3VzZWQuPC9wPgotPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgot
cnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1j
bGljay1ldmVudC5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCShub25leGlzdGVudCkK
QEAgLTEsNDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAK
LSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2Vi
Tm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmR1bXBO
b3RpZmljYXRpb25zKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmlj
YXRpb25zKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMg
aW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2
YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwg
Ik5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLm9u
Y2xpY2sgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBjbGljayBldmVudCBmaXJlZC4iKTsgTi5j
YW5jZWwoKTsgIH0KLSAgICAgICAgICAgIE4uc2hvdygpOwotICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0ZUxlZ2Fj
eVdlYk5vdGlmaWNhdGlvbkNsaWNrKCJOZXcgRS1tYWlsIik7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2hvd2luZyBub3RpZmljYXRpb25zLjwvcD4KLQot
PHA+VG8gZXhlcmNpc2UgbWFudWFsbHksIGdyYW50IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBh
bmQgbG9hZCB0aGlzIHBhZ2UsIHRoZW4gY2xpY2sgb24gdGhlIG5vdGlmaWNhdGlvbi4gIFlvdSBz
aG91bGQgc2VlIGEgIlBBU1MiIG1lc3NhZ2UuPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4g
ICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Npb24tZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJ
T04gUkVRVUVTVEVEOiBmaWxlOi8vCi1SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9u
Li4uCi0KLVBBU1M6IFBlcm1pc3Npb24gY2FsbGJhY2sgaW52b2tlZC4KLQpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVz
dC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJ
KHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1l
c3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cuTm90aWZp
Y2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBOb3RpZmljYXRpb24gaW50
ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIg
TiA9IHdpbmRvdy5Ob3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oCi0gICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLiIp
OyB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLSAgICA8cD5SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uPC9wPgot
ICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLQotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3Ry
dWN0b3Itd2l0aC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1ERVNLVE9QIE5P
VElGSUNBVElPTjogaWNvbiAsIHRpdGxlIEhlbGxvIHdvcmxkLCB0ZXh0IAotU2VuZGluZyBub3Rp
ZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLgotCi1QQVNTOiBzaG93IGV2ZW50IGZpcmVkLgot
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25z
dHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Np
b24uaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBs
b2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
Z3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93
Lk5vdGlmaWNhdGlvbikgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gTm90aWZpY2F0
aW9uIGNvbnN0cnVjdG9yISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAg
ICAgICB2YXIgTiA9IG5ldyBOb3RpZmljYXRpb24oIkhlbGxvIHdvcmxkIik7Ci0gICAgICAgICAg
ICBOLm9uc2hvdyA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IHNob3cgZXZlbnQgZmlyZWQuIik7
IH0KLSAgICAgICAgICAgIE4ub25lcnJvciA9IGZ1bmN0aW9uKCkgeyBsb2coIkZBSUw6IGVycm9y
IGV2ZW50IGZpcmVkLiIpOyB9Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfSwgMTAwKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNz
aW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3Ry
dWN0b3Itd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRo
b3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1T
ZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aG91dCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGVycm9y
IGV2ZW50IGZpcmVkLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1
Y3Rvci13aXRob3V0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3Itd2l0aG91
dC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNyArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0
cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
ICAgICAgICAgICAgIC8vIE5PIFBFUk1JU1NJT04gdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNh
dGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cuTm90aWZpY2F0aW9uKSB7
Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBOb3RpZmljYXRpb24gY29uc3RydWN0b3Ih
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gbmV3
IE5vdGlmaWNhdGlvbigiSGVsbG8gd29ybGQiKTsKLSAgICAgICAgICAgIE4ub25zaG93ID0gZnVu
Y3Rpb24oKSB7IGxvZygiRkFJTDogc2hvdyBldmVudCBmaXJlZC4iKTsgfQotICAgICAgICAgICAg
Ti5vbmVycm9yID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogZXJyb3IgZXZlbnQgZmlyZWQuIik7
IH0KLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOyB9LCAxMDApOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi48L3A+Ci08
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAt
MSw3ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgTmV3IEUtbWFp
bCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKLURFU0tUT1AgTk9USUZJQ0FUSU9OIENMT1NF
RDogTmV3IEUtbWFpbAotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLgot
Ci1QQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuCi1QQVNTOiBjbG9zZSBldmVudCBpbnZva2Vk
LgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1k
aXNwbGF5LWNsb3NlLWV2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwJKHJl
dmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBm
dW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlv
bnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAg
ICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2Uh
Iik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFp
bCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25kaXNwbGF5ID0g
ZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogZGlzcGxheSBldmVudCBpbnZva2VkLiIpOyBOLmNhbmNl
bCgpOyB9Ci0gICAgICAgICAgICBOLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBj
bG9zZSBldmVudCBpbnZva2VkLiIpOyB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfQotICAgICAg
ICAgICAgTi5zaG93KCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+ICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2Ut
Y3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzY6IFVuY2F1Z2h0IEludmFs
aWRTdGF0ZUVycm9yIChET00gRXhjZXB0aW9uIDExKTogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZh
bGlkIHN0YXRlLg0KLVBBU1MNCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3Nl
LWNyYXNoLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSw1MCArMCwwIEBACi08aHRtbD4KLSAgICA8Ym9keT4KLSAgICAgICAgPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5k
b3dzKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBl
cm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90
aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZh
ciB0YXJnZXQgPSB3aW5kb3cub3BlbigiYWJvdXQ6YmxhbmsiKTsKLSAgICAgICAgICAgIHZhciBu
b3RpZmljYXRpb24gPSB0YXJnZXQud2Via2l0Tm90aWZpY2F0aW9uczsKLSAgICAgICAgICAgIHRh
cmdldC5sb2NhdGlvbi5yZWxvYWQoKTsKLSAgICAgICAgICAgIHZhciB0aW1lciA9IHNldEludGVy
dmFsKCJjcmFzaCgpIiwgNjApOwotICAgICAgICAgICAgc2V0VGltZW91dCgiZmluaXNoKCkiLCAx
MDApOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBjcmFzaCgpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgdmFyIGEgPSBbXTsKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDB4MTAwOyBpKyspCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICB0
cnkKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgYS5wdXNo
KG5ldyBXZWJHTEJ5dGVBcnJheSgpKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgICAgICBjYXRjaCAoZSkge30KLSAgICAgICAgICAgICAgICAgICAgYS5wdXNoKEFycmF5
KGkpLmpvaW4oIkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIikpOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBkZWxldGUgYTsKLSAgICAgICAgICAgICAgICBub3RpZmljYXRpb24u
cmVxdWVzdFBlcm1pc3Npb24oKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rp
b24gZmluaXNoKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjbGVhckludGVydmFs
KHRpbWVyKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MID0gIlBBU1MiOwotICAgICAgICAgICAgICAgIHRhcmdldC5jbG9zZSgpOwot
ICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwvc2Ny
aXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1
OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50
LXN0b3AtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNiArMCww
IEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiBodHRwOi8vbG9jYWxob3N0L215X2ljb24u
cG5nLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RP
UCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMg
d2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlzcGxheSkgY2Fw
dHVyZSBjYWxsYmFjayBpbnZva2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1z
dG9wLXByb3BhZ2F0aW9uLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1
bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAg
ICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAg
ICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtp
dE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJodHRwOi8vbG9jYWxob3N0L215X2lj
b24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAg
ICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImRpc3BsYXkiLCBmdW5jdGlvbihlKSB7IGxvZygiUEFT
UzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBub24tY2FwdHVyZSBjYWxsYmFjayBpbnZva2Vk
Iik7IH0pOwotICAgICAgICAgICAgTi5vbmRpc3BsYXkgPSAgICAgICAgICAgICAgICAgZnVuY3Rp
b24oZSkgeyBsb2coIlBBU1M6IG9uZGlzcGxheSBhdHRyaWJ1dGUgZXZlbnQgY2FsbGJhY2sgaW52
b2tlZC4iKTsgfQotICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJkaXNwbGF5IiwgZnVu
Y3Rpb24oZSkgeyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlzcGxheSkgY2FwdHVyZSBj
YWxsYmFjayBpbnZva2VkIik7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IH0sIHRydWUgKTsKLSAgICAg
ICAgICAgIE4uc2hvdygpOwotICAgICAgICAgICAgTi5jYW5jZWwoKTsKLSAgICAgICAgfQotICAg
IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0
aCBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi0gICAgCi08
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxMCArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiBodHRwOi8vbG9j
YWxob3N0L215X2ljb24ucG5nLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdo
dCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5n
IG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IGFkZEV2ZW50TGlzdGVu
ZXIoY2xvc2UpIGNhcHR1cmUgY2FsbGJhY2sgIzEgaW52b2tlZAotUEFTUzogYWRkRXZlbnRMaXN0
ZW5lcihjbG9zZSkgY2FwdHVyZSBjYWxsYmFjayAjMiBpbnZva2VkCi1QQVNTOiBhZGRFdmVudExp
c3RlbmVyKGNsb3NlKSBjYWxsYmFjayAjMSBpbnZva2VkCi1QQVNTOiBvbmNsb3NlIGF0dHJpYnV0
ZSBldmVudCBjYWxsYmFjayBpbnZva2VkLgotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkg
Y2FsbGJhY2sgIzMgaW52b2tlZAotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbAko
cmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtbXVsdGktZXZlbnRzLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0MCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewot
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCAr
PSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlv
biBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJt
aXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlm
aWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNh
dGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAg
ICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlv
bigiaHR0cDovL2xvY2FsaG9zdC9teV9pY29uLnBuZyIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUg
dG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIs
IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNr
ICMxIGludm9rZWQiKTsgfSk7Ci0gICAgICAgICAgICBOLm9uY2xvc2UgPSAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogb25jbG9zZSBhdHRyaWJ1dGUgZXZlbnQgY2FsbGJh
Y2sgaW52b2tlZC4iKTsgfQotICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIs
IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhcHR1cmUg
Y2FsbGJhY2sgIzEgaW52b2tlZCIpOyB9LCB0cnVlICk7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50
TGlzdGVuZXIoImNsb3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5l
cihjbG9zZSkgY2FwdHVyZSBjYWxsYmFjayAjMiBpbnZva2VkIik7IH0sIHRydWUgKTsKLSAgICAg
ICAgICAgIE4uYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCBmdW5jdGlvbigpIHsgbG9nKCJQQVNT
OiBhZGRFdmVudExpc3RlbmVyKGNsb3NlKSBjYWxsYmFjayAjMyBpbnZva2VkIik7IH0pOwotICAg
ICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOwotICAgICAgICB9Ci0g
ICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3
aXRoIHBlcm1pc3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLSAgICAK
LTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1uby1pY29uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAs
MCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0
IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotU2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlz
c2lvbi4uLgotCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLW5vLWljb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1uby1pY29uLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDM4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1
bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAg
ICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAo
dGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBp
ZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJG
QUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdo
dCBhdCA4ISIpOwotICAgICAgICAgICAgTS5zaG93KCk7Ci0gICAgICAgIH0KLSAgICA8L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGggcGVybWlz
c2lvbi4uLjwvcD4KLSAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
LXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDEw
ICswLDAgQEAKLUNoZWNrIGZvciBleGlzdGVuY2Ugb2YgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi1QQVNTIHdpbmRvdy5Ob3RpZmljYXRpb24g
aXMgZGVmaW5lZC4KLVBBU1Mgd2luZG93Lk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzIGRlZmlu
ZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlz
c2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi5odG1sCShu
b25leGlzdGVudCkKQEAgLTEsMjEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotCTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci1kZXNjcmlwdGlvbigiQ2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBOb3RpZmljYXRpb24ucGVybWlz
c2lvbiIpOwotCi1zaG91bGRCZURlZmluZWQoIndpbmRvdy5Ob3RpZmljYXRpb24iKTsKLXNob3Vs
ZEJlRGVmaW5lZCgid2luZG93Lk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIik7Ci0KLXZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1yZXBsYWNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FU
SU9OOiBpY29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEK
LURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgQWxhcm0sIHRleHQgSXQncyB0aW1l
IHRvIHdha2UgdXAhCi1SRVBMQUNJTkcgTk9USUZJQ0FUSU9OIE5ldyBFLW1haWwKLURFU0tUT1Ag
Tk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgTmV3IHJlcGx5LCB0ZXh0IENvcnJlY3Rpb24sIDg6
MTUKLVNob3dpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHJlcGxhY2UgSUQuLi4KLQotCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtcmVwbGFjZS5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSw0MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkK
LSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIp
LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAg
ICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuZHVtcE5vdGlm
aWNhdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlv
bnMoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZp
Y2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgIHZhciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAg
ICAgIE0ucmVwbGFjZUlkID0gIk5ld01haWwiOwotICAgICAgICAgICAgTS5zaG93KCk7Ci0gICAg
ICAgICAgICB2YXIgb3RoZXIgPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3Rp
ZmljYXRpb24oIiIsICJBbGFybSIsICJJdCdzIHRpbWUgdG8gd2FrZSB1cCEiKTsKLSAgICAgICAg
ICAgIG90aGVyLnNob3coKTsKLSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlm
aWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IHJlcGx5IiwgIkNvcnJlY3Rpb24s
IDg6MTUiKTsKLSAgICAgICAgICAgIE4ucmVwbGFjZUlkID0gIk5ld01haWwiOwotICAgICAgICAg
ICAgTi5zaG93KCk7ICAgICAgICAgIAotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwPlNob3dpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHJlcGxhY2UgSUQuLi48L3A+
Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9u
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1yZXF1ZXN0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSAr
MCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogZmlsZTov
LwotUmVxdWVzdGluZyBub3RpZmljYXRpb24gcGVybWlzc2lvbi4uLgotCi1QQVNTOiBQZXJtaXNz
aW9uIGNhbGxiYWNrIGludm9rZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
cmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xLDYgKzAsMCBAQAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucyBpcyBkZWZpbmVk
LgotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1vcHRpb25hbC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3Qt
cGVybWlzc2lvbi1vcHRpb25hbC5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0
aW9uYWwuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotc2hvdWxk
QmVEZWZpbmVkKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucyIpOwotc2hvdWxkTm90VGhyb3co
IndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKCkiKTsKLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJt
aXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMzYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1l
c3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90
aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAg
ICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1p
c3Npb24oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogUGVybWlzc2lv
biBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9Ci0gICAg
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8cD5SZXF1ZXN0aW5nIG5vdGlmaWNhdGlv
biBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi08
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0K
LQotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtcnRsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1ydGwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1ERVNL
VE9QIE5PVElGSUNBVElPTjooUlRMKSBpY29uICwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0
IG1lIHRvbmlnaHQgYXQgOCEKLVNob3dpbmcgYSBub3RpZmljYXRpb24gd2l0aCBkaXJlY3Rpb24g
InJ0bCIuLi4KLQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1ydGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2co
bWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3Jh
bnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIu
ZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5v
dGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cu
d2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Vi
a2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAKLSAgICAgICAgICAgIHZhciBNID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRl
Tm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsK
LSAgICAgICAgICAgIE0uZGlyID0gInJ0bCI7Ci0gICAgICAgICAgICBNLnNob3coKTsKLSAgICAg
ICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TaG93aW5nIGEgbm90aWZp
Y2F0aW9uIHdpdGggZGlyZWN0aW9uICJydGwiLi4uPC9wPgotICAgIAotPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KLSAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMo
KTsKLTwvc2NyaXB0PgotCi08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkK
KysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNCArMCwwIEBACi1O
b3JtYWwgaWZyYW1lLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9ucy4KLQotCi1TYW5kYm94ZWQg
aWZyYW1lLCB3aXRoIGFsbG93LXNhbWUtb3JpZ2luLiBTaG91bGQgaW5oZXJpdCBwZXJtaXNzaW9u
cy4KLQotCi1TYW5kYm94ZWQgaWZyYW1lLCB3aXRob3V0IGFsbG93LXNhbWUtb3JpZ2luLiBTaG91
bGQgbm90IGluaGVyaXQgcGVybWlzc2lvbnMuCi0KLQotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0t
ZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKLS0tLS0tLS0tCi1BbGxvd2VkCi0KLS0tLS0t
LS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUxLS0+LS0+JwotLS0tLS0tLS0K
LUFsbG93ZWQKLQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTIt
LT4tLT4nCi0tLS0tLS0tLQotRGVuaWVkCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBl
cm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0
ZW50KQpAQCAtMSwyNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPHNjcmlwdD4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENo
aWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZp
Y2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLSAgICA8cD5Ob3JtYWwgaWZyYW1lLiBTaG91bGQgaW5oZXJpdCBwZXJt
aXNzaW9ucy48L3A+Ci0gICAgPGlmcmFtZSBzcmM9InJlc291cmNlcy9ub3RpZmljYXRpb25zLWlm
cmFtZS5odG1sIj48L2lmcmFtZT4KLQotICAgIDxwPlNhbmRib3hlZCBpZnJhbWUsIHdpdGggYWxs
b3ctc2FtZS1vcmlnaW4uIFNob3VsZCBpbmhlcml0IHBlcm1pc3Npb25zLjwvcD4KLSAgICA8aWZy
YW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4iCi0gICAgICAgICAg
ICBzcmM9InJlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sIj48L2lmcmFtZT4KLQot
ICAgIDxwPlNhbmRib3hlZCBpZnJhbWUsIHdpdGhvdXQgYWxsb3ctc2FtZS1vcmlnaW4uIFNob3Vs
ZCBub3QgaW5oZXJpdCBwZXJtaXNzaW9ucy48L3A+Ci0gICAgPGlmcmFtZSBzYW5kYm94PSJhbGxv
dy1zY3JpcHRzIgotICAgICAgICAgICAgc3JjPSJyZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1pZnJh
bWUuaHRtbCI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2gtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1
OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRv
dy1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSArMCwwIEBACi1U
aGlzIHRlc3QgbmVlZHMgdG8gcnVuIG1hbnVhbGx5IGFuZCBjYW5ub3QgcnVuIGluc2lkZSBEdW1w
UmVuZGVyVHJlZS4gUGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoIG9uIHJ1bm5pbmcgdGhlIHRl
c3QgYWxvbmd3aXRoIHdpdGggYSBjb3VwbGUgb2YgcGFnZSByZWxvYWRzLgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNo
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1j
cmFzaC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMjMgKzAsMCBAQAotPGh0bWw+IA0KLSAgICA8
aGVhZD4gDQotICAgICAgICA8c2NyaXB0PiANCi0gICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0
KCkNCi0gICAgICAgICAgICB7DQotICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikNCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0KLSAgICAg
ICAgICAgICAgICBlbHNlDQotICAgICAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgICAg
IHZhciB3aW4gPSB3aW5kb3cub3BlbigiYWJvdXQ6YmxhbmsiKTsNCi0gICAgICAgICAgICAgICAg
ICAgIHZhciBub3RpZmljYXRpb24gPSB3aW4ud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3Rp
ZmljYXRpb24oJycpOw0KLSAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNob3coKTsN
Ci0gICAgICAgICAgICAgICAgICAgIHdpbi5jbG9zZSgpOw0KLSAgICAgICAgICAgICAgICAgICAg
bm90aWZpY2F0aW9uLmNhbmNlbCgpOw0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAg
fQ0KLSAgICAgICAgIDwvc2NyaXB0PiANCi0gICAgPC9oZWFkPiANCi0gICAgPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPiANCi0gICAgICAgIDxwPlRoaXMgdGVzdCBuZWVkcyB0byBydW4gbWFudWFs
bHkgYW5kIGNhbm5vdCBydW4gaW5zaWRlIER1bXBSZW5kZXJUcmVlLiBQYXNzZXMgaWYgaXQgZG9l
cyBub3QgY3Jhc2ggb24gcnVubmluZyB0aGUgdGVzdCBhbG9uZ3dpdGggd2l0aCBhIGNvdXBsZSBv
ZiBwYWdlIHJlbG9hZHMuPC9wPg0KLSAgICA8L2JvZHk+IA0KLTwvaHRtbD4NCi0NCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Np
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXdpdGgtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAg
QEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5n
LCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotU2VuZGluZyBu
b3RpZmljYXRpb25zIHdpdGggcGVybWlzc2lvbi4uLgotCi0KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdp
dGgtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbAkobm9uZXhp
c3RlbnQpCkBAIC0xLDQwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxv
ZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAg
ICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5n
cmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5l
ci5kdW1wTm90aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
Tm90aWZpY2F0aW9ucygpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3Rp
ZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmlj
YXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRp
b24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0
b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBNLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgeyB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfQotICAgICAgICAgICAgTS5zaG93KCk7Ci0gICAgICAg
IH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRp
b25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLSAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
d2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNz
aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotU2VuZGluZyBu
b3RpZmljYXRpb25zIHdpdGhvdXQgcGVybWlzc2lvbi4uLgotCi1QQVNTOiBFeGNlcHRpb24gdGhy
b3duLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy13aXRob3V0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Npb24uaHRtbAkocmV2
aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAg
ewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5j
dGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgICAgIC8vIE5PIFBFUk1JU1NJT04gdGVzdFJ1bm5lci5ncmFu
dFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYg
KCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJ
TDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgdmFyIE4gPSB3
aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly8wLjAu
MC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7
Ci0gICAgICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBT
aG91bGQgaGF2ZSB0aHJvd24gc2VjdXJpdHkgZXhjZXB0aW9uLiIpOwotICAgICAgICAgICAgfSBj
YXRjaCAoZSkgewotICAgICAgICAgICAgICAgIGxvZygiUEFTUzogRXhjZXB0aW9uIHRocm93bi4i
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aG91dCBwZXJtaXNzaW9uLi4uPC9wPgot
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Npb24t
d2hpbGUtcmVsb2FkaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1y
ZWxvYWRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1y
ZWxvYWRpbmctZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMyArMCwwIEBACi1UaGlz
IHRlc3RzIHRoYXQgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24gcmVxdWVzdHMgZHVyaW5nIHBhZ2Ug
cmVsb2FkIGRvIG5vdCBjYXVzZSBhIGNyYXNoLgotCi1QQVNTOiBUZXN0IHBhc3NlZCBpZiB3ZSBz
YXcgbm8gY3Jhc2guCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVz
dC1ub3RpZmljYXRpb24tcGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmcuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24t
cGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmcuaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3JlcXVlc3Qtbm90aWZpY2F0aW9uLXBlcm1pc3Np
b24td2hpbGUtcmVsb2FkaW5nLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNyArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHA+VGhpcyB0ZXN0cyB0aGF0IG5vdGlmaWNhdGlvbiBw
ZXJtaXNzaW9uIHJlcXVlc3RzIGR1cmluZyBwYWdlIHJlbG9hZCBkbyBub3QgY2F1c2UgYSBjcmFz
aC48L3A+Ci08cCBpZD0ibWVzc2FnZSI+RkFJTDogVGVzdCBkaWQgbm90IHJ1biB0byBjb21wbGV0
aW9uIHlldC48L3A+Ci08c2NyaXB0PgotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LX0KLQotdmFyIHRyaWVzID0gbG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkgPj4+IDA7Ci1pZiAo
dHJpZXMgPCAxMCkgewotICAgIGxvY2F0aW9uLmhhc2ggPSAiIyIgKyAodHJpZXMgKyAxKTsKLSAg
ICBsb2NhdGlvbi5yZWxvYWQoKTsKLQotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKTsKLSAgICB9LCAwKTsK
LX0gZWxzZSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lc3NhZ2UiKS50ZXh0Q29u
dGVudCA9ICJQQVNTOiBUZXN0IHBhc3NlZCBpZiB3ZSBzYXcgbm8gY3Jhc2guIjsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQot
Ci08L3NjcmlwdD4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9u
b3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2
NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmlj
YXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDI4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAg
ICAgICAgcGFyZW50LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rp
b24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5pZ25vcmVMZWdhY3lXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdHMoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgd2luZG93LndlYmtpdE5vdGlm
aWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7
IGxvZygiRkFJTDogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAg
ICApOwotCi0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdHMoKTsiPgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0
aW9ucy1pZnJhbWUuaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWlmcmFtZS5odG1sCShub25leGlz
dGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDx0aXRsZT5Ob3RpZmljYXRpb25zOiBJZnJhbWUgdGVzdC48L3RpdGxlPgotPC9oZWFkPgot
PGJvZHk+Ci0gICAgPHAgaWQ9Imhhc1Blcm1pc3Npb24iPjwvcD4KLSAgICA8c2NyaXB0PgotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFzUGVybWlzc2lvbiIpLmlubmVyVGV4dCA9
Ci0gICAgICAgICAgICAhd2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSA/ICJB
bGxvd2VkIiA6ICJEZW5pZWQiOwotICAgIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLW5vbi1z
dXNwZW5kYWJsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbAkocmV2aXNpb24gMjE2
NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9u
LW5vbi1zdXNwZW5kYWJsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24KICAgICB3aW5kb3cuc2Vzc2lv
blN0b3JhZ2UucGFnZV9jYWNoZV9ub3RpZmljYXRpb25zX3Rlc3Rfc3RhcnRlZCA9IHRydWU7CiAK
ICAgICAvLyBUaGlzIG5vdGlmaWNhdGlvbiBpcyBzaG93biBhbmQgc2hvdWxkIG5vdCBiZSBzdXNw
ZW5kYWJsZS4KLSAgICBub3RpZmljYXRpb24gPSB3ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbignJywgJ3RpdGxlIDInLCAnYm9keScpOworICAgIG5vdGlmaWNhdGlvbiA9IG5l
dyBOb3RpZmljYXRpb24oJ3RpdGxlJywgeyBib2R5OiAnYm9keScgfSk7CiAgICAgbm90aWZpY2F0
aW9uLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKICAgICAgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90
IHNob3cgdGhlIG5vdGlmaWNhdGlvbiIpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKQEAgLTQ2
LDcgKzQ2LDYgQEAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbgogICAg
ICAgICAvLyBGb3JjZSBhIGJhY2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KICAgICAg
ICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0
bWwiOwogICAgIH07Ci0gICAgbm90aWZpY2F0aW9uLnNob3coKTsKIH0sIGZhbHNlKTsKIAogPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmlj
YXRpb24tc3VzcGVuZGFibGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFibGUuaHRtbAkocmV2aXNpb24g
MjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0
aW9uLXN1c3BlbmRhYmxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDI4ICsyOSwyNCBAQCB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBmdW5jCiB9LCBmYWxzZSk7CiAKIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7Ci0gICAgLy8gVGhpcyBu
b3RpZmljYXRpb24gaXMgaW4gaWRsZSBzdGF0ZSBhbmQgc2hvdWxkIGJlIHN1c3BlbmRhYmxlLgot
ICAgIG5vdGlmaWNhdGlvbjEgPSB3ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlv
bignJywgJ3RpdGxlIDEnLCAnYm9keScpOwotCiAgICAgLy8gVGhpcyBub3RpZmljYXRpb24gaXMg
c2hvd24gYW5kIHNob3VsZCBiZSBzdXNwZW5kYWJsZSBvbmNlIGl0IGlzIGNsb3NlZC4KLSAgICBu
b3RpZmljYXRpb24yID0gd2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycs
ICd0aXRsZSAyJywgJ2JvZHknKTsKLSAgICBub3RpZmljYXRpb24yLm9uZGlzcGxheSA9IGZ1bmN0
aW9uKCkgeworICAgIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oJ3RpdGxlJywgeyBi
b2R5OiAnYm9keScgfSk7CisgICAgbm90aWZpY2F0aW9uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkg
ewogICAgICAgICAvLyBDbG9zZSB0aGUgbm90aWZpY2F0aW9uLgogICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbm90aWZpY2F0aW9uMi5jYW5jZWwoKTsKKyAgICAg
ICAgICAgIG5vdGlmaWNhdGlvbi5jbG9zZSgpOwogICAgICAgICB9LCAwKTsKICAgICB9OwotICAg
IG5vdGlmaWNhdGlvbjIub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgIG5vdGlmaWNhdGlvbi5v
bmVycm9yID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBkaXNw
bGF5IHRoZSBub3RpZmljYXRpb24iKTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfTsK
LSAgICBub3RpZmljYXRpb24yLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsKKyAgICBub3RpZmljYXRp
b24ub25jbG9zZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgLy8gRm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBh
Z2UuCiAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJjZXMvcGFnZS1j
YWNoZS1oZWxwZXIuaHRtbCI7CiAgICAgICAgIH0sIDApOwogICAgIH07Ci0gICAgbm90aWZpY2F0
aW9uMi5zaG93KCk7CiB9LCBmYWxzZSk7CiAKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKQEAgLTEsMiArMCwwIEBACi1QQVNTCi0KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWFm
dGVyLWNsb3NlLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDQ0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICB3aW4gPSB3aW5kb3cub3BlbignYWJvdXQ6YmxhbmsnKTsKLSAgICAgICAg
ICAgIGlmICh3aW4ud2Via2l0Tm90aWZpY2F0aW9ucyA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICAg
ICAgICAgICAgbG9nKCJQQVNTIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIG5vdGlmaWNhdGlvbkNlbnRlcj13aW4ud2Via2l0Tm90aWZpY2F0aW9uczsKLSAgICAgICAg
ICAgICAgICB3aW4uY2xvc2UoKTsKLSAgICAgICAgICAgICAgICB0cnkgeyAKLSAgICAgICAgICAg
ICAgICAgICAgbj1ub3RpZmljYXRpb25DZW50ZXIuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsgCi0g
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KLSAgICAgICAgICAgICAgICAvLyBKdXN0IG1h
a2Ugc3VyZSB3ZSBkb24ndCBjcmFzaC4KLSAgICAgICAgICAgICAgICBsb2coIlBBU1MiKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAgPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAgIAotICAgIAot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0Pgot
Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1wZXJtaXNz
c2lvbi1kZWxldGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJs
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMiArMCwwIEBACi1UZXN0cyB0aGF0
IE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIGlzIGRlbGV0YWJsZS4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLVBBU1MgTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gaXMgImRlZmF1bHQi
Ci1QQVNTIGRlbGV0ZSBOb3RpZmljYXRpb24ucGVybWlzc2lvbiBpcyB0cnVlCi1QQVNTIE5vdGlm
aWNhdGlvbi5wZXJtaXNzaW9uIGlzIHVuZGVmaW5lZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9uLXBlcm1pc3NzaW9uLWRlbGV0YWJsZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlz
c3Npb24tZGVsZXRhYmxlLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tcGVybWlzc3Npb24tZGVsZXRhYmxlLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBOb3RpZmljYXRpb24ucGVy
bWlzc2lvbiBpcyBkZWxldGFibGUuIik7Ci0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygiTm90aWZp
Y2F0aW9uLnBlcm1pc3Npb24iLCAiZGVmYXVsdCIpOwotc2hvdWxkQmVUcnVlKCJkZWxldGUgTm90
aWZpY2F0aW9uLnBlcm1pc3Npb24iKTsKLXNob3VsZEJlVW5kZWZpbmVkKCJOb3RpZmljYXRpb24u
cGVybWlzc2lvbiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJt
aXNzaW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJ
T04gUkVRVUVTVEVEOiBmaWxlOi8vCi1ERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJF
UVVFU1QgQ0FOQ0VMTEVEOiBmaWxlOi8vCi1SZXF1ZXN0aW5nIGFuZCBjYW5jZWxsaW5nIG5vdGlm
aWNhdGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBhc3MgaWYgbm90aWZpY2F0aW9uIGlzIGNhbmNlbGxl
ZApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2Fu
Y2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Npb24u
aHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsNDQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Ci0KLSAgICAgICAgLy8gVGltZW91dCBpcyB0byBlbnN1cmUgdGhhdCB0
aGUgaWZyYW1lIHdhcyByZW1vdmVkLgotICAgICAgICBzZXRUaW1lb3V0KGlzRG9uZSw1MDApOwot
Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAi
PGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkK
LSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICgh
d2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6
IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLmlu
bmVySFRNTD0iUGFzcyBpZiBub3RpZmljYXRpb24gaXMgY2FuY2VsbGVkIjsKLSAgICAgICAgfQot
Ci0gICAgICAgIGZ1bmN0aW9uIGlzRG9uZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgotICAgIDxwPlJlcXVlc3RpbmcgYW5kIGNhbmNl
bGxpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgotPGRpdiBpZD0idGVzdCI+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL25vdGlm
aWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sIiB3aWR0aD04MDAgaGVpZ2h0
PTgwMD48L2lmcmFtZT4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtY2hlY2stcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1
OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNr
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi1D
aGVja2luZyBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IFBlcm1pc3Npb24gbm90IGdyYW50ZWQuCi1Q
QVNTOiBQZXJtaXNzaW9uIGdyYW50ZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jaGVjay1wZXJt
aXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWNoZWNrLXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQp
CkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNz
YWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVz
dWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlm
aWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAg
ICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lv
bigpOwotICAgICAgICAgICAgaWYgKE4gIT0gMCkgewotICAgICAgICAgICAgICAgIGxvZygiUEFT
UzogUGVybWlzc2lvbiBub3QgZ3JhbnRlZC4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgbG9nKCJGQUlMOiBQZXJtaXNzaW9uIHNob3VsZG4ndCBiZSBncmFudGVkLiIp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9u
KCk7Ci0gICAgICAgICAgICBpZiAoTiA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJQQVNT
OiBQZXJtaXNzaW9uIGdyYW50ZWQuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIGxvZygiRkFJTDogUGVybWlzc2lvbiBub3QgZ3JhbnRlZC4iKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5DaGVja2lu
ZyBwZXJtaXNzaW9uLi4uPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtY2xpY2stZXZlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtY2xpY2stZXZlbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsOCAr
MCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiAsIHRpdGxlIE5ldyBFLW1haWwsIHRl
eHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1ERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5l
dyBFLW1haWwKLVNob3dpbmcgbm90aWZpY2F0aW9ucy4KLQotVG8gZXhlcmNpc2UgbWFudWFsbHks
IGdyYW50IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBhZ2UsIHRoZW4g
Y2xpY2sgb24gdGhlIG5vdGlmaWNhdGlvbi4gWW91IHNob3VsZCBzZWUgYSAiUEFTUyIgbWVzc2Fn
ZS4KLQotUEFTUzogY2xpY2sgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZvY3VzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1jbGljay1ldmVudC1mb2N1cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50
LWZvY3VzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDkgKzAsMCBAQAotREVTS1RP
UCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9u
aWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1DaGVj
ayB0aGF0IHdpbmRvdy5mb2N1cygpIGlzIG5vdCByZXN0cmljdGVkIGR1cmluZyBub3RpZmljYXRp
b24gY2xpY2sgZXZlbnRzLgotCi1UbyBleGVyY2lzZSBtYW51YWxseSwgZGlzYWJsZSBwb3AtdXAg
YmxvY2tpbmcsIGdyYW50IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucyBhbmQgbG9hZCB0aGlzIHBh
Z2UsIHRoZW4gY2xpY2sgb24gdGhlIG5vdGlmaWNhdGlvbi4gWW91IHNob3VsZCBzZWUgdHdvICJQ
QVNTIiBtZXNzYWdlcyBhbmQgdGhpcyB3aW5kb3cgc2hvdWxkIGJlIGZvY3VzZWQuCi0KLVBBU1M6
IGNsaWNrIGV2ZW50IGZpcmVkLgotUEFTUzogZm9jdXMgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50LWZv
Y3VzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtY2xpY2stZXZlbnQtZm9jdXMuaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQt
Zm9jdXMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUxICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0g
ICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJy
PiI7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRD
YW5PcGVuV2luZG93cygpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1h
aW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2co
IkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICAvLyBPcGVuIGEgbmV3IHdpbmRvdywgc28gd2UgZG9uJ3QgaGF2ZSB0
aGUgZm9jdXMuCi0gICAgICAgICAgICB2YXIgVyA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIp
OwotICAgICAgICAgICAgVy5mb2N1cygpOwotCi0gICAgICAgICAgICB3aW5kb3cub25mb2N1cyA9
IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGZvY3VzIGV2ZW50IGZpcmVkLiIpOyB9Ci0KLSAgICAg
ICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAg
ICAgIE4ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVk
LiIpOyB3aW5kb3cuZm9jdXMoKTsgTi5jYW5jZWwoKTsgIH0KLSAgICAgICAgICAgIE4uc2hvdygp
OwotCi0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNpbXVsYXRlTGVnYWN5V2ViTm90aWZpY2F0aW9uQ2xpY2soIk5ldyBFLW1h
aWwiKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5DaGVj
ayB0aGF0IHdpbmRvdy5mb2N1cygpIGlzIG5vdCByZXN0cmljdGVkIGR1cmluZyBub3RpZmljYXRp
b24gY2xpY2sgZXZlbnRzLjwvcD4KLQotPHA+VG8gZXhlcmNpc2UgbWFudWFsbHksIGRpc2FibGUg
cG9wLXVwIGJsb2NraW5nLCBncmFudCBub3RpZmljYXRpb24gcGVybWlzc2lvbnMgYW5kIGxvYWQg
dGhpcyBwYWdlLCB0aGVuIGNsaWNrIG9uIHRoZSBub3RpZmljYXRpb24uICBZb3Ugc2hvdWxkIHNl
ZSB0d28gIlBBU1MiIG1lc3NhZ2VzIGFuZCB0aGlzIHdpbmRvdyBzaG91bGQgYmUgZm9jdXNlZC48
L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwJKG5vbmV4
aXN0ZW50KQpAQCAtMSw0NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBs
b2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
Z3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuZHVtcE5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cE5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZp
Y2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0
aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAg
ICAgIE4ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVk
LiIpOyBOLmNhbmNlbCgpOyAgfQotICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNpbXVs
YXRlTGVnYWN5V2ViTm90aWZpY2F0aW9uQ2xpY2soIk5ldyBFLW1haWwiKTsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TaG93aW5nIG5vdGlmaWNhdGlvbnMu
PC9wPgotCi08cD5UbyBleGVyY2lzZSBtYW51YWxseSwgZ3JhbnQgbm90aWZpY2F0aW9uIHBlcm1p
c3Npb25zIGFuZCBsb2FkIHRoaXMgcGFnZSwgdGhlbiBjbGljayBvbiB0aGUgbm90aWZpY2F0aW9u
LiAgWW91IHNob3VsZCBzZWUgYSAiUEFTUyIgbWVzc2FnZS48L3A+Ci08ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PiAgICAKLSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRl
c3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXJlcXVlc3QtcGVybWlz
c2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT04g
UEVSTUlTU0lPTiBSRVFVRVNURUQ6IGZpbGU6Ly8KLVJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBl
cm1pc3Npb24uLi4KLQotUEFTUzogUGVybWlzc2lvbiBjYWxsYmFjayBpbnZva2VkLgotCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rv
ci1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci1yZXF1ZXN0LXBlcm1pc3Np
b24uaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtY29uc3RydWN0b3ItcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwzNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlv
biBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9
Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRv
dy5Ob3RpZmljYXRpb24pIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIE5vdGlmaWNh
dGlvbiBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIHZhciBOID0gd2luZG93Lk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigKLSAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGlu
dm9rZWQuIik7IH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotICAgIDxwPlJlcXVlc3Rpbmcgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24u
Li48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKLTxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLQotCi08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9y
LXdpdGgtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw1ICswLDAgQEAKLURF
U0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uICwgdGl0bGUgSGVsbG8gd29ybGQsIHRleHQgCi1TZW5k
aW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IHNob3cgZXZlbnQg
ZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNvbnN0cnVjdG9yLXdpdGgtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGgt
cGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rvci13aXRoLXBlcm1pc3Npb24uaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1
bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAg
ICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYg
KCF3aW5kb3cuTm90aWZpY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBO
b3RpZmljYXRpb24gY29uc3RydWN0b3IhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIHZhciBOID0gbmV3IE5vdGlmaWNhdGlvbigiSGVsbG8gd29ybGQiKTsKLSAg
ICAgICAgICAgIE4ub25zaG93ID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogc2hvdyBldmVudCBm
aXJlZC4iKTsgfQotICAgICAgICAgICAgTi5vbmVycm9yID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJ
TDogZXJyb3IgZXZlbnQgZmlyZWQuIik7IH0KLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKSB7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAxMDApOwotICAgICAgICB9Ci0gICAg
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRo
IHBlcm1pc3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jb25zdHJ1Y3Rvci13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVj
dG9yLXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysr
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9y
LXdpdGhvdXQtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICsw
LDAgQEAKLVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24uLi4KLQotUEFT
UzogZXJyb3IgZXZlbnQgZmlyZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWNvbnN0cnVjdG9yLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jb25zdHJ1Y3Rv
ci13aXRob3V0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9
IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9u
IHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgICAgICAgICAgICAgLy8gTk8gUEVSTUlTU0lPTiB0ZXN0UnVubmVyLmdyYW50V2Vi
Tm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy5Ob3RpZmlj
YXRpb24pIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIE5vdGlmaWNhdGlvbiBjb25z
dHJ1Y3RvciEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFy
IE4gPSBuZXcgTm90aWZpY2F0aW9uKCJIZWxsbyB3b3JsZCIpOwotICAgICAgICAgICAgTi5vbnNo
b3cgPSBmdW5jdGlvbigpIHsgbG9nKCJGQUlMOiBzaG93IGV2ZW50IGZpcmVkLiIpOyB9Ci0gICAg
ICAgICAgICBOLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBlcnJvciBldmVudCBm
aXJlZC4iKTsgfQotICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7IH0sIDEwMCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmljYXRpb25zIHdpdGhvdXQgcGVybWlzc2lvbi4u
LjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xv
c2UtZXZlbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDcgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBO
ZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJ
T04gQ0xPU0VEOiBOZXcgRS1tYWlsCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNz
aW9uLi4uCi0KLVBBU1M6IGRpc3BsYXkgZXZlbnQgaW52b2tlZC4KLVBBU1M6IGNsb3NlIGV2ZW50
IGludm9rZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmlj
YXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMu
aHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdl
KQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1wTm90
aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0
aW9ucygpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
KSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGlu
dGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFy
IE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJO
ZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTi5vbmRp
c3BsYXkgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7
IE4uY2FuY2VsKCk7IH0KLSAgICAgICAgICAgIE4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgeyBsb2co
IlBBU1M6IGNsb3NlIGV2ZW50IGludm9rZWQuIik7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9
Ci0gICAgICAgICAgICBOLnNob3coKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9w
PgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCi0gICAgCi08c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kb2N1bWVu
dC1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2gtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1kb2N1bWVudC1jbG9zZS1jcmFzaC1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQpAQCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNjogVW5jYXVn
aHQgSW52YWxpZFN0YXRlRXJyb3IgKERPTSBFeGNlcHRpb24gMTEpOiBUaGUgb2JqZWN0IGlzIGlu
IGFuIGludmFsaWQgc3RhdGUuDQotUEFTUw0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWRvY3VtZW50LWNsb3NlLWNyYXNoLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1l
bnQtY2xvc2UtY3Jhc2guaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZG9jdW1lbnQtY2xvc2UtY3Jhc2guaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDUwICswLDAgQEAKLTxodG1sPgotICAgIDxib2R5PgotICAgICAg
ICA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2Fu
T3BlbldpbmRvd3MoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZp
Y2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3
ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgdmFyIHRhcmdldCA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIpOwotICAgICAgICAg
ICAgdmFyIG5vdGlmaWNhdGlvbiA9IHRhcmdldC53ZWJraXROb3RpZmljYXRpb25zOwotICAgICAg
ICAgICAgdGFyZ2V0LmxvY2F0aW9uLnJlbG9hZCgpOwotICAgICAgICAgICAgdmFyIHRpbWVyID0g
c2V0SW50ZXJ2YWwoImNyYXNoKCkiLCA2MCk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KCJmaW5p
c2goKSIsIDEwMCk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGNyYXNoKCkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICB2YXIgYSA9IFtdOwotICAgICAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgMHgxMDA7IGkrKykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgIHRyeQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBhLnB1c2gobmV3IFdlYkdMQnl0ZUFycmF5KCkpOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7fQotICAgICAgICAgICAgICAgICAgICBhLnB1
c2goQXJyYXkoaSkuam9pbigiQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiKSk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGRlbGV0ZSBhOwotICAgICAgICAgICAgICAgIG5vdGlm
aWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBmaW5pc2goKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNsZWFy
SW50ZXJ2YWwodGltZXIpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiUEFTUyI7Ci0gICAgICAgICAgICAgICAgdGFyZ2V0LmNs
b3NlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgPC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1sPgotCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAt
MSw2ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0dHA6Ly9sb2NhbGhvc3Qv
bXlfaWNvbi5wbmcsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDgh
Ci1ERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5ldyBFLW1haWwKLVNlbmRpbmcgbm90aWZp
Y2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNw
bGF5KSBjYXB0dXJlIGNhbGxiYWNrIGludm9rZWQKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdh
dGlvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAg
ICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+
IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAg
ICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEi
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly9sb2NhbGhv
c3QvbXlfaWNvbi5wbmciLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsK
LSAgICAgICAgICAgIE4uYWRkRXZlbnRMaXN0ZW5lcigiZGlzcGxheSIsIGZ1bmN0aW9uKGUpIHsg
bG9nKCJQQVNTOiBhZGRFdmVudExpc3RlbmVyKGRpc3BsYXkpIG5vbi1jYXB0dXJlIGNhbGxiYWNr
IGludm9rZWQiKTsgfSk7Ci0gICAgICAgICAgICBOLm9uZGlzcGxheSA9ICAgICAgICAgICAgICAg
ICBmdW5jdGlvbihlKSB7IGxvZygiUEFTUzogb25kaXNwbGF5IGF0dHJpYnV0ZSBldmVudCBjYWxs
YmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bs
YXkiLCBmdW5jdGlvbihlKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBj
YXB0dXJlIGNhbGxiYWNrIGludm9rZWQiKTsgZS5zdG9wUHJvcGFnYXRpb24oKTsgfSwgdHJ1ZSAp
OwotICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOwotICAgICAg
ICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0
aW9ucyB3aXRoIHBlcm1pc3Npb24uLi48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAK
LSAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZl
bnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEwICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29uIGh0
dHA6Ly9sb2NhbGhvc3QvbXlfaWNvbi5wbmcsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBt
ZSB0b25pZ2h0IGF0IDghCi1ERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6IE5ldyBFLW1haWwK
LVNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIHBlcm1pc3Npb24uLi4KLQotUEFTUzogYWRkRXZl
bnRMaXN0ZW5lcihjbG9zZSkgY2FwdHVyZSBjYWxsYmFjayAjMSBpbnZva2VkCi1QQVNTOiBhZGRF
dmVudExpc3RlbmVyKGNsb3NlKSBjYXB0dXJlIGNhbGxiYWNrICMyIGludm9rZWQKLVBBU1M6IGFk
ZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNrICMxIGludm9rZWQKLVBBU1M6IG9uY2xvc2Ug
YXR0cmlidXRlIGV2ZW50IGNhbGxiYWNrIGludm9rZWQuCi1QQVNTOiBhZGRFdmVudExpc3RlbmVy
KGNsb3NlKSBjYWxsYmFjayAjMyBpbnZva2VkCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50
cy5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQw
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5u
ZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNh
dGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucykgewotICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0
Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90
aWZpY2F0aW9uKCJodHRwOi8vbG9jYWxob3N0L215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwiLCAi
TWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIo
ImNsb3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkg
Y2FsbGJhY2sgIzEgaW52b2tlZCIpOyB9KTsKLSAgICAgICAgICAgIE4ub25jbG9zZSA9ICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBvbmNsb3NlIGF0dHJpYnV0ZSBldmVu
dCBjYWxsYmFjayBpbnZva2VkLiIpOyB9Ci0gICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIo
ImNsb3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkg
Y2FwdHVyZSBjYWxsYmFjayAjMSBpbnZva2VkIik7IH0sIHRydWUgKTsKLSAgICAgICAgICAgIE4u
YWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBhZGRFdmVu
dExpc3RlbmVyKGNsb3NlKSBjYXB0dXJlIGNhbGxiYWNrICMyIGludm9rZWQiKTsgfSwgdHJ1ZSAp
OwotICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBs
b2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhbGxiYWNrICMzIGludm9rZWQiKTsg
fSk7Ci0gICAgICAgICAgICBOLnNob3coKTsKLSAgICAgICAgICAgIE4uY2FuY2VsKCk7Ci0gICAg
ICAgIH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+U2VuZGluZyBub3RpZmlj
YXRpb25zIHdpdGggcGVybWlzc2lvbi4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAg
IAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAg
LTEsNCArMCwwIEBACi1ERVNLVE9QIE5PVElGSUNBVElPTjogaWNvbiAsIHRpdGxlIE5ldyBFLW1h
aWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0
aCBwZXJtaXNzaW9uLi4uCi0KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtbm8taWNvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRtbAkocmV2aXNpb24gMjE2
NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8t
aWNvbi5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAg
ICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+
IjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAg
ICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgTSA9IHdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBt
ZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBNLnNob3coKTsKLSAgICAgICAgfQotICAg
IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0
aCBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotICAgIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsMTAgKzAsMCBAQAotQ2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBOb3RpZmljYXRpb24ucGVy
bWlzc2lvbgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLVBBU1Mgd2luZG93Lk5vdGlm
aWNhdGlvbiBpcyBkZWZpbmVkLgotUEFTUyB3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24g
aXMgZGVmaW5lZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01Q
TEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1wZXJtaXNzaW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1wZXJtaXNzaW9u
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci0JPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5PgotPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLWRlc2NyaXB0aW9uKCJDaGVjayBmb3IgZXhpc3RlbmNlIG9mIE5vdGlmaWNhdGlv
bi5wZXJtaXNzaW9uIik7Ci0KLXNob3VsZEJlRGVmaW5lZCgid2luZG93Lk5vdGlmaWNhdGlvbiIp
Owotc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24iKTsKLQot
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJl
cGxhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1
NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBs
YWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDcgKzAsMCBAQAotREVTS1RPUCBO
T1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdo
dCBhdCA4IQotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBBbGFybSwgdGV4dCBJ
dCdzIHRpbWUgdG8gd2FrZSB1cCEKLVJFUExBQ0lORyBOT1RJRklDQVRJT04gTmV3IEUtbWFpbAot
REVTS1RPUCBOT1RJRklDQVRJT046IGljb24gLCB0aXRsZSBOZXcgcmVwbHksIHRleHQgQ29ycmVj
dGlvbiwgODoxNQotU2hvd2luZyBub3RpZmljYXRpb25zIHdpdGggcmVwbGFjZSBJRC4uLgotCi0K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxh
Y2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDQxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyht
ZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAg
ICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFu
dFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5k
dW1wTm90aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90
aWZpY2F0aW9ucygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3ZWJr
aXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IAotICAgICAgICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVO
b3RpZmljYXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOwot
ICAgICAgICAgICAgTS5yZXBsYWNlSWQgPSAiTmV3TWFpbCI7Ci0gICAgICAgICAgICBNLnNob3co
KTsKLSAgICAgICAgICAgIHZhciBvdGhlciA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNy
ZWF0ZU5vdGlmaWNhdGlvbigiIiwgIkFsYXJtIiwgIkl0J3MgdGltZSB0byB3YWtlIHVwISIpOwot
ICAgICAgICAgICAgb3RoZXIuc2hvdygpOwotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJOZXcgcmVwbHkiLCAiQ29y
cmVjdGlvbiwgODoxNSIpOwotICAgICAgICAgICAgTi5yZXBsYWNlSWQgPSAiTmV3TWFpbCI7Ci0g
ICAgICAgICAgICBOLnNob3coKTsgICAgICAgICAgCi0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHA+U2hvd2luZyBub3RpZmljYXRpb25zIHdpdGggcmVwbGFjZSBJ
RC4uLjwvcD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBl
cm1pc3Npb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXJlcXVlc3QtcGVybWlzc2lvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpA
QCAtMSw1ICswLDAgQEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVE
OiBmaWxlOi8vCi1SZXF1ZXN0aW5nIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6
IFBlcm1pc3Npb24gY2FsbGJhY2sgaW52b2tlZC4KLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24tb3B0aW9uYWwtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKQEAgLTEsNiArMCwwIEBACi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIGlz
IGRlZmluZWQuCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNz
aW9uKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
cmVxdWVzdC1wZXJtaXNzaW9uLW9wdGlvbmFsLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcXVlc3QtcGVybWlz
c2lvbi1vcHRpb25hbC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTEgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci1zaG91bGRCZURlZmluZWQoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zIik7Ci1zaG91bGRO
b3RUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1ZXN0LXBlcm1pc3Npb24uaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXF1
ZXN0LXBlcm1pc3Npb24uaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwzNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlv
biBsb2cobWVzc2FnZSkKLSAgICAgICAgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9
Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXdpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBObyB3
ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1
ZXN0UGVybWlzc2lvbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBQ
ZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuIik7IH0KLSAgICAgICAgICAgICk7Ci0gICAgICAg
IH0KLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxwPlJlcXVlc3Rpbmcgbm90
aWZpY2F0aW9uIHBlcm1pc3Npb24uLi48L3A+Ci0gICAgCi08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PiAgICAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLXJ1blRlc3RzKCk7Ci08L3Nj
cmlwdD4KLQotCi08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLXJ0bC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw0ICswLDAg
QEAKLURFU0tUT1AgTk9USUZJQ0FUSU9OOihSVEwpIGljb24gLCB0aXRsZSBOZXcgRS1tYWlsLCB0
ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQotU2hvd2luZyBhIG5vdGlmaWNhdGlvbiB3aXRoIGRp
cmVjdGlvbiAicnRsIi4uLgotCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDM5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0
aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAg
IH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBpZiAodGVz
dFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wTm90aWZpY2F0aW9ucygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAo
IXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlM
OiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgdmFyIE0gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBh
dCA4ISIpOwotICAgICAgICAgICAgTS5kaXIgPSAicnRsIjsKLSAgICAgICAgICAgIE0uc2hvdygp
OwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlNob3dpbmcg
YSBub3RpZmljYXRpb24gd2l0aCBkaXJlY3Rpb24gInJ0bCIuLi48L3A+Ci0gICAgCi08ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgotICAgCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1y
dW5UZXN0cygpOwotPC9zY3JpcHQ+Ci0KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtc2FuZGJveC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
c2FuZGJveC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDI0ICsw
LDAgQEAKLU5vcm1hbCBpZnJhbWUuIFNob3VsZCBpbmhlcml0IHBlcm1pc3Npb25zLgotCi0KLVNh
bmRib3hlZCBpZnJhbWUsIHdpdGggYWxsb3ctc2FtZS1vcmlnaW4uIFNob3VsZCBpbmhlcml0IHBl
cm1pc3Npb25zLgotCi0KLVNhbmRib3hlZCBpZnJhbWUsIHdpdGhvdXQgYWxsb3ctc2FtZS1vcmln
aW4uIFNob3VsZCBub3QgaW5oZXJpdCBwZXJtaXNzaW9ucy4KLQotCi0KLS0tLS0tLS0tCi1GcmFt
ZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwotLS0tLS0tLS0KLUFsbG93ZWQK
LQotLS0tLS0tLS0KLUZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTEtLT4tLT4nCi0t
LS0tLS0tLQotQWxsb3dlZAotCi0tLS0tLS0tLQotRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEt
LWZyYW1lMi0tPi0tPicKLS0tLS0tLS0tCi1EZW5pZWQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNhbmRib3gtcGVybWlzc2lvbi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNh
bmRib3gtcGVybWlzc2lvbi5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zYW5kYm94LXBlcm1pc3Npb24uaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLSAgICA8c2NyaXB0PgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRX
ZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci0gICAgICAgIH0KLSAgICA8L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxwPk5vcm1hbCBpZnJhbWUuIFNob3VsZCBpbmhl
cml0IHBlcm1pc3Npb25zLjwvcD4KLSAgICA8aWZyYW1lIHNyYz0icmVzb3VyY2VzL25vdGlmaWNh
dGlvbnMtaWZyYW1lLmh0bWwiPjwvaWZyYW1lPgotCi0gICAgPHA+U2FuZGJveGVkIGlmcmFtZSwg
d2l0aCBhbGxvdy1zYW1lLW9yaWdpbi4gU2hvdWxkIGluaGVyaXQgcGVybWlzc2lvbnMuPC9wPgot
ICAgIDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiIKLSAg
ICAgICAgICAgIHNyYz0icmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwiPjwvaWZy
YW1lPgotCi0gICAgPHA+U2FuZGJveGVkIGlmcmFtZSwgd2l0aG91dCBhbGxvdy1zYW1lLW9yaWdp
bi4gU2hvdWxkIG5vdCBpbmhlcml0IHBlcm1pc3Npb25zLjwvcD4KLSAgICA8aWZyYW1lIHNhbmRi
b3g9ImFsbG93LXNjcmlwdHMiCi0gICAgICAgICAgICBzcmM9InJlc291cmNlcy9ub3RpZmljYXRp
b25zLWlmcmFtZS5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFz
aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtd2luZG93LWNsb3NlLWNyYXNoLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xICsw
LDAgQEAKLVRoaXMgdGVzdCBuZWVkcyB0byBydW4gbWFudWFsbHkgYW5kIGNhbm5vdCBydW4gaW5z
aWRlIER1bXBSZW5kZXJUcmVlLiBQYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2ggb24gcnVubmlu
ZyB0aGUgdGVzdCBhbG9uZ3dpdGggd2l0aCBhIGNvdXBsZSBvZiBwYWdlIHJlbG9hZHMuCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xv
c2UtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbAkocmV2aXNpb24gMjE2NTU4
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2luZG93
LWNsb3NlLWNyYXNoLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMyArMCwwIEBACi08aHRtbD4g
DQotICAgIDxoZWFkPiANCi0gICAgICAgIDxzY3JpcHQ+IA0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKQ0KLSAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQ0KLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
DQotICAgICAgICAgICAgICAgIGVsc2UNCi0gICAgICAgICAgICAgICAgew0KLSAgICAgICAgICAg
ICAgICAgICAgdmFyIHdpbiA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIpOw0KLSAgICAgICAg
ICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IHdpbi53ZWJraXROb3RpZmljYXRpb25zLmNy
ZWF0ZU5vdGlmaWNhdGlvbignJyk7DQotICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24u
c2hvdygpOw0KLSAgICAgICAgICAgICAgICAgICAgd2luLmNsb3NlKCk7DQotICAgICAgICAgICAg
ICAgICAgICBub3RpZmljYXRpb24uY2FuY2VsKCk7DQotICAgICAgICAgICAgICAgIH0NCi0gICAg
ICAgICAgICB9DQotICAgICAgICAgPC9zY3JpcHQ+IA0KLSAgICA8L2hlYWQ+IA0KLSAgICA8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+IA0KLSAgICAgICAgPHA+VGhpcyB0ZXN0IG5lZWRzIHRvIHJ1
biBtYW51YWxseSBhbmQgY2Fubm90IHJ1biBpbnNpZGUgRHVtcFJlbmRlclRyZWUuIFBhc3NlcyBp
ZiBpdCBkb2VzIG5vdCBjcmFzaCBvbiBydW5uaW5nIHRoZSB0ZXN0IGFsb25nd2l0aCB3aXRoIGEg
Y291cGxlIG9mIHBhZ2UgcmVsb2Fkcy48L3A+DQotICAgIDwvYm9keT4gDQotPC9odG1sPg0KLQ0K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgt
cGVybWlzc2lvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0x
LDQgKzAsMCBAQAotREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gaHR0cDovLzAuMC4wLjAvbXlf
aWNvbi5wbmcsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCi1T
ZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uCi0KLQpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtd2l0aC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi5odG1s
CShub25leGlzdGVudCkKQEAgLTEsNDAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgZnVu
Y3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLSAgICAg
ICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghd2luZG93Lndl
YmtpdE5vdGlmaWNhdGlvbnMpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtp
dE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
Ci0gICAgICAgICAgICB2YXIgTSA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbigiaHR0cDovLzAuMC4wLjAvbXlfaWNvbi5wbmciLCAiTmV3IEUtbWFpbCIsICJN
ZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE0ub25kaXNwbGF5ID0gZnVuY3Rp
b24oKSB7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9Ci0gICAgICAgICAgICBNLnNob3coKTsK
LSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5TZW5kaW5nIG5v
dGlmaWNhdGlvbnMgd2l0aCBwZXJtaXNzaW9uLi4uPC9wPgotICAgIAotICAgIAotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotcnVuVGVzdHMoKTsKLTwvc2NyaXB0PgotCi08ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aG91dC1wZXJtaXNzaW9uLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy13aXRob3V0LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRob3V0
LXBlcm1pc3Npb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1T
ZW5kaW5nIG5vdGlmaWNhdGlvbnMgd2l0aG91dCBwZXJtaXNzaW9uLi4uCi0KLVBBU1M6IEV4Y2Vw
dGlvbiB0aHJvd24uCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGhvdXQtcGVybWlzc2lvbi5o
dG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy13aXRob3V0LXBlcm1pc3Npb24uaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDM5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iiku
aW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAg
ICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgLy8gTk8gUEVSTUlTU0lPTiB0ZXN0UnVu
bmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7Ci0gICAgICAgICAgICAgICAg
bG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICB2
YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiaHR0
cDovLzAuMC4wLjAvbXlfaWNvbi5wbmciLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQg
YXQgOCEiKTsKLSAgICAgICAgICAgICAgICBOLnNob3coKTsKLSAgICAgICAgICAgICAgICBsb2co
IkZBSUw6IFNob3VsZCBoYXZlIHRocm93biBzZWN1cml0eSBleGNlcHRpb24uIik7Ci0gICAgICAg
ICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJQQVNTOiBFeGNlcHRpb24g
dGhyb3duLiIpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRob3V0IHBlcm1pc3Npb24u
Li48L3A+Ci08ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci1ydW5UZXN0cygpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24tcGVy
bWlzc2lvbi13aGlsZS1yZWxvYWRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNzaW9u
LXdoaWxlLXJlbG9hZGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNzaW9u
LXdoaWxlLXJlbG9hZGluZy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwzICswLDAg
QEAKLVRoaXMgdGVzdHMgdGhhdCBub3RpZmljYXRpb24gcGVybWlzc2lvbiByZXF1ZXN0cyBkdXJp
bmcgcGFnZSByZWxvYWQgZG8gbm90IGNhdXNlIGEgY3Jhc2guCi0KLVBBU1M6IFRlc3QgcGFzc2Vk
IGlmIHdlIHNhdyBubyBjcmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9yZXF1ZXN0LW5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXF1ZXN0LW5vdGlm
aWNhdGlvbi1wZXJtaXNzaW9uLXdoaWxlLXJlbG9hZGluZy5odG1sCShyZXZpc2lvbiAyMTY1NTgp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVxdWVzdC1ub3RpZmljYXRpb24t
cGVybWlzc2lvbi13aGlsZS1yZWxvYWRpbmcuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI3ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08cD5UaGlzIHRlc3RzIHRoYXQgbm90aWZp
Y2F0aW9uIHBlcm1pc3Npb24gcmVxdWVzdHMgZHVyaW5nIHBhZ2UgcmVsb2FkIGRvIG5vdCBjYXVz
ZSBhIGNyYXNoLjwvcD4KLTxwIGlkPSJtZXNzYWdlIj5GQUlMOiBUZXN0IGRpZCBub3QgcnVuIHRv
IGNvbXBsZXRpb24geWV0LjwvcD4KLTxzY3JpcHQ+Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotfQotCi12YXIgdHJpZXMgPSBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSA+Pj4g
MDsKLWlmICh0cmllcyA8IDEwKSB7Ci0gICAgbG9jYXRpb24uaGFzaCA9ICIjIiArICh0cmllcyAr
IDEpOwotICAgIGxvY2F0aW9uLnJlbG9hZCgpOwotCi0gICAgc2V0VGltZW91dChmdW5jdGlvbigp
IHsKLSAgICAgICAgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpOwotICAg
IH0sIDApOwotfSBlbHNlIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVzc2FnZSIp
LnRleHRDb250ZW50ID0gIlBBU1M6IFRlc3QgcGFzc2VkIGlmIHdlIHNhdyBubyBjcmFzaC4iOwot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLWNhbmNlbC1yZXF1ZXN0LXBlcm1pc3Np
b24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVz
b3VyY2VzL25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShyZXZp
c2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2Vz
L25vdGlmaWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMjggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotICAgICAgICB7
Ci0gICAgICAgICAgICBwYXJlbnQuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlu
bmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBmdW5jdGlvbiBydW5UZXN0cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmlnbm9yZUxlZ2FjeVdlYk5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0cygpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigKLSAgICAgICAgICAgICAgICBmdW5j
dGlvbigpIHsgbG9nKCJGQUlMOiBQZXJtaXNzaW9uIGNhbGxiYWNrIGludm9rZWQuIik7IH0KLSAg
ICAgICAgICAgICk7Ci0KLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW5UZXN0cygpOyI+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9u
b3RpZmljYXRpb25zLWlmcmFtZS5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci0gICAgPHRpdGxlPk5vdGlmaWNhdGlvbnM6IElmcmFtZSB0ZXN0LjwvdGl0bGU+Ci08
L2hlYWQ+Ci08Ym9keT4KLSAgICA8cCBpZD0iaGFzUGVybWlzc2lvbiI+PC9wPgotICAgIDxzY3Jp
cHQ+Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoYXNQZXJtaXNzaW9uIikuaW5u
ZXJUZXh0ID0KLSAgICAgICAgICAgICF3ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lv
bigpID8gIkFsbG93ZWQiIDogIkRlbmllZCI7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlm
aWNhdGlvbnMtY2FuY2VsLXJlcXVlc3QtcGVybWlzc2lvbi5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5j
ZWwtcmVxdWVzdC1wZXJtaXNzaW9uLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy1jYW5jZWwtcmVx
dWVzdC1wZXJtaXNzaW9uLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAg
ZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHBhcmVudC5kb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJy
PiI7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAg
ICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
aWdub3JlTGVnYWN5V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKCk7Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQ
ZXJtaXNzaW9uKAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBsb2coIkZBSUw6IFBlcm1p
c3Npb24gY2FsbGJhY2sgaW52b2tlZC4iKTsgfQotICAgICAgICAgICAgKTsKLQotICAgICAgICB9
Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KLTwv
Ym9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNv
dXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtaWZyYW1lLmh0bWwJ
KHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9yZXNv
dXJjZXMvbm90aWZpY2F0aW9ucy1pZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEzICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8dGl0bGU+Tm90aWZp
Y2F0aW9uczogSWZyYW1lIHRlc3QuPC90aXRsZT4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxwIGlk
PSJoYXNQZXJtaXNzaW9uIj48L3A+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImhhc1Blcm1pc3Npb24iKS5pbm5lclRleHQgPQotICAgICAgICAgICAgIXdl
YmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgPyAiQWxsb3dlZCIgOiAiRGVuaWVk
IjsKLSAgICA8L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kv
ZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCkBAIC0xLDExICswLDAgQEAKLVNlbmRpbmcgZG91YmxlLXNob3cgbm90
aWZpY2F0aW9uLi4uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpbmRv
dy53ZWJraXROb3RpZmljYXRpb25zIGlzIGRlZmluZWQuCi1QQVNTIG9uZGlzcGxheSBldmVudCBo
YW5kbGVyIGNhbGxlZAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvZG91YmxlLXNob3cuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjU1OCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNo
b3cuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci1kZXNjcmlwdGlvbigiU2VuZGluZyBkb3VibGUt
c2hvdyBub3RpZmljYXRpb24uLi4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
dGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0gICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLXNob3VsZEJlRGVmaW5lZCgid2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMiKTsKLQotdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5l
dyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci1OLm9uZGlzcGxheSA9IGZ1bmN0
aW9uKCkgewotICAgIHRlc3RQYXNzZWQoIm9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZCIp
OwotICAgIHRlc3RDb21wbGV0ZWQoKTsKLX07Ci1OLnNob3coKTsKLU4uc2hvdygpOwotPC9zY3Jp
cHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2
ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgbG9v
a3MgZm9yIHRoZSBkaXNwYXRjaCBvZiB0aGUgZXZlbnQgaGFuZGxlcnMuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1HcmFudGluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMAotUEFTUyB3ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAK
LVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBvbmNsaWNrIGV2
ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBvbmNsb3NlIGV2ZW50IGhhbmRsZXIgd2FzIGNh
bGxlZAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRz
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9ldmVudHMuaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDM3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZp
Y2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLQl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQotZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBldmVudCBoYW5kbGVycy4iKTsKLQotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiAr
IHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRl
c3RVUkwpOwotfQotCi1zaG91bGRCZSgid2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Np
b24oKSIsICIwIik7Ci0KLXZhciBuID0gd2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmlj
YXRpb24oIiIsICJ0aXRsZSIsICJib2R5Iik7Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewot
CXRlc3RQYXNzZWQoIm9uZGlzcGxheSBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0ZXN0
UnVubmVyLnNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sodGhpcyk7Ci19Owotbi5vbmNsaWNr
ID0gZnVuY3Rpb24oKSB7Ci0JdGVzdFBhc3NlZCgib25jbGljayBldmVudCBoYW5kbGVyIHdhcyBj
YWxsZWQiKTsKLQl0aGlzLmNhbmNlbCgpOwotfTsKLW4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgewot
CXRlc3RQYXNzZWQoIm9uY2xvc2UgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkIik7Ci0JdGVzdENv
bXBsZXRlZCgpOwotfTsKLW4ub25lcnJvciA9IGZ1bmN0aW9uKCkgewotCXRlc3RGYWlsZWQoIm9u
ZXJyb3IgZXZlbnQgaGFuZGxlciBzaG91bGQgbm90IGJlIGNhbGxlZCIpOwotCXRlc3RDb21wbGV0
ZWQoKTsKLX07Ci1uLnNob3coKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9u
LXRoZW4tbmF2aWdhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlz
c2lvbi10aGVuLW5hdmlnYXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVx
dWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsMTEgKzAsMCBAQAotbWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykK
LVRlc3RzIHRoYXQgd2UgYXJlIG5vdCBjcmFzaGluZyB3aGVuIGEgcGVybWlzc2lvbiByZXF1ZXN0
IGlzIGFuc3dlcmVkIGFmdGVyIG5hdmlnYXRpbmcKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVBBU1MgVGhpcyB0ZXN0IGRpZCBub3QgY3Jhc2gKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24t
dGhlbi1uYXZpZ2F0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVu
LW5hdmlnYXRlLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10
aGVuLW5hdmlnYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25z
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBhcmUgbm90IGNyYXNoaW5n
IHdoZW4gYSBwZXJtaXNzaW9uIHJlcXVlc3QgaXMgYW5zd2VyZWQgYWZ0ZXIgbmF2aWdhdGluZyIp
OwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgdGVz
dFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIGZ1bmN0aW9uKGV2ZW50KQotewotICB0ZXN0UGFzc2VkKCJUaGlzIHRlc3QgZGlk
IG5vdCBjcmFzaCIpOwotICB0YXJnZXQuY2xvc2UoKTsKLSAgZmluaXNoSlNUZXN0KCk7Ci19KTsK
LQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gIHRhcmdldCA9IHdpbmRvdy5vcGVuKCdyZXNvdXJj
ZXMvcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbCcpOwotfQotCi08L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvbGVnYWN5L3JlcXVlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBA
Ci1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUu
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24g
d2l0aCBkZWZhdWx0IHBlcm1pc3Npb24KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMu
Y2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5j
aGVja1Blcm1pc3Npb24oKSBpcyAwCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVm
YXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVy
bWlzc2lvbigpIGlzIDIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBD
T01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVn
YWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2stZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFj
ay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxNSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVx
dWVzdGluZyBwZXJtaXNzaW9uIHdpdGhvdXQgYSBjYWxsYmFjayB3b3Jrcy4gVGhpcyBzdXBwb3J0
cyBsZWdhY3kgQVBJLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUmVxdWVzdGlu
ZyBwZXJtaXNzaW9uIHdpdGggZGVmYXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDEKLVBBU1Mgd2Via2l0Tm90aWZpY2F0
aW9ucy5yZXF1ZXN0UGVybWlzc2lvbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUmVxdWVz
dGluZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRlZmF1bHQgcGVybWlzc2lvbgotUEFTUyB3aW5kb3cu
d2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAyCi1QQVNTIHdlYmtpdE5v
dGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8t
Y2FsbGJhY2suaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAkocmV2aXNpb24gMjE2NTU4
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0
LW5vLWNhbGxiYWNrLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcXVlc3Rp
bmcgcGVybWlzc2lvbiB3aXRob3V0IGEgY2FsbGJhY2sgd29ya3MuIFRoaXMgc3VwcG9ydHMgbGVn
YWN5IEFQSS4iKTsKLQotZnVuY3Rpb24gc3RlcDEoKSB7Ci0gICAgZGVidWcoIlJlcXVlc3Rpbmcg
cGVybWlzc2lvbiB3aXRoIGRlZmF1bHQgcGVybWlzc2lvbiIpOwotICAgIHNob3VsZEJlKCJ3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIxIik7Ci0gICAgc2hv
dWxkTm90VGhyb3coIndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwot
ICAgIHNldFRpbWVvdXQoc3RlcDIsIDApOwotfQotCi1mdW5jdGlvbiBzdGVwMigpIHsKLSAgICB0
ZXN0UnVubmVyLmRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIGRl
YnVnKCJSZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uIik7
Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lv
bigpIiwgIjIiKTsKLSAgICBzaG91bGROb3RUaHJvdygid2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1
ZXN0UGVybWlzc2lvbigpIik7Ci0gICAgdGVzdENvbXBsZXRlZCgpOwotfQotCi1pZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBzdGVw
MSgpOwotfQotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbAkocmV2aXNpb24gMjE2NTU4
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+
Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlz
c2lvbiBpcyBtYWRlLiIpOwotCi1mdW5jdGlvbiBzdGVwMSgpIHsKLSAgICBkZWJ1ZygiUmVxdWVz
dGluZyBwZXJtaXNzaW9uIHdpdGggZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUo
IndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKLSAg
ICB3ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgewotICAg
ICAgICBzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9u
KCkiLCAiMCIpOwotICAgICAgICBzZXRUaW1lb3V0KHN0ZXAyLCAwKTsKLSAgICB9KTsKLX0KLQot
ZnVuY3Rpb24gc3RlcDIoKSB7Ci0gICAgdGVzdFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVy
bWlzc2lvbih0ZXN0VVJMKTsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGgg
bm9uLWRlZmF1bHQgcGVybWlzc2lvbiIpOwotICAgIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVz
dFBlcm1pc3Npb24oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIyIik7Ci0gICAgICAgIHRlc3RDb21w
bGV0ZWQoKTsKLSAgICB9KTsKLX0KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgc3RlcDEoKTsKLX0KLTwvc2NyaXB0PgpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMv
bm90aWZ5LW9wZW5lci1kb25lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0
bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVzb3VyY2VzL25vdGlmeS1vcGVuZXItZG9uZS5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1vcGVuZXIucG9z
dE1lc3NhZ2UoIkRPTkUiLCAnKicpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24t
dGhlbi1uYXZpZ2F0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5h
dmlnYXRlLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5h
dmlnYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiByZXF1ZXN0UGVybWlzc2lvbigpCi17Ci0gIHdpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgeyB9KTsKLX0K
LQotd2luZG93Lm9udW5sb2FkID0gcmVxdWVzdFBlcm1pc3Npb247Ci13aW5kb3cubG9jYXRpb24g
PSAibm90aWZ5LW9wZW5lci1kb25lLmh0bWwiCi08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xLDIwICswLDAgQEAKLVRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBv
bnNob3cgZXZlbnQgaGFuZGxlci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFT
UyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRs
ZSAxJywgJ2JvZHknKTsgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3IgKERPTSBFeGNlcHRp
b24gMTgpOiBUaGUgb3BlcmF0aW9uIGlzIGluc2VjdXJlLi4KLUdyYW50aW5nIHBlcm1pc3Npb24g
dG8gaHR0cDovLzEyNy4wLjAuMTo4MDAwCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2Fz
IGNhbGxlZAotUEFTUyB0aGlzLm9uZGlzcGxheSBpcyB0aGlzLm9uc2hvdwotRGVueWluZyBwZXJt
aXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZp
Y2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAyCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmlj
YXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbignJywgJ3RpdGxlIDMnLCAnYm9keScpOyB0aHJldyBl
eGNlcHRpb24gU2VjdXJpdHlFcnJvciAoRE9NIEV4Y2VwdGlvbiAxOCk6IFRoZSBvcGVyYXRpb24g
aXMgaW5zZWN1cmUuLgotUmVzZXR0aW5nIGFsbCBwZXJtaXNzaW9ucwotUEFTUyB3aW5kb3cud2Vi
a2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwJKHJldmlz
aW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvc2hvdy5odG1sCShub25leGlzdGVudCkKQEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08
c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotCXRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotCi1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2Yg
dGhlIG9uc2hvdyBldmVudCBoYW5kbGVyLiIpOwotCi12YXIgbiA9IG51bGw7Ci1mdW5jdGlvbiBw
YXJ0MSgpIHsKLQlzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJt
aXNzaW9uKCkiLCAiMSIpOwotCXNob3VsZFRocm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsiKTsKLQlzZXRUaW1l
b3V0KHBhcnQyLCAwKTsKLX0KLQotZnVuY3Rpb24gcGFydDIoKSB7Ci0JZGVidWcoIkdyYW50aW5n
IHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmlj
YXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZp
Y2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIwIik7Ci0KLQluID0gd2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAidGl0bGUgMiIsICJib2R5Iik7Ci0J
bi5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsKLQkJdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2ZW50
IGhhbmRsZXIgd2FzIGNhbGxlZCIpOwotCQlzaG91bGRCZSgidGhpcy5vbmRpc3BsYXkiLCAidGhp
cy5vbnNob3ciKTsKLQkJc2V0VGltZW91dChwYXJ0MywgMCk7Ci0JfTsKLQluLm9uZXJyb3IgPSBm
dW5jdGlvbigpIHsKLQkJdGVzdEZhaWxlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBu
b3QgYmUgY2FsbGVkIik7Ci0JCXNldFRpbWVvdXQocGFydDMsIDApOwotCX07Ci0Jbi5zaG93KCk7
Ci19Ci0KLWZ1bmN0aW9uIHBhcnQzKCkgewotCWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8g
IiArIHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24o
dGVzdFVSTCk7Ci0Jc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVy
bWlzc2lvbigpIiwgIjIiKTsKLQlzaG91bGRUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnLCAndGl0bGUgMycsICdib2R5Jyk7Iik7Ci0Jc2V0VGlt
ZW91dChwYXJ0NCwgMCk7Ci19Ci0KLWZ1bmN0aW9uIHBhcnQ0KCkgewotCWRlYnVnKCJSZXNldHRp
bmcgYWxsIHBlcm1pc3Npb25zIik7Ci0JdGVzdFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9ucygpOwotCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5j
aGVja1Blcm1pc3Npb24oKSIsICIxIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfQotCi1wYXJ0MSgp
OwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9u
LWNsaWNrLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIG5h
dGl2ZSBub3RpZmljYXRpb24uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNT
IHdlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAotUEFTUyBjbGlja2lu
ZyBvbiBub3RpZmljYXRpb24gc3VjY2Vzc2Z1bGx5IG9wZW5lZCBhIHdpbmRvdwotUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2su
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24t
Y2xpY2suaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNj
cmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Bl
bldpbmRvd3ModHJ1ZSk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93
cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24uIik7Ci0KLXNo
b3VsZEJlKCJ3ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLXZh
ciBuID0gd2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICIiLCAiIik7
Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHRoaXMpOwot
fTsKLW4ub25jbGljayA9IGZ1bmN0aW9uKCkgewotICAgIHdpbmRvdy5vcGVuKCcvbm90aWZpY2F0
aW9ucy9yZXNvdXJjZXMvd2luZG93LXNob3ctb24tY2xpY2suaHRtbCcpOwotfTsKLW4uc2hvdygp
OwotCi1mdW5jdGlvbiBvbldpbmRvd09wZW4oKSB7Ci0gICAgdGVzdFBhc3NlZCgnY2xpY2tpbmcg
b24gbm90aWZpY2F0aW9uIHN1Y2Nlc3NmdWxseSBvcGVuZWQgYSB3aW5kb3cnKTsKLSAgICB0ZXN0
Q29tcGxldGVkKCk7Ci19Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNo
b3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCkBAIC0xLDExICswLDAgQEAKLVNlbmRpbmcgZG91YmxlLXNob3cgbm90aWZpY2F0aW9u
Li4uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zIGlzIGRlZmluZWQuCi1QQVNTIG9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNh
bGxlZAotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91Ymxl
LXNob3cuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3cuaHRtbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDI0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+Ci1kZXNjcmlwdGlvbigiU2VuZGluZyBkb3VibGUtc2hvdyBub3Rp
ZmljYXRpb24uLi4iKTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5l
ci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7Ci0gICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLXNob3VsZEJlRGVmaW5lZCgid2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMiKTsKLQotdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVh
dGVOb3RpZmljYXRpb24oImh0dHA6Ly8wLjAuMC4wL215X2ljb24ucG5nIiwgIk5ldyBFLW1haWwi
LCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci1OLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewot
ICAgIHRlc3RQYXNzZWQoIm9uZGlzcGxheSBldmVudCBoYW5kbGVyIGNhbGxlZCIpOwotICAgIHRl
c3RDb21wbGV0ZWQoKTsKLX07Ci1OLnNob3coKTsKLU4uc2hvdygpOwotPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9ldmVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRlc3QgbG9va3MgZm9yIHRo
ZSBkaXNwYXRjaCBvZiB0aGUgZXZlbnQgaGFuZGxlcnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1HcmFudGluZyBwZXJtaXNzaW9uIHRvIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAot
UEFTUyB3ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDAKLVBBU1Mgb25k
aXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFTUyBvbmNsaWNrIGV2ZW50IGhhbmRs
ZXIgd2FzIGNhbGxlZAotUEFTUyBvbmNsb3NlIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9l
dmVudHMuaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQl0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLQotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBsb29rcyBm
b3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBldmVudCBoYW5kbGVycy4iKTsKLQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RVUkwp
OwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwot
fQotCi1zaG91bGRCZSgid2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIw
Iik7Ci0KLXZhciBuID0gd2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIs
ICJ0aXRsZSIsICJib2R5Iik7Ci1uLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNz
ZWQoIm9uZGlzcGxheSBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsKLQl0ZXN0UnVubmVyLnNp
bXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sodGhpcyk7Ci19Owotbi5vbmNsaWNrID0gZnVuY3Rp
b24oKSB7Ci0JdGVzdFBhc3NlZCgib25jbGljayBldmVudCBoYW5kbGVyIHdhcyBjYWxsZWQiKTsK
LQl0aGlzLmNhbmNlbCgpOwotfTsKLW4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgewotCXRlc3RQYXNz
ZWQoIm9uY2xvc2UgZXZlbnQgaGFuZGxlciB3YXMgY2FsbGVkIik7Ci0JdGVzdENvbXBsZXRlZCgp
OwotfTsKLW4ub25lcnJvciA9IGZ1bmN0aW9uKCkgewotCXRlc3RGYWlsZWQoIm9uZXJyb3IgZXZl
bnQgaGFuZGxlciBzaG91bGQgbm90IGJlIGNhbGxlZCIpOwotCXRlc3RDb21wbGV0ZWQoKTsKLX07
Ci1uLnNob3coKTsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3Rp
ZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2
aWdhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVu
LW5hdmlnYXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3RpZmljYXRpb24tcmVxdWVzdC1wZXJt
aXNzaW9uLXRoZW4tbmF2aWdhdGUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTEg
KzAsMCBAQAotbWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKLVRlc3RzIHRo
YXQgd2UgYXJlIG5vdCBjcmFzaGluZyB3aGVuIGEgcGVybWlzc2lvbiByZXF1ZXN0IGlzIGFuc3dl
cmVkIGFmdGVyIG5hdmlnYXRpbmcKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgVGhpcyB0ZXN0IGRpZCBub3QgY3Jhc2gKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZp
Z2F0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRl
Lmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvbm90aWZpY2F0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmln
YXRlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxzY3Jp
cHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBhcmUgbm90IGNyYXNoaW5nIHdoZW4gYSBw
ZXJtaXNzaW9uIHJlcXVlc3QgaXMgYW5zd2VyZWQgYWZ0ZXIgbmF2aWdhdGluZyIpOwotanNUZXN0
SXNBc3luYyA9IHRydWU7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgdGVzdFJ1bm5lci5z
ZXRDYW5PcGVuV2luZG93cygpOwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScs
IGZ1bmN0aW9uKGV2ZW50KQotewotICB0ZXN0UGFzc2VkKCJUaGlzIHRlc3QgZGlkIG5vdCBjcmFz
aCIpOwotICB0YXJnZXQuY2xvc2UoKTsKLSAgZmluaXNoSlNUZXN0KCk7Ci19KTsKLQotZnVuY3Rp
b24gcnVuVGVzdCgpCi17Ci0gIHRhcmdldCA9IHdpbmRvdy5vcGVuKCdyZXNvdXJjZXMvcmVxdWVz
dC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbCcpOwotfQotCi08L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3JlcXVlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIx
NjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVx
dWVzdC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi1UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgYSByZXF1ZXN0IGZvciBwZXJtaXNzaW9uIGlzIG1hZGUuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBkZWZh
dWx0IHBlcm1pc3Npb24KLVBBU1Mgd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJt
aXNzaW9uKCkgaXMgMQotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSBpcyAwCi1SZXF1ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJt
aXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigp
IGlzIDIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVl
c3Qtbm8tY2FsbGJhY2stZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvcmVxdWVzdC1uby1jYWxsYmFjay1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxNSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgcmVxdWVzdGluZyBw
ZXJtaXNzaW9uIHdpdGhvdXQgYSBjYWxsYmFjayB3b3Jrcy4gVGhpcyBzdXBwb3J0cyBsZWdhY3kg
QVBJLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUmVxdWVzdGluZyBwZXJtaXNz
aW9uIHdpdGggZGVmYXVsdCBwZXJtaXNzaW9uCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRp
b25zLmNoZWNrUGVybWlzc2lvbigpIGlzIDEKLVBBU1Mgd2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1
ZXN0UGVybWlzc2lvbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUmVxdWVzdGluZyBwZXJt
aXNzaW9uIHdpdGggbm9uLWRlZmF1bHQgcGVybWlzc2lvbgotUEFTUyB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAyCi1QQVNTIHdlYmtpdE5vdGlmaWNhdGlv
bnMucmVxdWVzdFBlcm1pc3Npb24oKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2su
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMv
bGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0LW5vLWNhbGxi
YWNrLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQ+Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcXVlc3RpbmcgcGVybWlz
c2lvbiB3aXRob3V0IGEgY2FsbGJhY2sgd29ya3MuIFRoaXMgc3VwcG9ydHMgbGVnYWN5IEFQSS4i
KTsKLQotZnVuY3Rpb24gc3RlcDEoKSB7Ci0gICAgZGVidWcoIlJlcXVlc3RpbmcgcGVybWlzc2lv
biB3aXRoIGRlZmF1bHQgcGVybWlzc2lvbiIpOwotICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0
Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIxIik7Ci0gICAgc2hvdWxkTm90VGhy
b3coIndlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb24oKSIpOwotICAgIHNldFRp
bWVvdXQoc3RlcDIsIDApOwotfQotCi1mdW5jdGlvbiBzdGVwMigpIHsKLSAgICB0ZXN0UnVubmVy
LmRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIGRlYnVnKCJSZXF1
ZXN0aW5nIHBlcm1pc3Npb24gd2l0aCBub24tZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hv
dWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjIi
KTsKLSAgICBzaG91bGROb3RUaHJvdygid2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlz
c2lvbigpIik7Ci0gICAgdGVzdENvbXBsZXRlZCgpOwotfQotCi1pZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBzdGVwMSgpOwotfQot
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVn
YWN5L3JlcXVlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3QuaHRtbAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXF1ZXN0Lmh0bWwJKG5v
bmV4aXN0ZW50KQpAQCAtMSwzMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL25vdGlmaWNhdGlvbnMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgcmVxdWVzdCBmb3IgcGVybWlzc2lvbiBpcyBt
YWRlLiIpOwotCi1mdW5jdGlvbiBzdGVwMSgpIHsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJt
aXNzaW9uIHdpdGggZGVmYXVsdCBwZXJtaXNzaW9uIik7Ci0gICAgc2hvdWxkQmUoIndpbmRvdy53
ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjEiKTsKLSAgICB3ZWJraXRO
b3RpZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgewotICAgICAgICBzaG91
bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkiLCAiMCIp
OwotICAgICAgICBzZXRUaW1lb3V0KHN0ZXAyLCAwKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24g
c3RlcDIoKSB7Ci0gICAgdGVzdFJ1bm5lci5kZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbih0
ZXN0VVJMKTsKLSAgICBkZWJ1ZygiUmVxdWVzdGluZyBwZXJtaXNzaW9uIHdpdGggbm9uLWRlZmF1
bHQgcGVybWlzc2lvbiIpOwotICAgIHdlYmtpdE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Np
b24oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucy5jaGVja1Blcm1pc3Npb24oKSIsICIyIik7Ci0gICAgICAgIHRlc3RDb21wbGV0ZWQoKTsK
LSAgICB9KTsKLX0KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci0gICAgc3RlcDEoKTsKLX0KLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9w
ZW5lci1kb25lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3Rp
ZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJjZXMvbm90aWZ5LW9wZW5lci1kb25lLmh0bWwJKHJldmlz
aW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvcmVzb3VyY2VzL25vdGlmeS1vcGVuZXItZG9uZS5odG1sCShub25leGlzdGVudCkKQEAgLTEs
NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQ+Ci1vcGVuZXIucG9zdE1lc3NhZ2Uo
IkRPTkUiLCAnKicpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZp
Z2F0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0
bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVzb3VyY2VzL3JlcXVlc3QtcGVybWlzc2lvbi10aGVuLW5hdmlnYXRlLmh0
bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3Jp
cHQ+Ci1mdW5jdGlvbiByZXF1ZXN0UGVybWlzc2lvbigpCi17Ci0gIHdpbmRvdy53ZWJraXROb3Rp
ZmljYXRpb25zLnJlcXVlc3RQZXJtaXNzaW9uKGZ1bmN0aW9uKCkgeyB9KTsKLX0KLQotd2luZG93
Lm9udW5sb2FkID0gcmVxdWVzdFBlcm1pc3Npb247Ci13aW5kb3cubG9jYXRpb24gPSAibm90aWZ5
LW9wZW5lci1kb25lLmh0bWwiCi08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDIwICsw
LDAgQEAKLVRoaXMgdGVzdCBsb29rcyBmb3IgdGhlIGRpc3BhdGNoIG9mIHRoZSBvbnNob3cgZXZl
bnQgaGFuZGxlci4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgd2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMQotUEFTUyB3aW5kb3cu
d2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2Jv
ZHknKTsgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3IgKERPTSBFeGNlcHRpb24gMTgpOiBU
aGUgb3BlcmF0aW9uIGlzIGluc2VjdXJlLi4KLUdyYW50aW5nIHBlcm1pc3Npb24gdG8gaHR0cDov
LzEyNy4wLjAuMTo4MDAwCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVy
bWlzc2lvbigpIGlzIDAKLVBBU1Mgb25kaXNwbGF5IGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZAot
UEFTUyB0aGlzLm9uZGlzcGxheSBpcyB0aGlzLm9uc2hvdwotRGVueWluZyBwZXJtaXNzaW9uIHRv
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5j
aGVja1Blcm1pc3Npb24oKSBpcyAyCi1QQVNTIHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNy
ZWF0ZU5vdGlmaWNhdGlvbignJywgJ3RpdGxlIDMnLCAnYm9keScpOyB0aHJldyBleGNlcHRpb24g
U2VjdXJpdHlFcnJvciAoRE9NIEV4Y2VwdGlvbiAxOCk6IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1
cmUuLgotUmVzZXR0aW5nIGFsbCBwZXJtaXNzaW9ucwotUEFTUyB3aW5kb3cud2Via2l0Tm90aWZp
Y2F0aW9ucy5jaGVja1Blcm1pc3Npb24oKSBpcyAxCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwJKHJldmlzaW9uIDIxNjU1
OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9ub3RpZmljYXRpb25zLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0Pgot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCi1k
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGxvb2tzIGZvciB0aGUgZGlzcGF0Y2ggb2YgdGhlIG9uc2hv
dyBldmVudCBoYW5kbGVyLiIpOwotCi12YXIgbiA9IG51bGw7Ci1mdW5jdGlvbiBwYXJ0MSgpIHsK
LQlzaG91bGRCZSgid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCki
LCAiMSIpOwotCXNob3VsZFRocm93KCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVO
b3RpZmljYXRpb24oJycsICd0aXRsZSAxJywgJ2JvZHknKTsiKTsKLQlzZXRUaW1lb3V0KHBhcnQy
LCAwKTsKLX0KLQotZnVuY3Rpb24gcGFydDIoKSB7Ci0JZGVidWcoIkdyYW50aW5nIHBlcm1pc3Np
b24gdG8gIiArIHRlc3RVUkwpOwotCXRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJt
aXNzaW9uKHRlc3RVUkwpOwotCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5j
aGVja1Blcm1pc3Npb24oKSIsICIwIik7Ci0KLQluID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAidGl0bGUgMiIsICJib2R5Iik7Ci0Jbi5vbmRpc3Bs
YXkgPSBmdW5jdGlvbigpIHsKLQkJdGVzdFBhc3NlZCgib25kaXNwbGF5IGV2ZW50IGhhbmRsZXIg
d2FzIGNhbGxlZCIpOwotCQlzaG91bGRCZSgidGhpcy5vbmRpc3BsYXkiLCAidGhpcy5vbnNob3ci
KTsKLQkJc2V0VGltZW91dChwYXJ0MywgMCk7Ci0JfTsKLQluLm9uZXJyb3IgPSBmdW5jdGlvbigp
IHsKLQkJdGVzdEZhaWxlZCgib25lcnJvciBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgYmUgY2Fs
bGVkIik7Ci0JCXNldFRpbWVvdXQocGFydDMsIDApOwotCX07Ci0Jbi5zaG93KCk7Ci19Ci0KLWZ1
bmN0aW9uIHBhcnQzKCkgewotCWRlYnVnKCJEZW55aW5nIHBlcm1pc3Npb24gdG8gIiArIHRlc3RV
UkwpOwotCXRlc3RSdW5uZXIuZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24odGVzdFVSTCk7
Ci0Jc2hvdWxkQmUoIndpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigp
IiwgIjIiKTsKLQlzaG91bGRUaHJvdygid2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRl
Tm90aWZpY2F0aW9uKCcnLCAndGl0bGUgMycsICdib2R5Jyk7Iik7Ci0Jc2V0VGltZW91dChwYXJ0
NCwgMCk7Ci19Ci0KLWZ1bmN0aW9uIHBhcnQ0KCkgewotCWRlYnVnKCJSZXNldHRpbmcgYWxsIHBl
cm1pc3Npb25zIik7Ci0JdGVzdFJ1bm5lci5yZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNz
aW9ucygpOwotCXNob3VsZEJlKCJ3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jaGVja1Blcm1p
c3Npb24oKSIsICIxIik7Ci0JdGVzdENvbXBsZXRlZCgpOwotfQotCi1wYXJ0MSgpOwotPC9zY3Jp
cHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dp
bmRvdy1zaG93LW9uLWNsaWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxMSArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBzY3Jp
cHQgY2FuIG9wZW4gd2luZG93cyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIG5hdGl2ZSBub3Rp
ZmljYXRpb24uCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdlYmtpdE5v
dGlmaWNhdGlvbnMuY2hlY2tQZXJtaXNzaW9uKCkgaXMgMAotUEFTUyBjbGlja2luZyBvbiBub3Rp
ZmljYXRpb24gc3VjY2Vzc2Z1bGx5IG9wZW5lZCBhIHdpbmRvdwotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dp
bmRvdy1zaG93LW9uLWNsaWNrLmh0bWwJKHJldmlzaW9uIDIxNjU1OCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvbm90aWZpY2F0aW9ucy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uKHRlc3RVUkwpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
dHJ1ZSk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBzY3JpcHQgY2FuIG9wZW4gd2luZG93cyB3aGVuIHRo
ZSB1c2VyIGNsaWNrcyBvbiBhIG5hdGl2ZSBub3RpZmljYXRpb24uIik7Ci0KLXNob3VsZEJlKCJ3
ZWJraXROb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbigpIiwgIjAiKTsKLXZhciBuID0gd2Vi
a2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICIiLCAiIik7Ci1uLm9uZGlz
cGxheSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
dGVzdFJ1bm5lci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHRoaXMpOwotfTsKLW4ub25j
bGljayA9IGZ1bmN0aW9uKCkgewotICAgIHdpbmRvdy5vcGVuKCcvbm90aWZpY2F0aW9ucy9yZXNv
dXJjZXMvd2luZG93LXNob3ctb24tY2xpY2suaHRtbCcpOwotfTsKLW4uc2hvdygpOwotCi1mdW5j
dGlvbiBvbldpbmRvd09wZW4oKSB7Ci0gICAgdGVzdFBhc3NlZCgnY2xpY2tpbmcgb24gbm90aWZp
Y2F0aW9uIHN1Y2Nlc3NmdWxseSBvcGVuZWQgYSB3aW5kb3cnKTsKLSAgICB0ZXN0Q29tcGxldGVk
KCk7Ci19Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvcmVzb3VyY2VzL25vdGlmeS1vcGVuZXItZG9uZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVzb3VyY2Vz
L25vdGlmeS1vcGVuZXItZG9uZS5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9ub3RpZnktb3BlbmVy
LWRvbmUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08c2NyaXB0Pgotb3BlbmVyLnBvc3RNZXNzYWdlKCJET05FIiwgJyonKTsKLTwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9yZXNvdXJj
ZXMvcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1
ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCShyZXZpc2lvbiAyMTY1NTgpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Jlc291cmNlcy9yZXF1
ZXN0LXBlcm1pc3Npb24tdGhlbi1uYXZpZ2F0ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTAg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0PgotZnVuY3Rpb24gcmVxdWVzdFBlcm1p
c3Npb24oKQotewotICB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5yZXF1ZXN0UGVybWlzc2lv
bihmdW5jdGlvbigpIHsgfSk7Ci19Ci0KLXdpbmRvdy5vbnVubG9hZCA9IHJlcXVlc3RQZXJtaXNz
aW9uOwotd2luZG93LmxvY2F0aW9uID0gIm5vdGlmeS1vcGVuZXItZG9uZS5odG1sIgotPC9zY3Jp
cHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2
aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMJKHdvcmtpbmcgY29weSkKQEAgLTE2MiwxOSArMTYyLDkgQEAgd2Via2l0Lm9yZy9iLzk4OTI3
IGZhc3QvZG9tL0RldmljZU1vdGlvbgogd2Via2l0Lm9yZy9iLzk4OTI3IGZhc3QvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uIFsgU2tpcCBdCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgxNjk3IFNraXAgZmlsZTovLyBiYXNlZCBub3RpZmljYXRpb25zIHRlc3RzCi1m
YXN0L25vdGlmaWNhdGlvbnMKIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1u
b24tc3VzcGVuZGFibGUuaHRtbAogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9u
LXN1c3BlbmRhYmxlLmh0bWwKIAotIyB3ZSBkbyBub3QgZW5hYmxlIGxlZ2FjeSBub3RpZmljYXRp
b25zCi1odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNr
Lmh0bWwKLWh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvcmVxdWVzdC5odG1sCi1odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3JlcXVlc3Qtbm8tY2FsbGJhY2suaHRtbAotaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMuaHRtbAotaHR0cC90ZXN0cy9ub3Rp
ZmljYXRpb25zL2xlZ2FjeS9zaG93Lmh0bWwKLWh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvZG91YmxlLXNob3cuaHRtbAotaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ub3Rp
ZmljYXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLXRoZW4tbmF2aWdhdGUuaHRtbAotCiAjIERhdGFs
aXN0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi85ODkzNCBmYXN0L2Zvcm1zL2Rh
dGFsaXN0IFsgU2tpcCBdCiAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhw
ZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhw
ZWN0YXRpb25zCShyZXZpc2lvbiAyMTY1NTgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBmYXN0L2V2
ZW50cy9jb25zdHJ1Y3RvcnMvZGV2aWNlLXByb3hpbWl0CiBwcmludGluZwogCiAjIFdlYiBOb3Rp
ZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIG9uIGlPUy4KLWZhc3Qvbm90aWZpY2F0aW9ucwog
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zCiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmlj
YXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWwKIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlm
aWNhdGlvbi1zdXNwZW5kYWJsZS5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE2NTU4KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDYgQEAg
ZmFzdC9ldmVudHMvYXR0ZW1wdC1zY3JvbGwtd2l0aC1uby1zY3JvbAogIyBQaXhlbCB0ZXN0IGRv
ZXNuJ3QgcmVwYWludCBlbnRpcmUgdmlldyBzbyByZXN1bHQgaXMgY29ycnVwdGVkIGJ5IHByZXZp
b3VzIHRlc3QKIHdlYmtpdC5vcmcvYi8yMTkxNiB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWls
dXJlcy9idWdzL2J1ZzE3ODg1NS54bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgRmFpbHVyZSBd
CiAKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNjk3IFNraXAg
ZmlsZTovLyBiYXNlZCBub3RpZmljYXRpb25zIHRlc3RzCi1mYXN0L25vdGlmaWNhdGlvbnMKLQog
IyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IGRldGVjdGluZyBzbG93IHVubG9hZCBoYW5kbGVy
cy4KIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1oYW5kbGVyLmh0bWwKIGZhc3QvZG9tL1dp
bmRvdy9zbG93LXVubG9hZC1oYW5kbGVyLW9ubHktZnJhbWUtaXMtc3RvcHBlZC5odG1sCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjE2
NTU4KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtp
bmcgY29weSkKQEAgLTE0NCw3ICsxNDQsNiBAQCBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1j
bGljay1pbi1pZnJhCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi8gWyBTa2lwIF0KIAogIyBUT0RPIFRo
aXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQgTm90aWZpY2F0aW9ucy4KLWZhc3Qvbm90aWZpY2F0aW9u
cy8gWyBTa2lwIF0KIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy8gWyBTa2lwIF0KIGZhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbCBbIFNraXAg
XQogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwg
WyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>