<?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>198624</bug_id>
          
          <creation_ts>2019-06-06 15:10:15 -0700</creation_ts>
          <short_desc>Remove dashboard code</short_desc>
          <delta_ts>2019-06-13 21:51:48 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>198615</dup_id>
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=198615</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>andersca</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1542564</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-06-06 15:10:15 -0700</bug_when>
    <thetext>Now that macOS Catalina has removed the dashboard support, we can remove the related code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542565</commentid>
    <comment_count>1</comment_count>
      <attachid>371528</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-06-06 15:16:05 -0700</bug_when>
    <thetext>Created attachment 371528
Removed the code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542597</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-06-06 16:20:40 -0700</bug_when>
    <thetext>*cough* https://bugs.webkit.org/show_bug.cgi?id=198615</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542598</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-06-06 16:21:03 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 198615 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542613</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-06-06 16:37:34 -0700</bug_when>
    <thetext>At least rniwa&apos;s patch *tried* to EWS :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542663</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-06-06 17:30:50 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #4)
&gt; At least rniwa&apos;s patch *tried* to EWS :P

Hey now. No need to make me cry.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371528</attachid>
            <date>2019-06-06 15:16:05 -0700</date>
            <delta_ts>2019-06-13 21:51:48 -0700</delta_ts>
            <desc>Removed the code</desc>
            <filename>bug-198624-20190606151604.patch</filename>
            <type>text/plain</type>
            <size>217952</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBA
CisyMDE5LTA2LTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAg
IFJlbW92ZSBkYXNoYm9hcmQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk4NjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxOS0wNi0wNiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGaXggdHlwbyBpbiBjYWdlV2l0aG91dFVudGFnZ2luZwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTcsOSArMTE3LDYgQEAgRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJM
RV9EQVJLX01PREVfQ1NTID0gJChFTkFCTEVfREFSS19NT0RFX0NTU18kKFdLX1BMQVRGT1JNX05B
TUUpKTsKIEVOQUJMRV9EQVJLX01PREVfQ1NTX21hY29zeCA9IEVOQUJMRV9EQVJLX01PREVfQ1NT
OwogCi1FTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VF8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLUVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3gg
PSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7Ci0KIEVOQUJMRV9EQVRBQ1VFX1ZBTFVFID0gRU5B
QkxFX0RBVEFDVUVfVkFMVUU7CiAKIEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UID0gRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQ7CkBAIC00NDUsNCArNDQyLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCA9IEVOQUJMRQogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05J
Q19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9E
SVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9T
UEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
VklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0Vf
SU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElD
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1dFQl9QUk9DRVNTX1NBTkRCT1gpICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVf
QVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19H
UkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NT
U19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJ
T05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FS
RF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFC
TEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFC
TEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChF
TkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRT
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZF
Ul9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFD
VElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkg
JChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1BST0NFU1NfU0FO
REJPWCkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV1RG
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE5LTA2LTA2ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBkYXNoYm9h
cmQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4NjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAxOS0wNi0wNiAgQ2FpbyBMaW1hICA8dGljYWlv
bGltYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ09ubHldIEpTQ09ubHkgcG9ydCBpcyBub3Qg
YnVpbGRpbmcgb24gbWFjT1MKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAkocmV2aXNpb24g
MjQ2MTcyKQorKysgU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAkod29ya2luZyBjb3B5
KQpAQCAtMjE5LDEwICsyMTksNiBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93
ZWJraXQuCiAjZGVmaW5lIEVOQUJMRV9DT05URU5UX0VYVEVOU0lPTlMgMQogI2VuZGlmCiAKLSNp
ZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCAxCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkKICNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKICNlbmRpZgpAQCAtNDUzLDEx
ICs0NDksNyBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQuCiAjaWYg
IWRlZmluZWQoRU5BQkxFX0RBUktfTU9ERV9DU1MpCiAjZGVmaW5lIEVOQUJMRV9EQVJLX01PREVf
Q1NTIDAKICNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKQot
I2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAotI2VuZGlmCi0KK1wKICNpZiAhZGVm
aW5lZChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkKICNkZWZpbmUgRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQgMAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMjMgQEAKKzIw
MTktMDYtMDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVt
b3ZlIGRhc2hib2FyZCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTg2MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3Mv
Q1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYXNEb3VibGVWYWx1
ZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5T
dHlsZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmlzVmFsaWRDU1NVbml0VHlwZUZvckRvdWJsZUNvbnZlcnNpb24pOgorICAgICAgICAo
V2ViQ29yZTo6aXNTdHJpbmdUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZh
bHVlOjpjbGVhbnVwKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpmb3Jt
YXROdW1iZXJGb3JDdXN0b21DU1NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZS5oOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVzLmpzb246CisgICAgICAgICogY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgICogY3NzL0Rhc2hib2FyZFJlZ2lvbi5oOiBS
ZW1vdmVkLgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnZlcnRUb0ludExlbmd0aCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
dHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXREYXNoYm9hcmRSZWdpb24pOiBEZWxl
dGVkLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKiBjc3MvcGFy
c2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVXZWJr
aXREYXNoYm9hcmRSZWdpb24pOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YVRyYW5zZmVyOjpjcmVhdGVGb3JVcGRhdGluZ0Ry
b3BUYXJnZXQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6aW52YWxpZGF0ZVJlbmRlcmluZ0RlcGVuZGVudFJlZ2lvbnMpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFubm90YXRlZFJlZ2lvbnMgY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEFubm90YXRlZFJlZ2lvbnMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUFubm90YXRlZFJlZ2lvbnMpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmludmFsaWRhdGVTY3JvbGxiYXJE
ZXBlbmRlbnRSZWdpb25zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1
cGRhdGVaT3JkZXJEZXBlbmRlbnRSZWdpb25zKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRIYXNBbm5vdGF0ZWRSZWdp
b25zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRBbm5vdGF0ZWRS
ZWdpb25zRGlydHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFubm90
YXRlZFJlZ2lvbnNEaXJ0eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6aGFzQW5ub3RhdGVkUmVnaW9ucyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxl
bWVudDo6Y3JlYXRlQ29udGV4dDJkKToKKyAgICAgICAgKiBodG1sL0hUTUxFbWJlZEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVtYmVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRl
ZCk6CisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlTG9hZGVyOjpzb3VyY2VVUkkgY29uc3QpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL0NhbnZhc0dyYWRpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc0dyYWRpZW50
OjphZGRDb2xvclN0b3ApOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNHcmFkaWVudDo6c2V0RGFzaGJvYXJkQ29tcGF0aWJp
bGl0eU1vZGUpOiBEZWxldGVkLgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oOgorICAgICAgICAqIGh0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEQmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpmaWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6
OnN0cm9rZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpjbGlwKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6
OmNyZWF0ZUxpbmVhckdyYWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyREJhc2U6OmNyZWF0ZVJhZGlhbEdyYWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnByZXBhcmVHcmFkaWVudEZvckRhc2hib2Fy
ZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpjbGVhclBhdGhGb3JEYXNoYm9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRCYXNlLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9mZnNjcmVlbkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRDo6T2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9QYWludFJlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYWludFJlbmRlcmluZ0NvbnRleHQyRDo6UGFpbnRSZW5kZXJpbmdDb250ZXh0MkQpOgor
ICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVu
dDo6YW5ub3RhdGVkUmVnaW9uc0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp+RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmRpZExheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmRpZFBhaW50Q29udGVudHMpOgorICAgICAgICAq
IHBhZ2UvU2V0dGluZ3MueWFtbDoKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om5lZWRzS2V5Ym9hcmRFdmVudERp
c2FtYmlndWF0aW9uUXVpcmtzIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVi
b2FyZE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OnNldERyYWdJbWFnZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJJbmxpbmU6OmFkZEFubm90YXRlZFJlZ2lvbnMpOiBEZWxldGVkLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRIYXNIb3Jpem9udGFsU2Nyb2xsYmFyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRIYXNWZXJ0aWNhbFNjcm9sbGJhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMaXN0Qm94OjpzZXRIYXNWZXJ0aWNhbFNjcm9sbGJhcik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmpl
Y3Q6OmFkZEFubm90YXRlZFJlZ2lvbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyT2JqZWN0Ojpjb2xsZWN0QW5ub3RhdGVkUmVnaW9ucyk6IERlbGV0ZWQuCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6QW5ub3RhdGVkUmVn
aW9uVmFsdWU6Om9wZXJhdG9yPT0gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
QW5ub3RhdGVkUmVnaW9uVmFsdWU6Om9wZXJhdG9yIT0gY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpy
YXJlTm9uSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzTGF5b3V0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclN0eWxlOjppbml0aWFsRGFzaGJvYXJkUmVnaW9ucyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6bm9uZURhc2hib2FyZFJlZ2lvbnMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldERhc2hib2FyZFJlZ2lvbik6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6ZGFzaGJvYXJkUmVnaW9ucyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0RGFzaGJvYXJkUmVnaW9ucyk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlRGFzaGJvYXJkUmVnaW9uLmg6
IFJlbW92ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6
b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNlbmQpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3Q6OnNldFJlcXVlc3RIZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6WE1M
SHR0cFJlcXVlc3Q6OnVzZXNEYXNoYm9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAxOS0wNi0w
NSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAg
IFJFR1JFU1NJT04gKHIyNDMxMjEpOiBMb2FkIGV2ZW50IHNob3VsZCBub3QgYmUgZmlyZWQgd2hp
bGUgYW5pbWF0aW5nIHRoZSAnZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCcgYXR0cmlidXRlIApJ
bmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcs
OSArMTE3LDYgQEAgRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJMRV9EQVJL
X01PREVfQ1NTID0gJChFTkFCTEVfREFSS19NT0RFX0NTU18kKFdLX1BMQVRGT1JNX05BTUUpKTsK
IEVOQUJMRV9EQVJLX01PREVfQ1NTX21hY29zeCA9IEVOQUJMRV9EQVJLX01PREVfQ1NTOwogCi1F
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFdL
X1BMQVRGT1JNX05BTUUpKTsKLUVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQ7Ci0KIEVOQUJMRV9EQVRBQ1VFX1ZBTFVFID0gRU5BQkxFX0RB
VEFDVUVfVkFMVUU7CiAKIEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UID0gRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQ7CkBAIC00NDUsNCArNDQyLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCA9IEVOQUJMRQogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19U
WVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJ
VF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRD
SEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxB
VElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJG
TE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hB
UkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMp
ICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9f
VVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJM
RV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1dFQl9QUk9DRVNTX1NBTkRCT1gpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZ
X1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVf
U0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5B
QkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlC
T0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1BST0NFU1NfU0FOREJPWCkg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjQ2MTcyKQorKysg
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEy
IEBACisyMDE5LTA2LTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAg
ICAgIFJlbW92ZSBkYXNoYm9hcmQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk4NjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wNi0wNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFByb2dyZXNzIHRvd2FyZHMgcmVzdXJyZWN0aW5nIE1hYyBDTWFrZSBi
dWlsZApJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNl
L1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTcsOSArMTE3LDYgQEAgRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UiA9IDsKIEVOQUJMRV9EQVJLX01PREVfQ1NTID0gJChFTkFCTEVfREFSS19NT0RFX0NTU18kKFdL
X1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVJLX01PREVfQ1NTX21hY29zeCA9IEVOQUJMRV9E
QVJLX01PREVfQ1NTOwogCi1FTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVF8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLUVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVF9tYWNvc3ggPSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7Ci0KIEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFID0gRU5BQkxFX0RBVEFDVUVfVkFMVUU7CiAKIEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
ID0gRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQ7CkBAIC00NDUsNCArNDQyLDQgQEAgRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRQogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9Y
U0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9E
QVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJV
VEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVS
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVU
V09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9S
RVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JT
RVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9Q
UkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dP
UktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VS
X01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJE
UklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9B
UElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9QUk9DRVNTX1NBTkRCT1gpICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNM
VCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNU
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05T
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURB
VElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
X1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhU
RU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VS
Q0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NU
UkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5B
QkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9U
T1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VC
X1BST0NFU1NfU0FOREJPWCkgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0NjE3MikKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMzE5Miw3ICszMTkyLDYgQEAKIAkJQTgwRTZEMDMwQTE5ODlDQTAwN0ZCOEM1
IC8qIENTU01lZGlhUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTgwRTZDRDkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4MEU2RDA0MEEx
OTg5Q0EwMDdGQjhDNSAvKiBDb3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBODBFNkNEQTBBMTk4OUNBMDA3RkI4QzUgLyogQ291bnRlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4MEU2RDA4
MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbml0aWFsVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEU2Q0RFMEExOTg5Q0EwMDdGQjhDNSAvKiBD
U1NJbml0aWFsVmFsdWUuaCAqLzsgfTsKLQkJQTgwRTZEMEIwQTE5ODlDQTAwN0ZCOEM1IC8qIERh
c2hib2FyZFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTgwRTZDRTEwQTE5ODlDQTAwN0ZCOEM1IC8qIERhc2hib2FyZFJlZ2lvbi5oICovOyB9
OwogCQlBODBFNkQwQzBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTU3R5bGVSdWxlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBFNkNFMjBBMTk4OUNBMDA3
RkI4QzUgLyogQ1NTU3R5bGVSdWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQTgwRTZEMEQwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1J1bGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEU2Q0UzMEEx
OTg5Q0EwMDdGQjhDNSAvKiBDU1NSdWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTgwRTZERkMwQTE5OTA2NzAwN0ZCOEM1IC8qIFN0eWxlUHJv
cGVydGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTgwRTZERkEwQTE5OTA2NzAwN0ZCOEM1IC8qIFN0eWxlUHJvcGVydGllcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNzYyLDcgKzM3NjEsNiBA
QAogCQlCQzVFQjVFNTBFODFCRjZEMDBCMjU5NjUgLyogU3R5bGVTdXJyb3VuZERhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUVCNUU0MEU4MUJG
NkQwMEIyNTk2NSAvKiBTdHlsZVN1cnJvdW5kRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNUVCNjY4MEU4MUNCNzEwMEIyNTk2NSAvKiBS
ZW5kZXJTdHlsZUNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM1RUI2NjcwRTgxQ0I3MTAwQjI1OTY1IC8qIFJlbmRlclN0eWxlQ29uc3Rh
bnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QkM1RUI2N0IwRTgxRDNCRTAwQjI1OTY1IC8qIFN0eWxlQm94RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1RUI2N0EwRTgxRDNCRTAwQjI1OTY1
IC8qIFN0eWxlQm94RGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCUJDNUVCNjdGMEU4MUQ0QTcwMEIyNTk2NSAvKiBTdHlsZURhc2hib2FyZFJl
Z2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1
RUI2N0UwRTgxRDRBNzAwQjI1OTY1IC8qIFN0eWxlRGFzaGJvYXJkUmVnaW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM1RUI2OUEwRTgxREE2
MzAwQjI1OTY1IC8qIFN0eWxlVmlzdWFsRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1RUI2OTgwRTgxREE2MzAwQjI1OTY1IC8qIFN0eWxlVmlz
dWFsRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUJDNUVCNjlGMEU4MURBRUIwMEIyNTk2NSAvKiBGaWxsTGF5ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUVCNjlEMEU4MURBRUIwMEIyNTk2
NSAvKiBGaWxsTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlCQzVFQjZBMzBFODFEQzRGMDBCMjU5NjUgLyogU3R5bGVCYWNrZ3JvdW5kRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1RUI2
QTEwRTgxREM0RjAwQjI1OTY1IC8qIFN0eWxlQmFja2dyb3VuZERhdGEuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTE2MDksNyArMTE2MDcsNiBA
QAogCQlBODBFNkNEQzBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUnVsZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE4MEU2Q0RFMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbml0aWFsVmFsdWUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0luaXRpYWxWYWx1ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODBFNkNERjBBMTk4OUNBMDA3RkI4QzUgLyog
Q1NTUnVsZUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENT
U1J1bGVMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTgwRTZDRTEwQTE5
ODlDQTAwN0ZCOEM1IC8qIERhc2hib2FyZFJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGFzaGJvYXJkUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4MEU2Q0UyMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NTdHlsZVJ1bGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1N0eWxlUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBODBFNkNFMzBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUnVsZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBODBFNkRGOTBBMTk5MDY3MDA3RkI4QzUgLyogU3R5bGVQcm9wZXJ0aWVz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZVByb3BlcnRp
ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI4OTIsNyArMTI4ODksNiBA
QAogCQlCQzVFQjY2NzBFODFDQjcxMDBCMjU5NjUgLyogUmVuZGVyU3R5bGVDb25zdGFudHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU3R5bGVDb25zdGFudHMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM1RUI2N0EwRTgxRDNCRTAwQjI1OTY1IC8q
IFN0eWxlQm94RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUJv
eERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM1RUI2N0MwRTgxRDQyMDAw
QjI1OTY1IC8qIFN0eWxlQm94RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTdHlsZUJveERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlC
QzVFQjY3RTBFODFENEE3MDBCMjU5NjUgLyogU3R5bGVEYXNoYm9hcmRSZWdpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVEYXNoYm9hcmRSZWdpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM1RUI2OTcwRTgxREE2MzAwQjI1OTY1IC8qIFN0eWxl
VmlzdWFsRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHls
ZVZpc3VhbERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQjY5ODBF
ODFEQTYzMDBCMjU5NjUgLyogU3R5bGVWaXN1YWxEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFN0eWxlVmlzdWFsRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQzVFQjY5QzBFODFEQUVCMDBCMjU5NjUgLyogRmlsbExheWVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGxMYXllci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNDkwNiw3ICsyNDkwMiw2IEBACiAJCQkJMUMwQUExNkEyMTk0MERD
NzAwODk2ODI5IC8qIFN0eWxlQ29sb3JTY2hlbWUuaCAqLywKIAkJCQk5REFDN0M1NjFBRjJDQjY0
MDA0MzdDNDQgLyogU3R5bGVDb250ZW50QWxpZ25tZW50RGF0YS5oICovLAogCQkJCUJDNzc5RTE1
MUJCMjI2QTIwMENBQThCRiAvKiBTdHlsZUN1c3RvbVByb3BlcnR5RGF0YS5oICovLAotCQkJCUJD
NUVCNjdFMEU4MUQ0QTcwMEIyNTk2NSAvKiBTdHlsZURhc2hib2FyZFJlZ2lvbi5oICovLAogCQkJ
CUJDNUVCOEI2MEU4MjAxQkQwMEIyNTk2NSAvKiBTdHlsZURlcHJlY2F0ZWRGbGV4aWJsZUJveERh
dGEuY3BwICovLAogCQkJCUJDNUVCOEI3MEU4MjAxQkQwMEIyNTk2NSAvKiBTdHlsZURlcHJlY2F0
ZWRGbGV4aWJsZUJveERhdGEuaCAqLywKIAkJCQkzMTlBRTA2MTE0MkQ2QjI0MDA2NTYzQTEgLyog
U3R5bGVGaWx0ZXJEYXRhLmNwcCAqLywKQEAgLTI2NzI3LDcgKzI2NzIyLDYgQEAKIAkJCQk5NDQ0
Q0JERDFEODg2MTU4MDA3M0EwNzQgLyogQ1NTVmFyaWFibGVEYXRhLmggKi8sCiAJCQkJOTQ0NENC
REMxRDg4NjE1ODAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwICovLAog
CQkJCTk0NDRDQkRCMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVl
LmggKi8sCi0JCQkJQTgwRTZDRTEwQTE5ODlDQTAwN0ZCOEM1IC8qIERhc2hib2FyZFJlZ2lvbi5o
ICovLAogCQkJCTk0Nzk0OTJBMUUwMzJFREIwMDAxOEQ4NSAvKiBEZXByZWNhdGVkQ1NTT01Db3Vu
dGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIERlcHJlY2F0ZWRDU1NP
TUNvdW50ZXIuaWRsICovLAogCQkJCTk0Nzk0OTNCMUUwNDVDRTEwMDAxOEQ4NSAvKiBEZXByZWNh
dGVkQ1NTT01QcmltaXRpdmVWYWx1ZS5jcHAgKi8sCkBAIC0yODc2Nyw3ICsyODc2MSw2IEBACiAJ
CQkJNEIxRTEzRTcyMTc5MEQ2NjAwNDJDRjk4IC8qIEN1c3RvbVBhaW50Q2FudmFzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0QjdBRTQ5MzIxNzdCNTZGMDBDNTk5NTkgLyogQ3VzdG9tUGFpbnRJbWFn
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDQjQxM0UwRTg2MzNGRDAwMzJDNEYwIC8qIERhc2hB
cnJheS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTgwRTZEMEIwQTE5ODlDQTAwN0ZCOEM1IC8qIERh
c2hib2FyZFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzZBMjExNTA1RjA4MTAwMUI3
NEFDIC8qIERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNkEyNDE1MDVGMDgxMDAx
Qjc0QUMgLyogRGF0YWJhc2VBdXRob3JpemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNkEy
NTE1MDVGMDgxMDAxQjc0QUMgLyogRGF0YWJhc2VDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zMTU0NSw3ICszMTUzOCw2IEBACiAJCQkJMUMwQUExNkQyMTk0MERDODAwODk2ODI5IC8qIFN0
eWxlQ29sb3JTY2hlbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTlEQUM3QzU3MUFGMkNCNjQwMDQz
N0M0NCAvKiBTdHlsZUNvbnRlbnRBbGlnbm1lbnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Qzc3OUUxNzFCQjIyN0NBMDBDQUE4QkYgLyogU3R5bGVDdXN0b21Qcm9wZXJ0eURhdGEuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUJDNUVCNjdGMEU4MUQ0QTcwMEIyNTk2NSAvKiBTdHlsZURhc2hib2Fy
ZFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDNEE3RkQwOUQ1NjMyNzAwMDNBQzhEIC8q
IFN0eWxlZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCOEI5MEU4MjAxQkQwMEIy
NTk2NSAvKiBTdHlsZURlcHJlY2F0ZWRGbGV4aWJsZUJveERhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCTMxOUFFMDY0MTQyRDZCMjQwMDY1NjNBMSAvKiBTdHlsZUZpbHRlckRhdGEuaCBpbiBIZWFk
ZXJzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNw
cAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9u
VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsOSArMTQzLDYgQEAgc3RhdGljIGJvb2wg
aGFzRG91YmxlVmFsdWUoQ1NTUHJpbWl0aXZlVgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19DQUxDX1BFUkNFTlRBR0VfV0lUSF9MRU5HVEg6CiAgICAgY2FzZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1BST1BFUlRZX0lEOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19W
QUxVRV9JRDoKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgY2FzZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX0RBU0hCT0FSRF9SRUdJT046Ci0jZW5kaWYKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIH07CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkocmV2
aXNpb24gMjQ2MTcyKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0LDEwICs4NCw2IEBACiAjaW5jbHVkZSAi
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIgogI2luY2x1ZGUgIlJlbmRlckdyaWQuaCIKIAot
I2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSNpbmNsdWRlICJEYXNoYm9hcmRSZWdpb24u
aCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24pOwpAQCAtMzA1LDkgKzMwMSw2IEBA
IHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNvbXB1dGVkUHJvcGUKICNpZiBFTkFCTEUoQ1VS
U09SX1ZJU0lCSUxJVFkpCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDdXJzb3JWaXNpYmlsaXR5LAog
I2VuZGlmCi0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgIENTU1Byb3BlcnR5V2Vi
a2l0RGFzaGJvYXJkUmVnaW9uLAotI2VuZGlmCiAgICAgQ1NTUHJvcGVydHlBbGlnbkNvbnRlbnQs
CiAgICAgQ1NTUHJvcGVydHlBbGlnbkl0ZW1zLAogICAgIENTU1Byb3BlcnR5QWxpZ25TZWxmLApA
QCAtMzU1OSwzOCArMzU1Miw2IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJh
Y3RvcjoKICAgICAgICAgICAgIGlmIChzdHlsZS5ib3hTaXppbmcoKSA9PSBCb3hTaXppbmc6OkNv
bnRlbnRCb3gpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVu
dGlmaWVyVmFsdWUoQ1NTVmFsdWVDb250ZW50Qm94KTsKICAgICAgICAgICAgIHJldHVybiBjc3NW
YWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQm9yZGVyQm94KTsKLSNpZiBF
TkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRE
YXNoYm9hcmRSZWdpb246Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxTdHls
ZURhc2hib2FyZFJlZ2lvbj4mIHJlZ2lvbnMgPSBzdHlsZS5kYXNoYm9hcmRSZWdpb25zKCk7Ci0g
ICAgICAgICAgICB1bnNpZ25lZCBjb3VudCA9IHJlZ2lvbnMuc2l6ZSgpOwotICAgICAgICAgICAg
aWYgKGNvdW50ID09IDEgJiYgcmVnaW9uc1swXS50eXBlID09IFN0eWxlRGFzaGJvYXJkUmVnaW9u
OjpOb25lKQotICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRp
ZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7Ci0KLSAgICAgICAgICAgIFJlZlB0cjxEYXNoYm9hcmRS
ZWdpb24+IGZpcnN0UmVnaW9uOwotICAgICAgICAgICAgRGFzaGJvYXJkUmVnaW9uKiBwcmV2aW91
c1JlZ2lvbiA9IG51bGxwdHI7Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
Y291bnQ7IGkrKykgewotICAgICAgICAgICAgICAgIGF1dG8gcmVnaW9uID0gRGFzaGJvYXJkUmVn
aW9uOjpjcmVhdGUoKTsKLSAgICAgICAgICAgICAgICBTdHlsZURhc2hib2FyZFJlZ2lvbiBzdHls
ZVJlZ2lvbiA9IHJlZ2lvbnNbaV07Ci0KLSAgICAgICAgICAgICAgICByZWdpb24tPm1fbGFiZWwg
PSBzdHlsZVJlZ2lvbi5sYWJlbDsKLSAgICAgICAgICAgICAgICBMZW5ndGhCb3ggb2Zmc2V0ID0g
c3R5bGVSZWdpb24ub2Zmc2V0OwotICAgICAgICAgICAgICAgIHJlZ2lvbi0+c2V0VG9wKHpvb21B
ZGp1c3RlZFBpeGVsVmFsdWUob2Zmc2V0LnRvcCgpLnZhbHVlKCksIHN0eWxlKSk7Ci0gICAgICAg
ICAgICAgICAgcmVnaW9uLT5zZXRSaWdodCh6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKG9mZnNldC5y
aWdodCgpLnZhbHVlKCksIHN0eWxlKSk7Ci0gICAgICAgICAgICAgICAgcmVnaW9uLT5zZXRCb3R0
b20oem9vbUFkanVzdGVkUGl4ZWxWYWx1ZShvZmZzZXQuYm90dG9tKCkudmFsdWUoKSwgc3R5bGUp
KTsKLSAgICAgICAgICAgICAgICByZWdpb24tPnNldExlZnQoem9vbUFkanVzdGVkUGl4ZWxWYWx1
ZShvZmZzZXQubGVmdCgpLnZhbHVlKCksIHN0eWxlKSk7Ci0gICAgICAgICAgICAgICAgcmVnaW9u
LT5tX2lzUmVjdGFuZ2xlID0gKHN0eWxlUmVnaW9uLnR5cGUgPT0gU3R5bGVEYXNoYm9hcmRSZWdp
b246OlJlY3RhbmdsZSk7Ci0gICAgICAgICAgICAgICAgcmVnaW9uLT5tX2lzQ2lyY2xlID0gKHN0
eWxlUmVnaW9uLnR5cGUgPT0gU3R5bGVEYXNoYm9hcmRSZWdpb246OkNpcmNsZSk7Ci0KLSAgICAg
ICAgICAgICAgICBpZiAocHJldmlvdXNSZWdpb24pCi0gICAgICAgICAgICAgICAgICAgIHByZXZp
b3VzUmVnaW9uLT5tX25leHQgPSByZWdpb24uY29weVJlZigpOwotICAgICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgZmlyc3RSZWdpb24gPSByZWdpb24uY29weVJlZigpOwot
ICAgICAgICAgICAgICAgIHByZXZpb3VzUmVnaW9uID0gcmVnaW9uLnB0cigpOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVWYWx1ZShXVEZNb3Zl
KGZpcnN0UmVnaW9uKSk7Ci0gICAgICAgIH0KLSNlbmRpZgogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5QW5pbWF0aW9uRGVsYXk6CiAgICAgICAgICAgICByZXR1cm4gZGVsYXlWYWx1ZShzdHlsZS5h
bmltYXRpb25zKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uRGlyZWN0aW9u
OiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlz
aW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ1LDExICs0NSw2IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVy
cy5oPgogCi0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotI2luY2x1ZGUgIkRhc2hib2Fy
ZFJlZ2lvbi5oIgotI2VuZGlmCi0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lvbihDU1NQcmltaXRp
dmVWYWx1ZTo6VW5pdFR5cGUgdW5pdFR5cGUpCkBAIC0xMTAsOSArMTA1LDYgQEAgc3RhdGljIGlu
bGluZSBib29sIGlzVmFsaWRDU1NVbml0VHlwZUZvcgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19VTktOT1dOOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VUkk6CiAg
ICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBTFVFX0lEOgotI2lmIEVOQUJMRShEQVNI
Qk9BUkRfU1VQUE9SVCkKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREFTSEJPQVJE
X1JFR0lPTjoKLSNlbmRpZgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC0xNzUs
OSArMTY3LDYgQEAgc3RhdGljIGlubGluZSBib29sIGlzU3RyaW5nVHlwZShDU1NQcmltaQogICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WTUFYOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19WTUlOOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WVzoKLSNp
ZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX0RBU0hCT0FSRF9SRUdJT046Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KIApAQCAtNDM3LDE1ICs0MjYsNiBAQCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjppbml0KFJl
ZjxRdWFkPiYmCiAgICAgbV92YWx1ZS5xdWFkID0gJnF1YWQubGVha1JlZigpOwogfQogCi0jaWYg
RU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6aW5pdChS
ZWZQdHI8RGFzaGJvYXJkUmVnaW9uPiYmIHIpCi17Ci0gICAgbV9wcmltaXRpdmVVbml0VHlwZSA9
IENTU19EQVNIQk9BUkRfUkVHSU9OOwotICAgIG1faGFzQ2FjaGVkQ1NTVGV4dCA9IGZhbHNlOwot
ICAgIG1fdmFsdWUucmVnaW9uID0gci5sZWFrUmVmKCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBDU1NQ
cmltaXRpdmVWYWx1ZTo6aW5pdChSZWY8UGFpcj4mJiBwKQogewogICAgIG1fcHJpbWl0aXZlVW5p
dFR5cGUgPSBDU1NfUEFJUjsKQEAgLTQ5NiwxMiArNDc2LDYgQEAgdm9pZCBDU1NQcmltaXRpdmVW
YWx1ZTo6Y2xlYW51cCgpCiAgICAgY2FzZSBDU1NfUEFJUjoKICAgICAgICAgbV92YWx1ZS5wYWly
LT5kZXJlZigpOwogICAgICAgICBicmVhazsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQp
Ci0gICAgY2FzZSBDU1NfREFTSEJPQVJEX1JFR0lPTjoKLSAgICAgICAgaWYgKG1fdmFsdWUucmVn
aW9uKQotICAgICAgICAgICAgbV92YWx1ZS5yZWdpb24tPmRlcmVmKCk7Ci0gICAgICAgIGJyZWFr
OwotI2VuZGlmCiAgICAgY2FzZSBDU1NfQ0FMQzoKICAgICAgICAgbV92YWx1ZS5jYWxjLT5kZXJl
ZigpOwogICAgICAgICBicmVhazsKQEAgLTEwNDUsNDIgKzEwMTksNiBAQCBBTFdBWVNfSU5MSU5F
IFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6CiAgICAgICAgIHJldHVybiBjb2xvcigpLmNzc1Rl
eHQoKTsKICAgICBjYXNlIENTU19QQUlSOgogICAgICAgICByZXR1cm4gcGFpclZhbHVlKCktPmNz
c1RleHQoKTsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgY2FzZSBDU1NfREFT
SEJPQVJEX1JFR0lPTjogewotICAgICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKLSAgICAgICAg
Zm9yIChEYXNoYm9hcmRSZWdpb24qIHJlZ2lvbiA9IGRhc2hib2FyZFJlZ2lvblZhbHVlKCk7IHJl
Z2lvbjsgcmVnaW9uID0gcmVnaW9uLT5tX25leHQuZ2V0KCkpIHsKLSAgICAgICAgICAgIGlmICgh
cmVzdWx0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7Ci0g
ICAgICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiZGFzaGJvYXJkLXJlZ2lvbigiKTsKLSAg
ICAgICAgICAgIHJlc3VsdC5hcHBlbmQocmVnaW9uLT5tX2xhYmVsKTsKLSAgICAgICAgICAgIGlm
IChyZWdpb24tPm1faXNDaXJjbGUpCi0gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVy
YWwoIiBjaXJjbGUiKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHJlZ2lvbi0+bV9pc1JlY3Rhbmds
ZSkKLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiIHJlY3RhbmdsZSIpOwot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgaWYg
KHJlZ2lvbi0+dG9wKCktPm1fcHJpbWl0aXZlVW5pdFR5cGUgPT0gQ1NTX1ZBTFVFX0lEICYmIHJl
Z2lvbi0+dG9wKCktPnZhbHVlSUQoKSA9PSBDU1NWYWx1ZUludmFsaWQpIHsKLSAgICAgICAgICAg
ICAgICBBU1NFUlQocmVnaW9uLT5yaWdodCgpLT5tX3ByaW1pdGl2ZVVuaXRUeXBlID09IENTU19W
QUxVRV9JRCk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHJlZ2lvbi0+Ym90dG9tKCktPm1fcHJp
bWl0aXZlVW5pdFR5cGUgPT0gQ1NTX1ZBTFVFX0lEKTsKLSAgICAgICAgICAgICAgICBBU1NFUlQo
cmVnaW9uLT5sZWZ0KCktPm1fcHJpbWl0aXZlVW5pdFR5cGUgPT0gQ1NTX1ZBTFVFX0lEKTsKLSAg
ICAgICAgICAgICAgICBBU1NFUlQocmVnaW9uLT5yaWdodCgpLT52YWx1ZUlEKCkgPT0gQ1NTVmFs
dWVJbnZhbGlkKTsKLSAgICAgICAgICAgICAgICBBU1NFUlQocmVnaW9uLT5ib3R0b20oKS0+dmFs
dWVJRCgpID09IENTU1ZhbHVlSW52YWxpZCk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHJlZ2lv
bi0+bGVmdCgpLT52YWx1ZUlEKCkgPT0gQ1NTVmFsdWVJbnZhbGlkKTsKLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnICcpOwotICAgICAgICAgICAg
ICAgIHJlc3VsdC5hcHBlbmQocmVnaW9uLT50b3AoKS0+Y3NzVGV4dCgpKTsKLSAgICAgICAgICAg
ICAgICByZXN1bHQuYXBwZW5kKCcgJyk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChy
ZWdpb24tPnJpZ2h0KCktPmNzc1RleHQoKSk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZCgnICcpOwotICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQocmVnaW9uLT5ib3R0b20oKS0+
Y3NzVGV4dCgpKTsKLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7Ci0gICAgICAg
ICAgICAgICAgcmVzdWx0LmFwcGVuZChyZWdpb24tPmxlZnQoKS0+Y3NzVGV4dCgpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyknKTsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7Ci0gICAgfQotI2VuZGlmCiAgICAgY2FzZSBD
U1NfQ0FMQzoKICAgICAgICAgcmV0dXJuIG1fdmFsdWUuY2FsYy0+Y3NzVGV4dCgpOwogICAgIGNh
c2UgQ1NTX1NIQVBFOgpAQCAtMTE3NSwxMCArMTExMyw2IEBAIGJvb2wgQ1NTUHJpbWl0aXZlVmFs
dWU6OmVxdWFscyhjb25zdCBDU1MKICAgICAgICAgcmV0dXJuIGNvbG9yKCkgPT0gb3RoZXIuY29s
b3IoKTsKICAgICBjYXNlIENTU19QQUlSOgogICAgICAgICByZXR1cm4gbV92YWx1ZS5wYWlyICYm
IG90aGVyLm1fdmFsdWUucGFpciAmJiBtX3ZhbHVlLnBhaXItPmVxdWFscygqb3RoZXIubV92YWx1
ZS5wYWlyKTsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgY2FzZSBDU1NfREFT
SEJPQVJEX1JFR0lPTjoKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUucmVnaW9uICYmIG90aGVyLm1f
dmFsdWUucmVnaW9uICYmIG1fdmFsdWUucmVnaW9uLT5lcXVhbHMoKm90aGVyLm1fdmFsdWUucmVn
aW9uKTsKLSNlbmRpZgogICAgIGNhc2UgQ1NTX0NBTEM6CiAgICAgICAgIHJldHVybiBtX3ZhbHVl
LmNhbGMgJiYgb3RoZXIubV92YWx1ZS5jYWxjICYmIG1fdmFsdWUuY2FsYy0+ZXF1YWxzKCpvdGhl
ci5tX3ZhbHVlLmNhbGMpOwogICAgIGNhc2UgQ1NTX1NIQVBFOgpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw2
IEBAIGNsYXNzIENTU0Jhc2ljU2hhcGU7CiBjbGFzcyBDU1NDYWxjVmFsdWU7CiBjbGFzcyBDU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhOwogY2xhc3MgQ291bnRlcjsKLWNsYXNzIERhc2hib2FyZFJl
Z2lvbjsKIGNsYXNzIERlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlOwogY2xhc3MgUGFpcjsK
IGNsYXNzIFF1YWQ7CkBAIC0xMTIsOSArMTExLDYgQEAgcHVibGljOgogICAgICAgICBDU1NfRFBD
TSA9IDMyLAogICAgICAgICBDU1NfRlIgPSAzMywKICAgICAgICAgQ1NTX1BBSVIgPSAxMDAsIC8v
IFdlIGVudmlzaW9uIHRoaXMgYmVpbmcgZXhwb3NlZCBhcyBhIG1lYW5zIG9mIGdldHRpbmcgY29t
cHV0ZWQgc3R5bGUgdmFsdWVzIGZvciBwYWlycyAoYm9yZGVyLXNwYWNpbmcvcmFkaXVzLCBiYWNr
Z3JvdW5kLXBvc2l0aW9uLCBldGMuKQotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAg
ICAgICAgQ1NTX0RBU0hCT0FSRF9SRUdJT04gPSAxMDEsIC8vIEZJWE1FOiBEYXNoYm9hcmQgcmVn
aW9uIHNob3VsZCBub3QgYmUgYSBwcmltaXRpdmUgdmFsdWUuCi0jZW5kaWYKICAgICAgICAgQ1NT
X1VOSUNPREVfUkFOR0UgPSAxMDIsCiAKICAgICAgICAgLy8gVGhlc2UgYXJlIGZyb20gQ1NTMyBW
YWx1ZXMgYW5kIFVuaXRzLCBidXQgdGhhdCBpc24ndCBhIGZpbmlzaGVkIHN0YW5kYXJkIHlldApA
QCAtMjY4LDEwICsyNjQsNiBAQCBwdWJsaWM6CiAgICAgQ1NTQmFzaWNTaGFwZSogc2hhcGVWYWx1
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZlVW5pdFR5cGUgIT0gQ1NTX1NIQVBFID8gbnVs
bHB0ciA6IG1fdmFsdWUuc2hhcGU7IH0KICAgICBDU1NWYWx1ZUlEIHZhbHVlSUQoKSBjb25zdCB7
IHJldHVybiBtX3ByaW1pdGl2ZVVuaXRUeXBlID09IENTU19WQUxVRV9JRCA/IG1fdmFsdWUudmFs
dWVJRCA6IENTU1ZhbHVlSW52YWxpZDsgfQogCi0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JU
KQotICAgIERhc2hib2FyZFJlZ2lvbiogZGFzaGJvYXJkUmVnaW9uVmFsdWUoKSBjb25zdCB7IHJl
dHVybiBtX3ByaW1pdGl2ZVVuaXRUeXBlICE9IENTU19EQVNIQk9BUkRfUkVHSU9OID8gbnVsbHB0
ciA6IG1fdmFsdWUucmVnaW9uOyB9Ci0jZW5kaWYKLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGlubGluZSBvcGVyYXRvciBUKCkgY29uc3Q7IC8vIERlZmluZWQgaW4gQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oCiAKICAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OwpAQCAtMzIx
LDEwICszMTMsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdChSZWY8UXVhZD4mJik7CiAgICAg
dm9pZCBpbml0KFJlZjxSZWN0PiYmKTsKIAotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkK
LSAgICB2b2lkIGluaXQoUmVmUHRyPERhc2hib2FyZFJlZ2lvbj4mJik7IC8vIEZJWE1FOiBEYXNo
Ym9hcmQgcmVnaW9uIHNob3VsZCBub3QgYmUgYSBwcmltaXRpdmUgdmFsdWUuCi0jZW5kaWYKLQog
ICAgIE9wdGlvbmFsPGRvdWJsZT4gZG91YmxlVmFsdWVJbnRlcm5hbChVbml0VHlwZSB0YXJnZXRV
bml0VHlwZSkgY29uc3Q7CiAKICAgICBkb3VibGUgY29tcHV0ZUxlbmd0aERvdWJsZShjb25zdCBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJikgY29uc3Q7CkBAIC0zNDIsNyArMzMwLDYgQEAgcHJp
dmF0ZToKICAgICAgICAgUXVhZCogcXVhZDsKICAgICAgICAgY29uc3QgQ29sb3IqIGNvbG9yOwog
ICAgICAgICBQYWlyKiBwYWlyOwotICAgICAgICBEYXNoYm9hcmRSZWdpb24qIHJlZ2lvbjsKICAg
ICAgICAgQ1NTQmFzaWNTaGFwZSogc2hhcGU7CiAgICAgICAgIENTU0NhbGNWYWx1ZSogY2FsYzsK
ICAgICAgICAgY29uc3QgQ1NTRm9udEZhbWlseSogZm9udEZhbWlseTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtNjg4MywxNCAr
Njg4Myw2IEBACiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgInN0YXR1cyI6ICJub24tc3Rh
bmRhcmQiCiAgICAgICAgIH0sCi0gICAgICAgICItd2Via2l0LWRhc2hib2FyZC1yZWdpb24iOiB7
Ci0gICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewotICAgICAgICAgICAgICAgICJu
YW1lLWZvci1tZXRob2RzIjogIkRhc2hib2FyZFJlZ2lvbnMiLAotICAgICAgICAgICAgICAgICJj
dXN0b20iOiAiVmFsdWUiLAotICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAiRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdGF0dXMiOiAi
bm9uLXN0YW5kYXJkIgotICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1vdmVyZmxvdy1zY3Jv
bGxpbmciOiB7CiAgICAgICAgICAgICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJ2
YWx1ZXMiOiBbCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkocmV2
aXNpb24gMjQ2MTcyKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4J
KHdvcmtpbmcgY29weSkKQEAgLTEyMjMsNyArMTIyMyw2IEBAIHJlcGVhdGluZy1jb25pYy1ncmFk
aWVudAogLXdlYmtpdC1uYW1lZC1pbWFnZQogZmlsdGVyCiAtd2Via2l0LWZpbHRlcgotZGFzaGJv
YXJkLXJlZ2lvbgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICYmIEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJCiBwYWludAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvRGFzaGJvYXJkUmVnaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0Rh
c2hib2FyZFJlZ2lvbi5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
RGFzaGJvYXJkUmVnaW9uLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MSArMCwwIEBACi0vKgotICog
KEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0KLSNpbmNsdWRl
ICJSZWN0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRGFzaGJvYXJkUmVnaW9u
IGZpbmFsIDogcHVibGljIFJlY3RCYXNlLCBwdWJsaWMgUmVmQ291bnRlZDxEYXNoYm9hcmRSZWdp
b24+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPERhc2hib2FyZFJlZ2lvbj4gY3JlYXRlKCkg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBEYXNoYm9hcmRSZWdpb24pOyB9Ci0gICAgYm9vbCBlcXVh
bHMoY29uc3QgRGFzaGJvYXJkUmVnaW9uJiBvdGhlcikgY29uc3QKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBtX2xhYmVsID09IG90aGVyLm1fbGFiZWwgJiYgbV9nZW9tZXRyeVR5cGUgPT0gb3RoZXIu
bV9nZW9tZXRyeVR5cGUKLSAgICAgICAgICAgICYmIG1faXNDaXJjbGUgPT0gb3RoZXIubV9pc0Np
cmNsZSAmJiBtX2lzUmVjdGFuZ2xlID09IG90aGVyLm1faXNSZWN0YW5nbGUKLSAgICAgICAgICAg
ICYmIG1fbmV4dCA/IG90aGVyLm1fbmV4dCAmJiBtX25leHQtPmVxdWFscygqb3RoZXIubV9uZXh0
KSA6ICFvdGhlci5tX25leHQ7Ci0gICAgfQotCi0gICAgUmVmUHRyPERhc2hib2FyZFJlZ2lvbj4g
bV9uZXh0OwotICAgIFN0cmluZyBtX2xhYmVsOwotICAgIFN0cmluZyBtX2dlb21ldHJ5VHlwZTsK
LSAgICBib29sIG1faXNDaXJjbGUgOiAxOwotICAgIGJvb2wgbV9pc1JlY3RhbmdsZSA6IDE7Ci0K
LXByaXZhdGU6Ci0gICAgRGFzaGJvYXJkUmVnaW9uKCkgOiBtX2lzQ2lyY2xlKGZhbHNlKSwgbV9p
c1JlY3RhbmdsZShmYWxzZSkgeyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvY3NzL0Rhc2hib2FyZFJl
Z2lvbi5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1u
YXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICsz
Nyw2IEBACiAjaW5jbHVkZSAiQ291bnRlci5oIgogI2luY2x1ZGUgIkNvdW50ZXJDb250ZW50Lmgi
CiAjaW5jbHVkZSAiQ3Vyc29yTGlzdC5oIgotI2luY2x1ZGUgIkRhc2hib2FyZFJlZ2lvbi5oIgog
I2luY2x1ZGUgIkVsZW1lbnRBbmNlc3Rvckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiRm9udFZhcmlh
bnRCdWlsZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTEyOSw5ICsxMjgsNiBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVZlcnRpY2FsQWxpZ24oU3R5bGVSZXNvbHZl
ciYsIENTU1ZhbHVlJik7CiAgICAgc3RhdGljIHZvaWQgYXBwbHlJbml0aWFsVGV4dEFsaWduKFN0
eWxlUmVzb2x2ZXImKTsKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlVGV4dEFsaWduKFN0eWxl
UmVzb2x2ZXImLCBDU1NWYWx1ZSYpOwotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAg
ICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlV2Via2l0RGFzaGJvYXJkUmVnaW9uKFN0eWxlUmVzb2x2
ZXImLCBDU1NWYWx1ZSYpOwotI2VuZGlmCiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVdlYmtp
dExvY2FsZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgdm9pZCBhcHBs
eVZhbHVlV2Via2l0VGV4dE9yaWVudGF0aW9uKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOwog
I2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCkBAIC0zMjgsNTQgKzMyNCw2IEBAIGlubGluZSB2
b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWwKICAgICAgICAgc3R5bGVSZXNvbHZlci5z
dHlsZSgpLT5zZXRWZXJ0aWNhbEFsaWduTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLmNvbnZlcnRUb0xl
bmd0aDxGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgUGVyY2VudENvbnZlcnNpb24gfCBDYWxjdWxh
dGVkQ29udmVyc2lvbj4oc3R5bGVSZXNvbHZlci5zdGF0ZSgpLmNzc1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEoKSkpOwogfQogCi0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotCi1zdGF0aWMg
TGVuZ3RoIGNvbnZlcnRUb0ludExlbmd0aChjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0
aXZlVmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZlcnNpb25EYXRh
KQotewotICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZSA/IHByaW1pdGl2ZVZhbHVlLT5jb252ZXJ0
VG9MZW5ndGg8Rml4ZWRJbnRlZ2VyQ29udmVyc2lvbiB8IFBlcmNlbnRDb252ZXJzaW9uIHwgQ2Fs
Y3VsYXRlZENvbnZlcnNpb24+KGNvbnZlcnNpb25EYXRhKSA6IExlbmd0aChVbmRlZmluZWQpOwot
fQotCi1pbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXREYXNo
Ym9hcmRSZWdpb24oU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVl
KQotewotICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWU+KHZhbHVlKTsKLSAgICBpZiAocHJpbWl0aXZlVmFsdWUudmFsdWVJRCgpID09IENTU1ZhbHVl
Tm9uZSkgewotICAgICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldERhc2hib2FyZFJlZ2lv
bnMoUmVuZGVyU3R5bGU6Om5vbmVEYXNoYm9hcmRSZWdpb25zKCkpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgYXV0byogcmVnaW9uID0gcHJpbWl0aXZlVmFsdWUuZGFzaGJvYXJkUmVn
aW9uVmFsdWUoKTsKLSAgICBpZiAoIXJlZ2lvbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0
byogZmlyc3QgPSByZWdpb247Ci0gICAgd2hpbGUgKHJlZ2lvbikgewotICAgICAgICBMZW5ndGgg
dG9wID0gY29udmVydFRvSW50TGVuZ3RoKHJlZ2lvbi0+dG9wKCksIHN0eWxlUmVzb2x2ZXIuc3Rh
dGUoKS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oMS4w
ZikpOwotICAgICAgICBMZW5ndGggcmlnaHQgPSBjb252ZXJ0VG9JbnRMZW5ndGgocmVnaW9uLT5y
aWdodCgpLCBzdHlsZVJlc29sdmVyLnN0YXRlKCkuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgp
LmNvcHlXaXRoQWRqdXN0ZWRab29tKDEuMGYpKTsKLSAgICAgICAgTGVuZ3RoIGJvdHRvbSA9IGNv
bnZlcnRUb0ludExlbmd0aChyZWdpb24tPmJvdHRvbSgpLCBzdHlsZVJlc29sdmVyLnN0YXRlKCku
Y3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpLmNvcHlXaXRoQWRqdXN0ZWRab29tKDEuMGYpKTsK
LSAgICAgICAgTGVuZ3RoIGxlZnQgPSBjb252ZXJ0VG9JbnRMZW5ndGgocmVnaW9uLT5sZWZ0KCks
IHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkuY29weVdp
dGhBZGp1c3RlZFpvb20oMS4wZikpOwotCi0gICAgICAgIGlmICh0b3AuaXNVbmRlZmluZWQoKSkK
LSAgICAgICAgICAgIHRvcCA9IExlbmd0aCgpOwotICAgICAgICBpZiAocmlnaHQuaXNVbmRlZmlu
ZWQoKSkKLSAgICAgICAgICAgIHJpZ2h0ID0gTGVuZ3RoKCk7Ci0gICAgICAgIGlmIChib3R0b20u
aXNVbmRlZmluZWQoKSkKLSAgICAgICAgICAgIGJvdHRvbSA9IExlbmd0aCgpOwotICAgICAgICBp
ZiAobGVmdC5pc1VuZGVmaW5lZCgpKQotICAgICAgICAgICAgbGVmdCA9IExlbmd0aCgpOwotCi0g
ICAgICAgIGlmIChyZWdpb24tPm1faXNDaXJjbGUpCi0gICAgICAgICAgICBzdHlsZVJlc29sdmVy
LnN0eWxlKCktPnNldERhc2hib2FyZFJlZ2lvbihTdHlsZURhc2hib2FyZFJlZ2lvbjo6Q2lyY2xl
LCByZWdpb24tPm1fbGFiZWwsIFdURk1vdmUodG9wKSwgV1RGTW92ZShyaWdodCksIFdURk1vdmUo
Ym90dG9tKSwgV1RGTW92ZShsZWZ0KSwgcmVnaW9uICE9IGZpcnN0KTsKLSAgICAgICAgZWxzZSBp
ZiAocmVnaW9uLT5tX2lzUmVjdGFuZ2xlKQotICAgICAgICAgICAgc3R5bGVSZXNvbHZlci5zdHls
ZSgpLT5zZXREYXNoYm9hcmRSZWdpb24oU3R5bGVEYXNoYm9hcmRSZWdpb246OlJlY3RhbmdsZSwg
cmVnaW9uLT5tX2xhYmVsLCBXVEZNb3ZlKHRvcCksIFdURk1vdmUocmlnaHQpLCBXVEZNb3ZlKGJv
dHRvbSksIFdURk1vdmUobGVmdCksIHJlZ2lvbiAhPSBmaXJzdCk7Ci0KLSAgICAgICAgcmVnaW9u
ID0gcmVnaW9uLT5tX25leHQuZ2V0KCk7Ci0gICAgfQotCi0gICAgc3R5bGVSZXNvbHZlci5kb2N1
bWVudCgpLnNldEhhc0Fubm90YXRlZFJlZ2lvbnModHJ1ZSk7Ci19Ci0KLSNlbmRpZiAvLyBFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCi0KICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04p
CiAKIGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0SW1hZ2VSZXNv
bHV0aW9uKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywxMyArMTEzLDYgQEAK
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
SGFzaC5oPgogCi0KLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0jZW5kaWYKLQotI2lm
IEVOQUJMRShWSURFT19UUkFDSykKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTYzLDkgKzYzLDYgQEAKICNpbmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgogI2luY2x1
ZGUgIkNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIKICNpbmNsdWRlICJDb3VudGVyLmgiCi0j
aWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotI2luY2x1ZGUgIkRhc2hib2FyZFJlZ2lvbi5o
IgotI2VuZGlmCiAjaW5jbHVkZSAiRm9udEZhY2UuaCIKICNpbmNsdWRlICJIYXNoVG9vbHMuaCIK
IC8vIEZJWE1FLU5FV1BBUlNFUjogUmVwbGFjZSBQYWlyIGFuZCBSZWN0IHdpdGggYWN0dWFsIENT
U1ZhbHVlIHN1YmNsYXNzZXMgKENTU1ZhbHVlUGFpciBhbmQgQ1NTUXVhZFZhbHVlKS4KQEAgLTM3
ODksMTAzICszNzg2LDYgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbG9yU2No
ZQogCiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLQotc3RhdGljIFJl
ZlB0cjxDU1NWYWx1ZT4gY29uc3VtZVdlYmtpdERhc2hib2FyZFJlZ2lvbihDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgQ1NTUGFyc2VyTW9kZSBtb2RlKQotewotICAgIGlmIChyYW5nZS5hdEVu
ZCgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAKLSAgICBpZiAocmFuZ2UucGVlaygp
LmlkKCkgPT0gQ1NTVmFsdWVOb25lKQotICAgICAgICByZXR1cm4gY29uc3VtZUlkZW50KHJhbmdl
KTsKLSAgICAKLSAgICBhdXRvIGZpcnN0UmVnaW9uID0gRGFzaGJvYXJkUmVnaW9uOjpjcmVhdGUo
KTsKLSAgICBEYXNoYm9hcmRSZWdpb24qIHJlZ2lvbiA9IG51bGxwdHI7Ci0gICAgCi0gICAgYm9v
bCByZXF1aXJlQ29tbWFzID0gZmFsc2U7Ci0gICAgCi0gICAgd2hpbGUgKCFyYW5nZS5hdEVuZCgp
KSB7Ci0gICAgICAgIGlmICghcmVnaW9uKQotICAgICAgICAgICAgcmVnaW9uID0gZmlyc3RSZWdp
b24ucHRyKCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgYXV0byBuZXh0UmVnaW9uID0g
RGFzaGJvYXJkUmVnaW9uOjpjcmVhdGUoKTsKLSAgICAgICAgICAgIHJlZ2lvbi0+bV9uZXh0ID0g
bmV4dFJlZ2lvbi5jb3B5UmVmKCk7Ci0gICAgICAgICAgICByZWdpb24gPSBuZXh0UmVnaW9uLnB0
cigpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAocmFuZ2UucGVlaygpLmZ1bmN0
aW9uSWQoKSAhPSBDU1NWYWx1ZURhc2hib2FyZFJlZ2lvbikKLSAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgICAgICAKLSAgICAgICAgQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZUNvcHkg
PSByYW5nZTsKLSAgICAgICAgQ1NTUGFyc2VyVG9rZW5SYW5nZSBhcmdzID0gY29uc3VtZUZ1bmN0
aW9uKHJhbmdlQ29weSk7Ci0gICAgICAgIGlmIChyYW5nZUNvcHkuZW5kKCkgPT0gYXJncy5lbmQo
KSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOyAvLyBObyApIHdhcyBmb3VuZC4gQmUgc3Ry
aWN0IGFib3V0IHRoaXMsIHNpbmNlIHRlc3RzIGFyZS4KLQotICAgICAgICAvLyBGaXJzdCBhcmcg
aXMgYSBsYWJlbC4KLSAgICAgICAgaWYgKGFyZ3MucGVlaygpLnR5cGUoKSAhPSBJZGVudFRva2Vu
KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJlZ2lvbi0+bV9sYWJlbCA9
IGFyZ3MuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS52YWx1ZSgpLnRvU3RyaW5nKCk7Ci0g
ICAgICAgIAotICAgICAgICAvLyBDb21tYSBpcyBvcHRpb25hbCwgc28gZG9uJ3QgZmFpbCBpZiB3
ZSBjYW4ndCBjb25zdW1lIG9uZS4KLSAgICAgICAgcmVxdWlyZUNvbW1hcyA9IGNvbnN1bWVDb21t
YUluY2x1ZGluZ1doaXRlc3BhY2UoYXJncyk7Ci0KLSAgICAgICAgLy8gU2Vjb25kIGFyZyBpcyBh
IHR5cGUuCi0gICAgICAgIGlmIChhcmdzLnBlZWsoKS50eXBlKCkgIT0gSWRlbnRUb2tlbikKLSAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICByZWdpb24tPm1fZ2VvbWV0cnlUeXBl
ID0gYXJncy5jb25zdW1lSW5jbHVkaW5nV2hpdGVzcGFjZSgpLnZhbHVlKCkudG9TdHJpbmcoKTsK
LSAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlZ2lvbi0+bV9nZW9t
ZXRyeVR5cGUsICJjaXJjbGUiKSkKLSAgICAgICAgICAgIHJlZ2lvbi0+bV9pc0NpcmNsZSA9IHRy
dWU7Ci0gICAgICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlZ2lv
bi0+bV9nZW9tZXRyeVR5cGUsICJyZWN0YW5nbGUiKSkKLSAgICAgICAgICAgIHJlZ2lvbi0+bV9p
c1JlY3RhbmdsZSA9IHRydWU7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwotICAgICAgICAKLSAgICAgICAgaWYgKGFyZ3MuYXRFbmQoKSkgewotICAgICAgICAgICAg
Ly8gVGhpcyBvcmlnaW5hbGx5IHVzZWQgQ1NTVmFsdWVJbnZhbGlkIGJ5IGFjY2lkZW50LiBJdCBt
aWdodCBiZSBtb3JlIGxvZ2ljYWwgdG8gdXNlIHNvbWV0aGluZyBlbHNlLgotICAgICAgICAgICAg
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBhbW91bnQgPSBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRv
bigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUludmFsaWQpOwotICAgICAgICAgICAg
cmVnaW9uLT5zZXRUb3AoYW1vdW50LmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICByZWdpb24tPnNl
dFJpZ2h0KGFtb3VudC5jb3B5UmVmKCkpOwotICAgICAgICAgICAgcmVnaW9uLT5zZXRCb3R0b20o
YW1vdW50LmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICByZWdpb24tPnNldExlZnQoV1RGTW92ZShh
bW91bnQpKTsKLSAgICAgICAgICAgIHJhbmdlID0gcmFuZ2VDb3B5OwotICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIC8vIE5leHQgZm91ciBhcmd1bWVu
dHMgbXVzdCBiZSBvZmZzZXQgbnVtYmVycyBvciBhdXRvLgotICAgICAgICBmb3IgKGludCBpID0g
MDsgaSA8IDQ7ICsraSkgewotICAgICAgICAgICAgaWYgKGFyZ3MuYXRFbmQoKSB8fCAocmVxdWly
ZUNvbW1hcyAmJiAhY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFjZShhcmdzKSkpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICAgICAgICAgIGlmIChhcmdzLmF0RW5k
KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gYW1vdW50OwotICAgICAgICAgICAgaWYg
KGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVBdXRvKQotICAgICAgICAgICAgICAgIGFtb3Vu
dCA9IGNvbnN1bWVJZGVudChhcmdzKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICBhbW91bnQgPSBjb25zdW1lTGVuZ3RoKGFyZ3MsIG1vZGUsIFZhbHVlUmFuZ2VBbGwpOwotICAg
ICAgICAKLSAgICAgICAgICAgIGlmICghaSkKLSAgICAgICAgICAgICAgICByZWdpb24tPnNldFRv
cChXVEZNb3ZlKGFtb3VudCkpOwotICAgICAgICAgICAgZWxzZSBpZiAoaSA9PSAxKQotICAgICAg
ICAgICAgICAgIHJlZ2lvbi0+c2V0UmlnaHQoV1RGTW92ZShhbW91bnQpKTsKLSAgICAgICAgICAg
IGVsc2UgaWYgKGkgPT0gMikKLSAgICAgICAgICAgICAgICByZWdpb24tPnNldEJvdHRvbShXVEZN
b3ZlKGFtb3VudCkpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJlZ2lvbi0+
c2V0TGVmdChXVEZNb3ZlKGFtb3VudCkpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBp
ZiAoIWFyZ3MuYXRFbmQoKSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICAK
LSAgICAgICAgcmFuZ2UgPSByYW5nZUNvcHk7Ci0gICAgfQotICAgIAotICAgIHJldHVybiBDU1NW
YWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZVZhbHVlKFJlZlB0cjxEYXNoYm9hcmRSZWdpb24+
KFdURk1vdmUoZmlyc3RSZWdpb24pKSk7Ci19Ci0gICAgCi0jZW5kaWYKLQogUmVmUHRyPENTU1Zh
bHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5LCBDU1NQcm9wZXJ0eUlEIGN1cnJlbnRTaG9ydGhhbmQpCiB7CiAgICAgaWYgKENTU1Bh
cnNlckZhc3RQYXRoczo6aXNLZXl3b3JkUHJvcGVydHlJRChwcm9wZXJ0eSkpIHsKQEAgLTQzNDIs
MTAgKzQyNDIsNiBAQCBSZWZQdHI8Q1NTVmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzCiAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgcmV0dXJuIGNvbnN1bWVDb2xvclNj
aGVtZShtX3JhbmdlKTsKICNlbmRpZgotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0RGFzaGJvYXJkUmVnaW9uOgotICAgICAgICByZXR1cm4g
Y29uc3VtZVdlYmtpdERhc2hib2FyZFJlZ2lvbihtX3JhbmdlLCBtX2NvbnRleHQubW9kZSk7Ci0j
ZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4Niwx
MiArNDg2LDYgQEAgUmVmPERhdGFUcmFuc2Zlcj4gRGF0YVRyYW5zZmVyOjpjcmVhdGVGbwogUmVm
PERhdGFUcmFuc2Zlcj4gRGF0YVRyYW5zZmVyOjpjcmVhdGVGb3JVcGRhdGluZ0Ryb3BUYXJnZXQo
RG9jdW1lbnQmIGRvY3VtZW50LCBzdGQ6OnVuaXF1ZV9wdHI8UGFzdGVib2FyZD4mJiBwYXN0ZWJv
YXJkLCBEcmFnT3BlcmF0aW9uIHNvdXJjZU9wZXJhdGlvbiwgYm9vbCBkcmFnZ2luZ0ZpbGVzKQog
ewogICAgIGF1dG8gbW9kZSA9IERhdGFUcmFuc2Zlcjo6U3RvcmVNb2RlOjpQcm90ZWN0ZWQ7Ci0j
aWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygp
LnVzZXNEYXNoYm9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkgJiYgZG9jdW1lbnQuc2Vj
dXJpdHlPcmlnaW4oKS5pc0xvY2FsKCkpCi0gICAgICAgIG1vZGUgPSBEYXRhVHJhbnNmZXI6OlN0
b3JlTW9kZTo6UmVhZG9ubHk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0j
ZW5kaWYKICAgICBhdXRvIGRhdGFUcmFuc2ZlciA9IGFkb3B0UmVmKCpuZXcgRGF0YVRyYW5zZmVy
KG1vZGUsIFdURk1vdmUocGFzdGVib2FyZCksIGRyYWdnaW5nRmlsZXMgPyBUeXBlOjpEcmFnQW5k
RHJvcEZpbGVzIDogVHlwZTo6RHJhZ0FuZERyb3BEYXRhKSk7CiAgICAgZGF0YVRyYW5zZmVyLT5z
ZXRTb3VyY2VPcGVyYXRpb24oc291cmNlT3BlcmF0aW9uKTsKICAgICBkYXRhVHJhbnNmZXItPm1f
b3JpZ2luSWRlbnRpZmllciA9IGRvY3VtZW50Lm9yaWdpbklkZW50aWZpZXJGb3JQYXN0ZWJvYXJk
KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwNTEsNDgg
KzQwNTEsOCBAQCB2b2lkIERvY3VtZW50OjplbGVtZW50SW5BY3RpdmVDaGFpbkRpZERlCiAgICAg
ICAgIG1fYWN0aXZlRWxlbWVudCA9IG1fYWN0aXZlRWxlbWVudC0+cGFyZW50RWxlbWVudCgpOwog
fQogCi0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotY29uc3QgVmVjdG9yPEFubm90YXRl
ZFJlZ2lvblZhbHVlPiYgRG9jdW1lbnQ6OmFubm90YXRlZFJlZ2lvbnMoKSBjb25zdAordm9pZCBE
b2N1bWVudDo6aW52YWxpZGF0ZVJlbmRlcmluZ0RlcGVuZGVudFJlZ2lvbnMoKQogewotICAgIHJl
dHVybiBtX2Fubm90YXRlZFJlZ2lvbnM7Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6OnNldEFubm90YXRl
ZFJlZ2lvbnMoY29uc3QgVmVjdG9yPEFubm90YXRlZFJlZ2lvblZhbHVlPiYgcmVnaW9ucykKLXsK
LSAgICBtX2Fubm90YXRlZFJlZ2lvbnMgPSByZWdpb25zOwotICAgIHNldEFubm90YXRlZFJlZ2lv
bnNEaXJ0eShmYWxzZSk7Ci19Ci0KLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUFubm90YXRlZFJlZ2lv
bnMoKQotewotICAgIGlmICghaGFzQW5ub3RhdGVkUmVnaW9ucygpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBWZWN0b3I8QW5ub3RhdGVkUmVnaW9uVmFsdWU+IG5ld1JlZ2lvbnM7Ci0gICAgcmVu
ZGVyQm94KCktPmNvbGxlY3RBbm5vdGF0ZWRSZWdpb25zKG5ld1JlZ2lvbnMpOyAvLyBGSVhNRS4K
LSAgICBpZiAobmV3UmVnaW9ucyA9PSBhbm5vdGF0ZWRSZWdpb25zKCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIHNldEFubm90YXRlZFJlZ2lvbnMobmV3UmVnaW9ucyk7Ci0gICAgCi0gICAgaWYg
KFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCkpCi0gICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVu
dCgpLmFubm90YXRlZFJlZ2lvbnNDaGFuZ2VkKCk7Ci19Ci0jZW5kaWYKLQotdm9pZCBEb2N1bWVu
dDo6aW52YWxpZGF0ZVJlbmRlcmluZ0RlcGVuZGVudFJlZ2lvbnMoQW5ub3RhdGlvbnNBY3Rpb24g
YW5ub3RhdGlvbnNBY3Rpb24pCi17Ci0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAg
IC8vIEZJWE1FOiB3ZSBkb24ndCBoYXZlIGEgZ29vZCBpbnZhbGlkYXRpb24vdXBkYXRlIHBvbGlj
eSBmb3IgRGFzaGJvYXJkIHJlZ2lvbnMuIFRoZXkgZ2V0IGVhZ2VybHkgdXBkYXRlZAotICAgIC8v
IG9uIGZvcmNlZCBsYXlvdXRzLCBhbmQgZG9uJ3QgbmVlZCB0byBiZS4KLSAgICBpZiAoYW5ub3Rh
dGlvbnNBY3Rpb24gPT0gQW5ub3RhdGlvbnNBY3Rpb246OlVwZGF0ZSkKLSAgICAgICAgdXBkYXRl
QW5ub3RhdGVkUmVnaW9ucygpOwotICAgIGVsc2UKLSAgICAgICAgc2V0QW5ub3RhdGVkUmVnaW9u
c0RpcnR5KCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShhbm5vdGF0aW9uc0FjdGlvbik7Ci0j
ZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CiAgICAgc2V0VG91Y2hFdmVudFJlZ2lvbnNOZWVkVXBkYXRlKCk7CiAjZW5kaWYKQEAgLTQxMDcs
MjIgKzQwNjcsNiBAQCB2b2lkIERvY3VtZW50OjppbnZhbGlkYXRlUmVuZGVyaW5nRGVwZW5kCiAj
ZW5kaWYKIH0KIAotdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZVNjcm9sbGJhckRlcGVuZGVudFJl
Z2lvbnMoKQotewotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICBpZiAoaGFzQW5u
b3RhdGVkUmVnaW9ucygpKQotICAgICAgICBzZXRBbm5vdGF0ZWRSZWdpb25zRGlydHkoKTsKLSNl
bmRpZgotfQotCi12b2lkIERvY3VtZW50Ojp1cGRhdGVaT3JkZXJEZXBlbmRlbnRSZWdpb25zKCkK
LXsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgaWYgKGFubm90YXRlZFJlZ2lv
bnNEaXJ0eSgpKQotICAgICAgICB1cGRhdGVBbm5vdGF0ZWRSZWdpb25zKCk7Ci0jZW5kaWYKLX0K
LQogYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNlZEVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgRm9j
dXNEaXJlY3Rpb24gZGlyZWN0aW9uLCBGb2N1c1JlbW92YWxFdmVudHNNb2RlIGV2ZW50c01vZGUp
CiB7CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG5ld0ZvY3VzZWRFbGVtZW50ID0gZWxlbWVudDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjE4LDEwICsyMTgsNiBAQCB1c2lu
ZyBQbGF0Zm9ybURpc3BsYXlJRCA9IHVpbnQzMl90OwogY2xhc3MgVHJhbnNmb3JtU291cmNlOwog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi1zdHJ1Y3QgQW5ub3RhdGVk
UmVnaW9uVmFsdWU7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpIHx8IEVOQUJM
RShJT1NfVE9VQ0hfRVZFTlRTKQogY2xhc3MgVG91Y2g7CiBjbGFzcyBUb3VjaExpc3Q7CkBAIC0x
MTI5LDE1ICsxMTI1LDcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGRp
c3BsYXlTdHJpbmdNb2RpZmllZEJ5RW5jb2RpbmcoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAKLSNp
ZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgdm9pZCBzZXRIYXNBbm5vdGF0ZWRSZWdp
b25zKGJvb2wgZikgeyBtX2hhc0Fubm90YXRlZFJlZ2lvbnMgPSBmOyB9Ci0gICAgV0VCQ09SRV9F
WFBPUlQgY29uc3QgVmVjdG9yPEFubm90YXRlZFJlZ2lvblZhbHVlPiYgYW5ub3RhdGVkUmVnaW9u
cygpIGNvbnN0OwotI2VuZGlmCi0KLSAgICBlbnVtIGNsYXNzIEFubm90YXRpb25zQWN0aW9uIHsg
SW52YWxpZGF0ZSwgVXBkYXRlIH07Ci0gICAgdm9pZCBpbnZhbGlkYXRlUmVuZGVyaW5nRGVwZW5k
ZW50UmVnaW9ucyhBbm5vdGF0aW9uc0FjdGlvbiA9IEFubm90YXRpb25zQWN0aW9uOjpJbnZhbGlk
YXRlKTsKLSAgICB2b2lkIGludmFsaWRhdGVTY3JvbGxiYXJEZXBlbmRlbnRSZWdpb25zKCk7Ci0g
ICAgdm9pZCB1cGRhdGVaT3JkZXJEZXBlbmRlbnRSZWdpb25zKCk7CisgICAgdm9pZCBpbnZhbGlk
YXRlUmVuZGVyaW5nRGVwZW5kZW50UmVnaW9ucygpOwogCiAgICAgdm9pZCByZW1vdmVBbGxFdmVu
dExpc3RlbmVycygpIGZpbmFsOwogCkBAIC0xNjEzLDE0ICsxNjAxLDYgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgd2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCgpOwogCi0jaWYgRU5BQkxFKERBU0hC
T0FSRF9TVVBQT1JUKQotICAgIHZvaWQgc2V0QW5ub3RhdGVkUmVnaW9uc0RpcnR5KGJvb2wgZiA9
IHRydWUpIHsgbV9hbm5vdGF0ZWRSZWdpb25zRGlydHkgPSBmOyB9Ci0gICAgYm9vbCBhbm5vdGF0
ZWRSZWdpb25zRGlydHkoKSBjb25zdCB7IHJldHVybiBtX2Fubm90YXRlZFJlZ2lvbnNEaXJ0eTsg
fQotICAgIGJvb2wgaGFzQW5ub3RhdGVkUmVnaW9ucyAoKSBjb25zdCB7IHJldHVybiBtX2hhc0Fu
bm90YXRlZFJlZ2lvbnM7IH0KLSAgICB2b2lkIHNldEFubm90YXRlZFJlZ2lvbnMoY29uc3QgVmVj
dG9yPEFubm90YXRlZFJlZ2lvblZhbHVlPiYpOwotICAgIHZvaWQgdXBkYXRlQW5ub3RhdGVkUmVn
aW9ucygpOwotI2VuZGlmCi0KICAgICBIdHRwRXF1aXZQb2xpY3kgaHR0cEVxdWl2UG9saWN5KCkg
Y29uc3Q7CiAgICAgQVhPYmplY3RDYWNoZSogZXhpc3RpbmdBWE9iamVjdENhY2hlU2xvdygpIGNv
bnN0OwogCkBAIC0xNzcwLDEyICsxNzUwLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dz
Q29sb3JTY2hlbWVUcmFuc2Zvcm1hdGlvbnMgeyB0cnVlIH07CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICBWZWN0b3I8QW5ub3RhdGVkUmVnaW9uVmFsdWU+IG1f
YW5ub3RhdGVkUmVnaW9uczsKLSAgICBib29sIG1faGFzQW5ub3RhdGVkUmVnaW9ucyB7IGZhbHNl
IH07Ci0gICAgYm9vbCBtX2Fubm90YXRlZFJlZ2lvbnNEaXJ0eSB7IGZhbHNlIH07Ci0jZW5kaWYK
LQogICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8SFRNTENhbnZhc0VsZW1lbnQ+PiBtX2Nzc0Nh
bnZhc0VsZW1lbnRzOwogCiAgICAgSGFzaFNldDxFbGVtZW50Kj4gbV9kb2N1bWVudFN1c3BlbnNp
b25DYWxsYmFja0VsZW1lbnRzOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5jcHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjksMTEgKzMyOSw2IEBAIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCogSFRNTENhbnZhc0VsZW0KICAgICBBU1NFUlRfVU5VU0VE
KEhUTUxDYW52YXNFbGVtZW50OjppczJkVHlwZSh0eXBlKSwgdHlwZSk7CiAgICAgQVNTRVJUKCFt
X2NvbnRleHQpOwogCi0gICAgYm9vbCB1c2VzRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUgPSBm
YWxzZTsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgdXNlc0Rhc2hib2FyZENv
bXBhdGliaWxpdHlNb2RlID0gZG9jdW1lbnQoKS5zZXR0aW5ncygpLnVzZXNEYXNoYm9hcmRCYWNr
d2FyZENvbXBhdGliaWxpdHlNb2RlKCk7Ci0jZW5kaWYKLQogICAgIC8vIE1ha2Ugc3VyZSB3ZSBk
b24ndCB1c2UgbW9yZSBwaXhlbCBtZW1vcnkgdGhhbiB0aGUgc3lzdGVtIGNhbiBzdXBwb3J0Lgog
ICAgIHNpemVfdCByZXF1ZXN0ZWRQaXhlbE1lbW9yeSA9IDQgKiB3aWR0aCgpICogaGVpZ2h0KCk7
CiAgICAgaWYgKGFjdGl2ZVBpeGVsTWVtb3J5ICsgcmVxdWVzdGVkUGl4ZWxNZW1vcnkgPiBtYXhB
Y3RpdmVQaXhlbE1lbW9yeSgpKSB7CkBAIC0zNDUsNyArMzQwLDcgQEAgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEKiBIVE1MQ2FudmFzRWxlbQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9
CiAKLSAgICBtX2NvbnRleHQgPSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNyZWF0ZSgqdGhp
cywgZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKSwgdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlN
b2RlKTsKKyAgICBtX2NvbnRleHQgPSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNyZWF0ZSgq
dGhpcywgZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKSk7CiAKICAgICBkb3duY2FzdDxDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ+KCptX2NvbnRleHQpLnNldFVzZXNEaXNwbGF5TGlzdERyYXdpbmco
bV91c2VzRGlzcGxheUxpc3REcmF3aW5nKTsKICAgICBkb3duY2FzdDxDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ+KCptX2NvbnRleHQpLnNldFRyYWNrc0Rpc3BsYXlMaXN0UmVwbGF5KG1fdHJhY2tz
RGlzcGxheUxpc3RSZXBsYXkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bWJlZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTQsMTIgKzIxNCw2IEBAIGJvb2wg
SFRNTEVtYmVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCgKICAgICAgICAgfQogICAgIH0KIAot
I2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICAvLyBXb3JrYXJvdW5kIGZvciA8cmRh
cjovL3Byb2JsZW0vNjY0MjIyMT4uCi0gICAgaWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS51c2Vz
RGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSgpKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSNlbmRpZgotCiAgICAgcmV0dXJuIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlbmRlcmVy
SXNOZWVkZWQoc3R5bGUpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VM
b2FkZXIuY3BwCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDExICs2Myw2IEBAIHZvaWQgSFRN
TEltYWdlTG9hZGVyOjpkaXNwYXRjaExvYWRFdmVudCgKIAogU3RyaW5nIEhUTUxJbWFnZUxvYWRl
cjo6c291cmNlVVJJKGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cikgY29uc3QKIHsKLSNpZiBFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgaWYgKGVsZW1lbnQoKS5kb2N1bWVudCgpLnNldHRp
bmdzKCkudXNlc0Rhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKSAmJiBhdHRyLmxl
bmd0aCgpID4gNyAmJiBhdHRyLnN0YXJ0c1dpdGgoInVybChcIiIpICYmIGF0dHIuZW5kc1dpdGgo
IlwiKSIpKQotICAgICAgICByZXR1cm4gYXR0ci5zdHJpbmcoKS5zdWJzdHJpbmcoNSwgYXR0ci5s
ZW5ndGgoKSAtIDcpOwotI2VuZGlmCi0KICAgICByZXR1cm4gc3RyaXBMZWFkaW5nQW5kVHJhaWxp
bmdIVE1MU3BhY2VzKGF0dHIpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNHcmFkaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzR3JhZGllbnQuY3BwCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDEwICs1MCw2IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IENhbnZhc0dyYWRpZW50OjphZGRDb2wKICAg
ICAvLyBhcyByZXF1aXJlZCBieSB0aGUgc3RhbmRhcmQuCiAgICAgQ29sb3IgY29sb3IgPSBwYXJz
ZUNvbG9yT3JDdXJyZW50Q29sb3IoY29sb3JTdHJpbmcsIG51bGxwdHIgLypjYW52YXMqLyk7CiAg
ICAgaWYgKCFjb2xvci5pc1ZhbGlkKCkpIHsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQp
Ci0gICAgICAgIGlmIChtX2Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKQotICAgICAgICAgICAg
cmV0dXJuIHsgfTsKLSNlbmRpZgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJy
b3IgfTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dy
YWRpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
R3JhZGllbnQuaAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzR3JhZGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTggKzQ3LDExIEBAIHB1
YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGFkZENvbG9yU3RvcChmbG9hdCB2YWx1ZSwg
Y29uc3QgU3RyaW5nJiBjb2xvcik7CiAKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0g
ICAgdm9pZCBzZXREYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSgpIHsgbV9kYXNoYm9hcmRDb21w
YXRpYmlsaXR5TW9kZSA9IHRydWU7IH0KLSNlbmRpZgotCiBwcml2YXRlOgogICAgIENhbnZhc0dy
YWRpZW50KGNvbnN0IEZsb2F0UG9pbnQmIHAwLCBjb25zdCBGbG9hdFBvaW50JiBwMSk7CiAgICAg
Q2FudmFzR3JhZGllbnQoY29uc3QgRmxvYXRQb2ludCYgcDAsIGZsb2F0IHIwLCBjb25zdCBGbG9h
dFBvaW50JiBwMSwgZmxvYXQgcjEpOwogCiAgICAgUmVmPEdyYWRpZW50PiBtX2dyYWRpZW50Owot
I2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICBib29sIG1fZGFzaGJvYXJkQ29tcGF0
aWJpbGl0eU1vZGUgeyBmYWxzZSB9OwotI2VuZGlmCiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDE3ICs1OCwxNyBA
QCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lN
UEwoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTsKIAotc3RkOjp1bmlxdWVfcHRyPENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRD4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjcmVhdGUoQ2FudmFz
QmFzZSYgY2FudmFzLCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlLCBib29sIHVz
ZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKK3N0ZDo6dW5pcXVlX3B0cjxDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlKENhbnZhc0Jh
c2UmIGNhbnZhcywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSkKIHsKLSAgICBh
dXRvIHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6OnVuaXF1ZV9wdHI8Q2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEPihuZXcgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKGNhbnZhcywgdXNlc0NTU0NvbXBh
dGliaWxpdHlQYXJzZU1vZGUsIHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkpOworICAg
IGF1dG8gcmVuZGVyaW5nQ29udGV4dCA9IHN0ZDo6dW5pcXVlX3B0cjxDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ+KG5ldyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQoY2FudmFzLCB1c2VzQ1NTQ29t
cGF0aWJpbGl0eVBhcnNlTW9kZSkpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRDcmVhdGVDYW52YXNSZW5kZXJpbmdDb250ZXh0KCpyZW5kZXJpbmdDb250ZXh0KTsKIAogICAg
IHJldHVybiByZW5kZXJpbmdDb250ZXh0OwogfQogCi1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRChDYW52YXNCYXNlJiBjYW52YXMsIGJvb2wgdXNlc0NT
U0NvbXBhdGliaWxpdHlQYXJzZU1vZGUsIGJvb2wgdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlN
b2RlKQotICAgIDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZShjYW52YXMsIHVzZXNDU1ND
b21wYXRpYmlsaXR5UGFyc2VNb2RlLCB1c2VzRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUpCitD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRChDYW52YXNC
YXNlJiBjYW52YXMsIGJvb2wgdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUpCisgICAgOiBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlKGNhbnZhcywgdXNlc0NTU0NvbXBhdGliaWxpdHlQ
YXJzZU1vZGUpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBUZXh0TWV0cmljczsKIGNsYXNzIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCBmaW5hbCA6IHB1YmxpYyBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRCk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ+IGNyZWF0ZShDYW52YXNCYXNlJiwgYm9vbCB1c2VzQ1NTQ29tcGF0aWJp
bGl0eVBhcnNlTW9kZSwgYm9vbCB1c2VzRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUpOworICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPiBjcmVhdGUo
Q2FudmFzQmFzZSYsIGJvb2wgdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUpOwogCiAgICAg
dmlydHVhbCB+Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKCk7CiAKQEAgLTcwLDcgKzcwLDcgQEAg
cHVibGljOgogICAgIGJvb2wgaXMyZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
IAogcHJpdmF0ZToKLSAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQoQ2FudmFzQmFzZSYsIGJv
b2wgdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUsIGJvb2wgdXNlc0Rhc2hib2FyZENvbXBh
dGliaWxpdHlNb2RlKTsKKyAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQoQ2FudmFzQmFzZSYs
IGJvb2wgdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUpOwogCiAgICAgLy8gVGhlIHJlbGF0
aW9uc2hpcCBiZXR3ZWVuIEZvbnRDYXNjYWRlIGFuZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6
OkZvbnRQcm94eSBtdXN0IGhvbGQgY2VydGFpbiBpbnZhcmlhbnRzLgogICAgIC8vIFRoZXJlZm9y
ZSwgYWxsIGZvbnQgb3BlcmF0aW9ucyBtdXN0IHBhc3MgdGhyb3VnaCB0aGUgU3RhdGUuCkBAIC04
MCw4ICs4MCw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRyYXdGb2N1c0lmTmVlZGVkSW50ZXJu
YWwoY29uc3QgUGF0aCYsIEVsZW1lbnQmKTsKIAotICAgIHZvaWQgcHJlcGFyZUdyYWRpZW50Rm9y
RGFzaGJvYXJkKENhbnZhc0dyYWRpZW50JiBncmFkaWVudCkgY29uc3Q7Ci0KICAgICBUZXh0RGly
ZWN0aW9uIHRvVGV4dERpcmVjdGlvbihDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpEaXJl
Y3Rpb24sIGNvbnN0IFJlbmRlclN0eWxlKiogY29tcHV0ZWRTdHlsZSA9IG51bGxwdHIpIGNvbnN0
OwogCiAgICAgRmxvYXRQb2ludCB0ZXh0T2Zmc2V0KGZsb2F0IHdpZHRoLCBUZXh0RGlyZWN0aW9u
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTM3LDE3ICsxMzcsMTEgQEAgcHJpdmF0ZToKICAgICBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlKiBtX2NhbnZhc0NvbnRleHQ7CiB9OwogCi1DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlKENhbnZhc0Jh
c2UmIGNhbnZhcywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSwgYm9vbCB1c2Vz
RGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUpCitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlKENhbnZhc0Jhc2UmIGNhbnZhcywgYm9vbCB1
c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSkKICAgICA6IENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQoY2FudmFzKQogICAgICwgbV9zdGF0ZVN0YWNrKDEpCiAgICAgLCBtX3VzZXNDU1NDb21wYXRp
YmlsaXR5UGFyc2VNb2RlKHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlKQotI2lmIEVOQUJM
RShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICAsIG1fdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlN
b2RlKHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKLSNlbmRpZgogewotI2lmICFFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgQVNTRVJUX1VOVVNFRCh1c2VzRGFzaGJvYXJkQ29t
cGF0aWJpbGl0eU1vZGUsICF1c2VzRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUpOwotI2VuZGlm
CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6dW53aW5kU3RhdGVTdGFj
aygpCkBAIC0xMDU3LDE5ICsxMDUxLDE2IEBAIHN0YXRpYyBXaW5kUnVsZSB0b1dpbmRSdWxlKENh
bnZhc0ZpbGxSdWwKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6ZmlsbChDYW52
YXNGaWxsUnVsZSB3aW5kaW5nUnVsZSkKIHsKICAgICBmaWxsSW50ZXJuYWwobV9wYXRoLCB3aW5k
aW5nUnVsZSk7Ci0gICAgY2xlYXJQYXRoRm9yRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5
TW9kZSgpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OnN0cm9rZSgp
CiB7CiAgICAgc3Ryb2tlSW50ZXJuYWwobV9wYXRoKTsKLSAgICBjbGVhclBhdGhGb3JEYXNoYm9h
cmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEQmFzZTo6Y2xpcChDYW52YXNGaWxsUnVsZSB3aW5kaW5nUnVsZSkKIHsKICAgICBj
bGlwSW50ZXJuYWwobV9wYXRoLCB3aW5kaW5nUnVsZSk7Ci0gICAgY2xlYXJQYXRoRm9yRGFzaGJv
YXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSgpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyREJhc2U6OmZpbGwoUGF0aDJEJiBwYXRoLCBDYW52YXNGaWxsUnVsZSB3aW5kaW5n
UnVsZSkKQEAgLTE4NzksMTYgKzE4NzAsNiBAQCB0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIENhbnZh
c1JlbmRlcmluZ0NvCiAgICAgY29tcG9zaXRlQnVmZmVyKCpidWZmZXIsIGJ1ZmZlclJlY3QsIG9w
KTsKIH0KIAotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwcmVwYXJlR3JhZGll
bnRGb3JEYXNoYm9hcmQoQ2FudmFzR3JhZGllbnQmIGdyYWRpZW50KSBjb25zdAotewotI2lmIEVO
QUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICBpZiAobV91c2VzRGFzaGJvYXJkQ29tcGF0aWJp
bGl0eU1vZGUpCi0gICAgICAgIGdyYWRpZW50LnNldERhc2hib2FyZENvbXBhdGliaWxpdHlNb2Rl
KCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShncmFkaWVudCk7Ci0jZW5kaWYKLX0KLQogc3Rh
dGljIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OlN0eWxlIHRvU3R5bGUoY29uc3QgQ2Fu
dmFzU3R5bGUmIHN0eWxlKQogewogICAgIGlmIChhdXRvIGdyYWRpZW50ID0gc3R5bGUuY2FudmFz
R3JhZGllbnQoKSkKQEAgLTE5MzEsOSArMTkxMiw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxDYW52YXNH
cmFkaWVudD4+IENhbnZhc1IKICAgICBpZiAoIXN0ZDo6aXNmaW5pdGUoeDApIHx8ICFzdGQ6Omlz
ZmluaXRlKHkwKSB8fCAhc3RkOjppc2Zpbml0ZSh4MSkgfHwgIXN0ZDo6aXNmaW5pdGUoeTEpKQog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfTsKIAotICAgIGF1
dG8gZ3JhZGllbnQgPSBDYW52YXNHcmFkaWVudDo6Y3JlYXRlKEZsb2F0UG9pbnQoeDAsIHkwKSwg
RmxvYXRQb2ludCh4MSwgeTEpKTsKLSAgICBwcmVwYXJlR3JhZGllbnRGb3JEYXNoYm9hcmQoZ3Jh
ZGllbnQuZ2V0KCkpOwotICAgIHJldHVybiBncmFkaWVudDsKKyAgICByZXR1cm4gQ2FudmFzR3Jh
ZGllbnQ6OmNyZWF0ZShGbG9hdFBvaW50KHgwLCB5MCksIEZsb2F0UG9pbnQoeDEsIHkxKSk7CiB9
CiAKIEV4Y2VwdGlvbk9yPFJlZjxDYW52YXNHcmFkaWVudD4+IENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OmNyZWF0ZVJhZGlhbEdyYWRpZW50KGZsb2F0IHgwLCBmbG9hdCB5MCwgZmxvYXQg
cjAsIGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgcjEpCkBAIC0xOTQ0LDkgKzE5MjMsNyBAQCBF
eGNlcHRpb25PcjxSZWY8Q2FudmFzR3JhZGllbnQ+PiBDYW52YXNSCiAgICAgaWYgKHIwIDwgMCB8
fCByMSA8IDApCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9Owog
Ci0gICAgYXV0byBncmFkaWVudCA9IENhbnZhc0dyYWRpZW50OjpjcmVhdGUoRmxvYXRQb2ludCh4
MCwgeTApLCByMCwgRmxvYXRQb2ludCh4MSwgeTEpLCByMSk7Ci0gICAgcHJlcGFyZUdyYWRpZW50
Rm9yRGFzaGJvYXJkKGdyYWRpZW50LmdldCgpKTsKLSAgICByZXR1cm4gZ3JhZGllbnQ7CisgICAg
cmV0dXJuIENhbnZhc0dyYWRpZW50OjpjcmVhdGUoRmxvYXRQb2ludCh4MCwgeTApLCByMCwgRmxv
YXRQb2ludCh4MSwgeTEpLCByMSk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZlB0cjxDYW52YXNQYXR0
ZXJuPj4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6Y3JlYXRlUGF0dGVybihDYW52YXNJ
bWFnZVNvdXJjZSYmIGltYWdlLCBjb25zdCBTdHJpbmcmIHJlcGV0aXRpb24pCkBAIC0yMzcwLDEy
ICsyMzQ3LDQgQEAgUmVmPFBhdGgyRD4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZQogICAg
IHJldHVybiBQYXRoMkQ6OmNyZWF0ZShtX3BhdGgpOwogfQogCi1pbmxpbmUgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpjbGVhclBhdGhGb3JEYXNoYm9hcmRCYWNrd2FyZENvbXBh
dGliaWxpdHlNb2RlKCkKLXsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgaWYg
KG1fdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKQotICAgICAgICBtX3BhdGguY2xlYXIo
KTsKLSNlbmRpZgotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZS5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgwLDcgKzgw
LDcgQEAgdXNpbmcgQ2FudmFzSW1hZ2VTb3VyY2UgPSBWYXJpYW50PFJlZlB0cgogY2xhc3MgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZSA6IHB1YmxpYyBDYW52YXNSZW5kZXJpbmdDb250ZXh0
LCBwdWJsaWMgQ2FudmFzUGF0aCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlKTsKIHB1YmxpYzoKLSAgICBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlKENhbnZhc0Jhc2UmLCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2Rl
LCBib29sIHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSk7CisgICAgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEQmFzZShDYW52YXNCYXNlJiwgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBh
cnNlTW9kZSk7CiAgICAgdmlydHVhbCB+Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZSgpOwog
CiAgICAgZmxvYXQgbGluZVdpZHRoKCkgY29uc3Q7CkBAIC0zNjYsOCArMzY2LDYgQEAgcHJvdGVj
dGVkOgogCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4gdm9pZCBmdWxsQ2FudmFzQ29tcG9zaXRlZERy
YXdJbWFnZShUJiwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgQ29tcG9zaXRl
T3BlcmF0b3IpOwogCi0gICAgdm9pZCBwcmVwYXJlR3JhZGllbnRGb3JEYXNoYm9hcmQoQ2FudmFz
R3JhZGllbnQmKSBjb25zdDsKLQogICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxJbWFnZURhdGE+PiBn
ZXRJbWFnZURhdGEoSW1hZ2VCdWZmZXI6OkNvb3JkaW5hdGVTeXN0ZW0sIGZsb2F0IHN4LCBmbG9h
dCBzeSwgZmxvYXQgc3csIGZsb2F0IHNoKSBjb25zdDsKICAgICB2b2lkIHB1dEltYWdlRGF0YShJ
bWFnZURhdGEmLCBJbWFnZUJ1ZmZlcjo6Q29vcmRpbmF0ZVN5c3RlbSwgZmxvYXQgZHgsIGZsb2F0
IGR5LCBmbG9hdCBkaXJ0eVgsIGZsb2F0IGRpcnR5WSwgZmxvYXQgZGlydHlXaWR0aCwgZmxvYXQg
ZGlydHlIZWlnaHQpOwogCkBAIC0zNzksMTUgKzM3NywxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgUGxh
dGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKLSAg
ICB2b2lkIGNsZWFyUGF0aEZvckRhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKTsK
LQogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBNYXhTYXZlQ291bnQgPSAxMDI0ICogMTY7CiAg
ICAgVmVjdG9yPFN0YXRlLCAxPiBtX3N0YXRlU3RhY2s7CiAgICAgdW5zaWduZWQgbV91bnJlYWxp
emVkU2F2ZUNvdW50IHsgMCB9OwogICAgIGJvb2wgbV91c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNl
TW9kZTsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgYm9vbCBtX3VzZXNEYXNo
Ym9hcmRDb21wYXRpYmlsaXR5TW9kZTsKLSNlbmRpZgogICAgIGJvb2wgbV91c2VzRGlzcGxheUxp
c3REcmF3aW5nIHsgZmFsc2UgfTsKICAgICBib29sIG1fdHJhY2tzRGlzcGxheUxpc3RSZXBsYXkg
eyBmYWxzZSB9OwogICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPHN0cnVjdCBEaXNwbGF5TGlz
dERyYXdpbmdDb250ZXh0PiBtX3JlY29yZGluZ0NvbnRleHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09mZnNjcmVlbkNhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL09mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNP
X0FMTE9DQVRFRF9JTVBMKE9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk7CiAKIE9m
ZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6T2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEKENhbnZhc0Jhc2UmIGNhbnZhcykKLSAgICA6IENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2UoY2FudmFzLCBmYWxzZSwgZmFsc2UpCisgICAgOiBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlKGNhbnZhcywgZmFsc2UpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1BhaW50UmVuZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9QYWludFJlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlz
aW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1BhaW50UmVuZGVyaW5n
Q29udGV4dDJELmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBzdGQ6OnVuaXF1
ZV9wdHI8UGFpbnRSZW5kZXJpbmdDb250ZXh0MkQ+CiB9CiAKIFBhaW50UmVuZGVyaW5nQ29udGV4
dDJEOjpQYWludFJlbmRlcmluZ0NvbnRleHQyRChDYW52YXNCYXNlJiBjYW52YXMpCi0gICAgOiBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlKGNhbnZhcywgZmFsc2UsIGZhbHNlKQorICAgIDog
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZShjYW52YXMsIGZhbHNlKQogewogfQogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWUuY3BwCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyNSwxMiArNTI1LDYgQEAgdm9p
ZCBDaHJvbWU6OndpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0ZgogI2VuZGlmCiB9CiAKLSNpZiBF
TkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi12b2lkIENocm9tZUNsaWVudDo6YW5ub3RhdGVkUmVn
aW9uc0NoYW5nZWQoKQotewotfQotI2VuZGlmCi0KIGJvb2wgQ2hyb21lQ2xpZW50OjpzaG91bGRS
ZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgU3RyaW5nJiwgU3RyaW5nJikK
IHsKICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNs
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJ
KHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIzNCwxMCArMjM0LDYgQEAgcHVibGljOgogICAgIC8vIHRoZSBu
ZXcgY2FjaGUuCiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2lu
UXVvdGEoU2VjdXJpdHlPcmlnaW4mLCBpbnQ2NF90IHRvdGFsU3BhY2VOZWVkZWQpID0gMDsKIAot
I2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICB2aXJ0dWFsIHZvaWQgYW5ub3RhdGVk
UmVnaW9uc0NoYW5nZWQoKTsKLSNlbmRpZgotCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlcGxh
Y2VXaXRoR2VuZXJhdGVkRmlsZUZvclVwbG9hZChjb25zdCBTdHJpbmcmIHBhdGgsIFN0cmluZyYg
Z2VuZXJhdGVkRmlsZW5hbWUpOwogICAgIHZpcnR1YWwgU3RyaW5nIGdlbmVyYXRlUmVwbGFjZW1l
bnRGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg5LDYgKzM4OSw3IEBAIEV2ZW50SGFu
ZGxlcjo6RXZlbnRIYW5kbGVyKEZyYW1lJiBmcmFtZSkKIAogRXZlbnRIYW5kbGVyOjp+RXZlbnRI
YW5kbGVyKCkKIHsKKyAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICNpZiAhRU5BQkxFKElPU19U
T1VDSF9FVkVOVFMpCiAgICAgQVNTRVJUKCFtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0
aXZlKCkpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lv
biAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyNzYsNyArMTI3Niw3IEBAIHZvaWQgRnJhbWVWaWV3OjpkaWRMYXlvdXQoV2Vh
a1B0cjxSZW5kZXIKICAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24obGF5b3V0Um9vdC5n
ZXQoKSwgQVhPYmplY3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSk7CiAjZW5kaWYKIAotICAgIGZy
YW1lKCkuZG9jdW1lbnQoKS0+aW52YWxpZGF0ZVJlbmRlcmluZ0RlcGVuZGVudFJlZ2lvbnMoRG9j
dW1lbnQ6OkFubm90YXRpb25zQWN0aW9uOjpVcGRhdGUpOworICAgIGZyYW1lKCkuZG9jdW1lbnQo
KS0+aW52YWxpZGF0ZVJlbmRlcmluZ0RlcGVuZGVudFJlZ2lvbnMoKTsKIAogICAgIHVwZGF0ZUNh
bkJsaXRPblNjcm9sbFJlY3Vyc2l2ZWx5KCk7CiAKQEAgLTQxMDcsOSArNDEwNyw2IEBAIHZvaWQg
RnJhbWVWaWV3OjpkaWRQYWludENvbnRlbnRzKEdyYXBoaWMKICAgICBtX3BhaW50QmVoYXZpb3Ig
PSBwYWludGluZ1N0YXRlLnBhaW50QmVoYXZpb3I7CiAgICAgbV9sYXN0UGFpbnRUaW1lID0gTW9u
b3RvbmljVGltZTo6bm93KCk7CiAKLSAgICAvLyBSZWdpb25zIG1heSBoYXZlIGNoYW5nZWQgYXMg
YSByZXN1bHQgb2YgdGhlIHZpc2liaWxpdHkvei1pbmRleCBvZiBlbGVtZW50IGNoYW5naW5nLgot
ICAgIGZyYW1lKCkuZG9jdW1lbnQoKS0+dXBkYXRlWk9yZGVyRGVwZW5kZW50UmVnaW9ucygpOwot
CiAgICAgaWYgKHBhaW50aW5nU3RhdGUuaXNUb3BMZXZlbFBhaW50ZXIpCiAgICAgICAgIHNDdXJy
ZW50UGFpbnRUaW1lU3RhbXAgPSBNb25vdG9uaWNUaW1lKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MueWFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLnlhbWwJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMTE1LDkgKzExNSw2IEBAIGphdmFTY3Jp
cHRDYW5BY2Nlc3NDbGlwYm9hcmQ6CiAgIGluaXRpYWw6IGZhbHNlCiBzaG91bGRQcmludEJhY2tn
cm91bmRzOgogICBpbml0aWFsOiBmYWxzZQotdXNlc0Rhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJp
bGl0eU1vZGU6Ci0gIGluaXRpYWw6IGZhbHNlCi0gIGNvbmRpdGlvbmFsOiBEQVNIQk9BUkRfU1VQ
UE9SVAogY2xpcGJvYXJkQWNjZXNzUG9saWN5OgogICB0eXBlOiBDbGlwYm9hcmRBY2Nlc3NQb2xp
Y3kKICAgaW5pdGlhbDogQ2xpcGJvYXJkQWNjZXNzUG9saWN5OjpSZXF1aXJlc1VzZXJHZXN0dXJl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCShyZXZp
c2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTc1MiwxNSArNzUyLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6
OnRhYnNUb0FsbEZvcm1Db250cm9scwogCiBib29sIEV2ZW50SGFuZGxlcjo6bmVlZHNLZXlib2Fy
ZEV2ZW50RGlzYW1iaWd1YXRpb25RdWlya3MoKSBjb25zdAogewotI2lmIEVOQUJMRShEQVNIQk9B
UkRfU1VQUE9SVCkKLSAgICBpZiAobV9mcmFtZS5zZXR0aW5ncygpLnVzZXNEYXNoYm9hcmRCYWNr
d2FyZENvbXBhdGliaWxpdHlNb2RlKCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotI2VuZGlmCi0g
ICAgICAgIAotICAgIGlmIChtX2ZyYW1lLnNldHRpbmdzKCkubmVlZHNLZXlib2FyZEV2ZW50RGlz
YW1iaWd1YXRpb25RdWlya3MoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIG1fZnJhbWUuc2V0dGluZ3MoKS5uZWVkc0tleWJvYXJkRXZlbnRE
aXNhbWJpZ3VhdGlvblF1aXJrcygpOwogfQogCiBPcHRpb25TZXQ8UGxhdGZvcm1FdmVudDo6TW9k
aWZpZXI+IEV2ZW50SGFuZGxlcjo6YWNjZXNzS2V5TW9kaWZpZXJzKCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCShyZXZpc2lvbiAyNDYxNzIp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNjcwLDYgKzY3MCw3IEBAIHZvaWQgUGFzdGVib2FyZDo6c2V0RHJhZ0ltYWdl
KERyYWdJbWFnZSAKICAgICBpZiAobV9jaGFuZ2VDb3VudCAhPSBwbGF0Zm9ybVN0cmF0ZWdpZXMo
KS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPmNoYW5nZUNvdW50KG1fcGFzdGVib2FyZE5hbWUpKQog
ICAgICAgICByZXR1cm47CiAKKyAgICAvLyBGSVhNRTogQ2FuIHdlIHJlbW92ZSB0aGlzIGNvZGUg
bm93PwogICAgIC8vIERhc2hib2FyZCB3YW50cyB0byBiZSBhYmxlIHRvIHNldCB0aGUgZHJhZyBp
bWFnZSBkdXJpbmcgZHJhZ2dpbmcsIGJ1dCBDb2NvYSBkb2VzIG5vdCBhbGxvdyB0aGlzLgogICAg
IC8vIEluc3RlYWQgd2UgbXVzdCBkcm9wIGRvd24gdG8gdGhlIENvcmVHcmFwaGljcyBBUEkuCiAg
ICAgc2V0RHJhZ0ltYWdlSW1wbChpbWFnZS5nZXQoKS5nZXQoKSwgbG9jYXRpb24pOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHJldmlzaW9uIDI0NjE3
MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MSwxMCArNTEsNiBAQAogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVz
Lmg+CiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAKLSNpZiBFTkFCTEUoREFTSEJPQVJE
X1NVUFBPUlQpCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJJbmxpbmUpOwpAQCAtMTM5
NCw0NyArMTM5MCw0IEBAIHZvaWQgUmVuZGVySW5saW5lOjpwYWludE91dGxpbmVGb3JMaW5lKEcK
ICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi12b2lkIFJlbmRlcklu
bGluZTo6YWRkQW5ub3RhdGVkUmVnaW9ucyhWZWN0b3I8QW5ub3RhdGVkUmVnaW9uVmFsdWU+JiBy
ZWdpb25zKQotewotICAgIC8vIENvbnZlcnQgdGhlIHN0eWxlIHJlZ2lvbnMgdG8gYWJzb2x1dGUg
Y29vcmRpbmF0ZXMuCi0gICAgaWYgKHN0eWxlKCkudmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6
OlZpc2libGUpCi0gICAgICAgIHJldHVybjsKLQotICAgIGNvbnN0IFZlY3RvcjxTdHlsZURhc2hi
b2FyZFJlZ2lvbj4mIHN0eWxlUmVnaW9ucyA9IHN0eWxlKCkuZGFzaGJvYXJkUmVnaW9ucygpOwot
ICAgIHVuc2lnbmVkIGksIGNvdW50ID0gc3R5bGVSZWdpb25zLnNpemUoKTsKLSAgICBmb3IgKGkg
PSAwOyBpIDwgY291bnQ7IGkrKykgewotICAgICAgICBTdHlsZURhc2hib2FyZFJlZ2lvbiBzdHls
ZVJlZ2lvbiA9IHN0eWxlUmVnaW9uc1tpXTsKLQotICAgICAgICBMYXlvdXRSZWN0IGxpbmVzQm91
bmRpbmdCb3ggPSB0aGlzLT5saW5lc0JvdW5kaW5nQm94KCk7Ci0gICAgICAgIExheW91dFVuaXQg
dyA9IGxpbmVzQm91bmRpbmdCb3gud2lkdGgoKTsKLSAgICAgICAgTGF5b3V0VW5pdCBoID0gbGlu
ZXNCb3VuZGluZ0JveC5oZWlnaHQoKTsKLQotICAgICAgICBBbm5vdGF0ZWRSZWdpb25WYWx1ZSBy
ZWdpb247Ci0gICAgICAgIHJlZ2lvbi5sYWJlbCA9IHN0eWxlUmVnaW9uLmxhYmVsOwotICAgICAg
ICByZWdpb24uYm91bmRzID0gTGF5b3V0UmVjdChsaW5lc0JvdW5kaW5nQm94LngoKSArIHN0eWxl
UmVnaW9uLm9mZnNldC5sZWZ0KCkudmFsdWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGluZXNCb3VuZGluZ0JveC55KCkgKyBzdHlsZVJlZ2lvbi5vZmZzZXQudG9wKCkudmFs
dWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdyAtIHN0eWxlUmVnaW9uLm9m
ZnNldC5sZWZ0KCkudmFsdWUoKSAtIHN0eWxlUmVnaW9uLm9mZnNldC5yaWdodCgpLnZhbHVlKCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggLSBzdHlsZVJlZ2lvbi5vZmZzZXQu
dG9wKCkudmFsdWUoKSAtIHN0eWxlUmVnaW9uLm9mZnNldC5ib3R0b20oKS52YWx1ZSgpKTsKLSAg
ICAgICAgcmVnaW9uLnR5cGUgPSBzdHlsZVJlZ2lvbi50eXBlOwotCi0gICAgICAgIFJlbmRlck9i
amVjdCogY29udGFpbmVyID0gY29udGFpbmluZ0Jsb2NrKCk7Ci0gICAgICAgIGlmICghY29udGFp
bmVyKQotICAgICAgICAgICAgY29udGFpbmVyID0gdGhpczsKLQotICAgICAgICByZWdpb24uY2xp
cCA9IGNvbnRhaW5lci0+Y29tcHV0ZUFic29sdXRlUmVwYWludFJlY3QocmVnaW9uLmJvdW5kcyk7
Ci0gICAgICAgIGlmIChyZWdpb24uY2xpcC5oZWlnaHQoKSA8IDApIHsKLSAgICAgICAgICAgIHJl
Z2lvbi5jbGlwLnNldEhlaWdodCgwKTsKLSAgICAgICAgICAgIHJlZ2lvbi5jbGlwLnNldFdpZHRo
KDApOwotICAgICAgICB9Ci0KLSAgICAgICAgRmxvYXRQb2ludCBhYnNQb3MgPSBjb250YWluZXIt
PmxvY2FsVG9BYnNvbHV0ZSgpOwotICAgICAgICByZWdpb24uYm91bmRzLnNldFgoYWJzUG9zLngo
KSArIHJlZ2lvbi5ib3VuZHMueCgpKTsKLSAgICAgICAgcmVnaW9uLmJvdW5kcy5zZXRZKGFic1Bv
cy55KCkgKyByZWdpb24uYm91bmRzLnkoKSk7Ci0KLSAgICAgICAgcmVnaW9ucy5hcHBlbmQocmVn
aW9uKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAkocmV2aXNpb24gMjQ2MTcyKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTEsMTAgKzE1MSw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGltYWdlQ2hhbmdlZChX
cmFwcGVkSW1hZ2VQdHIsIGNvbnN0IEludFJlY3QqID0gMCkgZmluYWw7CiAKLSNpZiBFTkFCTEUo
REFTSEJPQVJEX1NVUFBPUlQpCi0gICAgdm9pZCBhZGRBbm5vdGF0ZWRSZWdpb25zKFZlY3RvcjxB
bm5vdGF0ZWRSZWdpb25WYWx1ZT4mKSBmaW5hbDsKLSNlbmRpZgotCiAgICAgdm9pZCBwYWludE91
dGxpbmVGb3JMaW5lKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IExheW91dFBvaW50JiwgY29uc3Qg
TGF5b3V0UmVjdCYgcHJldkxpbmUsIGNvbnN0IExheW91dFJlY3QmIHRoaXNMaW5lLCBjb25zdCBM
YXlvdXRSZWN0JiBuZXh0TGluZSwgY29uc3QgQ29sb3ImKTsKIAogICAgIGJvb2wgd2lsbENoYW5n
ZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTIyLDcgKzI1
MjIsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhjb25zdCBTY3JvbGxQCiAgICAgICAg
IH0KIAogICAgICAgICAvLyBVcGRhdGUgcmVnaW9ucywgc2Nyb2xsaW5nIG1heSBjaGFuZ2UgdGhl
IGNsaXAgb2YgYSBwYXJ0aWN1bGFyIHJlZ2lvbi4KLSAgICAgICAgcmVuZGVyZXIoKS5kb2N1bWVu
dCgpLmludmFsaWRhdGVSZW5kZXJpbmdEZXBlbmRlbnRSZWdpb25zKERvY3VtZW50OjpBbm5vdGF0
aW9uc0FjdGlvbjo6VXBkYXRlKTsKKyAgICAgICAgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmludmFs
aWRhdGVSZW5kZXJpbmdEZXBlbmRlbnRSZWdpb25zKCk7CiAgICAgICAgIERlYnVnUGFnZU92ZXJs
YXlzOjpkaWRMYXlvdXQocmVuZGVyZXIoKS5mcmFtZSgpKTsKICAgICB9CiAKQEAgLTMzMzksOCAr
MzMzOSw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEhhc0hvcml6b250YWxTY3JvbGwKICAgICAg
ICAgbV9oQmFyLT5zdHlsZUNoYW5nZWQoKTsKICAgICBpZiAobV92QmFyKQogICAgICAgICBtX3ZC
YXItPnN0eWxlQ2hhbmdlZCgpOwotCi0gICAgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmludmFsaWRh
dGVTY3JvbGxiYXJEZXBlbmRlbnRSZWdpb25zKCk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnNl
dEhhc1ZlcnRpY2FsU2Nyb2xsYmFyKGJvb2wgaGFzU2Nyb2xsYmFyKQpAQCAtMzM2Niw4ICszMzY0
LDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2V0SGFzVmVydGljYWxTY3JvbGxiYQogICAgICAgICBt
X2hCYXItPnN0eWxlQ2hhbmdlZCgpOwogICAgIGlmIChtX3ZCYXIpCiAgICAgICAgIG1fdkJhci0+
c3R5bGVDaGFuZ2VkKCk7Ci0KLSAgICByZW5kZXJlcigpLmRvY3VtZW50KCkuaW52YWxpZGF0ZVNj
cm9sbGJhckRlcGVuZGVudFJlZ2lvbnMoKTsKIH0KIAogU2Nyb2xsYWJsZUFyZWEqIFJlbmRlckxh
eWVyOjplbmNsb3NpbmdTY3JvbGxhYmxlQXJlYSgpIGNvbnN0CkBAIC0zNjM4LDcgKzM2MzQsNiBA
QCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJMCiAKICAgICAgICAgdXBk
YXRlU2VsZlBhaW50aW5nTGF5ZXIoKTsKIAotICAgICAgICByZW5kZXJlcigpLmRvY3VtZW50KCku
aW52YWxpZGF0ZVNjcm9sbGJhckRlcGVuZGVudFJlZ2lvbnMoKTsKICAgICAgICAgcmVuZGVyZXIo
KS5yZXBhaW50KCk7CiAKICAgICAgICAgaWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5vdmVyZmxvd1go
KSA9PSBPdmVyZmxvdzo6QXV0byB8fCByZW5kZXJlcigpLnN0eWxlKCkub3ZlcmZsb3dZKCkgPT0g
T3ZlcmZsb3c6OkF1dG8pIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5jcHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDggKzk1Myw2IEBAIHZv
aWQgUmVuZGVyTGlzdEJveDo6c2V0SGFzVmVydGljYWxTY3JvbGwKIAogICAgIGlmIChtX3ZCYXIp
CiAgICAgICAgIG1fdkJhci0+c3R5bGVDaGFuZ2VkKCk7Ci0KLSAgICBkb2N1bWVudCgpLmludmFs
aWRhdGVTY3JvbGxiYXJEZXBlbmRlbnRSZWdpb25zKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGlzdEJv
eDo6c2Nyb2xsZWRUb1RvcCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MTQsNTUgKzE2MTQs
NiBAQCBpbnQgUmVuZGVyT2JqZWN0Ojppbm5lckxpbmVIZWlnaHQoKSBjb25zCiAgICAgcmV0dXJu
IHN0eWxlKCkuY29tcHV0ZWRMaW5lSGVpZ2h0KCk7CiB9CiAKLSNpZiBFTkFCTEUoREFTSEJPQVJE
X1NVUFBPUlQpCi12b2lkIFJlbmRlck9iamVjdDo6YWRkQW5ub3RhdGVkUmVnaW9ucyhWZWN0b3I8
QW5ub3RhdGVkUmVnaW9uVmFsdWU+JiByZWdpb25zKQotewotICAgIC8vIENvbnZlcnQgdGhlIHN0
eWxlIHJlZ2lvbnMgdG8gYWJzb2x1dGUgY29vcmRpbmF0ZXMuCi0gICAgaWYgKHN0eWxlKCkudmlz
aWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUgfHwgIWlzPFJlbmRlckJveD4oKnRoaXMp
KQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgYXV0byYgYm94ID0gZG93bmNhc3Q8UmVuZGVy
Qm94PigqdGhpcyk7Ci0gICAgRmxvYXRQb2ludCBhYnNQb3MgPSBsb2NhbFRvQWJzb2x1dGUoKTsK
LQotICAgIGNvbnN0IFZlY3RvcjxTdHlsZURhc2hib2FyZFJlZ2lvbj4mIHN0eWxlUmVnaW9ucyA9
IHN0eWxlKCkuZGFzaGJvYXJkUmVnaW9ucygpOwotICAgIGZvciAoY29uc3QgYXV0byYgc3R5bGVS
ZWdpb24gOiBzdHlsZVJlZ2lvbnMpIHsKLSAgICAgICAgTGF5b3V0VW5pdCB3ID0gYm94LndpZHRo
KCk7Ci0gICAgICAgIExheW91dFVuaXQgaCA9IGJveC5oZWlnaHQoKTsKLQotICAgICAgICBBbm5v
dGF0ZWRSZWdpb25WYWx1ZSByZWdpb247Ci0gICAgICAgIHJlZ2lvbi5sYWJlbCA9IHN0eWxlUmVn
aW9uLmxhYmVsOwotICAgICAgICByZWdpb24uYm91bmRzID0gTGF5b3V0UmVjdChzdHlsZVJlZ2lv
bi5vZmZzZXQubGVmdCgpLnZhbHVlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0eWxlUmVnaW9uLm9mZnNldC50b3AoKS52YWx1ZSgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB3IC0gc3R5bGVSZWdpb24ub2Zmc2V0LmxlZnQoKS52YWx1ZSgpIC0g
c3R5bGVSZWdpb24ub2Zmc2V0LnJpZ2h0KCkudmFsdWUoKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaCAtIHN0eWxlUmVnaW9uLm9mZnNldC50b3AoKS52YWx1ZSgpIC0gc3R5
bGVSZWdpb24ub2Zmc2V0LmJvdHRvbSgpLnZhbHVlKCkpOwotICAgICAgICByZWdpb24udHlwZSA9
IHN0eWxlUmVnaW9uLnR5cGU7Ci0KLSAgICAgICAgcmVnaW9uLmNsaXAgPSBjb21wdXRlQWJzb2x1
dGVSZXBhaW50UmVjdChyZWdpb24uYm91bmRzKTsKLSAgICAgICAgaWYgKHJlZ2lvbi5jbGlwLmhl
aWdodCgpIDwgMCkgewotICAgICAgICAgICAgcmVnaW9uLmNsaXAuc2V0SGVpZ2h0KDApOwotICAg
ICAgICAgICAgcmVnaW9uLmNsaXAuc2V0V2lkdGgoMCk7Ci0gICAgICAgIH0KLQotICAgICAgICBy
ZWdpb24uYm91bmRzLnNldFgoYWJzUG9zLngoKSArIHN0eWxlUmVnaW9uLm9mZnNldC5sZWZ0KCku
dmFsdWUoKSk7Ci0gICAgICAgIHJlZ2lvbi5ib3VuZHMuc2V0WShhYnNQb3MueSgpICsgc3R5bGVS
ZWdpb24ub2Zmc2V0LnRvcCgpLnZhbHVlKCkpOwotCi0gICAgICAgIHJlZ2lvbnMuYXBwZW5kKHJl
Z2lvbik7Ci0gICAgfQotfQotCi12b2lkIFJlbmRlck9iamVjdDo6Y29sbGVjdEFubm90YXRlZFJl
Z2lvbnMoVmVjdG9yPEFubm90YXRlZFJlZ2lvblZhbHVlPiYgcmVnaW9ucykKLXsKLSAgICAvLyBS
ZW5kZXJUZXh0cyBkb24ndCBoYXZlIHRoZWlyIG93biBzdHlsZSwgdGhleSBqdXN0IHVzZSB0aGVp
ciBwYXJlbnQncyBzdHlsZSwKLSAgICAvLyBzbyB3ZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhl
bS4KLSAgICBpZiAoaXM8UmVuZGVyVGV4dD4oKnRoaXMpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBhZGRBbm5vdGF0ZWRSZWdpb25zKHJlZ2lvbnMpOwotICAgIGZvciAoUmVuZGVyT2JqZWN0KiBj
dXJyZW50ID0gZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKnRoaXMpLmZpcnN0Q2hpbGQoKTsgY3Vy
cmVudDsgY3VycmVudCA9IGN1cnJlbnQtPm5leHRTaWJsaW5nKCkpCi0gICAgICAgIGN1cnJlbnQt
PmNvbGxlY3RBbm5vdGF0ZWRSZWdpb25zKHJlZ2lvbnMpOwotfQotI2VuZGlmCi0KIGludCBSZW5k
ZXJPYmplY3Q6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QKIHsKICAgICByZXR1cm4gMDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHJldmlzaW9uIDI0NjE3MikK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5
KQpAQCAtODUsMjQgKzg1LDYgQEAgZW51bSBjbGFzcyBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Ny
b2xsaQogCiBzdHJ1Y3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnM7CiAKLSNpZiBFTkFCTEUo
REFTSEJPQVJEX1NVUFBPUlQpCi1zdHJ1Y3QgQW5ub3RhdGVkUmVnaW9uVmFsdWUgewotICAgIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBBbm5vdGF0ZWRSZWdpb25WYWx1ZSYgbykgY29uc3QKLSAgICB7
Ci0gICAgICAgIHJldHVybiB0eXBlID09IG8udHlwZSAmJiBib3VuZHMgPT0gby5ib3VuZHMgJiYg
Y2xpcCA9PSBvLmNsaXAgJiYgbGFiZWwgPT0gby5sYWJlbDsKLSAgICB9Ci0gICAgYm9vbCBvcGVy
YXRvciE9KGNvbnN0IEFubm90YXRlZFJlZ2lvblZhbHVlJiBvKSBjb25zdAotICAgIHsKLSAgICAg
ICAgcmV0dXJuICEoKnRoaXMgPT0gbyk7Ci0gICAgfQotCi0gICAgTGF5b3V0UmVjdCBib3VuZHM7
Ci0gICAgU3RyaW5nIGxhYmVsOwotICAgIExheW91dFJlY3QgY2xpcDsKLSAgICBpbnQgdHlwZTsK
LX07Ci0jZW5kaWYKLQogLy8gQmFzZSBjbGFzcyBmb3IgYWxsIHJlbmRlcmluZyB0cmVlIG9iamVj
dHMuCiBjbGFzcyBSZW5kZXJPYmplY3QgOiBwdWJsaWMgQ2FjaGVkSW1hZ2VDbGllbnQsIHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxSZW5kZXJPYmplY3Q+IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFJlbmRlck9iamVjdCk7CkBAIC01NjksMTEgKzU1MSw2IEBAIHB1YmxpYzoKICAgICAvLyBy
ZXBhaW50IGFuZCBkbyBub3QgbmVlZCBhIHJlbGF5b3V0CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZUZyb21FbGVtZW50KCkgeyB9CiAKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAg
dmlydHVhbCB2b2lkIGFkZEFubm90YXRlZFJlZ2lvbnMoVmVjdG9yPEFubm90YXRlZFJlZ2lvblZh
bHVlPiYpOwotICAgIHZvaWQgY29sbGVjdEFubm90YXRlZFJlZ2lvbnMoVmVjdG9yPEFubm90YXRl
ZFJlZ2lvblZhbHVlPiYpOwotI2VuZGlmCi0KICAgICBib29sIGlzQ29tcG9zaXRlZCgpIGNvbnN0
OwogCiAgICAgYm9vbCBoaXRUZXN0KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3Vs
dCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5
b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0RmlsdGVyID0gSGl0VGVzdEFsbCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5j
cHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxNiwxMiArNjE2LDYgQEAgc3RhdGlj
IGJvb2wgcmFyZU5vbkluaGVyaXRlZERhdGFDaGFuZ2VSZQogICAgICAgICB8fCBmaXJzdC5ncmlk
SXRlbSAhPSBzZWNvbmQuZ3JpZEl0ZW0pCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0jaWYgRU5B
QkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgIC8vIElmIHJlZ2lvbnMgY2hhbmdlLCB0cmlnZ2Vy
IGEgcmVsYXlvdXQgdG8gcmUtY2FsYyByZWdpb25zLgotICAgIGlmIChmaXJzdC5kYXNoYm9hcmRS
ZWdpb25zICE9IHNlY29uZC5kYXNoYm9hcmRSZWdpb25zKQotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSNlbmRpZgotCiAgICAgaWYgKCFhcmVQb2ludGluZ1RvRXF1YWxEYXRhKGZpcnN0LndpbGxDaGFu
Z2UsIHNlY29uZC53aWxsQ2hhbmdlKSkgewogICAgICAgICBjaGFuZ2VkQ29udGV4dFNlbnNpdGl2
ZVByb3BlcnRpZXMuYWRkKFN0eWxlRGlmZmVyZW5jZUNvbnRleHRTZW5zaXRpdmVQcm9wZXJ0eTo6
V2lsbENoYW5nZSk7CiAgICAgICAgIC8vIERvbid0IHJldHVybjsga2VlcCBsb29raW5nIGZvciBh
bm90aGVyIGNoYW5nZQpAQCAtMTUzOCwyNyArMTUzMiw2IEBAIGNvbnN0IEF0b21pY1N0cmluZyYg
UmVuZGVyU3R5bGU6OnRleHRFbXAKICAgICByZXR1cm4gbnVsbEF0b20oKTsKIH0KIAotI2lmIEVO
QUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLQotY29uc3QgVmVjdG9yPFN0eWxlRGFzaGJvYXJkUmVn
aW9uPiYgUmVuZGVyU3R5bGU6OmluaXRpYWxEYXNoYm9hcmRSZWdpb25zKCkKLXsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFN0eWxlRGFzaGJvYXJkUmVnaW9uPj4gZW1wdHlMaXN0
OwotICAgIHJldHVybiBlbXB0eUxpc3Q7Ci19Ci0KLWNvbnN0IFZlY3RvcjxTdHlsZURhc2hib2Fy
ZFJlZ2lvbj4mIFJlbmRlclN0eWxlOjpub25lRGFzaGJvYXJkUmVnaW9ucygpCi17Ci0gICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxTdHlsZURhc2hib2FyZFJlZ2lvbj4+IG5vbmVMaXN0
OwotICAgIHN0YXRpYyBib29sIG5vbmVMaXN0SW5pdGlhbGl6ZWQgPSBmYWxzZTsKLSAgICBpZiAo
IW5vbmVMaXN0SW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgbm9uZUxpc3QuZ2V0KCkuYXBwZW5kKFN0
eWxlRGFzaGJvYXJkUmVnaW9uIHsgZW1wdHlTdHJpbmcoKSwgeyB9LCBTdHlsZURhc2hib2FyZFJl
Z2lvbjo6Tm9uZSB9KTsKLSAgICAgICAgbm9uZUxpc3RJbml0aWFsaXplZCA9IHRydWU7Ci0gICAg
fQotICAgIHJldHVybiBub25lTGlzdDsKLX0KLQotI2VuZGlmCi0KIHZvaWQgUmVuZGVyU3R5bGU6
OmFkanVzdEFuaW1hdGlvbnMoKQogewogICAgIGF1dG8qIGFuaW1hdGlvbkxpc3QgPSBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5hbmltYXRpb25zLmdldCgpOwpAQCAtMjQwMywxNyArMjM3Niw2IEBA
IGJvb2wgUmVuZGVyU3R5bGU6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3QKICAgICByZXR1cm4gIWlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSAmJiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogfQog
Ci0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotCi12b2lkIFJlbmRlclN0eWxlOjpzZXRE
YXNoYm9hcmRSZWdpb24oaW50IHR5cGUsIGNvbnN0IFN0cmluZyYgbGFiZWwsIExlbmd0aCYmIHRv
cCwgTGVuZ3RoJiYgcmlnaHQsIExlbmd0aCYmIGJvdHRvbSwgTGVuZ3RoJiYgbGVmdCwgYm9vbCBh
cHBlbmQpCi17Ci0gICAgaWYgKCFhcHBlbmQpCi0gICAgICAgIG1fcmFyZU5vbkluaGVyaXRlZERh
dGEuYWNjZXNzKCkuZGFzaGJvYXJkUmVnaW9ucy5jbGVhcigpOwotICAgIG1fcmFyZU5vbkluaGVy
aXRlZERhdGEuYWNjZXNzKCkuZGFzaGJvYXJkUmVnaW9ucy5hcHBlbmQoeyBsYWJlbCwgeyBXVEZN
b3ZlKHRvcCksIFdURk1vdmUocmlnaHQpLCBXVEZNb3ZlKGJvdHRvbSksIFdURk1vdmUobGVmdCkg
fSwgdHlwZSB9KTsKLX0KLQotI2VuZGlmCi0KIFZlY3RvcjxQYWludFR5cGUsIDM+IFJlbmRlclN0
eWxlOjpwYWludFR5cGVzRm9yUGFpbnRPcmRlcihQYWludE9yZGVyIG9yZGVyKQogewogICAgIFZl
Y3RvcjxQYWludFR5cGUsIDM+IHBhaW50T3JkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTc3LDEwICs3Nyw2IEBACiAjaW5jbHVkZSAiU3R5bGVHcmlkRGF0YS5oIgogI2luY2x1ZGUgIlN0
eWxlR3JpZEl0ZW1EYXRhLmgiCiAKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0jaW5j
bHVkZSAiU3R5bGVEYXNoYm9hcmRSZWdpb24uaCIKLSNlbmRpZgotCiAjaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKICNpbmNsdWRlICJUZXh0U2l6ZUFkanVzdG1lbnQuaCIKICNlbmRpZgpAQCAt
ODM0LDEyICs4MzAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNaW5IZWlnaHQoTGVuZ3RoJiYg
bGVuZ3RoKSB7IFNFVF9WQVIobV9ib3hEYXRhLCBtX21pbkhlaWdodCwgV1RGTW92ZShsZW5ndGgp
KTsgfQogICAgIHZvaWQgc2V0TWF4SGVpZ2h0KExlbmd0aCYmIGxlbmd0aCkgeyBTRVRfVkFSKG1f
Ym94RGF0YSwgbV9tYXhIZWlnaHQsIFdURk1vdmUobGVuZ3RoKSk7IH0KIAotI2lmIEVOQUJMRShE
QVNIQk9BUkRfU1VQUE9SVCkKLSAgICBjb25zdCBWZWN0b3I8U3R5bGVEYXNoYm9hcmRSZWdpb24+
JiBkYXNoYm9hcmRSZWdpb25zKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+ZGFzaGJvYXJkUmVnaW9uczsgfQotICAgIHZvaWQgc2V0RGFzaGJvYXJkUmVnaW9ucyhjb25z
dCBWZWN0b3I8U3R5bGVEYXNoYm9hcmRSZWdpb24+JiByZWdpb25zKSB7IFNFVF9WQVIobV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgZGFzaGJvYXJkUmVnaW9ucywgcmVnaW9ucyk7IH0KLSAgICB2b2lk
IHNldERhc2hib2FyZFJlZ2lvbihpbnQgdHlwZSwgY29uc3QgU3RyaW5nJiBsYWJlbCwgTGVuZ3Ro
JiYgdG9wLCBMZW5ndGgmJiByaWdodCwgTGVuZ3RoJiYgYm90dG9tLCBMZW5ndGgmJiBsZWZ0LCBi
b29sIGFwcGVuZCk7Ci0jZW5kaWYKLQogICAgIHZvaWQgcmVzZXRCb3JkZXIoKSB7IHJlc2V0Qm9y
ZGVySW1hZ2UoKTsgcmVzZXRCb3JkZXJUb3AoKTsgcmVzZXRCb3JkZXJSaWdodCgpOyByZXNldEJv
cmRlckJvdHRvbSgpOyByZXNldEJvcmRlckxlZnQoKTsgcmVzZXRCb3JkZXJSYWRpdXMoKTsgfQog
ICAgIHZvaWQgcmVzZXRCb3JkZXJUb3AoKSB7IFNFVF9WQVIobV9zdXJyb3VuZERhdGEsIGJvcmRl
ci5tX3RvcCwgQm9yZGVyVmFsdWUoKSk7IH0KICAgICB2b2lkIHJlc2V0Qm9yZGVyUmlnaHQoKSB7
IFNFVF9WQVIobV9zdXJyb3VuZERhdGEsIGJvcmRlci5tX3JpZ2h0LCBCb3JkZXJWYWx1ZSgpKTsg
fQpAQCAtMTY5NCwxMSArMTY4NCw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpbml0aWFs
VXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZygpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICBzdGF0aWMgY29uc3QgVmVjdG9yPFN0
eWxlRGFzaGJvYXJkUmVnaW9uPiYgaW5pdGlhbERhc2hib2FyZFJlZ2lvbnMoKTsKLSAgICBzdGF0
aWMgY29uc3QgVmVjdG9yPFN0eWxlRGFzaGJvYXJkUmVnaW9uPiYgbm9uZURhc2hib2FyZFJlZ2lv
bnMoKTsKLSNlbmRpZgotCiAgICAgc3RhdGljIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmIGluaXRp
YWxGaWx0ZXIoKSB7IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGaWx0ZXJPcGVyYXRpb25zPiBvcHM7
IHJldHVybiBvcHM7IH0KICAgICBzdGF0aWMgY29uc3QgRmlsdGVyT3BlcmF0aW9ucyYgaW5pdGlh
bEFwcGxlQ29sb3JGaWx0ZXIoKSB7IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGaWx0ZXJPcGVyYXRp
b25zPiBvcHM7IHJldHVybiBvcHM7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlRGFzaGJvYXJkUmVnaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRGFzaGJvYXJkUmVnaW9uLmgJKHJldmlzaW9uIDI0NjE3
MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZURhc2hib2FyZFJlZ2lv
bi5oCShub25leGlzdGVudCkKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwMCBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogICAgICAgICAgIChDKSAyMDAwIEFu
dHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQotICogICAgICAgICAgIChDKSAyMDAwIERp
cmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA1
LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAwNiBHcmFoYW0gRGVubmlzIChncmFoYW0uZGVubmlzQGdtYWlsLmNvbSkK
LSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICov
Ci0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotCi0jaW5j
bHVkZSAiTGVuZ3RoQm94LmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gRGFzaGJvYXJkIHJlZ2lvbiBhdHRyaWJ1dGVzLiBOb3Qg
aW5oZXJpdGVkLgotCi1zdHJ1Y3QgU3R5bGVEYXNoYm9hcmRSZWdpb24gewotICAgIFN0cmluZyBs
YWJlbDsKLSAgICBMZW5ndGhCb3ggb2Zmc2V0OwotICAgIGludCB0eXBlOwotCi0gICAgZW51bSB7
Ci0gICAgICAgIE5vbmUsCi0gICAgICAgIENpcmNsZSwKLSAgICAgICAgUmVjdGFuZ2xlCi0gICAg
fTsKLQotICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTdHlsZURhc2hib2FyZFJlZ2lvbiYgbykg
Y29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiB0eXBlID09IG8udHlwZSAmJiBvZmZzZXQgPT0g
by5vZmZzZXQgJiYgbGFiZWwgPT0gby5sYWJlbDsKLSAgICB9Ci0KLSAgICBib29sIG9wZXJhdG9y
IT0oY29uc3QgU3R5bGVEYXNoYm9hcmRSZWdpb24mIG8pIGNvbnN0Ci0gICAgewotICAgICAgICBy
ZXR1cm4gISgqdGhpcyA9PSBvKTsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVEYXNoYm9hcmRSZWdpb24u
aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZl
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5jcHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIzLDkg
KzIyMyw2IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3IKICAgICAg
ICAgJiYgcGVyc3BlY3RpdmVPcmlnaW5ZID09IG8ucGVyc3BlY3RpdmVPcmlnaW5ZCiAgICAgICAg
ICYmIGxpbmVDbGFtcCA9PSBvLmxpbmVDbGFtcAogICAgICAgICAmJiBpbml0aWFsTGV0dGVyID09
IG8uaW5pdGlhbExldHRlcgotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICAgICAg
JiYgZGFzaGJvYXJkUmVnaW9ucyA9PSBvLmRhc2hib2FyZFJlZ2lvbnMKLSNlbmRpZgogICAgICAg
ICAmJiBkZXByZWNhdGVkRmxleGlibGVCb3ggPT0gby5kZXByZWNhdGVkRmxleGlibGVCb3gKICAg
ICAgICAgJiYgZmxleGlibGVCb3ggPT0gby5mbGV4aWJsZUJveAogICAgICAgICAmJiBtYXJxdWVl
ID09IG8ubWFycXVlZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCShyZXZpc2lvbiAyNDYxNzIp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3ICs2MCw2IEBAIGNsYXNzIFN0eWxlU2Nyb2xs
U25hcFBvcnQ7CiBjbGFzcyBTdHlsZVRyYW5zZm9ybURhdGE7CiAKIHN0cnVjdCBMZW5ndGhTaXpl
Owotc3RydWN0IFN0eWxlRGFzaGJvYXJkUmVnaW9uOwogCiAvLyBQYWdlIHNpemUgdHlwZS4KIC8v
IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnBhZ2VTaXplIGlzIG1lYW5pbmdmdWwgb25seSB3
aGVuCkBAIC0xMDcsMTAgKzEwNiw2IEBAIHB1YmxpYzoKICAgICAKICAgICBJbnRTaXplIGluaXRp
YWxMZXR0ZXI7CiAKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgVmVjdG9yPFN0
eWxlRGFzaGJvYXJkUmVnaW9uPiBkYXNoYm9hcmRSZWdpb25zOwotI2VuZGlmCi0KICAgICBEYXRh
UmVmPFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YT4gZGVwcmVjYXRlZEZsZXhpYmxlQm94
OyAvLyBGbGV4aWJsZSBib3ggcHJvcGVydGllcwogICAgIERhdGFSZWY8U3R5bGVGbGV4aWJsZUJv
eERhdGE+IGZsZXhpYmxlQm94OwogICAgIERhdGFSZWY8U3R5bGVNYXJxdWVlRGF0YT4gbWFycXVl
ZTsgLy8gTWFycXVlZSBwcm9wZXJ0aWVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OCwxNyArMTQ4LDYgQEAgU2VjdXJpdHlP
cmlnaW4qIFhNTEh0dHBSZXF1ZXN0OjpzZWN1cml0eQogICAgIHJldHVybiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCk7CiB9CiAKLSNpZiBFTkFCTEUoREFTSEJPQVJE
X1NVUFBPUlQpCi0KLWJvb2wgWE1MSHR0cFJlcXVlc3Q6OnVzZXNEYXNoYm9hcmRCYWNrd2FyZENv
bXBhdGliaWxpdHlNb2RlKCkgY29uc3QKLXsKLSAgICBpZiAoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5pc1dvcmtlckdsb2JhbFNjb3BlKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBy
ZXR1cm4gZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS51c2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRp
YmlsaXR5TW9kZSgpOwotfQotCi0jZW5kaWYKLQogRXhjZXB0aW9uT3I8T3duZWRTdHJpbmc+IFhN
TEh0dHBSZXF1ZXN0OjpyZXNwb25zZVRleHQoKQogewogICAgIGlmIChyZXNwb25zZVR5cGUoKSAh
PSBSZXNwb25zZVR5cGU6OkVtcHR5U3RyaW5nICYmIHJlc3BvbnNlVHlwZSgpICE9IFJlc3BvbnNl
VHlwZTo6VGV4dCkKQEAgLTQ2NSwxMyArNDU0LDggQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0
cFJlcXVlc3Q6OnNlbmQoRAogCiAgICAgaWYgKG1fbWV0aG9kICE9ICJHRVQiICYmIG1fbWV0aG9k
ICE9ICJIRUFEIikgewogICAgICAgICBpZiAoIW1fcmVxdWVzdEhlYWRlcnMuY29udGFpbnMoSFRU
UEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKSkgewotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9S
VCkKLSAgICAgICAgICAgIGlmICh1c2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9k
ZSgpKQotICAgICAgICAgICAgICAgIG1fcmVxdWVzdEhlYWRlcnMuc2V0KEhUVFBIZWFkZXJOYW1l
OjpDb250ZW50VHlwZSwgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJfcyk7Ci0g
ICAgICAgICAgICBlbHNlCi0jZW5kaWYKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBz
aG91bGQgaW5jbHVkZSB0aGUgY2hhcnNldCB1c2VkIGZvciBlbmNvZGluZy4KLSAgICAgICAgICAg
ICAgICBtX3JlcXVlc3RIZWFkZXJzLnNldChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUsIGRv
Y3VtZW50LmlzSFRNTERvY3VtZW50KCkgPyAidGV4dC9odG1sO2NoYXJzZXQ9VVRGLTgiX3MgOiAi
YXBwbGljYXRpb24veG1sO2NoYXJzZXQ9VVRGLTgiX3MpOworICAgICAgICAgICAgLy8gRklYTUU6
IHRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGNoYXJzZXQgdXNlZCBmb3IgZW5jb2RpbmcuCisgICAg
ICAgICAgICBtX3JlcXVlc3RIZWFkZXJzLnNldChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUs
IGRvY3VtZW50LmlzSFRNTERvY3VtZW50KCkgPyAidGV4dC9odG1sO2NoYXJzZXQ9VVRGLTgiX3Mg
OiAiYXBwbGljYXRpb24veG1sO2NoYXJzZXQ9VVRGLTgiX3MpOwogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgU3RyaW5nIGNvbnRlbnRUeXBlID0gbV9yZXF1ZXN0SGVhZGVycy5nZXQoSFRU
UEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKTsKICAgICAgICAgICAgIHJlcGxhY2VDaGFyc2V0SW5N
ZWRpYVR5cGVJZk5lZWRlZChjb250ZW50VHlwZSk7CkBAIC00OTUsMTQgKzQ3OSw5IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpzZW5kKGMKIAogICAgIGlmICghYm9keS5pc051
bGwoKSAmJiBtX21ldGhvZCAhPSAiR0VUIiAmJiBtX21ldGhvZCAhPSAiSEVBRCIpIHsKICAgICAg
ICAgU3RyaW5nIGNvbnRlbnRUeXBlID0gbV9yZXF1ZXN0SGVhZGVycy5nZXQoSFRUUEhlYWRlck5h
bWU6OkNvbnRlbnRUeXBlKTsKLSAgICAgICAgaWYgKGNvbnRlbnRUeXBlLmlzTnVsbCgpKSB7Ci0j
aWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgICAgICAgICAgaWYgKHVzZXNEYXNoYm9h
cmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkpCi0gICAgICAgICAgICAgICAgbV9yZXF1ZXN0
SGVhZGVycy5zZXQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlLCAiYXBwbGljYXRpb24veC13
d3ctZm9ybS11cmxlbmNvZGVkIl9zKTsKLSAgICAgICAgICAgIGVsc2UKLSNlbmRpZgotICAgICAg
ICAgICAgICAgIG1fcmVxdWVzdEhlYWRlcnMuc2V0KEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlw
ZSwgSFRUUEhlYWRlclZhbHVlczo6dGV4dFBsYWluQ29udGVudFR5cGUoKSk7Ci0gICAgICAgIH0g
ZWxzZSB7CisgICAgICAgIGlmIChjb250ZW50VHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIG1f
cmVxdWVzdEhlYWRlcnMuc2V0KEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSwgSFRUUEhlYWRl
clZhbHVlczo6dGV4dFBsYWluQ29udGVudFR5cGUoKSk7CisgICAgICAgIGVsc2UgewogICAgICAg
ICAgICAgcmVwbGFjZUNoYXJzZXRJbk1lZGlhVHlwZUlmTmVlZGVkKGNvbnRlbnRUeXBlKTsKICAg
ICAgICAgICAgIG1fcmVxdWVzdEhlYWRlcnMuc2V0KEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlw
ZSwgY29udGVudFR5cGUpOwogICAgICAgICB9CkBAIC04MDEsMjYgKzc4MCwxNSBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6b3ZlcnJpCiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IFhN
TEh0dHBSZXF1ZXN0OjpzZXRSZXF1ZXN0SGVhZGVyKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKIHsKLSAgICBpZiAocmVhZHlTdGF0ZSgpICE9IE9QRU5FRCB8fCBtX3Nl
bmRGbGFnKSB7Ci0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgICAgICBpZiAodXNl
c0Rhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKSkKLSAgICAgICAgICAgIHJldHVy
biB7IH07Ci0jZW5kaWYKKyAgICBpZiAocmVhZHlTdGF0ZSgpICE9IE9QRU5FRCB8fCBtX3NlbmRG
bGFnKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLSAg
ICB9CiAKICAgICBTdHJpbmcgbm9ybWFsaXplZFZhbHVlID0gc3RyaXBMZWFkaW5nQW5kVHJhaWxp
bmdIVFRQU3BhY2VzKHZhbHVlKTsKICAgICBpZiAoIWlzVmFsaWRIVFRQVG9rZW4obmFtZSkgfHwg
IWlzVmFsaWRIVFRQSGVhZGVyVmFsdWUobm9ybWFsaXplZFZhbHVlKSkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07CiAKLSAgICBib29sIGFsbG93VW5zYWZlSGVhZGVy
RmllbGQgPSBmYWxzZTsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgYWxsb3dV
bnNhZmVIZWFkZXJGaWVsZCA9IHVzZXNEYXNoYm9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2Rl
KCk7Ci0jZW5kaWYKLQogICAgIC8vIEZJWE1FOiBUaGUgYWxsb3dTZXR0aW5nQW55WEhSSGVhZGVy
RnJvbUZpbGVVUkxzIHNldHRpbmcgY3VycmVudGx5IG9ubHkgYXBwbGllcyB0byBEb2N1bWVudHMs
IG5vdCB3b3JrZXJzLgotICAgIGlmIChzZWN1cml0eU9yaWdpbigpLT5jYW5Mb2FkTG9jYWxSZXNv
dXJjZXMoKSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzRG9jdW1lbnQoKSAmJiBkb2N1
bWVudCgpLT5zZXR0aW5ncygpLmFsbG93U2V0dGluZ0FueVhIUkhlYWRlckZyb21GaWxlVVJMcygp
KQotICAgICAgICBhbGxvd1Vuc2FmZUhlYWRlckZpZWxkID0gdHJ1ZTsKKyAgICBib29sIGFsbG93
VW5zYWZlSGVhZGVyRmllbGQgPSBzZWN1cml0eU9yaWdpbigpLT5jYW5Mb2FkTG9jYWxSZXNvdXJj
ZXMoKSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzRG9jdW1lbnQoKSAmJiBkb2N1bWVu
dCgpLT5zZXR0aW5ncygpLmFsbG93U2V0dGluZ0FueVhIUkhlYWRlckZyb21GaWxlVVJMcygpOwog
ICAgIGlmICghYWxsb3dVbnNhZmVIZWFkZXJGaWVsZCAmJiBpc0ZvcmJpZGRlbkhlYWRlck5hbWUo
bmFtZSkpIHsKICAgICAgICAgbG9nQ29uc29sZUVycm9yKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgIlJlZnVzZWQgdG8gc2V0IHVuc2FmZSBoZWFkZXIgXCIiICsgbmFtZSArICJcIiIpOwogICAg
ICAgICByZXR1cm4geyB9OwpJbmRleDogU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgJKHJl
dmlzaW9uIDI0NjE3MikKKysrIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNDksMTAgKzE0OSw2IEBAIHByaXZhdGU6CiAgICAgRG9jdW1lbnQq
IGRvY3VtZW50KCkgY29uc3Q7CiAgICAgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKCkg
Y29uc3Q7CiAKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgYm9vbCB1c2VzRGFz
aGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSgpIGNvbnN0OwotI2VuZGlmCi0KICAgICAv
LyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBs
b25nIGxvbmcgYnl0ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlc1RvQmVTZW50
KSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA2LTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBkYXNoYm9hcmQgY29kZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4NjI0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlU2V0VXNlRGFzaGJvYXJkQ29t
cGF0aWJpbGl0eU1vZGUpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVk
QnVuZGxlOjpzZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSk6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50Ojphbm5vdGF0ZWRSZWdpb25zQ2hhbmdlZCk6IERl
bGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaDoKKwogMjAxOS0wNi0wNiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSBkdXBsaWNhdGVkIHdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzIGNv
ZGUgZnJvbSBXZWJzaXRlUG9saWNpZXNEYXRhOjphcHBseVRvRG9jdW1lbnRMb2FkZXIoKQpJbmRl
eDogU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsOSArMTE3
LDYgQEAgRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJMRV9EQVJLX01PREVf
Q1NTID0gJChFTkFCTEVfREFSS19NT0RFX0NTU18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJM
RV9EQVJLX01PREVfQ1NTX21hY29zeCA9IEVOQUJMRV9EQVJLX01PREVfQ1NTOwogCi1FTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFdLX1BMQVRG
T1JNX05BTUUpKTsKLUVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQ7Ci0KIEVOQUJMRV9EQVRBQ1VFX1ZBTFVFID0gRU5BQkxFX0RBVEFDVUVf
VkFMVUU7CiAKIEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UID0gRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQ7CkBAIC00NDUsNCArNDQyLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9
IEVOQUJMRQogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5U
SU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9P
TSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykg
JChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tF
WV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RP
Q09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURF
T19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJ
QV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9S
RVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1ND
Uk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFC
TEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5E
Qk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxF
X1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5B
QkxFX1dFQl9QUk9DRVNTX1NBTkRCT1gpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNU
T1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBM
RVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
RVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5U
X1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRT
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9P
QlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVS
X1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VT
RVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dF
QkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1BST0NFU1NfU0FOREJPWCkgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9Y
U0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzU1LDE0ICszNTUsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpz
ZXRQcml2YXRlQnJvd3NpbmdFCiAgICAgICAgICgqaXRlciktPmVuYWJsZUxlZ2FjeVByaXZhdGVC
cm93c2luZyhlbmFibGVkKTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0VXNlRGFzaGJv
YXJkQ29tcGF0aWJpbGl0eU1vZGUoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwgYm9vbCBl
bmFibGVkKQotewotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICBmb3IgKGF1dG8m
IHBhZ2UgOiBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSktPnBh
Z2VzKCkpCi0gICAgICAgIHBhZ2UtPnNldHRpbmdzKCkuc2V0VXNlc0Rhc2hib2FyZEJhY2t3YXJk
Q29tcGF0aWJpbGl0eU1vZGUoZW5hYmxlZCk7Ci0jZW5kaWYKLX0KLQogdm9pZCBJbmplY3RlZEJ1
bmRsZTo6c2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91
cCwgYm9vbCBlbmFibGVkKQogewogICAgIGNvbnN0IEhhc2hTZXQ8UGFnZSo+JiBwYWdlcyA9IFBh
Z2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cC0+aWRlbnRpZmllcigpKS0+cGFnZXMoKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTA1LDcgKzEwNSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFBsdWdpbnNFbmFibGVkKFdl
YlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNz
Q2xpcGJvYXJkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7Ci0gICAgdm9pZCBzZXRV
c2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZShXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwog
ICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29s
KTsKICAgICB2b2lkIHNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKFdlYlBhZ2VHcm91cFBy
b3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoV2ViUGFn
ZUdyb3VwUHJveHkqLCBib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAkocmV2aXNpb24g
MjQ2MTcyKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDExICsxNzEsNiBAQCB2b2lkIFdL
QnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXCiAgICAgV2ViS2l0Ojp0b0ltcGwoYnVu
ZGxlUmVmKS0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXZWJLaXQ6OnRvSW1wbChwYWdlR3Jv
dXBSZWYpLCBlbmFibGVkKTsKIH0KIAotdm9pZCBXS0J1bmRsZVNldFVzZURhc2hib2FyZENvbXBh
dGliaWxpdHlNb2RlKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYg
cGFnZUdyb3VwUmVmLCBib29sIGVuYWJsZWQpCi17Ci0gICAgV2ViS2l0Ojp0b0ltcGwoYnVuZGxl
UmVmKS0+c2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUoV2ViS2l0Ojp0b0ltcGwocGFn
ZUdyb3VwUmVmKSwgZW5hYmxlZCk7Ci19Ci0KIHZvaWQgV0tCdW5kbGVTZXRQb3B1cEJsb2NraW5n
RW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VH
cm91cFJlZiwgYm9vbCBlbmFibGVkKQogewogICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZikt
PnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZiksIGVu
YWJsZWQpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAkocmV2aXNpb24gMjQ2
MTcyKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw2IEBAIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlU2V0TWluaW11bUxvZ2ljYWwKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxl
U2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFn
ZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVu
ZGxlU2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJlZiBidW5kbGUsIFdL
QnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2
b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUs
IFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKLVdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlU2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUoV0tCdW5kbGVS
ZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7
CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldFBvcHVwQmxvY2tpbmdFbmFibGVkKFdLQnVuZGxl
UmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQp
OwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChX
S0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBl
bmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFi
bGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBi
b29sIGVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJldmlzaW9uIDI0NjE3
MikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzUsMTUgKzc3NSw2IEBAIHZvaWQgV2ViQ2hy
b21lQ2xpZW50OjpyZWFjaGVkQXBwbGljYXRpb24KICAgICBjYWNoZVN0b3JhZ2Uuc3RvcmVVcGRh
dGVkUXVvdGFGb3JPcmlnaW4oJm9yaWdpbiwgbmV3UXVvdGEpOwogfQogCi0jaWYgRU5BQkxFKERB
U0hCT0FSRF9TVVBQT1JUKQotCi12b2lkIFdlYkNocm9tZUNsaWVudDo6YW5ub3RhdGVkUmVnaW9u
c0NoYW5nZWQoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLSNlbmRpZgotCiBib29s
IFdlYkNocm9tZUNsaWVudDo6c2hvdWxkUmVwbGFjZVdpdGhHZW5lcmF0ZWRGaWxlRm9yVXBsb2Fk
KGNvbnN0IFN0cmluZyYgcGF0aCwgU3RyaW5nJiBnZW5lcmF0ZWRGaWxlbmFtZSkKIHsKICAgICBn
ZW5lcmF0ZWRGaWxlbmFtZSA9IG1fcGFnZS5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkuc2hvdWxk
R2VuZXJhdGVGaWxlRm9yVXBsb2FkKCZtX3BhZ2UsIHBhdGgpOwpJbmRleDogU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAkocmV2aXNpb24gMjQ2MTcyKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsMTAgKzE0
Myw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qg
c3BhY2VOZWVkZWQpIGZpbmFsOwogICAgIHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmln
aW5RdW90YShXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYsIGludDY0X3Qgc3BhY2VOZWVkZWQpIGZp
bmFsOwogCi0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgIHZvaWQgYW5ub3RhdGVk
UmVnaW9uc0NoYW5nZWQoKSBmaW5hbDsKLSNlbmRpZgotCiAgICAgYm9vbCBzaG91bGRSZXBsYWNl
V2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgU3RyaW5nJiBwYXRoLCBTdHJpbmcmIGdl
bmVyYXRlZEZpbGVuYW1lKSBmaW5hbDsKICAgICBTdHJpbmcgZ2VuZXJhdGVSZXBsYWNlbWVudEZp
bGUoY29uc3QgU3RyaW5nJiBwYXRoKSBmaW5hbDsKICAgICAKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE5LTA2LTA2ICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBkYXNoYm9hcmQgY29kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4NjI0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRMZWdh
Y3kueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0wNi0wNSAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFByb2dyZXNzIHRvd2Fy
ZHMgcmVzdXJyZWN0aW5nIE1hYyBDTWFrZSBidWlsZApJbmRleDogU291cmNlL1dlYktpdExlZ2Fj
eS9XZWJLaXRMZWdhY3kueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02NjQsOCArNjY0LDYg
QEAKIAkJOTNENDM3OUMxRDU3QUJFRjAwQUI4NUVBIC8qIE9iakNFdmVudExpc3RlbmVyLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNENDM2NEExRDU3
QUJFRTAwQUI4NUVBIC8qIE9iakNFdmVudExpc3RlbmVyLm1tICovOyB9OwogCQk5M0Q0Mzc5RDFE
NTdBQkVGMDBBQjg1RUEgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRDQzNjRCMUQ1N0FCRUUwMEFCODVF
QSAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oICovOyB9OwogCQk5M0Q0Mzc5RTFENTdBQkVG
MDBBQjg1RUEgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Q0MzY0QzFENTdBQkVFMDBBQjg1RUEgLyog
T2JqQ05vZGVGaWx0ZXJDb25kaXRpb24ubW0gKi87IH07Ci0JCTkzRTJBMUE0MTIzQjBCM0MwMDlG
RTEyQSAvKiBXZWJEYXNoYm9hcmRSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzRTJBMUEyMTIzQjBCM0MwMDlGRTEyQSAvKiBXZWJEYXNoYm9h
cmRSZWdpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQk5M0UyQTFBNTEyM0IwQjNDMDA5RkUxMkEgLyogV2ViRGFzaGJvYXJkUmVnaW9uLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNFMkExQTMxMjNC
MEIzQzAwOUZFMTJBIC8qIFdlYkRhc2hib2FyZFJlZ2lvbi5tbSAqLzsgfTsKIAkJOTNGREU5MzMw
RDc5Q0FGMzAwNzRGMDI5IC8qIFdlYkhpc3RvcnlJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGREU5MzIwRDc5Q0FGMzAwNzRGMDI5IC8q
IFdlYkhpc3RvcnlJbnRlcm5hbC5oICovOyB9OwogCQlBMTBDMUQxODE4MjAyRjlDMDAzNjg4M0Eg
LyogV2ViRGVmYXVsdEZvcm1EZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTEwQzFEMTAxODIwMkY5QzAwMzY4ODNBIC8qIFdlYkRlZmF1bHRG
b3JtRGVsZWdhdGUuaCAqLzsgfTsKIAkJQTEwQzFEMTkxODIwMkY5QzAwMzY4ODNBIC8qIFdlYkRl
ZmF1bHRGb3JtRGVsZWdhdGUubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExMEMxRDExMTgyMDJGOUMwMDM2ODgzQSAvKiBXZWJEZWZhdWx0Rm9ybURlbGVn
YXRlLm0gKi87IH07CkBAIC0xNDQwLDggKzE0MzgsNiBAQAogCQk5M0Q0MzY0QjFENTdBQkVFMDBB
Qjg1RUEgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTNENDM2NEMxRDU3QUJFRTAwQUI4NUVBIC8qIE9iakNOb2RlRmlsdGVyQ29u
ZGl0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gT2JqQ05v
ZGVGaWx0ZXJDb25kaXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzRDYy
M0REMDUxRTc5MUYwMDJGNDdERCAvKiBsaWJpY3Vjb3JlLmR5bGliICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7
IG5hbWUgPSBsaWJpY3Vjb3JlLmR5bGliOyBwYXRoID0gdXNyL2xpYi9saWJpY3Vjb3JlLmR5bGli
OyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKLQkJOTNFMkExQTIxMjNCMEIzQzAwOUZFMTJBIC8q
IFdlYkRhc2hib2FyZFJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJEYXNoYm9hcmRSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTNFMkEx
QTMxMjNCMEIzQzAwOUZFMTJBIC8qIFdlYkRhc2hib2FyZFJlZ2lvbi5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkRhc2hib2FyZFJlZ2lvbi5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNGREU5MzIwRDc5Q0FGMzAwNzRGMDI5IC8qIFdlYkhp
c3RvcnlJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJIaXN0
b3J5SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUNBRTlEMDcwMjUy
QTQxMzBFQ0ExNkVBIC8qIFdlYlByZWZlcmVuY2VzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsK
IAkJOUNGMEUyNDkwMjEzNjFCMDBFQ0ExNkVBIC8qIFdlYkZyYW1lUHJpdmF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkZyYW1lUHJpdmF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKQEAgLTIwMTksOCArMjAxNSw2IEBACiAJCQkJNDRCQjhCMTMxMjQxQTAyMjAwMUUzQTIyIC8q
IFdlYkFyY2hpdmVJbnRlcm5hbC5oICovLAogCQkJCTkzM0Q2NTk5MDM0MTNGRjIwMDg2MzVDRSAv
KiBXZWJDbGlwVmlldy5oICovLAogCQkJCTkzM0Q2NTlBMDM0MTNGRjIwMDg2MzVDRSAvKiBXZWJD
bGlwVmlldy5tbSAqLywKLQkJCQk5M0UyQTFBMjEyM0IwQjNDMDA5RkUxMkEgLyogV2ViRGFzaGJv
YXJkUmVnaW9uLmggKi8sCi0JCQkJOTNFMkExQTMxMjNCMEIzQzAwOUZFMTJBIC8qIFdlYkRhc2hi
b2FyZFJlZ2lvbi5tbSAqLywKIAkJCQkzOTQ0NjA3MDAyMEY1MEVEMEVDQTE3NjcgLyogV2ViRGF0
YVNvdXJjZS5oICovLAogCQkJCTM5NDQ2MDcxMDIwRjUwRUQwRUNBMTc2NyAvKiBXZWJEYXRhU291
cmNlLm1tICovLAogCQkJCTY1OEE0MDk1MEExNDg1M0IwMDVFNjk4NyAvKiBXZWJEYXRhU291cmNl
SW50ZXJuYWwuaCAqLywKQEAgLTI5NTEsNyArMjk0NSw2IEBACiAJCQkJMDY1QUQ1QTMwQjBDMzJD
NzAwNUEyQjFEIC8qIFdlYkNvbnRleHRNZW51Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5
Mzk4MTAxNjA4MjRCRjAxMDA4REYwMzggLyogV2ViQ29yZVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxM0U3ODJDMUU1QTczNjUwMDE4NDlEMSAvKiBXZWJDcmVhdGVGcmFnbWVudElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKLQkJCQk5M0UyQTFBNDEyM0IwQjNDMDA5RkUxMkEgLyog
V2ViRGFzaGJvYXJkUmVnaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTFGM0ZENzBDRUNDODhG
MDA4NTI1NjUgLyogV2ViRGF0YWJhc2VNYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MUFFREVGMTBDRUNGNDU3MDA4NTQzMjggLyogV2ViRGF0YWJhc2VNYW5hZ2VySW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxMUYzRkQ2MENFQ0M4OEYwMDg1MjU2NSAvKiBXZWJEYXRh
YmFzZU1hbmFnZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTM1MTUsNyArMzUwOCw2IEBA
CiAJCQkJOTM5ODEwRUIwODI0QkYwMTAwOERGMDM4IC8qIFdlYkNsaXBWaWV3Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDY1QUQ1QTQwQjBDMzJDNzAwNUEyQjFEIC8qIFdlYkNvbnRleHRNZW51Q2xp
ZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5ODEwQkYwODI0QkYwMTAwOERGMDM4IC8qIFdl
YkNvcmVTdGF0aXN0aWNzLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJOTNFMkExQTUxMjNCMEIzQzAw
OUZFMTJBIC8qIFdlYkRhc2hib2FyZFJlZ2lvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMUYz
RkQ1MENFQ0M4OEYwMDg1MjU2NSAvKiBXZWJEYXRhYmFzZU1hbmFnZXIubW0gaW4gU291cmNlcyAq
LywKIAkJCQk1MTFGM0ZEODBDRUNDODhGMDA4NTI1NjUgLyogV2ViRGF0YWJhc2VNYW5hZ2VyQ2xp
ZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBODNGODMxQTVDNEFFNDAwMDI2RUM2IC8qIFdl
YkRhdGFiYXNlUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEgKzEsMzUgQEAKKzIwMTktMDYtMDYgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIGRhc2hib2Fy
ZCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTg2MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6YW5ub3RhdGVkUmVn
aW9uc0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViQ2xpcFZpZXcubW06
CisgICAgICAgICgtW1dlYkNsaXBWaWV3IHNjcm9sbFdoZWVsOl0pOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViRGFzaGJvYXJkUmVnaW9uLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViVmlldy9XZWJE
YXNoYm9hcmRSZWdpb24ubW06IFJlbW92ZWQuCisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmll
dy5tbToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3VwZGF0ZU1vdXNlb3ZlcldpdGhFdmVudDpd
KToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgYWNjZXB0c0ZpcnN0TW91c2U6XSk6CisgICAgICAg
ICgtW1dlYkhUTUxWaWV3IHNldERhdGFTb3VyY2U6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJV
SURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV2ViVmlldyBfbmVlZHNQcmVIVE1MNVBhcnNlclF1aXJrc10pOgorICAgICAgICAoLVtX
ZWJWaWV3IF9hZGRDb250cm9sUmVjdDpjbGlwOmZyb21WaWV3OnRvRGFzaGJvYXJkUmVnaW9uczpd
KTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViVmlldyBfYWRkU2Nyb2xsZXJEYXNoYm9hcmRSZWdp
b25zRm9yRnJhbWVWaWV3OmRhc2hib2FyZFJlZ2lvbnM6XSk6IERlbGV0ZWQuCisgICAgICAgICgt
W1dlYlZpZXcgX2FkZFNjcm9sbGVyRGFzaGJvYXJkUmVnaW9uczpmcm9tOl0pOiBEZWxldGVkLgor
ICAgICAgICAoLVtXZWJWaWV3IF9hZGRTY3JvbGxlckRhc2hib2FyZFJlZ2lvbnM6XSk6IERlbGV0
ZWQuCisgICAgICAgICgtW1dlYlZpZXcgX2Rhc2hib2FyZFJlZ2lvbnNdKTogRGVsZXRlZC4KKyAg
ICAgICAgKC1bV2ViVmlldyBfc2V0RGFzaGJvYXJkQmVoYXZpb3I6dG86XSk6IERlbGV0ZWQuCisg
ICAgICAgICgtW1dlYlZpZXcgX2Rhc2hib2FyZEJlaGF2aW9yOl0pOiBEZWxldGVkLgorICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlld0RhdGEuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRh
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3UHJpdmF0ZSBpbml0XSk6CisgICAgICAgICogV2ViVmll
dy9XZWJWaWV3UHJpdmF0ZS5oOgorCiA9PSBSb2xsZWQgb3ZlciB0byBDaGFuZ2VMb2ctMjAxOS0w
Ni0wNSA9PQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDI0NjE3
MikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsOSArMTE3LDYgQEAgRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUiA9IDsKIEVOQUJMRV9EQVJLX01PREVfQ1NTID0gJChFTkFCTEVf
REFSS19NT0RFX0NTU18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9EQVJLX01PREVfQ1NT
X21hY29zeCA9IEVOQUJMRV9EQVJLX01PREVfQ1NTOwogCi1FTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQgPSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVF8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLUVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVF9tYWNvc3ggPSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7
Ci0KIEVOQUJMRV9EQVRBQ1VFX1ZBTFVFID0gRU5BQkxFX0RBVEFDVUVfVkFMVUU7CiAKIEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UID0gRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQ7CkBAIC00NDUsNCAr
NDQyLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRQogCiBFTkFC
TEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VT
U0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxF
X0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChF
TkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJT
RUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQo
RU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQo
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRB
TE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkg
JChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMp
ICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9QUk9DRVNT
X1NBTkRCT1gpICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lC
SUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQ
UExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19M
T09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJ
U1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQ
RUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1BST0NFU1NfU0FOREJPWCkgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTI2
LDEwICsxMjYsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVhY2hlZE1heEFwcENhY2hlU2l6ZShp
bnQ2NF90IHNwYWNlTmVlZGVkKSBmaW5hbDsKICAgICB2b2lkIHJlYWNoZWRBcHBsaWNhdGlvbkNh
Y2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mLCBpbnQ2NF90IHRvdGFsU3Bh
Y2VOZWVkZWQpIGZpbmFsOwogCi0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgIHZv
aWQgYW5ub3RhdGVkUmVnaW9uc0NoYW5nZWQoKSBmaW5hbDsKLSNlbmRpZgotCiAgICAgdm9pZCBy
dW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUmLCBXZWJDb3JlOjpGaWxlQ2hvb3NlciYpIG92ZXJy
aWRlOwogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQoV2ViQ29yZTo6U2hhcmVEYXRhV2l0aFBhcnNl
ZFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHdvcmtpbmcgY29weSkK
QEAgLTcwNiwxNyArNzA2LDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlYWNoZWRBcHBsaWNh
dGlvbgogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9CiAKLSNpZiBFTkFCTEUoREFT
SEJPQVJEX1NVUFBPUlQpCi0KLXZvaWQgV2ViQ2hyb21lQ2xpZW50Ojphbm5vdGF0ZWRSZWdpb25z
Q2hhbmdlZCgpCi17Ci0gICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotICAgIENhbGxV
SURlbGVnYXRlKG1fd2ViVmlldywgQHNlbGVjdG9yKHdlYlZpZXc6ZGFzaGJvYXJkUmVnaW9uc0No
YW5nZWQ6KSwgW21fd2ViVmlldyBfZGFzaGJvYXJkUmVnaW9uc10pOwotICAgIEVORF9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7Ci19Ci0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09M
T1IpCiAKIHN0ZDo6dW5pcXVlX3B0cjxDb2xvckNob29zZXI+IFdlYkNocm9tZUNsaWVudDo6Y3Jl
YXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCYgY2xpZW50LCBjb25zdCBDb2xvciYg
aW5pdGlhbENvbG9yKQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJD
bGlwVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYkNsaXBWaWV3Lm1tCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYkNsaXBWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNzQsMTUgKzE3
NCw4IEBAIC0gKE5TUmVjdClfZm9jdXNSaW5nVmlzaWJsZVJlY3QKIC0gKHZvaWQpc2Nyb2xsV2hl
ZWw6KE5TRXZlbnQgKilldmVudAogewogICAgIE5TVmlldyAqZG9jVmlldyA9IFtzZWxmIGRvY3Vt
ZW50Vmlld107Ci0gICAgaWYgKFtkb2NWaWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
X3dlYlZpZXcpXSkgewotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSAgICAgICAgV2Vi
VmlldyAqd3YgPSBbZG9jVmlldyBfd2ViVmlld107Ci0gICAgICAgIGlmIChbd3YgX2Rhc2hib2Fy
ZEJlaGF2aW9yOldlYkRhc2hib2FyZEJlaGF2aW9yQWxsb3dXaGVlbFNjcm9sbGluZ10pIHsKLSAg
ICAgICAgICAgIFtzdXBlciBzY3JvbGxXaGVlbDpldmVudF07Ci0gICAgICAgIH0KLSNlbmRpZgor
ICAgIGlmIChbZG9jVmlldyByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3KV0p
CiAgICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgW3N1cGVyIHNjcm9sbFdoZWVsOmV2ZW50XTsK
IH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXNoYm9hcmRS
ZWdpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkRhc2hib2FyZFJlZ2lvbi5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkRhc2hib2FyZFJlZ2lvbi5oCShub25leGlzdGVudCkKQEAgLTEs
NTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCBBcHBsZSBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUIDEKLSNlbmRpZgotCi0jaWYgRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUCi0KLXR5cGVkZWYgZW51bSB7Ci0gICAgV2ViRGFzaGJvYXJkUmVnaW9uVHlwZU5vbmUsCi0g
ICAgV2ViRGFzaGJvYXJkUmVnaW9uVHlwZUNpcmNsZSwKLSAgICBXZWJEYXNoYm9hcmRSZWdpb25U
eXBlUmVjdGFuZ2xlLAotICAgIFdlYkRhc2hib2FyZFJlZ2lvblR5cGVTY3JvbGxlclJlY3Rhbmds
ZQotfSBXZWJEYXNoYm9hcmRSZWdpb25UeXBlOwotCi1AaW50ZXJmYWNlIFdlYkRhc2hib2FyZFJl
Z2lvbiA6IE5TT2JqZWN0IDxOU0NvcHlpbmc+Ci17Ci0gICAgTlNSZWN0IHJlY3Q7Ci0gICAgTlNS
ZWN0IGNsaXA7Ci0gICAgV2ViRGFzaGJvYXJkUmVnaW9uVHlwZSB0eXBlOwotfQotLSAoaWQpaW5p
dFdpdGhSZWN0OihOU1JlY3QpcmVjdCBjbGlwOihOU1JlY3QpY2xpcCB0eXBlOihXZWJEYXNoYm9h
cmRSZWdpb25UeXBlKXR5cGU7Ci0tIChOU1JlY3QpZGFzaGJvYXJkUmVnaW9uQ2xpcDsKLS0gKE5T
UmVjdClkYXNoYm9hcmRSZWdpb25SZWN0OwotLSAoV2ViRGFzaGJvYXJkUmVnaW9uVHlwZSlkYXNo
Ym9hcmRSZWdpb25UeXBlOwotQGVuZAotCi0jZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRGFzaGJvYXJkUmVnaW9uLmgKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYkRhc2hib2FyZFJlZ2lvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhc2hib2FyZFJlZ2lvbi5tbQkocmV2aXNpb24gMjQ2MTcy
KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXNoYm9hcmRSZWdpb24u
bW0JKG5vbmV4aXN0ZW50KQpAQCAtMSw5NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDA0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbXBvcnQgIldlYkRhc2hib2FyZFJlZ2lvbi5oIgot
Ci0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotCi1AaW1wbGVtZW50YXRpb24gV2ViRGFz
aGJvYXJkUmVnaW9uCi0KLS0gKGlkKWluaXRXaXRoUmVjdDooTlNSZWN0KXIgY2xpcDooTlNSZWN0
KWMgdHlwZTooV2ViRGFzaGJvYXJkUmVnaW9uVHlwZSl0Ci17Ci0gICAgc2VsZiA9IFtzdXBlciBp
bml0XTsKLSAgICByZWN0ID0gcjsKLSAgICBjbGlwID0gYzsKLSAgICB0eXBlID0gdDsKLSAgICBy
ZXR1cm4gc2VsZjsKLX0KLQotLSAoaWQpY29weVdpdGhab25lOihOU1pvbmUgKil1bnVzZWRab25l
Ci17Ci0gICAgVU5VU0VEX1BBUkFNKHVudXNlZFpvbmUpOwotCi0gICAgcmV0dXJuIFtzZWxmIHJl
dGFpbl07Ci19Ci0KLS0gKE5TUmVjdClkYXNoYm9hcmRSZWdpb25DbGlwCi17Ci0gICAgcmV0dXJu
IGNsaXA7Ci19Ci0KLS0gKE5TUmVjdClkYXNoYm9hcmRSZWdpb25SZWN0Ci17Ci0gICAgcmV0dXJu
IHJlY3Q7Ci19Ci0KLS0gKFdlYkRhc2hib2FyZFJlZ2lvblR5cGUpZGFzaGJvYXJkUmVnaW9uVHlw
ZQotewotICAgIHJldHVybiB0eXBlOwotfQotCi1zdGF0aWMgY29uc3QgY2hhciogdHlwZU5hbWUo
V2ViRGFzaGJvYXJkUmVnaW9uVHlwZSB0eXBlKQotewotICAgIHN3aXRjaCAodHlwZSkgewotICAg
IGNhc2UgV2ViRGFzaGJvYXJkUmVnaW9uVHlwZU5vbmU6Ci0gICAgICAgIHJldHVybiAiTm9uZSI7
Ci0gICAgY2FzZSBXZWJEYXNoYm9hcmRSZWdpb25UeXBlQ2lyY2xlOgotICAgICAgICByZXR1cm4g
IkNpcmNsZSI7Ci0gICAgY2FzZSBXZWJEYXNoYm9hcmRSZWdpb25UeXBlUmVjdGFuZ2xlOgotICAg
ICAgICByZXR1cm4gIlJlY3RhbmdsZSI7Ci0gICAgY2FzZSBXZWJEYXNoYm9hcmRSZWdpb25UeXBl
U2Nyb2xsZXJSZWN0YW5nbGU6Ci0gICAgICAgIHJldHVybiAiU2Nyb2xsZXJSZWN0YW5nbGUiOwot
ICAgIH0KLSAgICByZXR1cm4gIlVua25vd24iOwotfQotCi0tIChOU1N0cmluZyAqKWRlc2NyaXB0
aW9uCi17Ci0gICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAicmVjdDolQCBj
bGlwOiVAIHR5cGU6JXMiLCBOU1N0cmluZ0Zyb21SZWN0KHJlY3QpLCBOU1N0cmluZ0Zyb21SZWN0
KGNsaXApLCB0eXBlTmFtZSh0eXBlKV07Ci19Ci0KLS8vIEZJWE1FOiBPdmVycmlkaW5nIGlzRXF1
YWw6IHdpdGhvdXQgb3ZlcnJpZGluZyBoYXNoIHdpbGwgY2F1c2UgdHJvdWJsZSBpZiB0aGlzIGV2
ZXIgZ29lcyBpbnRvIGFuIE5TU2V0IG9yIGlzIHRoZSBrZXkgaW4gYW4gTlNEaWN0aW9uYXJ5LAot
Ly8gc2luY2UgdHdvIGVxdWFsIG9iamVjdHMgY291bGQgaGF2ZSBkaWZmZXJlbnQgaGFzaGVzLgot
LSAoQk9PTClpc0VxdWFsOihpZClvdGhlcgotewotICAgIGlmICghW290aGVyIGlzS2luZE9mQ2xh
c3M6W1dlYkRhc2hib2FyZFJlZ2lvbiBjbGFzc11dKQotICAgICAgICByZXR1cm4gTk87Ci0KLSAg
ICByZXR1cm4gTlNFcXVhbFJlY3RzKHJlY3QsIFtvdGhlciBkYXNoYm9hcmRSZWdpb25SZWN0XSkg
JiYgTlNFcXVhbFJlY3RzKGNsaXAsIFtvdGhlciBkYXNoYm9hcmRSZWdpb25DbGlwXSkgJiYgdHlw
ZSA9PSBbb3RoZXIgZGFzaGJvYXJkUmVnaW9uVHlwZV07Ci19Ci0KLUBlbmQKLQotI2VuZGlmCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRh
c2hib2FyZFJlZ2lvbi5tbQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEg
KzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQkocmV2aXNp
b24gMjQ2MTcyKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmll
dy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTk4MywxNCArMTk4Myw5IEBAIC0gKHZvaWQpX3VwZGF0
ZU1vdXNlb3ZlcldpdGhFdmVudDooTlNFdmUKICAgICAgICAgICAgIC8vIElmIGl0IGlzIG9uZSBv
ZiB0aG9zZSBjYXNlcyB3aGVyZSB0aGUgcGFnZSBpcyBub3QgYWN0aXZlIGFuZCB0aGUgbW91c2Ug
aXMgbm90IHByZXNzZWQsIHRoZW4gd2UgY2FuCiAgICAgICAgICAgICAvLyBmaXJlIGEgbXVjaCBt
b3JlIHJlc3RyaWN0ZWQgYW5kIGVmZmljaWVudCBzY3JvbGxiYXJzLW9ubHkgdmVyc2lvbiBvZiB0
aGUgZXZlbnQuCiAKLSAgICAgICAgICAgIGlmIChbW3NlbGYgd2luZG93XSBpc0tleVdpbmRvd10g
Ci0gICAgICAgICAgICAgICAgfHwgbW91c2VFdmVudElzUGFydE9mQ2xpY2tPckRyYWcoZXZlbnQp
Ci0jaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgICAgICAgICAgICAgIHx8IFtbc2Vs
ZiBfd2ViVmlld10gX2Rhc2hib2FyZEJlaGF2aW9yOldlYkRhc2hib2FyZEJlaGF2aW9yQWx3YXlz
U2VuZE1vdXNlRXZlbnRzVG9BbGxXaW5kb3dzXQotI2VuZGlmCi0gICAgICAgICAgICAgICAgKSB7
CisgICAgICAgICAgICBpZiAoW1tzZWxmIHdpbmRvd10gaXNLZXlXaW5kb3ddIHx8IG1vdXNlRXZl
bnRJc1BhcnRPZkNsaWNrT3JEcmFnKGV2ZW50KSkKICAgICAgICAgICAgICAgICBjb3JlRnJhbWUt
PmV2ZW50SGFuZGxlcigpLm1vdXNlTW92ZWQoZXZlbnQsIFtbc2VsZiBfd2ViVmlld10gX3ByZXNz
dXJlRXZlbnRdKTsKLSAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBlbHNlIHsKICAg
ICAgICAgICAgICAgICBbc2VsZiByZW1vdmVBbGxUb29sVGlwc107CiAgICAgICAgICAgICAgICAg
Y29yZUZyYW1lLT5ldmVudEhhbmRsZXIoKS5wYXNzTW91c2VNb3ZlZEV2ZW50VG9TY3JvbGxiYXJz
KGV2ZW50LCBbW3NlbGYgX3dlYlZpZXddIF9wcmVzc3VyZUV2ZW50XSk7CiAgICAgICAgICAgICB9
CkBAIC00MTQ3LDEyICs0MTQyLDcgQEAgLSAoQk9PTClhY2NlcHRzRmlyc3RNb3VzZTooTlNFdmVu
dCAqKWV2ZQogCiAgICAgTlNWaWV3ICpoaXRWaWV3ID0gW3NlbGYgX2hpdFZpZXdGb3JFdmVudDpl
dmVudF07CiAgICAgV2ViSFRNTFZpZXcgKmhpdEhUTUxWaWV3ID0gW2hpdFZpZXcgaXNLaW5kT2ZD
bGFzczpbc2VsZiBjbGFzc11dID8gKFdlYkhUTUxWaWV3ICopaGl0VmlldyA6IG5pbDsKLSAgICAK
LSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgaWYgKFtbc2VsZiBfd2ViVmlld10g
X2Rhc2hib2FyZEJlaGF2aW9yOldlYkRhc2hib2FyZEJlaGF2aW9yQWx3YXlzQWNjZXB0c0ZpcnN0
TW91c2VdKQotICAgICAgICByZXR1cm4gWUVTOwotI2VuZGlmCi0gICAgCisKICAgICBpZiAoaGl0
SFRNTFZpZXcpIHsKICAgICAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKICAgICAgICAgaWYgKEZy
YW1lKiBjb3JlRnJhbWUgPSBjb3JlKFtoaXRIVE1MVmlldyBfZnJhbWVdKSkgewpAQCAtNDY4Nywx
MSArNDY3Nyw3IEBAIC0gKHZvaWQpc2V0RGF0YVNvdXJjZTooV2ViRGF0YVNvdXJjZSAqKWQKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFfcHJpdmF0ZS0+aW5zdGFsbGVkVHJhY2tpbmdBcmVh
KSB7CiAgICAgICAgIE5TVHJhY2tpbmdBcmVhT3B0aW9ucyBvcHRpb25zID0gTlNUcmFja2luZ01v
dXNlTW92ZWQgfCBOU1RyYWNraW5nTW91c2VFbnRlcmVkQW5kRXhpdGVkIHwgTlNUcmFja2luZ0lu
VmlzaWJsZVJlY3QgfCBOU1RyYWNraW5nQ3Vyc29yVXBkYXRlOwotICAgICAgICBpZiAoX05TUmVj
b21tZW5kZWRTY3JvbGxlclN0eWxlKCkgPT0gTlNTY3JvbGxlclN0eWxlTGVnYWN5Ci0jaWYgRU5B
QkxFKERBU0hCT0FSRF9TVVBQT1JUKQotICAgICAgICAgICAgfHwgW1tzZWxmIF93ZWJWaWV3XSBf
ZGFzaGJvYXJkQmVoYXZpb3I6V2ViRGFzaGJvYXJkQmVoYXZpb3JBbHdheXNTZW5kTW91c2VFdmVu
dHNUb0FsbFdpbmRvd3NdCi0jZW5kaWYKLSAgICAgICAgICAgICkKKyAgICAgICAgaWYgKF9OU1Jl
Y29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpID09IE5TU2Nyb2xsZXJTdHlsZUxlZ2FjeSkKICAgICAg
ICAgICAgIG9wdGlvbnMgfD0gTlNUcmFja2luZ0FjdGl2ZUFsd2F5czsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgb3B0aW9ucyB8PSBOU1RyYWNraW5nQWN0aXZlSW5LZXlXaW5kb3c7CkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJVSURlbGVn
YXRlUHJpdmF0ZS5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDE0
ICsyOSw2IEBACiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kvV2ViQWxsb3dEZW55UG9saWN5TGlzdGVu
ZXIuaD4KICNpbXBvcnQgPFdlYktpdExlZ2FjeS9XZWJVSURlbGVnYXRlLmg+CiAKLSNpZiAhZGVm
aW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jaWYgIVRBUkdFVF9PU19JUEhPTkUKLSNk
ZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEKLSNlbHNlCi0jZGVmaW5lIEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCAwCi0jZW5kaWYKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKQogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAjZGVmaW5lIEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSAxCkBAIC0yMDIsMTEgKzE5NCw2IEBAIEBpbnRlcmZhY2UgTlNPYmplY3Qg
KFdlYlVJRGVsZWdhdGVQcml2YXQKIAogLSAoTlNWaWV3ICopd2ViVmlldzooV2ViVmlldyAqKXdl
YlZpZXcgcGx1Z0luVmlld1dpdGhBcmd1bWVudHM6KE5TRGljdGlvbmFyeSAqKWFyZ3VtZW50czsK
IAotI2lmIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVAotLy8gcmVnaW9ucyBpcyBhbiBkaWN0aW9u
YXJ5IHdob3NlIGtleXMgYXJlIHJlZ2lvbnMgbGFiZWwgYW5kIHZhbHVlcyBhcmUgYXJyYXlzIG9m
IFdlYkRhc2hib2FyZFJlZ2lvbnMuCi0tICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3
IGRhc2hib2FyZFJlZ2lvbnNDaGFuZ2VkOihOU0RpY3Rpb25hcnkgKilyZWdpb25zOwotI2VuZGlm
Ci0KICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2Vu
ZGVyIGRyYWdJbWFnZTooTlNJbWFnZSAqKWFuSW1hZ2UgYXQ6KE5TUG9pbnQpdmlld0xvY2F0aW9u
IG9mZnNldDooTlNTaXplKWluaXRpYWxPZmZzZXQgZXZlbnQ6KE5TRXZlbnQgKilldmVudCBwYXN0
ZWJvYXJkOihOU1Bhc3RlYm9hcmQgKilwYm9hcmQgc291cmNlOihpZClzb3VyY2VPYmogc2xpZGVC
YWNrOihCT09MKXNsaWRlRmxhZyBmb3JWaWV3OihOU1ZpZXcgKil2aWV3OwogI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAy
NDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTMwNCwxMCArMzA0LDYgQEAKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9j
Lmg+CiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKLSNpbXBvcnQgPFdl
YktpdExlZ2FjeS9XZWJEYXNoYm9hcmRSZWdpb24uaD4KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3Iu
aD4KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMjgwMSwxMSArMjc5Nyw2IEBAIC0gKEJP
T0wpX25lZWRzUHJlSFRNTDVQYXJzZXJRdWlya3MKIAogICAgIHJldHVybiBpc0FwcGxpY2F0aW9u
TmVlZGluZ1BhcnNlclF1aXJrcwogICAgICAgICB8fCBpc0FwcGxlTWFpbAotI2lmIEVOQUJMRShE
QVNIQk9BUkRfU1VQUE9SVCkKLSAgICAgICAgLy8gUHJlLUhUTUw1IHBhcnNlciBxdWlya3MgYXJl
IHJlcXVpcmVkIHRvIHJlbWFpbiBjb21wYXRpYmxlIHdpdGggbWFueQotICAgICAgICAvLyBEYXNo
Ym9hcmQgd2lkZ2V0cy4gU2VlIDxyZGFyOi8vcHJvYmxlbS84MTc1OTgyPi4KLSAgICAgICAgfHwg
KF9wcml2YXRlLT5wYWdlICYmIF9wcml2YXRlLT5wYWdlLT5zZXR0aW5ncygpLnVzZXNEYXNoYm9h
cmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkpCi0jZW5kaWYKICAgICAgICAgfHwgW1tzZWxm
IHByZWZlcmVuY2VzXSB1c2VQcmVIVE1MNVBhcnNlclF1aXJrc107CiAjZWxzZQogICAgIHJldHVy
biBbW3NlbGYgcHJlZmVyZW5jZXNdIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzXTsKQEAgLTM3NjYs
MTg1ICszNzU3LDYgQEAgLSAodm9pZClfZGlkQ29tbWl0TG9hZEZvckZyYW1lOihXZWJGcmFtZQog
CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAotI2lmIEVOQUJMRShEQVNIQk9BUkRf
U1VQUE9SVCkKLQotI2RlZmluZSBEQVNIQk9BUkRfQ09OVFJPTF9MQUJFTCBAImNvbnRyb2wiCi0K
LS0gKHZvaWQpX2FkZENvbnRyb2xSZWN0OihOU1JlY3QpYm91bmRzIGNsaXA6KE5TUmVjdCljbGlw
IGZyb21WaWV3OihOU1ZpZXcgKil2aWV3IHRvRGFzaGJvYXJkUmVnaW9uczooTlNNdXRhYmxlRGlj
dGlvbmFyeSAqKXJlZ2lvbnMKLXsKLSAgICBOU1JlY3QgYWRqdXN0ZWRCb3VuZHMgPSBib3VuZHM7
Ci0gICAgYWRqdXN0ZWRCb3VuZHMub3JpZ2luID0gW3NlbGYgY29udmVydFBvaW50OmJvdW5kcy5v
cmlnaW4gZnJvbVZpZXc6dmlld107Ci0gICAgYWRqdXN0ZWRCb3VuZHMub3JpZ2luLnkgPSBbc2Vs
ZiBib3VuZHNdLnNpemUuaGVpZ2h0IC0gYWRqdXN0ZWRCb3VuZHMub3JpZ2luLnk7Ci0gICAgYWRq
dXN0ZWRCb3VuZHMuc2l6ZSA9IGJvdW5kcy5zaXplOwotCi0gICAgTlNSZWN0IGFkanVzdGVkQ2xp
cDsKLSAgICBhZGp1c3RlZENsaXAub3JpZ2luID0gW3NlbGYgY29udmVydFBvaW50OmNsaXAub3Jp
Z2luIGZyb21WaWV3OnZpZXddOwotICAgIGFkanVzdGVkQ2xpcC5vcmlnaW4ueSA9IFtzZWxmIGJv
dW5kc10uc2l6ZS5oZWlnaHQgLSBhZGp1c3RlZENsaXAub3JpZ2luLnk7Ci0gICAgYWRqdXN0ZWRD
bGlwLnNpemUgPSBjbGlwLnNpemU7Ci0KLSAgICBXZWJEYXNoYm9hcmRSZWdpb24gKnJlZ2lvbiA9
IFtbV2ViRGFzaGJvYXJkUmVnaW9uIGFsbG9jXSBpbml0V2l0aFJlY3Q6YWRqdXN0ZWRCb3VuZHMg
Ci0gICAgICAgIGNsaXA6YWRqdXN0ZWRDbGlwIHR5cGU6V2ViRGFzaGJvYXJkUmVnaW9uVHlwZVNj
cm9sbGVyUmVjdGFuZ2xlXTsKLSAgICBOU011dGFibGVBcnJheSAqc2Nyb2xsZXJSZWdpb25zID0g
W3JlZ2lvbnMgb2JqZWN0Rm9yS2V5OkRBU0hCT0FSRF9DT05UUk9MX0xBQkVMXTsKLSAgICBpZiAo
IXNjcm9sbGVyUmVnaW9ucykgewotICAgICAgICBzY3JvbGxlclJlZ2lvbnMgPSBbW05TTXV0YWJs
ZUFycmF5IGFsbG9jXSBpbml0XTsKLSAgICAgICAgW3JlZ2lvbnMgc2V0T2JqZWN0OnNjcm9sbGVy
UmVnaW9ucyBmb3JLZXk6REFTSEJPQVJEX0NPTlRST0xfTEFCRUxdOwotICAgICAgICBbc2Nyb2xs
ZXJSZWdpb25zIHJlbGVhc2VdOwotICAgIH0KLSAgICBbc2Nyb2xsZXJSZWdpb25zIGFkZE9iamVj
dDpyZWdpb25dOwotICAgIFtyZWdpb24gcmVsZWFzZV07Ci19Ci0KLS0gKHZvaWQpX2FkZFNjcm9s
bGVyRGFzaGJvYXJkUmVnaW9uc0ZvckZyYW1lVmlldzooRnJhbWVWaWV3KilmcmFtZVZpZXcgZGFz
aGJvYXJkUmVnaW9uczooTlNNdXRhYmxlRGljdGlvbmFyeSAqKXJlZ2lvbnMKLXsgICAgCi0gICAg
TlNWaWV3ICpkb2N1bWVudFZpZXcgPSBbW2tpdCgmZnJhbWVWaWV3LT5mcmFtZSgpKSBmcmFtZVZp
ZXddIGRvY3VtZW50Vmlld107Ci0KLSAgICBmb3IgKGNvbnN0IGF1dG8mIHdpZGdldDogZnJhbWVW
aWV3LT5jaGlsZHJlbigpKSB7Ci0gICAgICAgIGlmIChpczxGcmFtZVZpZXc+KHdpZGdldCkpIHsK
LSAgICAgICAgICAgIFtzZWxmIF9hZGRTY3JvbGxlckRhc2hib2FyZFJlZ2lvbnNGb3JGcmFtZVZp
ZXc6JmRvd25jYXN0PEZyYW1lVmlldz4od2lkZ2V0LmdldCgpKSBkYXNoYm9hcmRSZWdpb25zOnJl
Z2lvbnNdOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAo
IXdpZGdldC0+aXNTY3JvbGxiYXIoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCByZWFsbHkgcGFzcyBhbiBhcHByb3ByaWF0ZSBjbGlwLCBi
dXQgb3VyIGZpcnN0IHRyeSBnb3QgaXQgd3JvbmcsIGFuZAotICAgICAgICAvLyBpdCdzIG5vdCBj
b21tb24gdG8gbmVlZCB0aGlzIHRvIGJlIGNvcnJlY3QgaW4gRGFzaGJvYXJkIHdpZGdldHMuCi0g
ICAgICAgIE5TUmVjdCBib3VuZHMgPSB3aWRnZXQtPmZyYW1lUmVjdCgpOwotICAgICAgICBbc2Vs
ZiBfYWRkQ29udHJvbFJlY3Q6Ym91bmRzIGNsaXA6Ym91bmRzIGZyb21WaWV3OmRvY3VtZW50Vmll
dyB0b0Rhc2hib2FyZFJlZ2lvbnM6cmVnaW9uc107Ci0gICAgfQotfQotCi0tICh2b2lkKV9hZGRT
Y3JvbGxlckRhc2hib2FyZFJlZ2lvbnM6KE5TTXV0YWJsZURpY3Rpb25hcnkgKilyZWdpb25zIGZy
b206KE5TQXJyYXkgKil2aWV3cwotewotICAgIC8vIEFkZCBzY3JvbGxlciByZWdpb25zIGZvciBO
U1Njcm9sbGVyIGFuZCBXZWJDb3JlIHNjcm9sbGJhcnMKLSAgICBOU1VJbnRlZ2VyIGNvdW50ID0g
W3ZpZXdzIGNvdW50XTsKLSAgICBmb3IgKE5TVUludGVnZXIgaSA9IDA7IGkgPCBjb3VudDsgaSsr
KSB7Ci0gICAgICAgIE5TVmlldyAqdmlldyA9IFt2aWV3cyBvYmplY3RBdEluZGV4OmldOwotICAg
ICAgICAKLSAgICAgICAgaWYgKFt2aWV3IGlzS2luZE9mQ2xhc3M6W1dlYkhUTUxWaWV3IGNsYXNz
XV0pIHsKLSAgICAgICAgICAgIGlmIChGcmFtZSogY29yZUZyYW1lID0gY29yZShbKFdlYkhUTUxW
aWV3Kil2aWV3IF9mcmFtZV0pKSB7Ci0gICAgICAgICAgICAgICAgaWYgKEZyYW1lVmlldyogY29y
ZVZpZXcgPSBjb3JlRnJhbWUtPnZpZXcoKSkKLSAgICAgICAgICAgICAgICAgICAgW3NlbGYgX2Fk
ZFNjcm9sbGVyRGFzaGJvYXJkUmVnaW9uc0ZvckZyYW1lVmlldzpjb3JlVmlldyBkYXNoYm9hcmRS
ZWdpb25zOnJlZ2lvbnNdOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKFt2aWV3
IGlzS2luZE9mQ2xhc3M6W05TU2Nyb2xsZXIgY2xhc3NdXSkgewotICAgICAgICAgICAgLy8gQXBw
S2l0IHBsYWNlcyBhYnNlbnQgc2Nyb2xsZXJzIGF0IC0xMDAsLTEwMAotICAgICAgICAgICAgaWYg
KFt2aWV3IGZyYW1lXS5vcmlnaW4ueSA8IDApCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgICAgICBbc2VsZiBfYWRkQ29udHJvbFJlY3Q6W3ZpZXcgYm91bmRzXSBjbGlwOlt2aWV3
IHZpc2libGVSZWN0XSBmcm9tVmlldzp2aWV3IHRvRGFzaGJvYXJkUmVnaW9uczpyZWdpb25zXTsK
LSAgICAgICAgfQotICAgICAgICBbc2VsZiBfYWRkU2Nyb2xsZXJEYXNoYm9hcmRSZWdpb25zOnJl
Z2lvbnMgZnJvbTpbdmlldyBzdWJ2aWV3c11dOwotICAgIH0KLX0KLQotLSAodm9pZClfYWRkU2Ny
b2xsZXJEYXNoYm9hcmRSZWdpb25zOihOU011dGFibGVEaWN0aW9uYXJ5ICopcmVnaW9ucwotewot
ICAgIFtzZWxmIF9hZGRTY3JvbGxlckRhc2hib2FyZFJlZ2lvbnM6cmVnaW9ucyBmcm9tOltzZWxm
IHN1YnZpZXdzXV07Ci19Ci0KLS0gKE5TRGljdGlvbmFyeSAqKV9kYXNoYm9hcmRSZWdpb25zCi17
Ci0gICAgLy8gT25seSByZXR1cm4gcmVnaW9ucyBmcm9tIG1haW4gZnJhbWUuCi0gICAgRnJhbWUq
IG1haW5GcmFtZSA9IFtzZWxmIF9tYWluQ29yZUZyYW1lXTsKLSAgICBpZiAoIW1haW5GcmFtZSkK
LSAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgIGNvbnN0IFZlY3RvcjxBbm5vdGF0ZWRSZWdpb25W
YWx1ZT4mIHJlZ2lvbnMgPSBtYWluRnJhbWUtPmRvY3VtZW50KCktPmFubm90YXRlZFJlZ2lvbnMo
KTsKLSAgICBzaXplX3Qgc2l6ZSA9IHJlZ2lvbnMuc2l6ZSgpOwotCi0gICAgTlNNdXRhYmxlRGlj
dGlvbmFyeSAqd2ViUmVnaW9ucyA9IFtOU011dGFibGVEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRo
Q2FwYWNpdHk6c2l6ZV07Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsK
LSAgICAgICAgY29uc3QgQW5ub3RhdGVkUmVnaW9uVmFsdWUmIHJlZ2lvbiA9IHJlZ2lvbnNbaV07
Ci0KLSAgICAgICAgaWYgKHJlZ2lvbi50eXBlID09IFN0eWxlRGFzaGJvYXJkUmVnaW9uOjpOb25l
KQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgTlNTdHJpbmcgKmxhYmVsID0gcmVn
aW9uLmxhYmVsOwotICAgICAgICBXZWJEYXNoYm9hcmRSZWdpb25UeXBlIHR5cGUgPSBXZWJEYXNo
Ym9hcmRSZWdpb25UeXBlTm9uZTsKLSAgICAgICAgaWYgKHJlZ2lvbi50eXBlID09IFN0eWxlRGFz
aGJvYXJkUmVnaW9uOjpDaXJjbGUpCi0gICAgICAgICAgICB0eXBlID0gV2ViRGFzaGJvYXJkUmVn
aW9uVHlwZUNpcmNsZTsKLSAgICAgICAgZWxzZSBpZiAocmVnaW9uLnR5cGUgPT0gU3R5bGVEYXNo
Ym9hcmRSZWdpb246OlJlY3RhbmdsZSkKLSAgICAgICAgICAgIHR5cGUgPSBXZWJEYXNoYm9hcmRS
ZWdpb25UeXBlUmVjdGFuZ2xlOwotICAgICAgICBOU011dGFibGVBcnJheSAqcmVnaW9uVmFsdWVz
ID0gW3dlYlJlZ2lvbnMgb2JqZWN0Rm9yS2V5OmxhYmVsXTsKLSAgICAgICAgaWYgKCFyZWdpb25W
YWx1ZXMpIHsKLSAgICAgICAgICAgIHJlZ2lvblZhbHVlcyA9IFtbTlNNdXRhYmxlQXJyYXkgYWxs
b2NdIGluaXRXaXRoQ2FwYWNpdHk6MV07Ci0gICAgICAgICAgICBbd2ViUmVnaW9ucyBzZXRPYmpl
Y3Q6cmVnaW9uVmFsdWVzIGZvcktleTpsYWJlbF07Ci0gICAgICAgICAgICBbcmVnaW9uVmFsdWVz
IHJlbGVhc2VdOwotICAgICAgICB9Ci0KLSAgICAgICAgV2ViRGFzaGJvYXJkUmVnaW9uICp3ZWJS
ZWdpb24gPSBbW1dlYkRhc2hib2FyZFJlZ2lvbiBhbGxvY10gaW5pdFdpdGhSZWN0OnNuYXBwZWRJ
bnRSZWN0KHJlZ2lvbi5ib3VuZHMpIGNsaXA6c25hcHBlZEludFJlY3QocmVnaW9uLmNsaXApIHR5
cGU6dHlwZV07Ci0gICAgICAgIFtyZWdpb25WYWx1ZXMgYWRkT2JqZWN0OndlYlJlZ2lvbl07Ci0g
ICAgICAgIFt3ZWJSZWdpb24gcmVsZWFzZV07Ci0gICAgfQotCi0gICAgW3NlbGYgX2FkZFNjcm9s
bGVyRGFzaGJvYXJkUmVnaW9uczp3ZWJSZWdpb25zXTsKLQotICAgIHJldHVybiB3ZWJSZWdpb25z
OwotfQotCi0tICh2b2lkKV9zZXREYXNoYm9hcmRCZWhhdmlvcjooV2ViRGFzaGJvYXJkQmVoYXZp
b3IpYmVoYXZpb3IgdG86KEJPT0wpZmxhZwotewotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBi
bGFua2V0IGFzc2lnbm1lbnQgb25jZSBEYXNoYm9hcmQgYW5kIERhc2hjb2RlIGltcGxlbWVudCAK
LSAgICAvLyBzcGVjaWZpYyBzdXBwb3J0IGZvciB0aGUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBt
b2RlIGZsYWcuCi0gICAgaWYgKGJlaGF2aW9yID09IFdlYkRhc2hib2FyZEJlaGF2aW9yQWxsb3dX
aGVlbFNjcm9sbGluZyAmJiBmbGFnID09IE5PICYmIF9wcml2YXRlLT5wYWdlKQotICAgICAgICBf
cHJpdmF0ZS0+cGFnZS0+c2V0dGluZ3MoKS5zZXRVc2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRp
YmlsaXR5TW9kZSh0cnVlKTsKLSAgICAKLSAgICBzd2l0Y2ggKGJlaGF2aW9yKSB7Ci0gICAgICAg
IGNhc2UgV2ViRGFzaGJvYXJkQmVoYXZpb3JBbHdheXNTZW5kTW91c2VFdmVudHNUb0FsbFdpbmRv
d3M6IHsKLSAgICAgICAgICAgIF9wcml2YXRlLT5kYXNoYm9hcmRCZWhhdmlvckFsd2F5c1NlbmRN
b3VzZUV2ZW50c1RvQWxsV2luZG93cyA9IGZsYWc7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICBjYXNlIFdlYkRhc2hib2FyZEJlaGF2aW9yQWx3YXlzU2VuZEFjdGl2ZU51
bGxFdmVudHNUb1BsdWdJbnM6IHsKLSAgICAgICAgICAgIF9wcml2YXRlLT5kYXNoYm9hcmRCZWhh
dmlvckFsd2F5c1NlbmRBY3RpdmVOdWxsRXZlbnRzVG9QbHVnSW5zID0gZmxhZzsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgV2ViRGFzaGJvYXJkQmVoYXZpb3JB
bHdheXNBY2NlcHRzRmlyc3RNb3VzZTogewotICAgICAgICAgICAgX3ByaXZhdGUtPmRhc2hib2Fy
ZEJlaGF2aW9yQWx3YXlzQWNjZXB0c0ZpcnN0TW91c2UgPSBmbGFnOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBXZWJEYXNoYm9hcmRCZWhhdmlvckFsbG93V2hl
ZWxTY3JvbGxpbmc6IHsKLSAgICAgICAgICAgIF9wcml2YXRlLT5kYXNoYm9hcmRCZWhhdmlvckFs
bG93V2hlZWxTY3JvbGxpbmcgPSBmbGFnOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgY2FzZSBXZWJEYXNoYm9hcmRCZWhhdmlvclVzZUJhY2t3YXJkQ29tcGF0aWJpbGl0
eU1vZGU6IHsKLSAgICAgICAgICAgIGlmIChfcHJpdmF0ZS0+cGFnZSkKLSAgICAgICAgICAgICAg
ICBfcHJpdmF0ZS0+cGFnZS0+c2V0dGluZ3MoKS5zZXRVc2VzRGFzaGJvYXJkQmFja3dhcmRDb21w
YXRpYmlsaXR5TW9kZShmbGFnKTsKLSNpZiBFTkFCTEUoTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpCi0gICAgICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnNldExlZ2FjeUNTU1ZlbmRvclByZWZpeGVzRW5hYmxlZChmbGFnKTsKLSNlbmRpZgotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBQcmUtSFRNTDUgcGFyc2Vy
IHF1aXJrcyBzaG91bGQgYmUgZW5hYmxlZCBpZiBEYXNoYm9hcmQgaXMgaW4gYmFja3dhcmQKLSAg
ICAvLyBjb21wYXRpYmlsaXR5IG1vZGUuIFNlZSA8cmRhcjovL3Byb2JsZW0vODE3NTk4Mj4uCi0g
ICAgaWYgKF9wcml2YXRlLT5wYWdlKQotICAgICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0dGluZ3Mo
KS5zZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhbc2VsZiBfbmVlZHNQcmVIVE1MNVBhcnNlclF1
aXJrc10pOwotfQotCi0tIChCT09MKV9kYXNoYm9hcmRCZWhhdmlvcjooV2ViRGFzaGJvYXJkQmVo
YXZpb3IpYmVoYXZpb3IKLXsKLSAgICBzd2l0Y2ggKGJlaGF2aW9yKSB7Ci0gICAgICAgIGNhc2Ug
V2ViRGFzaGJvYXJkQmVoYXZpb3JBbHdheXNTZW5kTW91c2VFdmVudHNUb0FsbFdpbmRvd3M6IHsK
LSAgICAgICAgICAgIHJldHVybiBfcHJpdmF0ZS0+ZGFzaGJvYXJkQmVoYXZpb3JBbHdheXNTZW5k
TW91c2VFdmVudHNUb0FsbFdpbmRvd3M7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBXZWJEYXNo
Ym9hcmRCZWhhdmlvckFsd2F5c1NlbmRBY3RpdmVOdWxsRXZlbnRzVG9QbHVnSW5zOiB7Ci0gICAg
ICAgICAgICByZXR1cm4gX3ByaXZhdGUtPmRhc2hib2FyZEJlaGF2aW9yQWx3YXlzU2VuZEFjdGl2
ZU51bGxFdmVudHNUb1BsdWdJbnM7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBXZWJEYXNoYm9h
cmRCZWhhdmlvckFsd2F5c0FjY2VwdHNGaXJzdE1vdXNlOiB7Ci0gICAgICAgICAgICByZXR1cm4g
X3ByaXZhdGUtPmRhc2hib2FyZEJlaGF2aW9yQWx3YXlzQWNjZXB0c0ZpcnN0TW91c2U7Ci0gICAg
ICAgIH0KLSAgICAgICAgY2FzZSBXZWJEYXNoYm9hcmRCZWhhdmlvckFsbG93V2hlZWxTY3JvbGxp
bmc6IHsKLSAgICAgICAgICAgIHJldHVybiBfcHJpdmF0ZS0+ZGFzaGJvYXJkQmVoYXZpb3JBbGxv
d1doZWVsU2Nyb2xsaW5nOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgV2ViRGFzaGJvYXJkQmVo
YXZpb3JVc2VCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlOiB7Ci0gICAgICAgICAgICByZXR1cm4g
X3ByaXZhdGUtPnBhZ2UgJiYgX3ByaXZhdGUtPnBhZ2UtPnNldHRpbmdzKCkudXNlc0Rhc2hib2Fy
ZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1
cm4gTk87Ci19Ci0KLSNlbmRpZiAvKiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpICovCi0KICsg
KHZvaWQpX3NldFNob3VsZFVzZUZvbnRTbW9vdGhpbmc6KEJPT0wpZgogewogICAgIEZvbnRDYXNj
YWRlOjpzZXRTaG91bGRVc2VTbW9vdGhpbmcoZik7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI2OSwxMyArMjY5LDYgQEAgQGludGVyZmFjZSBXZWJWaWV3UHJpdmF0ZSA6IE5TT2JqZWN0
IHsKICAgICBCT09MIGhhc1NwZWxsQ2hlY2tlckRvY3VtZW50VGFnOwogICAgIE5TSW50ZWdlciBz
cGVsbENoZWNrZXJEb2N1bWVudFRhZzsKIAotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkK
LSAgICBCT09MIGRhc2hib2FyZEJlaGF2aW9yQWx3YXlzU2VuZE1vdXNlRXZlbnRzVG9BbGxXaW5k
b3dzOwotICAgIEJPT0wgZGFzaGJvYXJkQmVoYXZpb3JBbHdheXNTZW5kQWN0aXZlTnVsbEV2ZW50
c1RvUGx1Z0luczsKLSAgICBCT09MIGRhc2hib2FyZEJlaGF2aW9yQWx3YXlzQWNjZXB0c0ZpcnN0
TW91c2U7Ci0gICAgQk9PTCBkYXNoYm9hcmRCZWhhdmlvckFsbG93V2hlZWxTY3JvbGxpbmc7Ci0j
ZW5kaWYKLSAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEJPT0wgaXNTdG9wcGlu
ZzsKIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdE
YXRhLm1tCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXdEYXRhLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xOTgsMTAgKzE5OCw2IEBAIC0g
KGlkKWluaXQgCiAgICAgLy8gVGhlIGRlZmF1bHQgdmFsdWUgc2hvdWxkIGJlIHN5bmNocm9uaXpl
ZCB3aXRoIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAuCiAgICAgdmFsaWRhdGlvbk1lc3NhZ2VU
aW1lck1hZ25pZmljYXRpb24gPSA1MDsKIAotI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkK
LSAgICBkYXNoYm9hcmRCZWhhdmlvckFsbG93V2hlZWxTY3JvbGxpbmcgPSBZRVM7Ci0jZW5kaWYK
LQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaXNTdG9wcGluZyA9IE5POwogICAgIF9n
ZW9sb2NhdGlvblByb3ZpZGVyID0gW1dlYkdlb2xvY2F0aW9uUHJvdmlkZXJJT1Mgc2hhcmVkR2Vv
bG9jYXRpb25Qcm92aWRlcl07CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXdQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAyNDYxNzIpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDE0ICszNCw2IEBACiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dDb2xvci5oPgogI2VuZGlm
CiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCi0jaWYgVEFSR0VUX09T
X0lQSE9ORQotI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAotI2Vsc2UKLSNkZWZp
bmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDEKLSNlbmRpZgotI2VuZGlmCi0KICNpZiAhZGVm
aW5lZChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikKIC8vIEZJWE1FOiBTaG91bGQgd2UganVzdCBy
ZW1vdmUgdGhpcyBFTkFCTEUgZmxhZyBldmVyeXdoZXJlPwogI2RlZmluZSBFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUiAxCkBAIC0xMjMsMTYgKzExNSw2IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUXVp
Y2tMb29rVVRJS2V5OwogCiBleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBXZWJWaWV3V2lsbENsb3Nl
Tm90aWZpY2F0aW9uOwogCi0jaWYgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUCi10eXBlZGVmIGVu
dW0gewotICAgIFdlYkRhc2hib2FyZEJlaGF2aW9yQWx3YXlzU2VuZE1vdXNlRXZlbnRzVG9BbGxX
aW5kb3dzLAotICAgIFdlYkRhc2hib2FyZEJlaGF2aW9yQWx3YXlzU2VuZEFjdGl2ZU51bGxFdmVu
dHNUb1BsdWdJbnMsCi0gICAgV2ViRGFzaGJvYXJkQmVoYXZpb3JBbHdheXNBY2NlcHRzRmlyc3RN
b3VzZSwKLSAgICBXZWJEYXNoYm9hcmRCZWhhdmlvckFsbG93V2hlZWxTY3JvbGxpbmcsCi0gICAg
V2ViRGFzaGJvYXJkQmVoYXZpb3JVc2VCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlCi19IFdlYkRh
c2hib2FyZEJlaGF2aW9yOwotI2VuZGlmCi0KIHR5cGVkZWYgZW51bSB7CiAgICAgV2ViSW5qZWN0
QXREb2N1bWVudFN0YXJ0LAogICAgIFdlYkluamVjdEF0RG9jdW1lbnRFbmQsCkBAIC01NTMsMTQg
KzUzNSw2IEBAIENvdWxkIGJlIHdvcnRoIGFkZGluZyB0byB0aGUgQVBJLgogLSAoTlNDYWNoZWRV
UkxSZXNwb25zZSAqKV9jYWNoZWRSZXNwb25zZUZvclVSTDooTlNVUkwgKilVUkw7CiAjZW5kaWYK
IAotI2lmIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVAotLSAodm9pZClfYWRkU2Nyb2xsZXJEYXNo
Ym9hcmRSZWdpb25zOihOU011dGFibGVEaWN0aW9uYXJ5ICopcmVnaW9uczsKLS0gKE5TRGljdGlv
bmFyeSAqKV9kYXNoYm9hcmRSZWdpb25zOwotCi0tICh2b2lkKV9zZXREYXNoYm9hcmRCZWhhdmlv
cjooV2ViRGFzaGJvYXJkQmVoYXZpb3IpYmVoYXZpb3IgdG86KEJPT0wpZmxhZzsKLS0gKEJPT0wp
X2Rhc2hib2FyZEJlaGF2aW9yOihXZWJEYXNoYm9hcmRCZWhhdmlvciliZWhhdmlvcjsKLSNlbmRp
ZgotCiArICh2b2lkKV9zZXRTaG91bGRVc2VGb250U21vb3RoaW5nOihCT09MKWY7CiArIChCT09M
KV9zaG91bGRVc2VGb250U21vb3RoaW5nOwogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDYxNzIpCisrKyBUb29scy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAxOS0wNi0wNiAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgZGFzaGJvYXJkIGNv
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODYy
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChUZXN0UnVubmVyOjpzdGF0aWNG
dW5jdGlvbnMpOgorICAgICAgICAoc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGVDYWxs
YmFjayk6IERlbGV0ZWQuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAg
ICAgKHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAgICAgIChUZXN0UnVu
bmVyOjpzZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSk6IERlbGV0ZWQuCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRGV2aWNlU2NhbGVGYWN0
b3JJbkRhc2hib2FyZFJlZ2lvbnMubW06IFJlbW92ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAg
ICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcpOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6
OlRlc3RSdW5uZXI6OnNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoK
KwogMjAxOS0wNi0wNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW2xsZGItd2Via2l0XSBUeXBlRXJyb3I6IGNhbm5vdCBjb25jYXRlbmF0ZSAnc3RyJyBhbmQg
J2ludCcgb2JqZWN0cyB3aGVuIHByZXR0aWZ5IFNlY3VyaXR5T3JpZ2luIHdpdGgKSW5kZXg6IFRv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCShyZXZpc2lvbiAyNDYxNzIpCisrKyBUb29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2NiwxOCAr
MTI2Niw2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFBhZ2VQYXVzZWRDYWxsYmFjaygKIH0KICNl
bmRpZgogCi1zdGF0aWMgSlNWYWx1ZVJlZiBzZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9k
ZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNP
YmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVS
ZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICAvLyBIYXMgbWFj
IGltcGxlbWVudGF0aW9uCi0gICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQotICAgICAgICByZXR1
cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci0KLSAgICBUZXN0UnVubmVyKiBjb250
cm9sbGVyID0gc3RhdGljX2Nhc3Q8VGVzdFJ1bm5lcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlz
T2JqZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1v
ZGUoSlNWYWx1ZVRvQm9vbGVhbihjb250ZXh0LCBhcmd1bWVudHNbMF0pKTsKLQotICAgIHJldHVy
biBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKLX0KLQogc3RhdGljIEpTVmFsdWVSZWYg
c2V0VXNlclN0eWxlU2hlZXRFbmFibGVkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1l
bnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKQogewogICAgIC8vIEhhcyBtYWMgaW1wbGVtZW50YXRpb24KQEAgLTIyNTQsNyArMjI0Miw2
IEBAIEpTU3RhdGljRnVuY3Rpb24qIFRlc3RSdW5uZXI6OnN0YXRpY0Z1bmMKICAgICAgICAgeyAi
c2V0VGVsZXBob25lTnVtYmVyUGFyc2luZ0VuYWJsZWQiLCBzZXRUZWxlcGhvbmVOdW1iZXJQYXJz
aW5nRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFBhZ2VQYXVzZWQiLCBz
ZXRQYWdlUGF1c2VkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICNlbmRpZgotICAgICAgICB7ICJzZXRVc2VE
YXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSIsIHNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlN
b2RlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0VXNlclN0eWxlU2hlZXRFbmFibGVk
Iiwgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAi
c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbiIsIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb25DYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRWYWx1ZUZvclVzZXIiLCBzZXRWYWx1ZUZvclVz
ZXJDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaAkocmV2
aXNpb24gMjQ2MTcyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTgsNyArMTE4LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UG9wdXBC
bG9ja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVk
KGJvb2wpOwogICAgIHZvaWQgc2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKGJvb2wpOwot
ICAgIHZvaWQgc2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUoYm9vbCBmbGFnKTsKICAg
ICB2b2lkIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZChib29sIGZsYWcpOwogICAgIHZvaWQgc2V0
VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBwYXRoKTsKICAgICB2b2lkIHNldFZh
bHVlRm9yVXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgSlNTdHJpbmdS
ZWYgdmFsdWUpOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQkocmV2aXNpb24gMjQ2MTcyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xODYxLDkgKzE4NjEsNiBAQCBzdGF0aWMg
dm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0CiAgICAgW3BvbGljeURlbGVnYXRlIHNl
dENvbnRyb2xsZXJUb05vdGlmeURvbmU6MF07CiAgICAgW3VpRGVsZWdhdGUgcmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZUJlZm9yZVRlc3Rpbmc6b3B0aW9uc107CiAgICAgW2ZyYW1lTG9hZERlbGVnYXRl
IHJlc2V0VG9Db25zaXN0ZW50U3RhdGVdOwotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IFt3ZWJWaWV3IF9zZXREYXNoYm9hcmRCZWhhdmlvcjpXZWJEYXNoYm9hcmRCZWhhdmlvclVzZUJh
Y2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUgdG86Tk9dOwotI2VuZGlmCiAgICAgW3dlYlZpZXcgX2Ns
ZWFyTWFpbkZyYW1lTmFtZV07CiAgICAgW1t3ZWJWaWV3IHVuZG9NYW5hZ2VyXSByZW1vdmVBbGxB
Y3Rpb25zXTsKICAgICBbV2ViVmlldyBfcmVtb3ZlQWxsVXNlckNvbnRlbnRGcm9tR3JvdXA6W3dl
YlZpZXcgZ3JvdXBOYW1lXV07CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1
bm5lck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1
bm5lck1hYy5tbQkocmV2aXNpb24gMjQ2MTcyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L1Rlc3RSdW5uZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTU5MSwxMyArNTkxLDYgQEAgdm9p
ZCBUZXN0UnVubmVyOjpzZXRQYWdlUGF1c2VkKGJvb2wgcGF1cwogfQogI2VuZGlmCiAKLXZvaWQg
VGVzdFJ1bm5lcjo6c2V0VXNlRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUoYm9vbCBmbGFnKQot
ewotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFtbbWFpbkZyYW1lIHdlYlZpZXddIF9z
ZXREYXNoYm9hcmRCZWhhdmlvcjpXZWJEYXNoYm9hcmRCZWhhdmlvclVzZUJhY2t3YXJkQ29tcGF0
aWJpbGl0eU1vZGUgdG86ZmxhZ107Ci0jZW5kaWYKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRV
c2VyU3R5bGVTaGVldEVuYWJsZWQoYm9vbCBmbGFnKQogewogICAgIFtbV2ViUHJlZmVyZW5jZXMg
c3RhbmRhcmRQcmVmZXJlbmNlc10gc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkOmZsYWddOwpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWcJKHJldmlzaW9uIDI0NjE3MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0
NSw3IEBAIFBMQVRGT1JNX0hFQURFUl9TRUFSQ0hfUEFUSFNbc2RrPW1hY29zeCoKIEdDQ19OT19D
T01NT05fQkxPQ0tTID0gWUVTOwogRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQ9WUVTOwogR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgVV9ESVNBQkxFX1JF
TkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCAkKEdDQ19QUkVQUk9DRVNTT1JfREVGSU5J
VElPTlNfJChQTEFURk9STV9OQU1FKSk7Ci1HQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TX21h
Y29zeCA9IEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVDsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5J
VElPTlNfbWFjb3N4ID0gOwogREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmYtd2l0aC1k
c3ltOwogUFJFQklORElORyA9IE5PCiBHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5Cklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCShyZXZpc2lvbiAyNDYxNzIpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgSEVBREVS
X1NFQVJDSF9QQVRIUyA9ICR7QlVJTFRfUFJPRFVDVFNfRAogCiBHQ0NfTk9fQ09NTU9OX0JMT0NL
UyA9IFlFUzsKIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMp
ICQoRkVBVFVSRV9ERUZJTkVTKSBVX0RJU0FCTEVfUkVOQU1JTkc9MSBVX1NIT1dfQ1BMVVNQTFVT
X0FQST0wICQoR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OU18kKFBMQVRGT1JNX05BTUUpKTsK
LUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlNfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUOworR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OU19tYWNvc3ggPSA7CiBERUJVR19J
TkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07CiBQUkVCSU5ESU5HID0gTk8KIEdD
Q19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTkKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
cmV2aXNpb24gMjQ2MTcyKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMTE3LDkgKzExNyw2IEBA
IEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgPSA7CiBFTkFCTEVfREFSS19NT0RFX0NTUyA9
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1NfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfREFS
S19NT0RFX0NTU19tYWNvc3ggPSBFTkFCTEVfREFSS19NT0RFX0NTUzsKIAotRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUID0gJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfJChXS19QTEFURk9STV9O
QU1FKSk7Ci1FTkFCTEVfREFTSEJPQVJEX1NVUFBPUlRfbWFjb3N4ID0gRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUOwotCiBFTkFCTEVfREFUQUNVRV9WQUxVRSA9IEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
OwogCiBFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCA9IEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UOwpA
QCAtNDQ1LDQgKzQ0Miw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFC
TEUKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lP
TlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5B
QkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9P
TEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJ
REFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJ
TkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9F
WFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNP
VVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9W
QVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVO
VF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlf
U1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVS
X1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9X
RUJfUFJPQ0VTU19TQU5EQk9YKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElP
TikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAk
KEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FM
VEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09S
S19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJW
RVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xP
QURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVD
T05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktF
UikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VN
QkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklW
RVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElf
U1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9QUk9DRVNTX1NBTkRCT1gpICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjQ2MTcyKQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTUwNyw3ICs1MDcsNiBAQAogCQk3Q0NFN0VCNjFBNDExQTdFMDA0NDdD
NEMgLyogQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2REY1QTVEMTVBMjlCQUEwMDM2ODlD
MiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tICovOyB9OwogCQk3Q0NF
N0VCNzFBNDExQTdFMDA0NDdDNEMgLyogQ2xvc2VOZXdXaW5kb3dJbk5hdmlnYXRpb25Qb2xpY3lE
ZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDI5MEE5QkI1MTczNURFOEEwMEQ3MUJCQyAvKiBDbG9zZU5ld1dpbmRvd0luTmF2aWdhdGlvblBv
bGljeURlbGVnYXRlLm1tICovOyB9OwogCQk3Q0NFN0VCODFBNDExQTdFMDA0NDdDNEMgLyogQ29u
dGV4dE1lbnVDYW5Db3B5VVJMLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE0MkIyNzAxNTE3Qzg4QjAwQzMyQjE5IC8qIENvbnRleHRNZW51Q2FuQ29w
eVVSTC5tbSAqLzsgfTsKLQkJN0NDRTdFQjkxQTQxMUE3RTAwNDQ3QzRDIC8qIERldmljZVNjYWxl
RmFjdG9ySW5EYXNoYm9hcmRSZWdpb25zLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzc3NkJDNjIxNTA5NDZCQzAwNDNBNjZEIC8qIERldmljZVNjYWxl
RmFjdG9ySW5EYXNoYm9hcmRSZWdpb25zLm1tICovOyB9OwogCQk3Q0NFN0VCQTFBNDExQTdFMDA0
NDdDNEMgLyogRGV2aWNlU2NhbGVGYWN0b3JPbkJhY2subW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzlCQTkxNjE0MTAzNDEyMDAxQTAxQkQgLyogRGV2
aWNlU2NhbGVGYWN0b3JPbkJhY2subW0gKi87IH07CiAJCTdDQ0U3RUJCMUE0MTFBN0UwMDQ0N0M0
QyAvKiBET01IVE1MVGFibGVDZWxsQ2VsbEFib3ZlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdFMTA2NEExNjk3Njc2NDAwQjc4QkQwIC8qIERPTUhU
TUxUYWJsZUNlbGxDZWxsQWJvdmUubW0gKi87IH07CiAJCTdDQ0U3RUJDMUE0MTFBN0UwMDQ0N0M0
QyAvKiBET01Ob2RlRnJvbUpTT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzc1MUFGN0ExNjk1MThGODAwNzY0MzE5IC8qIERPTU5vZGVGcm9t
SlNPYmplY3QubW0gKi87IH07CkBAIC0xNTY3LDcgKzE1NjYsNiBAQAogCQkzNzYwQzRGMDIxMTI0
OUFGMDAyMzNBQ0MgLyogQXR0clN0eWxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXR0clN0
eWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzYwQzRGMjIxMTI0QkQwMDAy
MzNBQ0MgLyogQXR0clN0eWxlLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBBdHRyU3R5bGUuaHRtbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzc2QzhDMDQxRDZFMTk3QzAwN0QyQkI5IC8qIEZyYW1l
SGFuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZyYW1lSGFu
ZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMzc3NkJDNjIxNTA5NDZCQzAw
NDNBNjZEIC8qIERldmljZVNjYWxlRmFjdG9ySW5EYXNoYm9hcmRSZWdpb25zLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGV2aWNlU2NhbGVGYWN0b3JJbkRhc2hi
b2FyZFJlZ2lvbnMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3ODE3NDZDMjE5
OEFFMjQwMDA2MkMyNiAvKiBXS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzNzhFNjQ3MTE2MzI2NDZEMDBCNkM2NzYgLyogSW5qZWN0ZWRCdW5k
bGVGcmFtZUhpdFRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SW5qZWN0ZWRCdW5kbGVGcmFtZUhpdFRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzNzhFNjQ3NTE2MzI2NTVEMDBCNkM2NzYgLyogSW5qZWN0ZWRCdW5kbGVGcmFtZUhpdFRl
c3RfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVj
dGVkQnVuZGxlRnJhbWVIaXRUZXN0X0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0zNjI5LDcgKzM2MjcsNiBAQAogCQkJCTUxNDJCMjcwMTUxN0M4OEIwMEMzMkIxOSAv
KiBDb250ZXh0TWVudUNhbkNvcHlVUkwubW0gKi8sCiAJCQkJMzdGQjcyOTUxREIyRTgyRjAwRTQx
QkU0IC8qIENvbnRleHRNZW51RGVmYXVsdEl0ZW1zSGF2ZVRhZ3MubW0gKi8sCiAJCQkJN0FFQUQ0
N0MxRTIwMTEzODAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSAq
LywKLQkJCQkzNzc2QkM2MjE1MDk0NkJDMDA0M0E2NkQgLyogRGV2aWNlU2NhbGVGYWN0b3JJbkRh
c2hib2FyZFJlZ2lvbnMubW0gKi8sCiAJCQkJOTM5QkE5MTYxNDEwMzQxMjAwMUEwMUJEIC8qIERl
dmljZVNjYWxlRmFjdG9yT25CYWNrLm1tICovLAogCQkJCTM3RTEwNjRBMTY5NzY3NjQwMEI3OEJE
MCAvKiBET01IVE1MVGFibGVDZWxsQ2VsbEFib3ZlLm1tICovLAogCQkJCTJENTFBMEM1MUM4QkYw
MDQwMDc2NUM0NSAvKiBET01IVE1MVmlkZW9FbGVtZW50V3JhcHBlci5tbSAqLywKQEAgLTQxOTIs
NyArNDE4OSw2IEBACiAJCQkJMkQxNjQ2RTIxRDE4NjJDRDAwMDE1QTFBIC8qIERlZmVycmVkVmll
d0luV2luZG93U3RhdGVDaGFuZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDJEMTNCMzIyOUY0
MDhCMDA1MDY4QUYgLyogRGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9ucy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTQ2OTE4RUZDMjIzNzI4M0MwMDQ2OERGRSAvKiBEZXZpY2VPcmllbnRhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTdDQ0U3RUI5MUE0MTFBN0UwMDQ0N0M0QyAvKiBEZXZpY2VT
Y2FsZUZhY3RvckluRGFzaGJvYXJkUmVnaW9ucy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3
RUJBMUE0MTFBN0UwMDQ0N0M0QyAvKiBEZXZpY2VTY2FsZUZhY3Rvck9uQmFjay5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDODNFMDREMUQwQTY0MTgwMEZFQkNGMyAvKiBERkFDb21iaW5lci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTA0RTFEMEE2NDE4MDBGRUJDRjMgLyogREZBTWluaW1p
emVyLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9t
YWMvRGV2aWNlU2NhbGVGYWN0b3JJbkRhc2hib2FyZFJlZ2lvbnMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRGV2aWNlU2NhbGVGYWN0b3JJbkRhc2hib2Fy
ZFJlZ2lvbnMubW0JKHJldmlzaW9uIDI0NjE3MikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvbWFjL0RldmljZVNjYWxlRmFjdG9ySW5EYXNoYm9hcmRSZWdpb25zLm1tCShub25leGlzdGVu
dCkKQEAgLTEsNzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotCi0j
aW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgotI2ltcG9ydCAiU3ludGhldGljQmFja2luZ1Nj
YWxlRmFjdG9yV2luZG93LmgiCi0jaW1wb3J0ICJUZXN0LmgiCi0jaW1wb3J0IDxXZWJLaXQvV2Vi
RGFzaGJvYXJkUmVnaW9uLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Ci0KLXN0YXRpYyBi
b29sIGdvdERhc2hib2FyZFJlZ2lvbnM7Ci1zdGF0aWMgTlNEaWN0aW9uYXJ5ICpyZWdpb25zOwot
Ci1AaW50ZXJmYWNlIERldmljZVNjYWxlRmFjdG9ySW5EYXNoYm9hcmRSZWdpb25zVUlEZWxlZ2F0
ZSA6IE5TT2JqZWN0IDxXZWJVSURlbGVnYXRlPiB7Ci19Ci1AZW5kCi0KLUBpbXBsZW1lbnRhdGlv
biBEZXZpY2VTY2FsZUZhY3RvckluRGFzaGJvYXJkUmVnaW9uc1VJRGVsZWdhdGUKLQotLSAodm9p
ZCl3ZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldyBkYXNoYm9hcmRSZWdpb25zQ2hhbmdlZDooTlNE
aWN0aW9uYXJ5ICopbmV3UmVnaW9ucwotewotICAgIGdvdERhc2hib2FyZFJlZ2lvbnMgPSB0cnVl
OwotICAgIHJlZ2lvbnMgPSBbbmV3UmVnaW9ucyByZXRhaW5dOwotfQotCi1AZW5kCi0KLW5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJIHsKLQotVEVTVChXZWJLaXRMZWdhY3ksIERldmljZVNjYWxlRmFj
dG9ySW5EYXNoYm9hcmRSZWdpb25zKQotewotICAgIE5TUmVjdCB2aWV3RnJhbWUgPSBOU01ha2VS
ZWN0KDAsIDAsIDgwMCwgNjAwKTsKLSAgICBSZXRhaW5QdHI8U3ludGhldGljQmFja2luZ1NjYWxl
RmFjdG9yV2luZG93PiB3aW5kb3cgPSBhZG9wdE5TKFtbU3ludGhldGljQmFja2luZ1NjYWxlRmFj
dG9yV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0OnZpZXdGcmFtZSBzdHlsZU1hc2s6
TlNCb3JkZXJsZXNzV2luZG93TWFzayBiYWNraW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVm
ZXI6WUVTXSk7Ci0gICAgW3dpbmRvdy5nZXQoKSBzZXRSZWxlYXNlZFdoZW5DbG9zZWQ6Tk9dOwot
ICAgIFt3aW5kb3cuZ2V0KCkgc2V0QmFja2luZ1NjYWxlRmFjdG9yOjJdOwotCi0gICAgUmV0YWlu
UHRyPFdlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTp2aWV3RnJhbWUgZnJhbWVOYW1lOm5pbCBncm91cE5hbWU6bmlsXSk7Ci0gICAgUmV0YWlu
UHRyPERldmljZVNjYWxlRmFjdG9ySW5EYXNoYm9hcmRSZWdpb25zVUlEZWxlZ2F0ZT4gdWlEZWxl
Z2F0ZSA9IGFkb3B0TlMoW0RldmljZVNjYWxlRmFjdG9ySW5EYXNoYm9hcmRSZWdpb25zVUlEZWxl
Z2F0ZSBuZXddKTsKLSAgICB3ZWJWaWV3LmdldCgpLlVJRGVsZWdhdGUgPSB1aURlbGVnYXRlLmdl
dCgpOwotICAgIFt3aW5kb3cuZ2V0KCkuY29udGVudFZpZXcgYWRkU3Vidmlldzp3ZWJWaWV3Lmdl
dCgpXTsKLQotICAgIFt3ZWJWaWV3LmdldCgpLm1haW5GcmFtZSBsb2FkSFRNTFN0cmluZzpAIjxk
aXYgc3R5bGU9J3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyBsZWZ0OiAxMHB4OyB3aWR0
aDogNTBweDsgaGVpZ2h0OiA1MHB4OyAtd2Via2l0LWRhc2hib2FyZC1yZWdpb246IGRhc2hib2Fy
ZC1yZWdpb24oY29udHJvbCByZWN0YW5nbGUpOyc+PC9kaXY+IiBiYXNlVVJMOltOU1VSTCBVUkxX
aXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV07Ci0KLSAgICBVdGlsOjpydW4oJmdvdERhc2hib2Fy
ZFJlZ2lvbnMpOwotCi0gICAgTlNSZWN0IGNvbnRyb2xSZWdpb25SZWN0ID0gW1tbcmVnaW9ucyBv
YmplY3RGb3JLZXk6QCJjb250cm9sIl0gb2JqZWN0QXRJbmRleDowXSBkYXNoYm9hcmRSZWdpb25S
ZWN0XTsKLQotICAgIEVYUEVDVF9FUSgxMCwgY29udHJvbFJlZ2lvblJlY3Qub3JpZ2luLngpOwot
ICAgIEVYUEVDVF9FUSgxMCwgY29udHJvbFJlZ2lvblJlY3Qub3JpZ2luLnkpOwotICAgIEVYUEVD
VF9FUSg1MCwgY29udHJvbFJlZ2lvblJlY3Quc2l6ZS53aWR0aCk7Ci0gICAgRVhQRUNUX0VRKDUw
LCBjb250cm9sUmVnaW9uUmVjdC5zaXplLmhlaWdodCk7Ci0KLSAgICBbcmVnaW9ucyByZWxlYXNl
XTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpJbmRleDogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwkocmV2aXNp
b24gMjQ2MTcyKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIENMQU5HX1dBUk5fREVQ
UkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU8KIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUgJChCVUlMVF9QUk9EVUNUU19ESVIpL1dl
YkNvcmVUZXN0U3VwcG9ydCAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRm9yd2FyZGlu
Z0hlYWRlcnMgJChORVhUX1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYkNvcmVUZXN0U3VwcG9y
dCAkKFBMQVRGT1JNX0hFQURFUl9TRUFSQ0hfUEFUSFMpOwogUExBVEZPUk1fSEVBREVSX1NFQVJD
SF9QQVRIU1tzZGs9aXBob25lKl0gPSAkKFNSQ1JPT1QpLy4uLy4uL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vc3BpL2lvczsKIEdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwotR0NDX1BSRVBST0NF
U1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgVV9ESVNBQkxFX1JFTkFNSU5HPTEg
VV9TSE9XX0NQTFVTUExVU19BUEk9MCBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7CitHQ0NfUFJF
UFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSBVX0RJU0FCTEVfUkVOQU1J
Tkc9MSBVX1NIT1dfQ1BMVVNQTFVTX0FQST0wOwogREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0g
ZHdhcmYtd2l0aC1kc3ltOwogUFJFQklORElORyA9IE5PCiBHQ0NfQ19MQU5HVUFHRV9TVEFOREFS
RCA9IGdudTk5CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjQ2MTcyKQorKysgVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ5NCw3ICs0OTQsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdp
blRlc3RpbmcoV0tEaWN0CiAgICAgV0tCdW5kbGVTZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21G
aWxlVVJMcyhtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxlU2V0SmF2
YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwog
ICAgIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3Jv
dXAsIGZhbHNlKTsKLSAgICBXS0J1bmRsZVNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2Rl
KG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgZmFsc2UpOwogICAgIFdLQnVuZGxlU2V0QXV0aG9yQW5k
VXNlclN0eWxlc0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCB0cnVlKTsKICAgICBXS0J1
bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxz
ZSk7CiAgICAgV0tCdW5kbGVTZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplKG1fYnVuZGxlLCBtX3Bh
Z2VHcm91cCwgOSk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHJldmlzaW9uIDI0NjE3MikKKysrIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUzNiwxNiArNTM2LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRQcml2YXRlQnJvd3Np
bmdFbmFibAogICAgIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChpbmplY3RlZEJ1
bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGVuYWJsZWQpOwogfQog
Ci12b2lkIFRlc3RSdW5uZXI6OnNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKGJvb2wg
ZW5hYmxlZCkKLXsKLSNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgYXV0byYgaW5q
ZWN0ZWRCdW5kbGUgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCk7Ci0gICAgV0tCdW5kbGVT
ZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZShpbmplY3RlZEJ1bmRsZS5idW5kbGUoKSwg
aW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGVuYWJsZWQpOwotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oZW5hYmxlZCk7Ci0jZW5kaWYKLX0KLSAgICAKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0UG9w
dXBCbG9ja2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIGF1dG8mIGluamVjdGVkQnVu
ZGxlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHJldmlzaW9uIDI0
NjE3MikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNyArMTEzLDYgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0UGx1Z2luc0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNz
Q2xpcGJvYXJkKGJvb2wpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29s
KTsKLSAgICB2b2lkIHNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKGJvb2wpOwogICAg
IHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRBdXRob3JB
bmRVc2VyU3R5bGVzRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEN1c3RvbVBvbGljeURlbGVn
YXRlKGJvb2wgZW5hYmxlZCwgYm9vbCBwZXJtaXNzaXZlID0gZmFsc2UpOwpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsCShyZXZpc2lvbiAyNDYxNzIpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC04Niw3ICs4Niw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB2b2lkIHNl
dFBsdWdpbnNFbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENh
bkFjY2Vzc0NsaXBib2FyZChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdm9pZCBzZXRVc2VEYXNoYm9hcmRDb21w
YXRpYmlsaXR5TW9kZShib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFBvcHVwQmxvY2tpbmdF
bmFibGVkKGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0QXV0aG9yQW5kVXNlclN0eWxlc0Vu
YWJsZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShi
b29sZWFuIGVuYWJsZWQsIGJvb2xlYW4gcGVybWlzc2l2ZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NDYxNzIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwzOCBAQAorMjAxOS0wNi0wNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZW1vdmUgZGFzaGJvYXJkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODYyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jYW52YXMvZmlsbC1zdHJva2UtY2xpcC1yZXNl
dC1wYXRoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9maWxs
LXN0cm9rZS1jbGlwLXJlc2V0LXBhdGguaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2RlZmF1bHQtY29udGVudC10eXBlLWRhc2hib2FyZC1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9kZWZh
dWx0LWNvbnRlbnQtdHlwZS1kYXNoYm9hcmQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBtYXRo
bWwvbWF0aG1sLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
bWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9j
YW52YXMvZmlsbC1zdHJva2UtY2xpcC1yZXNldC1wYXRoLWV4cGVjdGVkLnBuZzogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvbWF0
aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2NhbnZhcy9maWxsLXN0cm9rZS1jbGlwLXJlc2V0LXBhdGgtZXhw
ZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L2Rhc2hib2FyZC1zcmMtcXVpcmstZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L2Rhc2hib2Fy
ZC1zcmMtcXVpcmsuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1s
L21hdGhtbC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9tYXRobWwvbWF0aG1sLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBzdmcvY3VzdG9t
L2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQu
eG1sOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVk
ZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4t
ZGFzaGJvYXJkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9tYW51YWxseS1w
YXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBzdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9h
cmQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRh
c2hib2FyZC1vYmplY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9jdXN0
b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sOiBSZW1vdmVkLgorCiAyMDE5
LTA2LTA1ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTiAocjI0MzEyMSk6IExvYWQgZXZlbnQgc2hvdWxkIG5vdCBiZSBmaXJl
ZCB3aGlsZSBhbmltYXRpbmcgdGhlICdleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkJyBhdHRyaWJ1
dGUgCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsLXN0cm9rZS1jbGlwLXJlc2V0
LXBhdGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFz
L2ZpbGwtc3Ryb2tlLWNsaXAtcmVzZXQtcGF0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0NjE3
MikKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2ZpbGwtc3Ryb2tlLWNsaXAtcmVzZXQtcGF0
aC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLUFsbCB0aHJlZSBv
ZiB0aGVzZSBzbWFsbCBjYW52YXNlcyBzaG91bGQgYmUgZ3JlZW4sIG5vdCByZWQuCi0KLSAgCi1B
bGwgdGhyZWUgb2YgdGhlc2Ugc21hbGwgY2FudmFzZXMgc2hvdWxkIGJlIGdyZWVuLCBub3QgcmVk
LCB0b28sIGJ1dCB0aGVzZSB0ZXN0IHRoZSBEYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlIHNv
IHRoZXkgd29yayBwcm9wZXJseSBvbmx5IHVuZGVyIER1bXBSZW5kZXJUcmVlLgotCi0gIApJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbC1zdHJva2UtY2xpcC1yZXNldC1wYXRoLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbC1zdHJva2UtY2xp
cC1yZXNldC1wYXRoLmh0bWwJKHJldmlzaW9uIDI0NjE3MikKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2ZpbGwtc3Ryb2tlLWNsaXAtcmVzZXQtcGF0aC5odG1sCShub25leGlzdGVudCkKQEAg
LTEsNDkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0T25l
KG9wZXJhdGlvbiwgcXVpcmspCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKXsKLQkJdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5zZXRVc2VE
YXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
RGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUocXVpcmspOwotICAgIH0KLQotICAgIHZhciBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvcGVyYXRpb24gKyAiLSIgKyAocXVpcmsgPyAi
IiA6ICJuby0iKSArICJxdWlyayIpOwotICAgIHZhciBjb250ZXh0ID0gY2FudmFzLmdldENvbnRl
eHQoJzJkJyk7Ci0KLSAgICBjb250ZXh0LmZpbGxTdHlsZSA9IHF1aXJrID8gImdyZWVuIiA6ICJy
ZWQiOwotICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAwMCwgMTAwMCk7Ci0KLSAgICBjb250
ZXh0Lm1vdmVUbygwLCAwKTsKLSAgICBjb250ZXh0LmxpbmVUbygwLCAxMDAwKTsKLSAgICBjb250
ZXh0LmxpbmVUbygxMDAwLCAxMDAwKTsKLSAgICBjb250ZXh0LmxpbmVUbygxMDAwLCAwKTsKLSAg
ICBjb250ZXh0LmNsb3NlUGF0aCgpOwotICAgIGNvbnRleHRbb3BlcmF0aW9uXSgpOwotCi0gICAg
Y29udGV4dC5maWxsU3R5bGUgPSBxdWlyayA/ICJyZWQiIDogImdyZWVuIjsKLSAgICBjb250ZXh0
LmZpbGwoKTsKLX0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHRlc3RPbmUoImZpbGwiLCBmYWxz
ZSk7Ci0gICAgdGVzdE9uZSgic3Ryb2tlIiwgZmFsc2UpOwotICAgIHRlc3RPbmUoImNsaXAiLCBm
YWxzZSk7Ci0gICAgdGVzdE9uZSgiZmlsbCIsIHRydWUpOwotICAgIHRlc3RPbmUoInN0cm9rZSIs
IHRydWUpOwotICAgIHRlc3RPbmUoImNsaXAiLCB0cnVlKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgotPHA+QWxsIHRocmVlIG9mIHRoZXNlIHNtYWxsIGNh
bnZhc2VzIHNob3VsZCBiZSBncmVlbiwgbm90IHJlZC48L3A+Ci08Y2FudmFzIGlkPSJmaWxsLW5v
LXF1aXJrIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvY2FudmFzPgotPGNhbnZhcyBpZD0ic3Ry
b2tlLW5vLXF1aXJrIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvY2FudmFzPgotPGNhbnZhcyBp
ZD0iY2xpcC1uby1xdWlyayIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48L2NhbnZhcz4KLTxwPkFs
bCB0aHJlZSBvZiB0aGVzZSBzbWFsbCBjYW52YXNlcyBzaG91bGQgYmUgZ3JlZW4sIG5vdCByZWQs
IHRvbywgYnV0IHRoZXNlIHRlc3QgdGhlIERhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUgc28g
dGhleSB3b3JrIHByb3Blcmx5IG9ubHkgdW5kZXIgRHVtcFJlbmRlclRyZWUuPC9wPgotPGNhbnZh
cyBpZD0iZmlsbC1xdWlyayIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48L2NhbnZhcz4KLTxjYW52
YXMgaWQ9InN0cm9rZS1xdWlyayIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48L2NhbnZhcz4KLTxj
YW52YXMgaWQ9ImNsaXAtcXVpcmsiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PC9jYW52YXM+Ci08
L2JvZHk+Ci08L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy9maWxsLXN0cm9rZS1jbGlwLXJlc2V0LXBhdGguaHRtbApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6
IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKRGVsZXRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMSArMCwwICMjCi10ZXh0L2h0
bWwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9kZWZhdWx0LWNvbnRlbnQtdHlwZS1kYXNoYm9hcmQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvZGVmYXVsdC1jb250ZW50LXR5cGUtZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMjQ2MTcyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9kZWZh
dWx0LWNvbnRlbnQtdHlwZS1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAg
LTEsNCArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgdGhlIGRlZmF1bHQgQ29udGVudC1UeXBlIGZv
ciBYTUxIdHRwUmVxdWVzdCBpcyBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQgd2hl
biBydW5uaW5nIGluIHRoZSBEYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLgotCi1hcHBsaWNh
dGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQKLQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9kZWZhdWx0LWNvbnRlbnQtdHlwZS1kYXNoYm9hcmQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2RlZmF1bHQt
Y29udGVudC10eXBlLWRhc2hib2FyZC5odG1sCShyZXZpc2lvbiAyNDYxNzIpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2RlZmF1bHQtY29udGVudC10eXBlLWRhc2hi
b2FyZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTYgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4K
LTxwPlRoaXMgdGVzdHMgdGhhdCB0aGUgZGVmYXVsdCBDb250ZW50LVR5cGUgZm9yIFhNTEh0dHBS
ZXF1ZXN0IGlzIGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCB3aGVuIHJ1bm5pbmcg
aW4gdGhlIERhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuPC9wPgotPHNjcmlwdD4KLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VEYXNoYm9h
cmRDb21wYXRpYmlsaXR5TW9kZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0gICAgfQotICAgIAotICAgIG9ialhtbEh0dHAgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0g
ICAgb2JqWG1sSHR0cC5vcGVuKCJQT1NUIiwgInByaW50LWNvbnRlbnQtdHlwZS5jZ2kiLCBmYWxz
ZSk7Ci0gICAgb2JqWG1sSHR0cC5zZW5kKCIiKTsKLSAgICBkb2N1bWVudC53cml0ZSgiPHByZT4i
ICsgb2JqWG1sSHR0cC5yZXNwb25zZVRleHQgKyAiPC9wcmU+Iik7Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL21hdGhtbC9tYXRobWwtaW4tZGFzaGJvYXJk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tYXRobWwvbWF0aG1sLWlu
LWRhc2hib2FyZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0NjE3MikKKysrIExheW91dFRlc3Rz
L21hdGhtbC9tYXRobWwtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBA
IC0xLDEzICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc4NHgzNAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2
NTF4MzQKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMTA6ICJUaGlzIHRlc3Rz
IHRoYXQgTWF0aE1MIHdvcmtzIGluICIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjEwLDApIHdp
ZHRoIDQ0MTogImRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuIFRoZSByZW5kZXIgdHJlZSBk
dW1wIHNob3VsZCBpbmNsdWRlIGEiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTcpIHdpZHRo
IDE0MDogIlJlbmRlck1hdGhNTE1hdGguIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsNTApIHNpemUgNzg0eDAKLSAgICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCkluZGV4OiBMYXlvdXRUZXN0cy9tYXRobWwvbWF0aG1sLWluLWRhc2hib2FyZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL21hdGhtbC9tYXRobWwtaW4tZGFzaGJvYXJkLmh0bWwJ
KHJldmlzaW9uIDI0NjE3MikKKysrIExheW91dFRlc3RzL21hdGhtbC9tYXRobWwtaW4tZGFzaGJv
YXJkLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLTxzY3JpcHQ+Ci0gICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZURhc2hib2FyZENv
bXBhdGliaWxpdHlNb2RlKHRydWUpOwotCi08L3NjcmlwdD4KLTxwPlRoaXMgdGVzdHMgdGhhdCBN
YXRoTUwgd29ya3MgaW4gIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuIFRoZSByZW5kZXIg
dHJlZSBkdW1wIHNob3VsZCBpbmNsdWRlIGEgUmVuZGVyTWF0aE1MTWF0aC48L3A+Ci08bWF0aD48
L21hdGg+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwko
cmV2aXNpb24gMjQ2MTcyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTEwNTksMTUgKzEwNTksNiBAQCB3ZWJraXQub3JnL2Iv
MTY4MTg5IGZhc3Qvc2Nyb2xsaW5nL3Njcm9sCiB3ZWJraXQub3JnL2IvMTY4MzY2IGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3JlZGVudGlhbHMtaWZyYW1lcy5odG1sCiB3ZWJraXQub3JnL2IvMTY4MzY2
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY3JlZGVudGlhbHMtaWZyYW1lcy1hbGxvd0Nyb3NzT3JpZ2lu
U3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFscy5odG1sCiAKLSMgREFTSEJPQVJEX1NVUFBP
UlQgaXMgbWFjIG9ubHkKLWh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvZGVmYXVsdC1jb250ZW50
LXR5cGUtZGFzaGJvYXJkLmh0bWwgWyBTa2lwIF0KLWh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
c3ZnLWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwgWyBTa2lwIF0KLXN2
Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLnhtbCBbIFNraXAgXQot
c3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwg
WyBTa2lwIF0KLXN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1hbGxvd2Vk
LWluLWRhc2hib2FyZC5odG1sIFsgU2tpcCBdCi1zdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRh
c2hib2FyZC1vYmplY3QuaHRtbCBbIFNraXAgXQotbWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQu
aHRtbCBbIFNraXAgXQotCiAjIE5vIGVtYmVkZGVkIFBERiBzdXBwb3J0CiBmYXN0L2hpZHBpL3Bk
Zi1pbWFnZS1zY2FsZWQuaHRtbCBbIFNraXAgXQogZmFzdC9pbWFnZXMvZGlzcGxhY2VkLW5vbi1j
YWNoZWQtcGRmLmh0bWwgWyBTa2lwIF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9m
YXN0L2NhbnZhcy9maWxsLXN0cm9rZS1jbGlwLXJlc2V0LXBhdGgtZXhwZWN0ZWQucG5nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjpt
aW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9mYXN0L2NhbnZhcy9maWxsLXN0cm9rZS1jbGlwLXJlc2V0LXBhdGgtZXhwZWN0
ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMSArMCwwICMjCi1p
bWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRp
b25zCShyZXZpc2lvbiAyNDYxNzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxh
dG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0xOCwxNCArMTgsNiBA
QCB3ZWJraXQub3JnL2IvMTUyNDM5IGNvbXBvc2l0aW5nL292ZXJmbG93CiAKIHdlYmtpdC5vcmcv
Yi8xNzMxNzggWyBSZWxlYXNlIF0gc3ZnL2FuaW1hdGlvbnMvc3ZnbGVuZ3RoLWVsZW1lbnQtcmVt
b3ZlZC1jcmFzaC5zdmcgWyBTa2lwIF0KIAotIyBpT1Mgc2ltdWxhdG9yIGRvZXNu4oCZdCBzdXBw
b3J0IGRhc2hib2FyZC4KLW1hdGhtbC9tYXRobWwtaW4tZGFzaGJvYXJkLmh0bWwgWyBGYWlsdXJl
IF0KLXN2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLnhtbCBbIEZh
aWx1cmUgXQotc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLmh0bWwgWyBGYWlsdXJlIF0KLXN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2Vk
LXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sIFsgRmFpbHVyZSBdCi1zdmcvY3VzdG9tL3N2
Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbCBbIEZhaWx1cmUgXQotaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9zdmctY3JlYXRlZC1ieS14aHItYWxsb3dlZC1pbi1kYXNoYm9hcmQu
aHRtbCBbIEZhaWx1cmUgXQotCiB3ZWJraXQub3JnL2IvMTc0MTAwIHdlYmdsLzEuMC4yL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbCBbIFNr
aXAgXQogCiB3ZWJraXQub3JnL2IvMTczMDEwIGpzL3Nsb3ctc3RyZXNzL0ludDMyQXJyYXktYWxs
b2MtaHVnZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI0NjE3MikKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpA
QCAtNzIyLDcgKzcyMiw2IEBAIG1hdGhtbC9vcGVudHlwZS9tdW5kZXJvdmVyLWxheW91dC1yZXNp
emUKIG1hdGhtbC9wcmVzZW50YXRpb24vbW8taW52aXNpYmxlLmh0bWwKIAogIyBNYXRoTUwgdGVz
dHMgdGhhdCBmYWlsOgotbWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQuaHRtbCBbIEZhaWx1cmUg
XQogbWF0aG1sL29wZW50eXBlL2xhcmdlLW9wZXJhdG9ycy1kaXNwbGF5c3R5bGUtZHluYW1pYy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBtYXRobWwvcHJlc2VudGF0aW9uL21vLXN0cmV0Y2gt
dXBkYXRlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI0NjE3MikKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0xNTU4
LDcgKzE1NTgsNiBAQCBodHRwL3Rlc3RzL3dlYmFyY2hpdmUvdGVzdC1jc3MtdXJsLWVuY29kCiAK
ICMgWE1MSHR0cFJlcXVlc3QgdGVzdHMgdGhhdCBmYWlsOgogaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9iYXNpYy1hdXRoLW5vcGFzc3dvcmQuaHRtbCBbIEZhaWx1cmUgXQotaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9kZWZhdWx0LWNvbnRlbnQtdHlwZS1kYXNoYm9hcmQuaHRtbCBbIEZhaWx1
cmUgXQogCiAjIERldmljZU1vdGlvbiB0ZXN0cyB0aGF0IHRpbWUgb3V0OgogZmFzdC9kb20vRGV2
aWNlTW90aW9uL25vLXBhZ2UtY2FjaGUuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL21hdGhtbC9tYXRobWwtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvbWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNDYxNzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
bWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAg
LTEsMTMgKzAsMCBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDAp
IHNpemUgNzg0eDQwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY2
NHgzOQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIxNDogIlRoaXMgdGVzdHMg
dGhhdCBNYXRoTUwgd29ya3MgaW4gIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTMsMCkgd2lk
dGggNDUxOiAiZGFzaGJvYXJkIGNvbXBhdGliaWxpdHkgbW9kZS4gVGhlIHJlbmRlciB0cmVlIGR1
bXAgc2hvdWxkIGluY2x1ZGUgYSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGgg
MTQyOiAiUmVuZGVyTWF0aE1MTWF0aC4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCw1Nikgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJNYXRoTUxNYXRoIHttYXRofSBhdCAo
MCwwKSBzaXplIDJ4MCBbcGFkZGluZzogMCAxIDAgMV0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3MvbWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1MRgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9jYW52YXMvZmlsbC1zdHJva2UtY2xpcC1yZXNldC1wYXRoLWV4cGVjdGVkLnBuZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWlt
ZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9jYW52YXMvZmlsbC1zdHJva2UtY2xpcC1yZXNldC1wYXRoLWV4cGVjdGVk
LnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTEgKzAsMCAjIwotaW1h
Z2UvcG5nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L2Rhc2hib2FyZC1zcmMtcXVp
cmstZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L2Rhc2hib2FyZC1zcmMtcXVpcmstZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNDYxNzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC9kYXNoYm9hcmQtc3JjLXF1aXJrLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCkBAIC0xLDMgKzAsMCBAQAotVGVzdCBhIERhc2hib2FyZCBxdWlyayB0aGF0IGFsbG93
cyB0aGUgc3JjIGF0dHJpYnV0ZSBvZiBhbiBIVE1MIGltZyBlbGVtZW50IHRvIGJlIHNwZWNpZmll
ZCB1c2luZyBhIGZvcm0gb2YgQ1NTIFVSTCB2YWx1ZSBub3RhdGlvbi4KLQotUEFTUwpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvZGFzaGJv
YXJkLXNyYy1xdWlyay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L2Rhc2hib2FyZC1zcmMtcXVpcmsuaHRtbAkocmV2
aXNpb24gMjQ2MTcyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL0hUTUxJ
bWFnZUVsZW1lbnQvZGFzaGJvYXJkLXNyYy1xdWlyay5odG1sCShub25leGlzdGVudCkKQEAgLTEs
MjggKzAsMCBAQAotPHA+Ci0gICAgVGVzdCBhIERhc2hib2FyZCBxdWlyayB0aGF0IGFsbG93cyB0
aGUgPHR0PnNyYzwvdHQ+IGF0dHJpYnV0ZSBvZiBhbiBIVE1MIDx0dD5pbWc8L3R0PiBlbGVtZW50
IHRvCi0gICAgYmUgc3BlY2lmaWVkIHVzaW5nIGEgZm9ybSBvZiBDU1MgVVJMIHZhbHVlIG5vdGF0
aW9uLgotPC9wPgotPHAgaWQ9InJlc3VsdCI+Ci0gICAgVGhpcyB0ZXN0IGNhbiBvbmx5IHJ1biBp
biBEdW1wUmVuZGVyVHJlZS4KLTwvcD4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VEYXNoYm9hcmRD
b21wYXRpYmlsaXR5TW9kZSh0cnVlKTsKLQotICAgICAgICB2YXIgaW1hZ2UgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpbWciKTsKLQotICAgICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyZXN1bHQiKS5pbm5lclRleHQgPSAiUEFTUyI7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSwgZmFsc2UpOwotCi0gICAgICAgIGltYWdlLmFkZEV2
ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lclRleHQgPSAiRkFJTCI7Ci0gICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSwgZmFsc2UpOwotCi0gICAg
ICAgIGltYWdlLnNyYyA9ICd1cmwoInJlc291cmNlcy9ibHVlX3JlY3QuanBnIiknOwotICAgIH0K
LTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9tYXRobWwt
aW4tZGFzaGJvYXJkLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL21hdGhtbC1p
bi1kYXNoYm9hcmQtZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOm1pbWUtdHlw
ZQojIyAtMSArMCwwICMjCi1pbWFnZS9wbmcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9tYXRobWwtaW4tZGFzaGJv
YXJkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
bWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDYxNzIp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi0gIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAot
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY2NHgzNgotICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDIxNDogIlRoaXMgdGVzdHMgdGhhdCBNYXRoTUwgd29ya3MgaW4gIgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyMTMsMCkgd2lkdGggNDUxOiAiZGFzaGJvYXJkIGNvbXBhdGli
aWxpdHkgbW9kZS4gVGhlIHJlbmRlciB0cmVlIGR1bXAgc2hvdWxkIGluY2x1ZGUgYSIKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTQyOiAiUmVuZGVyTWF0aE1MTWF0aC4iCi0g
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw1Mikgc2l6ZSA3ODR4MAotICAgICAg
ICBSZW5kZXJNYXRoTUxNYXRoIHttYXRofSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNDYxNzIpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTQyLDE1
ICsxNDIsNiBAQCBodHRwL3Rlc3RzL21pc2Mvd2lsbENhY2hlUmVzcG9uc2UtZGVsZWdhCiAjIHRl
c3RSdW5uZXIuc2V0QWx3YXlzQWNjZXB0Q29va2llcygpIGlzIG5vdCBpbXBsZW1lbnRlZCBvbiBX
aW5kb3dzLgogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jcm9zcy1vcmlnaW4tY29va2llLXN0
b3JhZ2UuaHRtbCBbIFNraXAgXQogCi0jIE5vIERhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUg
b24gV2luZG93cy4KLWh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvZGVmYXVsdC1jb250ZW50LXR5
cGUtZGFzaGJvYXJkLmh0bWwgWyBTa2lwIF0KLWh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3Zn
LWNyZWF0ZWQtYnkteGhyLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwgWyBTa2lwIF0KLXN2Zy9j
dXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLnhtbCBbIFNraXAgXQotc3Zn
L2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwgWyBT
a2lwIF0KLXN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1hbGxvd2VkLWlu
LWRhc2hib2FyZC5odG1sIFsgU2tpcCBdCi1zdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hi
b2FyZC1vYmplY3QuaHRtbCBbIFNraXAgXQotbWF0aG1sL21hdGhtbC1pbi1kYXNoYm9hcmQuaHRt
bCBbIFNraXAgXQotCiAjIERhcmsgbW9kZSBub3Qgc3VwcG9ydGVkIG9uIFdpbmRvd3MKIGNzcy1k
YXJrLW1vZGUgWyBTa2lwIF0KIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
VGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5j
YWlyby9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNDYxNzIpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC00MTYs
MTUgKzQxNiw2IEBAIEJ1ZyhHVEspIGZhc3QvdGV4dC9mb250LXdlaWdodHMtemguaHRtbCAKICMg
VGhpcyByZXF1aXJlcyBhIHNwZWNpZmljIGZvbnQgb24gTWFjCiBmYXN0L3RleHQvaGlkcGktdGV4
dC1zZWxlY3Rpb24tZ2FwLWJldHdlZW4td29yZHMuaHRtbCBbIFNraXAgXQogCi0jIERBU0hCT0FS
RF9TVVBQT1JUIGlzIG1hYyBvbmx5Ci1odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2RlZmF1bHQt
Y29udGVudC10eXBlLWRhc2hib2FyZC5odG1sIFsgU2tpcCBdCi1odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3N2Zy1jcmVhdGVkLWJ5LXhoci1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sIFsgU2tp
cCBdCi1zdmcvY3VzdG9tL2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC54bWwgWyBT
a2lwIF0KLXN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2Fy
ZC5odG1sIFsgU2tpcCBdCi1zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmct
YWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbCBbIFNraXAgXQotc3ZnL2N1c3RvbS9zdmctYWxsb3dl
ZC1pbi1kYXNoYm9hcmQtb2JqZWN0Lmh0bWwgWyBTa2lwIF0KLW1hdGhtbC9tYXRobWwtaW4tZGFz
aGJvYXJkLmh0bWwgWyBTa2lwIF0KLQogIyBUaGlzIHRlc3QgcmVsaWVzIG9uIGlPUy1zcGVjaWZp
YyBmb250IGZhbGxiYWNrLgogZmFzdC90ZXh0L2FyYWJpYy1ibGFja2xpc3RlZC1leHBlY3RlZC5o
dG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4t
ZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ2MTcyKQorKysgTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKQEAgLTEsNCArMCwwIEBACi1UaGlzIHRlc3QgaXMgdG8gZW5zdXJlIFNW
RyBlbGVtZW50cyBjYW4gYmUgY3JlYXRlZCBieSBiZWluZyBlbWJlZGRlZCBpbiB4bWwgZG9jdW1l
bnRzLiBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KLQotUEFTUzogU3VjY2Vzc2Z1bGx5
IGVtYmVkZGVkIFNWRyBpbiBkb2N1bWVudAotCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2VtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC54bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbWJlZGRlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQueG1s
CShyZXZpc2lvbiAyNDYxNzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtYmVkZGVkLXN2
Zy1hbGxvd2VkLWluLWRhc2hib2FyZC54bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOSArMCwwIEBA
Ci08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Ci0gICAgPGhlYWQ+
Ci0gICAgICAgIDx0aXRsZT5NYWtlIHN1cmUgZW1iZWRkZWQgU1ZHIGlzIHR1cm5lZCBvbiBpbiBk
YXNoYm9hcmQ8L3RpdGxlPgotICAgIDwvaGVhZD4KLSAgICA8c2NyaXB0PgotICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VEYXNo
Ym9hcmRDb21wYXRpYmlsaXR5TW9kZSh0cnVlKTsKLSAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgIH0KLQotICAgICAgICAgZnVuY3Rpb24gZGVidWcoc3RyKSB7
Ci0gICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScp
Ci0gICAgICAgICAgICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIg
KyAnXG4nKSk7Ci0gICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci0gICAgPGJvZHk+Ci0gICAgICAg
IDxwPlRoaXMgdGVzdCBpcyB0byBlbnN1cmUgU1ZHIGVsZW1lbnRzIGNhbiBiZSBjcmVhdGVkIGJ5
IGJlaW5nIGVtYmVkZGVkIGluIHhtbCBkb2N1bWVudHMuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBt
YW51YWxseS48L3A+Ci0gICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotICAgICAgICA8
c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0
PSIyMDAiPgotICAgICAgICAgICAgIDxjaXJjbGUgaWQ9InN2Z0NpcmNsZU5vZGUiIGN4PSIxMDAi
IGN5PSIxMDAiIHI9IjUwIiBmaWxsPSJyZWQiLz4KLSAgICAgICAgPC9zdmc+Ci0gICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgIGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdmdDaXJjbGVO
b2RlJykgaW5zdGFuY2VvZiBTVkdFbGVtZW50KQotICAgICAgICAgICAgICAgZGVidWcoIlBBU1M6
IFN1Y2Nlc3NmdWxseSBlbWJlZGRlZCBTVkcgaW4gZG9jdW1lbnQiKTsKLSAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IFNWRyBFbGVtZW50cyBjb3VsZCBub3QgYmUg
Y3JlYXRlZCIpOwotICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctYWxs
b3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hi
b2FyZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0NjE3MikKKysrIExheW91dFRlc3RzL3N2Zy9j
dXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSw2ICswLDAgQEAKLVRoaXMgdGVzdCBtYWtl
cyBzdXJlIHdlIGNhbiBhZGQgbWFudWFsbHkgcGFyc2VkIFNWRyB0byB0aGUgZG9jdW1lbnQgd2hl
biBpbiBkYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiBJdCBjYW4gbm90IGJlIHRlc3RlZCBt
YW51YWxseS4KLQotUGFyc2luZyBvZiB0aGUgZG9jdW1lbnQgaXNuJ3QgcHJldmVudGVkIGFuZCBw
cm9kdWNlcyBhIFtvYmplY3QgWE1MRG9jdW1lbnRdCi1UaGUgY2lyY2xlIGVsZW1lbnQgaXMgb2Yg
dHlwZSBbb2JqZWN0IFNWR0NpcmNsZUVsZW1lbnRdCi1QQVNTOiBNYW5hZ2VkIHRvIGluc2VydCBT
VkcgZWxlbWVudCBpbnRvIHRyZWUKLQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51
YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQt
c3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwJKHJldmlzaW9uIDI0NjE3MikKKysrIExheW91
dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLWVtYmVkZGVkLXN2Zy1hbGxvd2VkLWlu
LWRhc2hib2FyZC5odG1sCShub25leGlzdGVudCkKQEAgLTEsNDkgKzAsMCBAQAotPGh0bWwgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgotICAgIDxoZWFkPgotICAgICAgICA8
dGl0bGU+TWFrZSBzdXJlIGVtYmVkZGVkIFNWRyBpcyB0dXJuZWQgb2ZmIGluIGRhc2hib2FyZDwv
dGl0bGU+Ci0gICAgPC9oZWFkPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGZ1bmN0aW9uIGRlYnVn
KHN0cikgewotICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29u
c29sZScpCi0gICAgICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KHN0ciArICdcbicpKTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZURhc2hib2FyZENvbXBh
dGliaWxpdHlNb2RlKHRydWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLSAgICA8Ym9keT4KLSAgICAgICAgPHA+VGhpcyB0
ZXN0IG1ha2VzIHN1cmUgd2UgY2FuIGFkZCBtYW51YWxseSBwYXJzZWQgU1ZHIHRvIHRoZSBkb2N1
bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuICBJdCBjYW4gbm90IGJl
IHRlc3RlZCBtYW51YWxseS48L3A+Ci0gICAgICAgIDxkaXYgaWQ9InRhcmdldERpdiI+PC9kaXY+
Ci0gICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPiAKLSAgICAgICAgPHNjcmlwdD4KLSAg
ICAgICAgICAgIHZhciBkb2N1bWVudFN0cmluZyA9ICc8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCI+JyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
PGJvZHk+JyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj4nICsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8Y2lyY2xlIGlkPSJzdmdDaXJjbGUi
IGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0icmVkIi8+PC9zdmc+JyArCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnPC9ib2R5PjwvaHRtbD4nOyAKLQotICAgICAgICAgICAg
Ly8gVXNlIERPTVBhcnNlciBpbnRlcmZhY2UgdG8gY3JlYXRlIGEgU1ZHRG9jdW1lbnQgZGF0YXN0
cnVjdHVyZSBmcm9tIFNWRyBjb250ZW50IHN0cmluZwotICAgICAgICAgICAgdmFyIHBhcnNlciA9
IG5ldyBET01QYXJzZXIoKTsKLSAgICAgICAgICAgIHZhciB4aHRtbERvY3VtZW50ID0gcGFyc2Vy
LnBhcnNlRnJvbVN0cmluZyhkb2N1bWVudFN0cmluZywgImFwcGxpY2F0aW9uL3hodG1sK3htbCIp
OwotICAgICAgICAgCi0gICAgICAgICAgICBkZWJ1ZygiUGFyc2luZyBvZiB0aGUgZG9jdW1lbnQg
aXNuJ3QgcHJldmVudGVkIGFuZCBwcm9kdWNlcyBhICIgKyB4aHRtbERvY3VtZW50KTsKLSAgICAg
ICAgICAgIGRlYnVnKCJUaGUgY2lyY2xlIGVsZW1lbnQgaXMgb2YgdHlwZSAiICsgeGh0bWxEb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnQ2lyY2xlJykpOwotICAgICAgICAgICAgCi0gICAgICAg
ICAgICAvLyBJbXBvcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlLgotICAgICAgICAgICAgdmFyIGlt
cG9ydGVkTm9kZSA9IG51bGw7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIGlt
cG9ydGVkTm9kZSA9IGRvY3VtZW50LmltcG9ydE5vZGUoeGh0bWxEb2N1bWVudC5maXJzdENoaWxk
LCB0cnVlKTsKLSAgICAgICAgICAgIH0gY2F0Y2goZSkgewotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBpZiAoaW1wb3J0ZWROb2RlKSB7Ci0gICAgICAgICAgICAgICAg
ZGVidWcoIlBBU1M6IE1hbmFnZWQgdG8gaW5zZXJ0IFNWRyBlbGVtZW50IGludG8gdHJlZSIpOwot
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXREaXYnKS5hcHBl
bmRDaGlsZChpbXBvcnRlZE5vZGUpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICBkZWJ1ZygiRkFJTDogQ291bGQgbm90IGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUi
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWFsbG93
ZWQtaW4tZGFzaGJvYXJkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAyNDYxNzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVh
bGx5LXBhcnNlZC1zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKQEAgLTEsNSArMCwwIEBACi1UaGlzIHRlc3QgbWFrZXMgc3VyZSB3ZSBjYW4gYWRkIG1h
bnVhbGx5IHBhcnNlZCBTVkcgdG8gdGhlIGRvY3VtZW50IHdoZW4gaW4gZGFzaGJvYXJkIGNvbXBh
dGliaWxpdHkgbW9kZS4gSXQgY2FuIG5vdCBiZSB0ZXN0ZWQgbWFudWFsbHkuCi0KLVBhcnNpbmcg
b2YgdGhlIGRvY3VtZW50IGlzbid0IHByZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSBbb2JqZWN0IFhN
TERvY3VtZW50XQotUEFTUzogTWFuYWdlZCB0byBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVl
Ci0KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxv
d2VkLWluLWRhc2hib2FyZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0
b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCShyZXZpc2lv
biAyNDYxNzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL21hbnVhbGx5LXBhcnNlZC1zdmct
YWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ1ICswLDAgQEAK
LTxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KLSAgICA8aGVhZD4K
LSAgICAgICAgPHRpdGxlPk1ha2Ugc3VyZSBlbWJlZGRlZCBTVkcgaXMgdHVybmVkIG9uIGluIGRh
c2hib2FyZDwvdGl0bGU+Ci0gICAgPC9oZWFkPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGZ1bmN0
aW9uIGRlYnVnKHN0cikgewotICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY29uc29sZScpCi0gICAgICAgICAgICBjLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKHN0ciArICdcbicpKTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZURhc2hi
b2FyZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgIH0KLSAgICA8L3NjcmlwdD4KLSAgICA8Ym9keT4KLSAgICAgICAg
PHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2FuIGFkZCBtYW51YWxseSBwYXJzZWQgU1ZHIHRv
IHRoZSBkb2N1bWVudCB3aGVuIGluIGRhc2hib2FyZCBjb21wYXRpYmlsaXR5IG1vZGUuICBJdCBj
YW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+Ci0gICAgICAgIDxkaXYgaWQ9InRhcmdldERp
diI+PC9kaXY+Ci0gICAgICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPiAKLSAgICAgICAgPHNj
cmlwdD4KLSAgICAgICAgICAgIHZhciBkb2N1bWVudFN0cmluZyA9ICc8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiPicgKwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9
IjUwIiBmaWxsPSJyZWQiLz48L3N2Zz4nOwotCi0gICAgICAgICAgICAvLyBVc2UgRE9NUGFyc2Vy
IGludGVyZmFjZSB0byBjcmVhdGUgYSBTVkdEb2N1bWVudCBkYXRhc3RydWN0dXJlIGZyb20gU1ZH
IGNvbnRlbnQgc3RyaW5nCi0gICAgICAgICAgICB2YXIgcGFyc2VyID0gbmV3IERPTVBhcnNlcigp
OwotICAgICAgICAgICAgdmFyIHN2Z0RvY3VtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhk
b2N1bWVudFN0cmluZywgImltYWdlL3N2Zyt4bWwiKTsKLQotICAgICAgICAgICAgZGVidWcoIlBh
cnNpbmcgb2YgdGhlIGRvY3VtZW50IGlzbid0IHByZXZlbnRlZCBhbmQgcHJvZHVjZXMgYSAiICsg
c3ZnRG9jdW1lbnQpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBJbXBvcnQgU1ZHIGVs
ZW1lbnQgaW50byB0cmVlLgotICAgICAgICAgICAgdmFyIGltcG9ydGVkTm9kZSA9IG51bGw7Ci0g
ICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIGltcG9ydGVkTm9kZSA9IGRvY3VtZW50
LmltcG9ydE5vZGUoc3ZnRG9jdW1lbnQuZmlyc3RDaGlsZCwgdHJ1ZSk7Ci0gICAgICAgICAgICB9
IGNhdGNoKGUpIHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYg
KGltcG9ydGVkTm9kZSkgewotICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBNYW5hZ2VkIHRv
IGluc2VydCBTVkcgZWxlbWVudCBpbnRvIHRyZWUiKTsKLSAgICAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0RGl2JykuYXBwZW5kQ2hpbGQoaW1wb3J0ZWROb2RlKTsK
LSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IENvdWxk
IG5vdCBpbnNlcnQgU1ZHIGVsZW1lbnQgaW50byB0cmVlIik7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2
Zy9jdXN0b20vc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9h
cmQtb2JqZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ2MTcyKQorKysgTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCkBAIC0xLDggKzAsMCBAQAotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgd2UgY2Fu
IG9wZW4gU1ZHIGRvY3VtZW50cyBpbiBEYXNoYm9hcmQgY29tcGF0aWJpbGl0eSBtb2RlLiBJdCBj
YW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS4KLQotICAgIAotUEFTUzogTG9hZGVkIFNWRyBkb2N1
bWVudCBpbiA8b2JqZWN0PiB0YWcuCi1QQVNTOiBMb2FkZWQgU1ZHIGRvY3VtZW50IGluIDxlbGVt
ZW50PiB0YWcuCi1QQVNTOiBMb2FkZWQgU1ZHIGRvY3VtZW50IGluIDxpZnJhbWU+IHRhZy4KLVBB
U1M6IFNWRyBEb2N1bWVudHMgd2VyZSBsb2FkZWQKLQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctYWxsb3dlZC1pbi1kYXNoYm9hcmQtb2JqZWN0Lmh0
bWwJKHJldmlzaW9uIDI0NjE3MikKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWFsbG93
ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCShub25leGlzdGVudCkKQEAgLTEsNzAgKzAsMCBA
QAotPGh0bWw+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UaGlzIHRlc3QgbWFrZXMg
c3VyZSB3ZSBjYW4gb3BlbiBTVkcgZG9jdW1lbnRzIGluIERhc2hib2FyZCBjb21wYXRpYmlsaXR5
IG1vZGUuICBJdCBjYW4gbm90IGJlIHRlc3RlZCBtYW51YWxseS48L3A+Ci08c2NyaXB0PgotICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZURhc2hi
b2FyZENvbXBhdGliaWxpdHlNb2RlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotICAgIAot
ICAgIGZ1bmN0aW9uIGRlYnVnKHN0cikgewotICAgICAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjb25zb2xlJykKLSAgICAgICAgYy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShzdHIgKyAnXG4nKSk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICB2YXIgZmFpbGVkID0gZmFsc2U7Ci0g
ICAgICAgICAgICB2YXIgc3ZnRG9jID0gbnVsbDsKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAg
ICAgICAgICAgc3ZnRG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2Z09iamVjdCcpLmdl
dFNWR0RvY3VtZW50KCk7Ci0gICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAg
ICAgc3ZnRG9jID0gbnVsbDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChzdmdEb2Mp
IHsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiUEFTUzogTG9hZGVkIFNWRyBkb2N1bWVudCBpbiA8
b2JqZWN0PiB0YWcuIik7IAotICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7Ci0gICAgICAg
ICAgICB9IGVsc2UgCi0gICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IERpZCBub3QgbG9hZCBT
VkcgZG9jdW1lbnQgaW4gPG9iamVjdD4gdGFnIik7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IHRyeSB7Ci0gICAgICAgICAgICAgICAgc3ZnRG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3N2Z0VtYmVkJykuZ2V0U1ZHRG9jdW1lbnQoKTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsK
LSAgICAgICAgICAgICAgICBzdmdEb2MgPSBudWxsOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgaWYgKHN2Z0RvYykgewotICAgICAgICAgICAgICAgIGRlYnVnKCJQQVNTOiBMb2FkZWQgU1ZH
IGRvY3VtZW50IGluIDxlbGVtZW50PiB0YWcuIik7IAotICAgICAgICAgICAgICAgIGZhaWxlZCA9
IHRydWU7Ci0gICAgICAgICAgICB9IGVsc2UgCi0gICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6
IERpZCBub3QgbG9hZCBTVkcgZG9jdW1lbnQgaW4gPGVsZW1lbnQ+IHRhZyIpOwotICAgICAgICAg
ICAgCi0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIHN2Z0RvYyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdzdmdJRnJhbWUnKS5nZXRTVkdEb2N1bWVudCgpOwotICAgICAgICAg
ICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgIHN2Z0RvYyA9IG51bGw7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBpZiAoc3ZnRG9jKSB7Ci0gICAgICAgICAgICAgICAgZGVidWco
IlBBU1M6IExvYWRlZCBTVkcgZG9jdW1lbnQgaW4gPGlmcmFtZT4gdGFnLiIpOyAKLSAgICAgICAg
ICAgICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgICAgICAgfSBlbHNlIAotICAgICAgICAgICAg
ICAgIGRlYnVnKCJGQUlMOiBEaWQgbm90IGxvYWQgU1ZHIGRvY3VtZW50IGluIDxpZnJhbWU+IHRh
ZyIpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoZmFpbGVkKQotICAgICAgICAgICAg
ICAgIGRlYnVnKCJQQVNTOiBTVkcgRG9jdW1lbnRzIHdlcmUgbG9hZGVkIik7Ci0gICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgZGVidWcoIkZBSUw6IFNWRyBEb2N1bWVudHMgd2VyZSBu
b3QgbG9hZGVkIik7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGRlYnVnKCJG
QUlMOiBFeGNlcHRpb24gdGhyb3duOiAiICsgZSkKLSAgICAgICAgfQotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIAotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgfQotPC9zY3JpcHQ+Ci0gICAgCi0gICA8b2JqZWN0IGlkPSJzdmdPYmplY3QiIGRhdGE9Ii4u
L1czQy1TVkctMS4xL3RleHQtd3MtMDItdC5zdmciIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBw
eCI+PC9vYmplY3Q+Ci0gICA8ZW1iZWQgaWQ9InN2Z0VtYmVkIiBzcmM9Ii4uL1czQy1TVkctMS4x
L3RleHQtd3MtMDItdC5zdmciIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9lbWJlZD4K
LSAgIDxpZnJhbWUgaWQ9InN2Z0lGcmFtZSIgc3JjPSIuLi9XM0MtU1ZHLTEuMS90ZXh0LXdzLTAy
LXQuc3ZnIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwvaWZyYW1lPgotICAgPHByZSBp
ZD0iY29uc29sZSI+PC9wcmU+ICAgIAotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>