<?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>235312</bug_id>
          
          <creation_ts>2022-01-18 01:04:31 -0800</creation_ts>
          <short_desc>[JSC] Support import assertion syntax</short_desc>
          <delta_ts>2022-01-24 14:53:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1831633</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-18 01:04:31 -0800</bug_when>
    <thetext>[JSC] Support import assertion syntax</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831634</commentid>
    <comment_count>1</comment_count>
      <attachid>449367</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-18 01:05:52 -0800</bug_when>
    <thetext>Created attachment 449367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831703</commentid>
    <comment_count>2</comment_count>
      <attachid>449367</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2022-01-18 09:45:07 -0800</bug_when>
    <thetext>Comment on attachment 449367
Patch

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

Code looks good overall, so r=me once EWS is all green.

&gt; Source/JavaScriptCore/runtime/ScriptFetchParameters.h:32
&gt; +enum class ImportDataType : uint8_t {

Are the changes to this file actually being used in this patch? If not, should they be postponed &apos;til the next one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831704</commentid>
    <comment_count>3</comment_count>
      <attachid>449367</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2022-01-18 09:45:08 -0800</bug_when>
    <thetext>Comment on attachment 449367
Patch

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

Code looks good overall, so r=me once EWS is all green.

&gt; Source/JavaScriptCore/runtime/ScriptFetchParameters.h:32
&gt; +enum class ImportDataType : uint8_t {

Are the changes to this file actually being used in this patch? If not, should they be postponed &apos;til the next one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832347</commentid>
    <comment_count>4</comment_count>
      <attachid>449552</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-19 21:49:07 -0800</bug_when>
    <thetext>Created attachment 449552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832361</commentid>
    <comment_count>5</comment_count>
      <attachid>449556</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-19 23:46:47 -0800</bug_when>
    <thetext>Created attachment 449556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833502</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-24 14:52:28 -0800</bug_when>
    <thetext>Committed r288473 (246356@main): &lt;https://commits.webkit.org/246356@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449556.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833503</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-24 14:53:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/87991797&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449367</attachid>
            <date>2022-01-18 01:05:52 -0800</date>
            <delta_ts>2022-01-18 09:45:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235312-20220118010551.patch</filename>
            <type>text/plain</type>
            <size>34991</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZDM3NzliZTk4NzIyNjA1ZDMxZTVmYWZkMjg1NTQwODllZDJhMmYyLi4zOGE4ODA0Y2Y2Y2M1Y2Mz
ZDE3ZmExN2E2NTAzMjE4MzcyMjNiOWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MCBAQAorMjAyMi0wMS0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFN1cHBvcnQgaW1wb3J0IGFzc2VydGlvbiBzeW50YXgKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTMxMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRk
cyBzeW50YXggc3VwcG9ydCBmb3IgaW1wb3J0IGFzc2VydGlvblsxXS4KKyAgICAgICAgVGhpcyBk
b2VzIG5vdCBhZGQgdGhlIGFjdHVhbCBmZWF0dXJlIHByb3BhZ2F0aW5nIGltcG9ydCBhc3NlcnRp
b24KKyAgICAgICAgdG8gdGhlIG1vZHVsZSByZXF1ZXN0IHlldC4KKworICAgICAgICBbMV06IGh0
dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLWltcG9ydC1hc3NlcnRpb25zCisKKyAgICAg
ICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6SW1wb3J0
Tm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAg
ICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVJbXBvcnRFeHByKToKKyAgICAgICAgKEpTQzo6
QVNUQnVpbGRlcjo6Y3JlYXRlSW1wb3J0QXNzZXJ0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OkFT
VEJ1aWxkZXI6OmFwcGVuZEltcG9ydEFzc2VydGlvbik6CisgICAgICAgIChKU0M6OkFTVEJ1aWxk
ZXI6OmNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6
Y3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpJbXBvcnROb2RlOjpJbXBvcnROb2RlKToKKyAgICAg
ICAgKEpTQzo6SW1wb3J0RGVjbGFyYXRpb25Ob2RlOjpJbXBvcnREZWNsYXJhdGlvbk5vZGUpOgor
ICAgICAgICAoSlNDOjpFeHBvcnRBbGxEZWNsYXJhdGlvbk5vZGU6OkV4cG9ydEFsbERlY2xhcmF0
aW9uTm9kZSk6CisgICAgICAgIChKU0M6OkV4cG9ydE5hbWVkRGVjbGFyYXRpb25Ob2RlOjpFeHBv
cnROYW1lZERlY2xhcmF0aW9uTm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUltcG9ydEFzc2VydGlvbnMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VJbXBvcnREZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUV4cG9ydERlY2xhcmF0aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5o
OgorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRh
eENoZWNrZXI6OmNyZWF0ZUltcG9ydEV4cHIpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2Vy
OjpjcmVhdGVJbXBvcnRBc3NlcnRpb25MaXN0KToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tl
cjo6YXBwZW5kSW1wb3J0QXNzZXJ0aW9uKToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6
Y3JlYXRlSW1wb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpj
cmVhdGVFeHBvcnRBbGxEZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6
OmNyZWF0ZUV4cG9ydE5hbWVkRGVjbGFyYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVO
Q1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9uc0xpc3QuaDoKKyAgICAgICAgKiBydW50
aW1lL1NjcmlwdEZldGNoUGFyYW1ldGVycy5oOgorICAgICAgICAoSlNDOjpTY3JpcHRGZXRjaFBh
cmFtZXRlcnM6OnR5cGUgY29uc3QpOgorCiAyMDIyLTAxLTE2ICBMYXVybyBNb3VyYSAgPGxtb3Vy
YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBDKysyMCBidWlsZCB3YXJuaW5ncyB3aXRoIEdD
QwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwCmluZGV4IDM1OGQ0YTNiMDYxYjYxODhmZjE2ZmI3MGMyZDhiN2ZjNjYzODY5YWUuLjdh
YjE3ZTYxMWZkNGZiMTJkZThiOWZiMjQ0YzdkMmU1M2VkNGJkNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTIyNCw5
ICsyMjQsMTEgQEAgUmVnaXN0ZXJJRCogU3VwZXJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVH
ZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHMKIFJlZ2lzdGVySUQqIEltcG9ydE5v
ZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklE
KiBkc3QpCiB7CiAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGltcG9ydE1vZHVsZSA9IGdlbmVyYXRv
ci5tb3ZlTGlua1RpbWVDb25zdGFudChudWxscHRyLCBMaW5rVGltZUNvbnN0YW50OjppbXBvcnRN
b2R1bGUpOwotICAgIENhbGxBcmd1bWVudHMgYXJndW1lbnRzKGdlbmVyYXRvciwgbnVsbHB0ciwg
MSk7CisgICAgQ2FsbEFyZ3VtZW50cyBhcmd1bWVudHMoZ2VuZXJhdG9yLCBudWxscHRyLCBtX29w
dGlvbiA/IDIgOiAxKTsKICAgICBnZW5lcmF0b3IuZW1pdExvYWQoYXJndW1lbnRzLnRoaXNSZWdp
c3RlcigpLCBqc1VuZGVmaW5lZCgpKTsKICAgICBnZW5lcmF0b3IuZW1pdE5vZGUoYXJndW1lbnRz
LmFyZ3VtZW50UmVnaXN0ZXIoMCksIG1fZXhwcik7CisgICAgaWYgKG1fb3B0aW9uKQorICAgICAg
ICBnZW5lcmF0b3IuZW1pdE5vZGUoYXJndW1lbnRzLmFyZ3VtZW50UmVnaXN0ZXIoMSksIG1fb3B0
aW9uKTsKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRDYWxsKGdlbmVyYXRvci5maW5hbERlc3Rp
bmF0aW9uKGRzdCwgaW1wb3J0TW9kdWxlLmdldCgpKSwgaW1wb3J0TW9kdWxlLmdldCgpLCBOb0V4
cGVjdGVkRnVuY3Rpb24sIGFyZ3VtZW50cywgZGl2b3QoKSwgZGl2b3RTdGFydCgpLCBkaXZvdEVu
ZCgpLCBEZWJ1Z2dhYmxlQ2FsbDo6Tm8pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvQVNUQnVpbGRlci5oCmluZGV4IGI4NTVkNzE2YmY5NTVkMjc2MTc1ZDU5YmVkMjMwNzczY2Yw
NWYyNDAuLjk1NjNiZWU4NjU0OTMyYmQ1YmQ4ZmE5YzdkZjM3ZmM1NmM1ODg0YTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0xMTEsNiArMTExLDcgQEAg
Y2xhc3MgQVNUQnVpbGRlciB7CiAgICAgdHlwZWRlZiBNb2R1bGVOYW1lTm9kZSogTW9kdWxlTmFt
ZTsKICAgICB0eXBlZGVmIEltcG9ydFNwZWNpZmllck5vZGUqIEltcG9ydFNwZWNpZmllcjsKICAg
ICB0eXBlZGVmIEltcG9ydFNwZWNpZmllckxpc3ROb2RlKiBJbXBvcnRTcGVjaWZpZXJMaXN0Owor
ICAgIHR5cGVkZWYgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIEltcG9ydEFzc2VydGlvbkxpc3Q7
CiAgICAgdHlwZWRlZiBFeHBvcnRTcGVjaWZpZXJOb2RlKiBFeHBvcnRTcGVjaWZpZXI7CiAgICAg
dHlwZWRlZiBFeHBvcnRTcGVjaWZpZXJMaXN0Tm9kZSogRXhwb3J0U3BlY2lmaWVyTGlzdDsKICAg
ICB0eXBlZGVmIFN0YXRlbWVudE5vZGUqIFN0YXRlbWVudDsKQEAgLTE3OSw5ICsxODAsOSBAQCBj
bGFzcyBBU1RCdWlsZGVyIHsKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJl
bmEpIFN1cGVyTm9kZShsb2NhdGlvbik7CiAgICAgfQotICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVh
dGVJbXBvcnRFeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25O
b2RlKiBleHByLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0
aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKKyAgICBFeHByZXNzaW9uTm9k
ZSogY3JlYXRlSW1wb3J0RXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHBy
ZXNzaW9uTm9kZSogZXhwciwgRXhwcmVzc2lvbk5vZGUqIG9wdGlvbiwgY29uc3QgSlNUZXh0UG9z
aXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiBlbmQpCiAgICAgewotICAgICAgICBhdXRvKiBub2RlID0gbmV3IChtX3BhcnNlckFy
ZW5hKSBJbXBvcnROb2RlKGxvY2F0aW9uLCBleHByKTsKKyAgICAgICAgYXV0byogbm9kZSA9IG5l
dyAobV9wYXJzZXJBcmVuYSkgSW1wb3J0Tm9kZShsb2NhdGlvbiwgZXhwciwgb3B0aW9uKTsKICAg
ICAgICAgc2V0RXhjZXB0aW9uTG9jYXRpb24obm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOwogICAg
ICAgICByZXR1cm4gbm9kZTsKICAgICB9CkBAIC04MTEsMTQgKzgxMiwyNCBAQCBjbGFzcyBBU1RC
dWlsZGVyIHsKICAgICAgICAgc3BlY2lmaWVyTGlzdC0+YXBwZW5kKHNwZWNpZmllcik7CiAgICAg
fQogCi0gICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgSW1wb3J0U3BlY2lmaWVyTGlzdE5vZGUqIGltcG9ydFNw
ZWNpZmllckxpc3QsIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lKQorICAgIEltcG9ydEFzc2Vy
dGlvbkxpc3ROb2RlKiBjcmVhdGVJbXBvcnRBc3NlcnRpb25MaXN0KCkKICAgICB7Ci0gICAgICAg
IHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIEltcG9ydERlY2xhcmF0aW9uTm9kZShsb2NhdGlv
biwgaW1wb3J0U3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSk7CisgICAgICAgIHJldHVybiBuZXcg
KG1fcGFyc2VyQXJlbmEpIEltcG9ydEFzc2VydGlvbkxpc3ROb2RlKCk7CiAgICAgfQogCi0gICAg
U3RhdGVtZW50Tm9kZSogY3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRpb24oY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgTW9kdWxlTmFtZU5vZGUqIG1vZHVsZU5hbWUpCisgICAgdm9pZCBh
cHBlbmRJbXBvcnRBc3NlcnRpb24oSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIGFzc2VydGlvbkxp
c3QsIGNvbnN0IElkZW50aWZpZXImIGtleSwgY29uc3QgSWRlbnRpZmllciYgdmFsdWUpCiAgICAg
ewotICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBFeHBvcnRBbGxEZWNsYXJhdGlv
bk5vZGUobG9jYXRpb24sIG1vZHVsZU5hbWUpOworICAgICAgICBhc3NlcnRpb25MaXN0LT5hcHBl
bmQoa2V5LCB2YWx1ZSk7CisgICAgfQorCisgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlSW1wb3J0
RGVjbGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgSW1wb3J0U3BlY2lm
aWVyTGlzdE5vZGUqIGltcG9ydFNwZWNpZmllckxpc3QsIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVO
YW1lLCBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogaW1wb3J0QXNzZXJ0aW9uTGlzdCkKKyAgICB7
CisgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIEltcG9ydERlY2xhcmF0aW9uTm9k
ZShsb2NhdGlvbiwgaW1wb3J0U3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSwgaW1wb3J0QXNzZXJ0
aW9uTGlzdCk7CisgICAgfQorCisgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRXhwb3J0QWxsRGVj
bGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgTW9kdWxlTmFtZU5vZGUq
IG1vZHVsZU5hbWUsIEltcG9ydEFzc2VydGlvbkxpc3ROb2RlKiBpbXBvcnRBc3NlcnRpb25MaXN0
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgRXhwb3J0QWxsRGVj
bGFyYXRpb25Ob2RlKGxvY2F0aW9uLCBtb2R1bGVOYW1lLCBpbXBvcnRBc3NlcnRpb25MaXN0KTsK
ICAgICB9CiAKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVFeHBvcnREZWZhdWx0RGVjbGFyYXRp
b24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgU3RhdGVtZW50Tm9kZSogZGVjbGFy
YXRpb24sIGNvbnN0IElkZW50aWZpZXImIGxvY2FsTmFtZSkKQEAgLTgzMSw5ICs4NDIsOSBAQCBj
bGFzcyBBU1RCdWlsZGVyIHsKICAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgRXhw
b3J0TG9jYWxEZWNsYXJhdGlvbk5vZGUobG9jYXRpb24sIGRlY2xhcmF0aW9uKTsKICAgICB9CiAK
LSAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cG9ydFNwZWNpZmllckxpc3ROb2RlKiBleHBvcnRT
cGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSkKKyAgICBTdGF0ZW1lbnRO
b2RlKiBjcmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIEV4cG9ydFNwZWNpZmllckxpc3ROb2RlKiBleHBvcnRTcGVjaWZpZXJMaXN0LCBN
b2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSwgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIGltcG9y
dEFzc2VydGlvbkxpc3QpCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5h
KSBFeHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZShsb2NhdGlvbiwgZXhwb3J0U3BlY2lmaWVyTGlz
dCwgbW9kdWxlTmFtZSk7CisgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIEV4cG9y
dE5hbWVkRGVjbGFyYXRpb25Ob2RlKGxvY2F0aW9uLCBleHBvcnRTcGVjaWZpZXJMaXN0LCBtb2R1
bGVOYW1lLCBpbXBvcnRBc3NlcnRpb25MaXN0KTsKICAgICB9CiAKICAgICBFeHBvcnRTcGVjaWZp
ZXJOb2RlKiBjcmVhdGVFeHBvcnRTcGVjaWZpZXIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2Nh
dGlvbiwgY29uc3QgSWRlbnRpZmllciYgbG9jYWxOYW1lLCBjb25zdCBJZGVudGlmaWVyJiBleHBv
cnRlZE5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVD
b25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVj
dG9ycy5oCmluZGV4IDJjMDlkMjhjNjZmODlhNWE5MWU4NTRiZjgxNWY4YTQ4MTAzODY0NTAuLmI0
ZGYyNDQ1ODkyNmEzMjQ1YjYyMWRiYTFhZmM3MDA3MjgyYzc4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC0xNzksOSArMTc5LDEw
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHsKICAgICB9CiAKLSAgICBpbmxpbmUgSW1wb3J0Tm9k
ZTo6SW1wb3J0Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9u
Tm9kZSogZXhwcikKKyAgICBpbmxpbmUgSW1wb3J0Tm9kZTo6SW1wb3J0Tm9kZShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwciwgRXhwcmVzc2lvbk5v
ZGUqIG9wdGlvbikKICAgICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlvbikKICAgICAgICAg
LCBtX2V4cHIoZXhwcikKKyAgICAgICAgLCBtX29wdGlvbihvcHRpb24pCiAgICAgewogICAgIH0K
IApAQCAtODY1LDE2ICs4NjYsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAot
ICAgIGlubGluZSBJbXBvcnREZWNsYXJhdGlvbk5vZGU6OkltcG9ydERlY2xhcmF0aW9uTm9kZShj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBJbXBvcnRTcGVjaWZpZXJMaXN0Tm9kZSog
aW1wb3J0U3BlY2lmaWVyTGlzdCwgTW9kdWxlTmFtZU5vZGUqIG1vZHVsZU5hbWUpCisgICAgaW5s
aW5lIEltcG9ydERlY2xhcmF0aW9uTm9kZTo6SW1wb3J0RGVjbGFyYXRpb25Ob2RlKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEltcG9ydFNwZWNpZmllckxpc3ROb2RlKiBpbXBvcnRT
cGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSwgSW1wb3J0QXNzZXJ0aW9u
TGlzdE5vZGUqIGltcG9ydEFzc2VydGlvbkxpc3QpCiAgICAgICAgIDogTW9kdWxlRGVjbGFyYXRp
b25Ob2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fc3BlY2lmaWVyTGlzdChpbXBvcnRTcGVjaWZp
ZXJMaXN0KQogICAgICAgICAsIG1fbW9kdWxlTmFtZShtb2R1bGVOYW1lKQorICAgICAgICAsIG1f
YXNzZXJ0aW9uTGlzdChpbXBvcnRBc3NlcnRpb25MaXN0KQogICAgIHsKICAgICB9CiAKLSAgICBp
bmxpbmUgRXhwb3J0QWxsRGVjbGFyYXRpb25Ob2RlOjpFeHBvcnRBbGxEZWNsYXJhdGlvbk5vZGUo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgTW9kdWxlTmFtZU5vZGUqIG1vZHVsZU5h
bWUpCisgICAgaW5saW5lIEV4cG9ydEFsbERlY2xhcmF0aW9uTm9kZTo6RXhwb3J0QWxsRGVjbGFy
YXRpb25Ob2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIE1vZHVsZU5hbWVOb2Rl
KiBtb2R1bGVOYW1lLCBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogaW1wb3J0QXNzZXJ0aW9uTGlz
dCkKICAgICAgICAgOiBNb2R1bGVEZWNsYXJhdGlvbk5vZGUobG9jYXRpb24pCiAgICAgICAgICwg
bV9tb2R1bGVOYW1lKG1vZHVsZU5hbWUpCisgICAgICAgICwgbV9hc3NlcnRpb25MaXN0KGltcG9y
dEFzc2VydGlvbkxpc3QpCiAgICAgewogICAgIH0KIApAQCAtODkxLDEwICs4OTQsMTEgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBFeHBvcnROYW1lZERlY2xh
cmF0aW9uTm9kZTo6RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiBsb2NhdGlvbiwgRXhwb3J0U3BlY2lmaWVyTGlzdE5vZGUqIGV4cG9ydFNwZWNpZmllckxp
c3QsIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lKQorICAgIGlubGluZSBFeHBvcnROYW1lZERl
Y2xhcmF0aW9uTm9kZTo6RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgRXhwb3J0U3BlY2lmaWVyTGlzdE5vZGUqIGV4cG9ydFNwZWNpZmll
ckxpc3QsIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lLCBJbXBvcnRBc3NlcnRpb25MaXN0Tm9k
ZSogaW1wb3J0QXNzZXJ0aW9uTGlzdCkKICAgICAgICAgOiBNb2R1bGVEZWNsYXJhdGlvbk5vZGUo
bG9jYXRpb24pCiAgICAgICAgICwgbV9zcGVjaWZpZXJMaXN0KGV4cG9ydFNwZWNpZmllckxpc3Qp
CiAgICAgICAgICwgbV9tb2R1bGVOYW1lKG1vZHVsZU5hbWUpCisgICAgICAgICwgbV9hc3NlcnRp
b25MaXN0KGltcG9ydEFzc2VydGlvbkxpc3QpCiAgICAgewogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDFhZDU1OGQyMDg4NGQzZGFlYzNjMjk0MTg4ZDE0N2I3
MjMxNTI3NzIuLjhhYzlhODQ1OGI2MDU2Njk5MmY4NzIyOTQ0MmIwNGU2YjNmYjAxNjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTYyNywxMyArNjI3LDE0IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgY2xhc3MgSW1wb3J0Tm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNz
aW9uTm9kZSwgcHVibGljIFRocm93YWJsZUV4cHJlc3Npb25EYXRhIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIEltcG9ydE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUq
KTsKKyAgICAgICAgSW1wb3J0Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9u
Tm9kZSosIEV4cHJlc3Npb25Ob2RlKik7CiAKICAgICBwcml2YXRlOgogICAgICAgICBib29sIGlz
SW1wb3J0Tm9kZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICAgICAgUmVnaXN0
ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSBudWxs
cHRyKSBmaW5hbDsKIAogICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9leHByOworICAgICAgICBF
eHByZXNzaW9uTm9kZSogbV9vcHRpb247CiAgICAgfTsKIAogICAgIGNsYXNzIE1ldGFQcm9wZXJ0
eU5vZGUgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewpAQCAtMjA1Nyw2ICsyMDU4LDIxIEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBTcGVjaWZpZXJzIG1fc3BlY2lmaWVyczsKICAgICB9Owog
CisgICAgY2xhc3MgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUgZmluYWwgOiBwdWJsaWMgUGFyc2Vy
QXJlbmFEZWxldGFibGUgeworICAgICAgICBKU0NfTUFLRV9QQVJTRVJfQVJFTkFfREVMRVRBQkxF
X0FMTE9DQVRFRChJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSk7CisgICAgcHVibGljOgorICAgICAg
ICB1c2luZyBBc3NlcnRpb25zID0gVmVjdG9yPHN0ZDo6dHVwbGU8Y29uc3QgSWRlbnRpZmllcios
IGNvbnN0IElkZW50aWZpZXIqPiwgMz47CisKKyAgICAgICAgY29uc3QgQXNzZXJ0aW9ucyYgYXNz
ZXJ0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fYXNzZXJ0aW9uczsgfQorICAgICAgICB2b2lkIGFw
cGVuZChjb25zdCBJZGVudGlmaWVyJiBrZXksIGNvbnN0IElkZW50aWZpZXImIHZhbHVlKQorICAg
ICAgICB7CisgICAgICAgICAgICBtX2Fzc2VydGlvbnMuYXBwZW5kKHN0ZDo6dHVwbGUgeyAma2V5
LCAmdmFsdWUgfSk7CisgICAgICAgIH0KKworICAgIHByaXZhdGU6CisgICAgICAgIEFzc2VydGlv
bnMgbV9hc3NlcnRpb25zOworICAgIH07CisKICAgICBjbGFzcyBNb2R1bGVEZWNsYXJhdGlvbk5v
ZGUgOiBwdWJsaWMgU3RhdGVtZW50Tm9kZSB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFs
IHZvaWQgYW5hbHl6ZU1vZHVsZShNb2R1bGVBbmFseXplciYpID0gMDsKQEAgLTIwNjksMTAgKzIw
ODUsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBJbXBvcnREZWNsYXJhdGlvbk5v
ZGUgZmluYWwgOiBwdWJsaWMgTW9kdWxlRGVjbGFyYXRpb25Ob2RlIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIEltcG9ydERlY2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBJbXBv
cnRTcGVjaWZpZXJMaXN0Tm9kZSosIE1vZHVsZU5hbWVOb2RlKik7CisgICAgICAgIEltcG9ydERl
Y2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBJbXBvcnRTcGVjaWZpZXJMaXN0
Tm9kZSosIE1vZHVsZU5hbWVOb2RlKiwgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqKTsKIAogICAg
ICAgICBJbXBvcnRTcGVjaWZpZXJMaXN0Tm9kZSogc3BlY2lmaWVyTGlzdCgpIGNvbnN0IHsgcmV0
dXJuIG1fc3BlY2lmaWVyTGlzdDsgfQogICAgICAgICBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlTmFtZTsgfQorICAgICAgICBJbXBvcnRBc3NlcnRp
b25MaXN0Tm9kZSogYXNzZXJ0aW9uTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNzZXJ0aW9uTGlz
dDsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVH
ZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IG51bGxwdHIpIGZpbmFsOwpAQCAtMjA4MCwxOSArMjA5
NywyMiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBJbXBvcnRTcGVjaWZpZXJMaXN0Tm9k
ZSogbV9zcGVjaWZpZXJMaXN0OwogICAgICAgICBNb2R1bGVOYW1lTm9kZSogbV9tb2R1bGVOYW1l
OworICAgICAgICBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogbV9hc3NlcnRpb25MaXN0OwogICAg
IH07CiAKICAgICBjbGFzcyBFeHBvcnRBbGxEZWNsYXJhdGlvbk5vZGUgZmluYWwgOiBwdWJsaWMg
TW9kdWxlRGVjbGFyYXRpb25Ob2RlIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEV4cG9ydEFsbERl
Y2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBNb2R1bGVOYW1lTm9kZSopOwor
ICAgICAgICBFeHBvcnRBbGxEZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
TW9kdWxlTmFtZU5vZGUqLCBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSopOwogCiAgICAgICAgIE1v
ZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVOYW1lOyB9
CisgICAgICAgIEltcG9ydEFzc2VydGlvbkxpc3ROb2RlKiBhc3NlcnRpb25MaXN0KCkgY29uc3Qg
eyByZXR1cm4gbV9hc3NlcnRpb25MaXN0OyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICB2b2lk
IGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gbnVsbHB0cikg
ZmluYWw7CiAgICAgICAgIHZvaWQgYW5hbHl6ZU1vZHVsZShNb2R1bGVBbmFseXplciYpIGZpbmFs
OwogCiAgICAgICAgIE1vZHVsZU5hbWVOb2RlKiBtX21vZHVsZU5hbWU7CisgICAgICAgIEltcG9y
dEFzc2VydGlvbkxpc3ROb2RlKiBtX2Fzc2VydGlvbkxpc3Q7CiAgICAgfTsKIAogICAgIGNsYXNz
IEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbk5vZGUgZmluYWwgOiBwdWJsaWMgTW9kdWxlRGVjbGFy
YXRpb25Ob2RlIHsKQEAgLTIxNTAsMTYgKzIxNzAsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICBjbGFzcyBFeHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZSBmaW5hbCA6IHB1YmxpYyBNb2R1bGVE
ZWNsYXJhdGlvbk5vZGUgewogICAgIHB1YmxpYzoKLSAgICAgICAgRXhwb3J0TmFtZWREZWNsYXJh
dGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwb3J0U3BlY2lmaWVyTGlzdE5vZGUq
LCBNb2R1bGVOYW1lTm9kZSopOworICAgICAgICBFeHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZShj
b25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHBvcnRTcGVjaWZpZXJMaXN0Tm9kZSosIE1vZHVsZU5h
bWVOb2RlKiwgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqKTsKIAogICAgICAgICBFeHBvcnRTcGVj
aWZpZXJMaXN0Tm9kZSogc3BlY2lmaWVyTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fc3BlY2lmaWVy
TGlzdDsgfQogICAgICAgICBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbW9kdWxlTmFtZTsgfQorICAgICAgICBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogYXNz
ZXJ0aW9uTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNzZXJ0aW9uTGlzdDsgfQogCiAgICAgcHJp
dmF0ZToKICAgICAgICAgdm9pZCBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdp
c3RlcklEKiA9IG51bGxwdHIpIGZpbmFsOwogICAgICAgICB2b2lkIGFuYWx5emVNb2R1bGUoTW9k
dWxlQW5hbHl6ZXImKSBmaW5hbDsKICAgICAgICAgRXhwb3J0U3BlY2lmaWVyTGlzdE5vZGUqIG1f
c3BlY2lmaWVyTGlzdDsKICAgICAgICAgTW9kdWxlTmFtZU5vZGUqIG1fbW9kdWxlTmFtZSB7IG51
bGxwdHIgfTsKKyAgICAgICAgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIG1fYXNzZXJ0aW9uTGlz
dCB7IG51bGxwdHIgfTsKICAgICB9OwogCiAgICAgY2xhc3MgRnVuY3Rpb25NZXRhZGF0YU5vZGUg
ZmluYWwgOiBwdWJsaWMgUGFyc2VyQXJlbmFEZWxldGFibGUsIHB1YmxpYyBOb2RlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBmZTNmOTllZDc5OTM5MjgyOWZm
YjlmZjY2NjNjZTFkN2IxNzVmZTYzLi40ZjZlYWMzYzJhZDMyYmJhYmZhNDc2MzZlNjlkNmE0NDgz
ODYzNThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0zNTc1
LDYgKzM1NzUsMjcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVl
QnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVJbXBvcnRTcGVjaWZpZXIoc3BlY2lmaWVyTG9jYXRpb24sICppbXBvcnRlZE5hbWUs
ICpsb2NhbE5hbWUpOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0QXNzZXJ0
aW9uTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnRBc3NlcnRpb25zKFRyZWVCdWls
ZGVyJiBjb250ZXh0KQoreworICAgIGF1dG8gYXNzZXJ0aW9uTGlzdCA9IGNvbnRleHQuY3JlYXRl
SW1wb3J0QXNzZXJ0aW9uTGlzdCgpOworICAgIGNvbnN1bWVPckZhaWwoT1BFTkJSQUNFLCAiRXhw
ZWN0ZWQgb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGltcG9ydCBhc3NlcnRpb24iKTsKKyAg
ICB3aGlsZSAoIW1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNo
SWRlbnRpZmllck9yS2V5d29yZCgpIHx8IG1hdGNoKFNUUklORyksICJFeHBlY3RlZCBhbiBhc3Nl
cnRpb24ga2V5Iik7CisgICAgICAgIGF1dG8ga2V5ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7Cisg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkICc6
JyBhZnRlciBhc3NlcnRpb24ga2V5Iik7CisgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKFNUUklO
RyksICJFeHBlY3RlZCBhbiBhc3NlcnRpb24gdmFsdWUiKTsKKyAgICAgICAgYXV0byB2YWx1ZSA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBuZXh0KCk7CisgICAgICAgIGNvbnRleHQu
YXBwZW5kSW1wb3J0QXNzZXJ0aW9uKGFzc2VydGlvbkxpc3QsICprZXksICp2YWx1ZSk7CisgICAg
ICAgIGlmICghY29uc3VtZShDT01NQSkpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAg
aGFuZGxlUHJvZHVjdGlvbk9yRmFpbDIoQ0xPU0VCUkFDRSwgIn0iLCAiZW5kIiwgImltcG9ydCBh
c3NlcnRpb24iKTsKKyAgICByZXR1cm4gYXNzZXJ0aW9uTGlzdDsKK30KKwogdGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNsYXJhdGlvbihUcmVlQnVpbGRl
ciYgY29udGV4dCkKIHsKQEAgLTM1ODcsMTAgKzM2MDgsMTkgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERl
Y2xhcmEKIAogICAgIGlmIChtYXRjaChTVFJJTkcpKSB7CiAgICAgICAgIC8vIGltcG9ydCBNb2R1
bGVTcGVjaWZpZXIgOworICAgICAgICAvLyBpbXBvcnQgTW9kdWxlU3BlY2lmaWVyIFtubyBMaW5l
VGVybWluYXRvciBoZXJlXSBBc3NlcnRDbGF1c2UgOwogICAgICAgICBhdXRvIG1vZHVsZU5hbWUg
PSBwYXJzZU1vZHVsZU5hbWUoY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1vZHVsZU5h
bWUsICJDYW5ub3QgcGFyc2UgdGhlIG1vZHVsZSBuYW1lIik7CisKKyAgICAgICAgdHlwZW5hbWUg
VHJlZUJ1aWxkZXI6OkltcG9ydEFzc2VydGlvbkxpc3QgYXNzZXJ0aW9uTGlzdCA9IDA7CisgICAg
ICAgIGlmIChPcHRpb25zOjp1c2VJbXBvcnRBc3NlcnRpb24oKSAmJiAhbV9sZXhlci0+aGFzTGlu
ZVRlcm1pbmF0b3JCZWZvcmVUb2tlbigpICYmIG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS5w
cm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5hc3NlcnRQdWJsaWNOYW1lKCkpKSB7CisgICAg
ICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBhc3NlcnRpb25MaXN0ID0gcGFyc2VJbXBvcnRB
c3NlcnRpb25zKGNvbnRleHQpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoYXNzZXJ0aW9uTGlz
dCwgIlVuYWJsZSB0byBwYXJzZSBpbXBvcnQgYXNzZXJ0aW9uIik7CisgICAgICAgIH0KKwogICAg
ICAgICBmYWlsSWZGYWxzZShhdXRvU2VtaUNvbG9uKCksICJFeHBlY3RlZCBhICc7JyBmb2xsb3dp
bmcgYSB0YXJnZXRlZCBpbXBvcnQgZGVjbGFyYXRpb24iKTsKLSAgICAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oaW1wb3J0TG9jYXRpb24sIHNwZWNpZmllckxpc3Qs
IG1vZHVsZU5hbWUpOworICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJbXBvcnREZWNsYXJh
dGlvbihpbXBvcnRMb2NhdGlvbiwgc3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSwgYXNzZXJ0aW9u
TGlzdCk7CiAgICAgfQogCiAgICAgYm9vbCBpc0ZpbmlzaGVkUGFyc2luZ0ltcG9ydCA9IGZhbHNl
OwpAQCAtMzY0MCw5ICszNjcwLDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNsYXJhCiAKICAgICBh
dXRvIG1vZHVsZU5hbWUgPSBwYXJzZU1vZHVsZU5hbWUoY29udGV4dCk7CiAgICAgZmFpbElmRmFs
c2UobW9kdWxlTmFtZSwgIkNhbm5vdCBwYXJzZSB0aGUgbW9kdWxlIG5hbWUiKTsKKworICAgIC8v
IFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBBc3NlcnRDbGF1c2UgOworICAgIHR5cGVuYW1lIFRy
ZWVCdWlsZGVyOjpJbXBvcnRBc3NlcnRpb25MaXN0IGFzc2VydGlvbkxpc3QgPSAwOworICAgIGlm
IChPcHRpb25zOjp1c2VJbXBvcnRBc3NlcnRpb24oKSAmJiAhbV9sZXhlci0+aGFzTGluZVRlcm1p
bmF0b3JCZWZvcmVUb2tlbigpICYmIG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS5wcm9wZXJ0
eU5hbWVzLT5idWlsdGluTmFtZXMoKS5hc3NlcnRQdWJsaWNOYW1lKCkpKSB7CisgICAgICAgIG5l
eHQoKTsKKyAgICAgICAgYXNzZXJ0aW9uTGlzdCA9IHBhcnNlSW1wb3J0QXNzZXJ0aW9ucyhjb250
ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UoYXNzZXJ0aW9uTGlzdCwgIlVuYWJsZSB0byBwYXJz
ZSBpbXBvcnQgYXNzZXJ0aW9uIik7CisgICAgfQorCiAgICAgZmFpbElmRmFsc2UoYXV0b1NlbWlD
b2xvbigpLCAiRXhwZWN0ZWQgYSAnOycgZm9sbG93aW5nIGEgdGFyZ2V0ZWQgaW1wb3J0IGRlY2xh
cmF0aW9uIik7CiAKLSAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJbXBvcnREZWNsYXJhdGlvbihp
bXBvcnRMb2NhdGlvbiwgc3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSk7CisgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oaW1wb3J0TG9jYXRpb24sIHNwZWNpZmllckxp
c3QsIG1vZHVsZU5hbWUsIGFzc2VydGlvbkxpc3QpOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgpAQCAtMzcxNCw2ICszNzUzLDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJh
CiAgICAgICAgIG5leHQoKTsKICAgICAgICAgYXV0byBtb2R1bGVOYW1lID0gcGFyc2VNb2R1bGVO
YW1lKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShtb2R1bGVOYW1lLCAiQ2Fubm90IHBh
cnNlIHRoZSAnZnJvbScgY2xhdXNlIik7CisKKyAgICAgICAgLy8gW25vIExpbmVUZXJtaW5hdG9y
IGhlcmVdIEFzc2VydENsYXVzZSA7CisgICAgICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBv
cnRBc3NlcnRpb25MaXN0IGFzc2VydGlvbkxpc3QgPSAwOworICAgICAgICBpZiAoT3B0aW9uczo6
dXNlSW1wb3J0QXNzZXJ0aW9uKCkgJiYgIW1fbGV4ZXItPmhhc0xpbmVUZXJtaW5hdG9yQmVmb3Jl
VG9rZW4oKSAmJiBtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+YnVp
bHRpbk5hbWVzKCkuYXNzZXJ0UHVibGljTmFtZSgpKSkgeworICAgICAgICAgICAgbmV4dCgpOwor
ICAgICAgICAgICAgYXNzZXJ0aW9uTGlzdCA9IHBhcnNlSW1wb3J0QXNzZXJ0aW9ucyhjb250ZXh0
KTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGFzc2VydGlvbkxpc3QsICJVbmFibGUgdG8gcGFy
c2UgaW1wb3J0IGFzc2VydGlvbiIpOworICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFsc2Uo
YXV0b1NlbWlDb2xvbigpLCAiRXhwZWN0ZWQgYSAnOycgZm9sbG93aW5nIGEgdGFyZ2V0ZWQgZXhw
b3J0IGRlY2xhcmF0aW9uIik7CiAKICAgICAgICAgaWYgKGV4cG9ydGVkTmFtZSkgewpAQCAtMzcy
MiwxMCArMzc3MCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAgICAgYXV0
byBsb2NhbE5hbWUgPSAmbV92bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNwYWNlUHJpdmF0ZU5h
bWU7CiAgICAgICAgICAgICBhdXRvIHNwZWNpZmllciA9IGNvbnRleHQuY3JlYXRlRXhwb3J0U3Bl
Y2lmaWVyKHNwZWNpZmllckxvY2F0aW9uLCAqbG9jYWxOYW1lLCAqZXhwb3J0ZWROYW1lKTsKICAg
ICAgICAgICAgIGNvbnRleHQuYXBwZW5kRXhwb3J0U3BlY2lmaWVyKHNwZWNpZmllckxpc3QsIHNw
ZWNpZmllcik7Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVFeHBvcnROYW1lZERl
Y2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBzcGVjaWZpZXJMaXN0LCBtb2R1bGVOYW1lKTsKKyAg
ICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cG9ydE5hbWVkRGVjbGFyYXRpb24oZXhw
b3J0TG9jYXRpb24sIHNwZWNpZmllckxpc3QsIG1vZHVsZU5hbWUsIGFzc2VydGlvbkxpc3QpOwog
ICAgICAgICB9CiAKLSAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwb3J0QWxsRGVjbGFy
YXRpb24oZXhwb3J0TG9jYXRpb24sIG1vZHVsZU5hbWUpOworICAgICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVFeHBvcnRBbGxEZWNsYXJhdGlvbihleHBvcnRMb2NhdGlvbiwgbW9kdWxlTmFtZSwg
YXNzZXJ0aW9uTGlzdCk7CiAgICAgfQogCiAgICAgY2FzZSBERUZBVUxUOiB7CkBAIC0zODQ3LDEw
ICszODk1LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgIGhhbmRsZVByb2R1
Y3Rpb25PckZhaWwyKENMT1NFQlJBQ0UsICJ9IiwgImVuZCIsICJleHBvcnQgbGlzdCIpOwogCiAg
ICAgICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpNb2R1bGVOYW1lIG1vZHVsZU5hbWUgPSAwOwor
ICAgICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0QXNzZXJ0aW9uTGlzdCBhc3NlcnRp
b25MaXN0ID0gMDsKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS5wcm9w
ZXJ0eU5hbWVzLT5mcm9tKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgbW9k
dWxlTmFtZSA9IHBhcnNlTW9kdWxlTmFtZShjb250ZXh0KTsKICAgICAgICAgICAgIGZhaWxJZkZh
bHNlKG1vZHVsZU5hbWUsICJDYW5ub3QgcGFyc2UgdGhlICdmcm9tJyBjbGF1c2UiKTsKKworICAg
ICAgICAgICAgLy8gW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIEFzc2VydENsYXVzZSA7CisgICAg
ICAgICAgICBpZiAoT3B0aW9uczo6dXNlSW1wb3J0QXNzZXJ0aW9uKCkgJiYgIW1fbGV4ZXItPmhh
c0xpbmVUZXJtaW5hdG9yQmVmb3JlVG9rZW4oKSAmJiBtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1f
dm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuYXNzZXJ0UHVibGljTmFtZSgpKSkgewor
ICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRpb25MaXN0ID0g
cGFyc2VJbXBvcnRBc3NlcnRpb25zKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGZhaWxJZkZh
bHNlKGFzc2VydGlvbkxpc3QsICJVbmFibGUgdG8gcGFyc2UgaW1wb3J0IGFzc2VydGlvbiIpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHNlbWFudGljRmFpbElm
VHJ1ZShoYXNSZWZlcmVuY2VkTW9kdWxlRXhwb3J0TmFtZXMsICJDYW5ub3QgdXNlIG1vZHVsZSBl
eHBvcnQgbmFtZXMgaWYgdGhleSByZWZlcmVuY2UgdmFyaWFibGUgbmFtZXMgaW4gdGhlIGN1cnJl
bnQgbW9kdWxlIik7CiAgICAgICAgIGZhaWxJZkZhbHNlKGF1dG9TZW1pQ29sb24oKSwgIkV4cGVj
dGVkIGEgJzsnIGZvbGxvd2luZyBhIHRhcmdldGVkIGV4cG9ydCBkZWNsYXJhdGlvbiIpOwpAQCAt
Mzg3Miw3ICszOTI4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cG9ydE5hbWVkRGVj
bGFyYXRpb24oZXhwb3J0TG9jYXRpb24sIHNwZWNpZmllckxpc3QsIG1vZHVsZU5hbWUpOworICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKGV4cG9ydExv
Y2F0aW9uLCBzcGVjaWZpZXJMaXN0LCBtb2R1bGVOYW1lLCBhc3NlcnRpb25MaXN0KTsKICAgICB9
CiAKICAgICBkZWZhdWx0OiB7CkBAIC01MTM5LDggKzUxOTUsMTYgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1i
ZXJFeHByZXMKICAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoT1BFTlBBUkVOLCAiaW1wb3J0IGNh
bGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudCIpOwogICAgICAgICAgICAgVHJlZUV4cHJl
c3Npb24gZXhwciA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAg
ICAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAg
ICAgICAgIFRyZWVFeHByZXNzaW9uIG9wdGlvbkV4cHJlc3Npb24gPSAwOworICAgICAgICAgICAg
aWYgKGNvbnN1bWUoQ09NTUEpKSB7CisgICAgICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBB
UkVOKSkgeworICAgICAgICAgICAgICAgICAgICBvcHRpb25FeHByZXNzaW9uID0gcGFyc2VBc3Np
Z25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbElmRmFs
c2Uob3B0aW9uRXhwcmVzc2lvbiwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAg
ICAgICAgICAgICAgIGNvbnN1bWUoQ09NTUEpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImltcG9ydCBjYWxs
IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQiKTsKLSAgICAgICAgICAgIGJhc2UgPSBjb250
ZXh0LmNyZWF0ZUltcG9ydEV4cHIobG9jYXRpb24sIGV4cHIsIGV4cHJlc3Npb25TdGFydCwgZXhw
cmVzc2lvbkVuZCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgICAgICAgICBiYXNlID0g
Y29udGV4dC5jcmVhdGVJbXBvcnRFeHByKGxvY2F0aW9uLCBleHByLCBvcHRpb25FeHByZXNzaW9u
LCBleHByZXNzaW9uU3RhcnQsIGV4cHJlc3Npb25FbmQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkp
OwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmICghYmFzZUlzTmV3VGFyZ2V0KSB7CiAgICAgICAg
IGNvbnN0IGJvb2wgaXNBc3luYyA9IG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS5wcm9wZXJ0
eU5hbWVzLT5hc3luYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA0
NGEyZWJhMDkyMDY1YTkwYTNiYzhhMTFmZWVkZGMzZGFmYzY1ODdhLi4yYzc3ZTcwZmIzNmI4NmVk
ZmNlNmNiMTk5NzJkMGVhNTEwNjc0ZDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmgKQEAgLTE3ODQsNiArMTc4NCw3IEBAIGNsYXNzIFBhcnNlciB7CiAgICAgZW51bSBjbGFz
cyBJbXBvcnRTcGVjaWZpZXJUeXBlIHsgTmFtZXNwYWNlSW1wb3J0LCBOYW1lZEltcG9ydCwgRGVm
YXVsdEltcG9ydCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUg
VHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBwYXJzZUltcG9ydENsYXVzZUl0ZW0oVHJlZUJ1
aWxkZXImLCBJbXBvcnRTcGVjaWZpZXJUeXBlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpNb2R1bGVOYW1lIHBhcnNlTW9kdWxlTmFtZShU
cmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUg
VHJlZUJ1aWxkZXI6OkltcG9ydEFzc2VydGlvbkxpc3QgcGFyc2VJbXBvcnRBc3NlcnRpb25zKFRy
ZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IHBhcnNlSW1wb3J0RGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpFeHBvcnRTcGVjaWZpZXIg
cGFyc2VFeHBvcnRTcGVjaWZpZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFZlY3RvcjxzdGQ6OnBh
aXI8Y29uc3QgSWRlbnRpZmllciosIGNvbnN0IElkZW50aWZpZXIqPj4mIG1heWJlRXhwb3J0ZWRM
b2NhbE5hbWVzLCBib29sJiBoYXNLZXl3b3JkRm9yTG9jYWxCaW5kaW5ncywgYm9vbCYgaGFzUmVm
ZXJlbmNlZE1vZHVsZUV4cG9ydE5hbWVzKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VFeHBvcnREZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCA1Mjkx
ZGMxZTFiYTE0YzExNTc4ZDhjODJmMzFjYTY2ZDllMWM1MjM5Li4xMDg3ODBmMGRiN2Y3YTUyOTg5
NzRjMGM3YzZiNjY4N2ZiOWFlZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaApAQCAtODYsNyArODYsNyBAQCBjbGFzcyBTeW50YXhDaGVja2VyIHsK
ICAgICAgICAgVGVtcGxhdGVFeHByZXNzaW9uTGlzdFJlc3VsdCwgVGVtcGxhdGVFeHByLAogICAg
ICAgICBUYWdnZWRUZW1wbGF0ZUV4cHIsIFlpZWxkRXhwciwgQXdhaXRFeHByLAogICAgICAgICBN
b2R1bGVOYW1lUmVzdWx0LCBQcml2YXRlSWRlbnRpZmllciwKLSAgICAgICAgSW1wb3J0U3BlY2lm
aWVyUmVzdWx0LCBJbXBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0LAorICAgICAgICBJbXBvcnRTcGVj
aWZpZXJSZXN1bHQsIEltcG9ydFNwZWNpZmllckxpc3RSZXN1bHQsIEltcG9ydEFzc2VydGlvbkxp
c3RSZXN1bHQsCiAgICAgICAgIEV4cG9ydFNwZWNpZmllclJlc3VsdCwgRXhwb3J0U3BlY2lmaWVy
TGlzdFJlc3VsdCwKIAogICAgICAgICBOZXdUYXJnZXRFeHByID0gTWV0YVByb3BlcnR5Qml0IHwg
MCwKQEAgLTEyOCw2ICsxMjgsNyBAQCBjbGFzcyBTeW50YXhDaGVja2VyIHsKICAgICB0eXBlZGVm
IGludCBNb2R1bGVOYW1lOwogICAgIHR5cGVkZWYgaW50IEltcG9ydFNwZWNpZmllcjsKICAgICB0
eXBlZGVmIGludCBJbXBvcnRTcGVjaWZpZXJMaXN0OworICAgIHR5cGVkZWYgaW50IEltcG9ydEFz
c2VydGlvbkxpc3Q7CiAgICAgdHlwZWRlZiBpbnQgRXhwb3J0U3BlY2lmaWVyOwogICAgIHR5cGVk
ZWYgaW50IEV4cG9ydFNwZWNpZmllckxpc3Q7CiAgICAgdHlwZWRlZiBpbnQgU3RhdGVtZW50OwpA
QCAtMTU5LDcgKzE2MCw3IEBAIGNsYXNzIFN5bnRheENoZWNrZXIgewogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZUxvZ2ljYWxOb3QoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5
cGUpIHsgcmV0dXJuIFVuYXJ5RXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVVuYXJ5
UGx1cyhjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSkgeyByZXR1cm4gVW5h
cnlFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlVm9pZChjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBFeHByZXNzaW9uVHlwZSkgeyByZXR1cm4gVW5hcnlFeHByOyB9Ci0gICAgRXhwcmVz
c2lvblR5cGUgY3JlYXRlSW1wb3J0RXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNz
aW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gSW1wb3J0RXhwcjsgfQorICAgIEV4cHJl
c3Npb25UeXBlIGNyZWF0ZUltcG9ydEV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVz
c2lvblR5cGUsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBJbXBvcnRF
eHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlVGhpc0V4cHIoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJikgeyByZXR1cm4gVGhpc0V4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVT
dXBlckV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJikgeyByZXR1cm4gU3VwZXJFeHByOyB9CiAg
ICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlTmV3VGFyZ2V0RXhwcihjb25zdCBKU1Rva2VuTG9jYXRp
b24mKSB7IHJldHVybiBOZXdUYXJnZXRFeHByOyB9CkBAIC0yNzgsMTEgKzI3OSwxMyBAQCBjbGFz
cyBTeW50YXhDaGVja2VyIHsKICAgICBJbXBvcnRTcGVjaWZpZXIgY3JlYXRlSW1wb3J0U3BlY2lm
aWVyKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBJZGVu
dGlmaWVyJikgeyByZXR1cm4gSW1wb3J0U3BlY2lmaWVyUmVzdWx0OyB9CiAgICAgSW1wb3J0U3Bl
Y2lmaWVyTGlzdCBjcmVhdGVJbXBvcnRTcGVjaWZpZXJMaXN0KCkgeyByZXR1cm4gSW1wb3J0U3Bl
Y2lmaWVyTGlzdFJlc3VsdDsgfQogICAgIHZvaWQgYXBwZW5kSW1wb3J0U3BlY2lmaWVyKEltcG9y
dFNwZWNpZmllckxpc3QsIEltcG9ydFNwZWNpZmllcikgeyB9Ci0gICAgaW50IGNyZWF0ZUltcG9y
dERlY2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEltcG9ydFNwZWNpZmllckxpc3Qs
IE1vZHVsZU5hbWUpIHsgcmV0dXJuIFN0YXRlbWVudFJlc3VsdDsgfQotICAgIGludCBjcmVhdGVF
eHBvcnRBbGxEZWNsYXJhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBNb2R1bGVOYW1lKSB7
IHJldHVybiBTdGF0ZW1lbnRSZXN1bHQ7IH0KKyAgICBJbXBvcnRBc3NlcnRpb25MaXN0IGNyZWF0
ZUltcG9ydEFzc2VydGlvbkxpc3QoKSB7IHJldHVybiBJbXBvcnRBc3NlcnRpb25MaXN0UmVzdWx0
OyB9CisgICAgdm9pZCBhcHBlbmRJbXBvcnRBc3NlcnRpb24oSW1wb3J0QXNzZXJ0aW9uTGlzdCwg
Y29uc3QgSWRlbnRpZmllciYsIGNvbnN0IElkZW50aWZpZXImKSB7IH0KKyAgICBpbnQgY3JlYXRl
SW1wb3J0RGVjbGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgSW1wb3J0U3BlY2lmaWVy
TGlzdCwgTW9kdWxlTmFtZSwgSW1wb3J0QXNzZXJ0aW9uTGlzdCkgeyByZXR1cm4gU3RhdGVtZW50
UmVzdWx0OyB9CisgICAgaW50IGNyZWF0ZUV4cG9ydEFsbERlY2xhcmF0aW9uKGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIE1vZHVsZU5hbWUsIEltcG9ydEFzc2VydGlvbkxpc3QpIHsgcmV0dXJuIFN0
YXRlbWVudFJlc3VsdDsgfQogICAgIGludCBjcmVhdGVFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24o
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4g
U3RhdGVtZW50UmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUV4cG9ydExvY2FsRGVjbGFyYXRpb24o
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50KSB7IHJldHVybiBTdGF0ZW1lbnRSZXN1bHQ7IH0K
LSAgICBpbnQgY3JlYXRlRXhwb3J0TmFtZWREZWNsYXJhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBFeHBvcnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lKSB7IHJldHVybiBTdGF0ZW1lbnRS
ZXN1bHQ7IH0KKyAgICBpbnQgY3JlYXRlRXhwb3J0TmFtZWREZWNsYXJhdGlvbihjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBFeHBvcnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lLCBJbXBvcnRBc3Nl
cnRpb25MaXN0KSB7IHJldHVybiBTdGF0ZW1lbnRSZXN1bHQ7IH0KICAgICBFeHBvcnRTcGVjaWZp
ZXIgY3JlYXRlRXhwb3J0U3BlY2lmaWVyKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElk
ZW50aWZpZXImLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4gRXhwb3J0U3BlY2lmaWVyUmVz
dWx0OyB9CiAgICAgRXhwb3J0U3BlY2lmaWVyTGlzdCBjcmVhdGVFeHBvcnRTcGVjaWZpZXJMaXN0
KCkgeyByZXR1cm4gRXhwb3J0U3BlY2lmaWVyTGlzdFJlc3VsdDsgfQogICAgIHZvaWQgYXBwZW5k
RXhwb3J0U3BlY2lmaWVyKEV4cG9ydFNwZWNpZmllckxpc3QsIEV4cG9ydFNwZWNpZmllcikgeyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dEZ1bmN0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdEZ1bmN0aW9ucy5jcHAKaW5kZXggMmRjOWMzNWI1OTg4NjZjMjM0MmMxMmE5Y2Y0YzI3Mzcw
NzBkYjUyMi4uYWQxOTM3NWRlNDFmMjg1OTM1NTA3ZjA0OGJhMTcwM2FjYzQxNThkNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlv
bnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
RnVuY3Rpb25zLmNwcApAQCAtODIyLDcgKzgyMiw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElP
TihnbG9iYWxGdW5jSW1wb3J0TW9kdWxlLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwK
ICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKICAgICBhdXRvIHNv
dXJjZU9yaWdpbiA9IGNhbGxGcmFtZS0+Y2FsbGVyU291cmNlT3JpZ2luKHZtKTsKLSAgICBSRUxF
QVNFX0FTU0VSVChjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA9PSAxKTsKKyAgICBSRUxFQVNF
X0FTU0VSVChjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA+PSAxKTsKICAgICBhdXRvKiBzcGVj
aWZpZXIgPSBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLnRvU3RyaW5nKGdsb2JhbE9i
amVjdCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKHBy
b21pc2UtPnJlamVjdFdpdGhDYXVnaHRFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSkpKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKaW5kZXggYmY5
ZDhhMzgzZjczNzlmYjFiOTljYTI0OGFhOTIwZGMxNTFmOWFjOC4uYzg4YWY4NWFkNzYyNzczNDQx
MDY4NWI4ZjRmODg0ZjhjNjM5ZDg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3B0aW9uc0xpc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zTGlzdC5oCkBAIC01NDEsNiArNTQxLDcgQEAgYm9vbCBjYW5Vc2VXZWJBc3NlbWJs
eUZhc3RNZW1vcnkoKTsKICAgICB2KEJvb2wsIHVzZUFycmF5R3JvdXBCeU1ldGhvZCwgZmFsc2Us
IE5vcm1hbCwgIkV4cG9zZSB0aGUgZ3JvdXBCeSgpIGFuZCBncm91cEJ5VG9NYXAoKSBtZXRob2Rz
IG9uIEFycmF5LiIpIFwKICAgICB2KEJvb2wsIHVzZUF0TWV0aG9kLCB0cnVlLCBOb3JtYWwsICJF
eHBvc2UgdGhlIGF0KCkgbWV0aG9kIG9uIEFycmF5LCAlVHlwZWRBcnJheSUsIGFuZCBTdHJpbmcu
IikgXAogICAgIHYoQm9vbCwgdXNlSGFzT3duLCB0cnVlLCBOb3JtYWwsICJFeHBvc2UgdGhlIE9i
amVjdC5oYXNPd24gbWV0aG9kIikgXAorICAgIHYoQm9vbCwgdXNlSW1wb3J0QXNzZXJ0aW9uLCBm
YWxzZSwgTm9ybWFsLCAiRW5hYmxlIGltcG9ydCBhc3NlcnRpb24uIikgXAogICAgIHYoQm9vbCwg
dXNlSW50bEVudW1lcmF0aW9uLCB0cnVlLCBOb3JtYWwsICJFeHBvc2UgdGhlIEludGwgZW51bWVy
YXRpb24gQVBJcy4iKSBcCiAgICAgdihCb29sLCB1c2VTaGFyZWRBcnJheUJ1ZmZlciwgZmFsc2Us
IE5vcm1hbCwgbnVsbHB0cikgXAogICAgIC8qIEZJWE1FOiBTaGFkb3duUmVhbG0gY2FuIGJlIGVu
YWJsZWQgb25jZSBXZWJDb3JlJ3MgSlNHbG9iYWxPYmplY3QgPT0gSlNET01HbG9iYWxPYmplY3Qg
YXNzdW1wdGlvbiBpcyByZW1vdmVkLCAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMTUwNiAqL1wKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1NjcmlwdEZldGNoUGFyYW1ldGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU2NyaXB0RmV0Y2hQYXJhbWV0ZXJzLmgKaW5kZXggNDg4MjgzZmUwMjE4MzAzZjVkYmY0Nzky
M2QzNzlhMmM2NzlhMzg5MC4uZGQwMmI4OTBlODBiY2I4MTRmYWMwZmE0NTYxNzRhNzgzNmFiNDg5
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RmV0Y2hQ
YXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RmV0
Y2hQYXJhbWV0ZXJzLmgKQEAgLTI5LDkgKzI5LDIwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitl
bnVtIGNsYXNzIEltcG9ydERhdGFUeXBlIDogdWludDhfdCB7CisgICAgSmF2YVNjcmlwdCwKKyAg
ICBXZWJBc3NlbWJseSwKKyAgICBKU09OLAorfTsKKwogY2xhc3MgU2NyaXB0RmV0Y2hQYXJhbWV0
ZXJzIDogcHVibGljIFJlZkNvdW50ZWQ8U2NyaXB0RmV0Y2hQYXJhbWV0ZXJzPiB7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+U2NyaXB0RmV0Y2hQYXJhbWV0ZXJzKCkgeyB9CisKKyAgICBJbXBvcnRE
YXRhVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKK3ByaXZhdGU6CisgICAg
SW1wb3J0RGF0YVR5cGUgbV90eXBlIHsgSW1wb3J0RGF0YVR5cGU6OkphdmFTY3JpcHQgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9K
U1Rlc3RzL0NoYW5nZUxvZwppbmRleCBhMTgzYmY4OTBlZDZmNDBmZGI2NmZjYTQyMzYyNTY3MjVl
YTY3MTdiLi5iMjFjZGQxZGY0MGI5OWIxYTRiZWU1OTZjYmIxYWNkNGQxNzJkN2RlIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDIyLTAxLTE4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisK
KyAgICAgICAgW0pTQ10gU3VwcG9ydCBpbXBvcnQgYXNzZXJ0aW9uIHN5bnRheAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MzEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvbW9kdWxlcy1z
eW50YXgtaW1wb3J0LWFzc2VydGlvbi1lcnJvci5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRU
aHJvdyk6CisgICAgICAgICogc3RyZXNzL21vZHVsZXMtc3ludGF4LWltcG9ydC1hc3NlcnRpb24u
anM6IEFkZGVkLgorCiAyMDIyLTAxLTE1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0pTQ10gRml4IERhdGUgZnVuY3Rpb25zJyBhcmd1bWVudCBjb2VyY2lv
bgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgtaW1wb3J0LWFzc2Vy
dGlvbi1lcnJvci5qcyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3ludGF4LWltcG9ydC1hc3Nl
cnRpb24tZXJyb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM1ZWQ0YTg0ODhlY2JiMTNkMmFmMWEyODc1YmNm
NThjYjhmODk0OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3lu
dGF4LWltcG9ydC1hc3NlcnRpb24tZXJyb3IuanMKQEAgLTAsMCArMSw2MiBAQAorLy9AcmVxdWly
ZU9wdGlvbnMoIi0tdXNlSW1wb3J0QXNzZXJ0aW9uPXRydWUiKQorCitmdW5jdGlvbiBzaG91bGRU
aHJvdyhmdW5jLCBlcnJvck1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3JUaHJvd24gPSBmYWxzZTsK
KyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGZ1bmMoKTsKKyAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yVGhyb3duID0gdHJ1ZTsKKyAgICAgICAgZXJyb3Ig
PSBlOworICAgIH0KKyAgICBpZiAoIWVycm9yVGhyb3duKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoJ25vdCB0aHJvd24nKTsKKyAgICBpZiAoZXJyb3JNZXNzYWdlKSB7CisgICAgICAgIGlmIChT
dHJpbmcoZXJyb3IpICE9PSBlcnJvck1lc3NhZ2UpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoYGJhZCBlcnJvcjogJHtTdHJpbmcoZXJyb3IpfWApOworICAgIH0KK30KKworZnVuY3Rpb24g
Y2hlY2tNb2R1bGVTeW50YXhFcnJvcihzb3VyY2UsIGVycm9yTWVzc2FnZSkgeworICAgIHNob3Vs
ZFRocm93KCgpID0+IGNoZWNrTW9kdWxlU3ludGF4KHNvdXJjZSksIGVycm9yTWVzc2FnZSk7Cit9
CisKK3ZhciBsaXN0ID0gWworICAgIFN0cmluZy5yYXdgaW1wb3J0IHYgZnJvbSAibW9kImAsCisg
ICAgU3RyaW5nLnJhd2BpbXBvcnQgKiBhcyBucyBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcucmF3
YGltcG9ydCB7eH0gZnJvbSAibW9kImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQge3gsfSBmcm9t
ICJtb2QiYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCB7fSBmcm9tICJtb2QiYCwKKyAgICBTdHJp
bmcucmF3YGltcG9ydCB7eCBhcyB2fSBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9y
dCB7eH0gZnJvbSAibW9kImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQge3YgYXMgeH0gZnJvbSAi
bW9kImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQgKiBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcu
cmF3YGV4cG9ydCAqIGFzIGIgZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCAq
IGFzIGRlbGV0ZSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IGEsIHsgYiBh
cyBjIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCBkLCB7IGUsIGYsIGcg
YXMgaCB9IGZyb20gIkNhcHB1Y2Npbm8iYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCB7IH0gZnJv
bSAiQ2FwcHVjY2lubyJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IGksICogYXMgaiBmcm9tICJD
YXBwdWNjaW5vImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgYSwgeyB9IGZyb20gIkNhcHB1Y2Np
bm8iYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCBhLCB7IGIsIH0gZnJvbSAiQ2FwcHVjY2lubyJg
LAorICAgIFN0cmluZy5yYXdgaW1wb3J0ICogYXMgZnJvbSBmcm9tICJNYXRjaGEiYCwKKyAgICBT
dHJpbmcucmF3YGltcG9ydCAqIGFzIGFzIGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2Bp
bXBvcnQgeyBkZWZhdWx0IGFzIG1vZHVsZSB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJh
d2BleHBvcnQgKiBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgfSBmcm9t
ICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgYSB9IGZyb20gIkNvY29hImAsCisg
ICAgU3RyaW5nLnJhd2BleHBvcnQgeyBhIGFzIGIgfSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmlu
Zy5yYXdgZXhwb3J0IHsgYSwgYiB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BleHBv
cnQgeyBkZWZhdWx0IH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7IGVu
dW0gfSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgZGVmYXVsdCBhcyBk
ZWZhdWx0IH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7IGVudW0gYXMg
ZW51bSB9IGZyb20gIkNvY29hImAsCitdOworCitmb3IgKGxldCBlbnRyeSBvZiBsaXN0KSB7Cisg
ICAgY2hlY2tNb2R1bGVTeW50YXhFcnJvcihlbnRyeSArIGAgYXNzZXJ0IHsgLCB9YCk7CisgICAg
Y2hlY2tNb2R1bGVTeW50YXhFcnJvcihlbnRyeSArIGAgYXNzZXJ0IHsgdHlwZToganNvbiB9YCk7
CisgICAgY2hlY2tNb2R1bGVTeW50YXhFcnJvcihlbnRyeSArIGAgYXNzZXJ0IHsgdHlwZSwgfWAp
OworICAgIGNoZWNrTW9kdWxlU3ludGF4RXJyb3IoZW50cnkgKyBgIGFzc2VydCB7IHR5cGU6ICJq
c29uIiwsIH1gKTsKKyAgICBjaGVja01vZHVsZVN5bnRheEVycm9yKGVudHJ5ICsgYCBhc3NlcnQg
eyBgKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3ludGF4LWltcG9y
dC1hc3NlcnRpb24uanMgYi9KU1Rlc3RzL3N0cmVzcy9tb2R1bGVzLXN5bnRheC1pbXBvcnQtYXNz
ZXJ0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwNWY5ODdhMzZkZDgwZGFkMDg4Y2U4NGI0YzQxMTNkNmFk
ZmUzYjQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9tb2R1bGVzLXN5bnRheC1p
bXBvcnQtYXNzZXJ0aW9uLmpzCkBAIC0wLDAgKzEsNDEgQEAKKy8vQHJlcXVpcmVPcHRpb25zKCIt
LXVzZUltcG9ydEFzc2VydGlvbj10cnVlIikKKwordmFyIGxpc3QgPSBbCisgICAgU3RyaW5nLnJh
d2BpbXBvcnQgdiBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCAqIGFzIG5zIGZy
b20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IHt4fSBmcm9tICJtb2QiYCwKKyAgICBT
dHJpbmcucmF3YGltcG9ydCB7eCx9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0
IHt9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IHt4IGFzIHZ9IGZyb20gIm1v
ZCJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHt4fSBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcu
cmF3YGV4cG9ydCB7diBhcyB4fSBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCAq
IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0ICogYXMgYiBmcm9tICJDb2NvYSJg
LAorICAgIFN0cmluZy5yYXdgZXhwb3J0ICogYXMgZGVsZXRlIGZyb20gIkNvY29hImAsCisgICAg
U3RyaW5nLnJhd2BpbXBvcnQgYSwgeyBiIGFzIGMgfSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmlu
Zy5yYXdgaW1wb3J0IGQsIHsgZSwgZiwgZyBhcyBoIH0gZnJvbSAiQ2FwcHVjY2lubyJgLAorICAg
IFN0cmluZy5yYXdgaW1wb3J0IHsgfSBmcm9tICJDYXBwdWNjaW5vImAsCisgICAgU3RyaW5nLnJh
d2BpbXBvcnQgaSwgKiBhcyBqIGZyb20gIkNhcHB1Y2Npbm8iYCwKKyAgICBTdHJpbmcucmF3YGlt
cG9ydCBhLCB7IH0gZnJvbSAiQ2FwcHVjY2lubyJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IGEs
IHsgYiwgfSBmcm9tICJDYXBwdWNjaW5vImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgKiBhcyBm
cm9tIGZyb20gIk1hdGNoYSJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0ICogYXMgYXMgZnJvbSAi
Q29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCB7IGRlZmF1bHQgYXMgbW9kdWxlIH0gZnJv
bSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCAqIGZyb20gIkNvY29hImAsCisgICAg
U3RyaW5nLnJhd2BleHBvcnQgeyB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BleHBv
cnQgeyBhIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7IGEgYXMgYiB9
IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQgeyBhLCBiIH0gZnJvbSAiQ29j
b2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJDb2NvYSJgLAor
ICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgZW51bSB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5n
LnJhd2BleHBvcnQgeyBkZWZhdWx0IGFzIGRlZmF1bHQgfSBmcm9tICJDb2NvYSJgLAorICAgIFN0
cmluZy5yYXdgZXhwb3J0IHsgZW51bSBhcyBlbnVtIH0gZnJvbSAiQ29jb2EiYCwKK107CisKK2Zv
ciAobGV0IGVudHJ5IG9mIGxpc3QpIHsKKyAgICBjaGVja01vZHVsZVN5bnRheChlbnRyeSArIGAg
YXNzZXJ0IHsgfWApOworICAgIGNoZWNrTW9kdWxlU3ludGF4KGVudHJ5ICsgYCBhc3NlcnQgeyB0
eXBlOiAianNvbiIgfWApOworICAgIGNoZWNrTW9kdWxlU3ludGF4KGVudHJ5ICsgYCBhc3NlcnQg
eyAidHlwZSI6ICJqc29uIiB9YCk7CisgICAgY2hlY2tNb2R1bGVTeW50YXgoZW50cnkgKyBgIGFz
c2VydCB7ICJ0eXBlIjogImpzb24iLCB9YCk7CisgICAgY2hlY2tNb2R1bGVTeW50YXgoZW50cnkg
KyBgIGFzc2VydCB7IHR5cGU6ICJqc29uIiwgaGVsbG86ICJ3b3JsZCIgfWApOworfQo=
</data>
<flag name="review"
          id="475419"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
    <flag name="commit-queue"
          id="475423"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449552</attachid>
            <date>2022-01-19 21:49:07 -0800</date>
            <delta_ts>2022-01-19 23:25:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235312-20220119214906.patch</filename>
            <type>text/plain</type>
            <size>60799</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZDM3NzliZTk4NzIyNjA1ZDMxZTVmYWZkMjg1NTQwODllZDJhMmYyLi4xMmJjYzA5ZjJlYmZiYzkw
ODVkNTVjYTIxMTRiODgyNzA1ZWM3YzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OCBAQAorMjAyMi0wMS0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFN1cHBvcnQgaW1wb3J0IGFzc2VydGlvbiBzeW50YXgKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTMxMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRz
IHN5bnRheCBzdXBwb3J0IGZvciBpbXBvcnQgYXNzZXJ0aW9uWzFdLgorICAgICAgICBUaGlzIGRv
ZXMgbm90IGFkZCB0aGUgYWN0dWFsIGZlYXR1cmUgcHJvcGFnYXRpbmcgaW1wb3J0IGFzc2VydGlv
bgorICAgICAgICB0byB0aGUgbW9kdWxlIHJlcXVlc3QgeWV0LgorCisgICAgICAgIFsxXTogaHR0
cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtaW1wb3J0LWFzc2VydGlvbnMKKworICAgICAg
ICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjpJbXBvcnRO
b2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAg
ICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUltcG9ydEV4cHIpOgorICAgICAgICAoSlNDOjpB
U1RCdWlsZGVyOjpjcmVhdGVJbXBvcnRBc3NlcnRpb25MaXN0KToKKyAgICAgICAgKEpTQzo6QVNU
QnVpbGRlcjo6YXBwZW5kSW1wb3J0QXNzZXJ0aW9uKToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRl
cjo6Y3JlYXRlSW1wb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVFeHBvcnRBbGxEZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNy
ZWF0ZUV4cG9ydE5hbWVkRGVjbGFyYXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmg6CisgICAgICAgIChKU0M6OkltcG9ydE5vZGU6OkltcG9ydE5vZGUpOgorICAgICAg
ICAoSlNDOjpJbXBvcnREZWNsYXJhdGlvbk5vZGU6OkltcG9ydERlY2xhcmF0aW9uTm9kZSk6Cisg
ICAgICAgIChKU0M6OkV4cG9ydEFsbERlY2xhcmF0aW9uTm9kZTo6RXhwb3J0QWxsRGVjbGFyYXRp
b25Ob2RlKToKKyAgICAgICAgKEpTQzo6RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGU6OkV4cG9y
dE5hbWVkRGVjbGFyYXRpb25Ob2RlKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAg
ICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46
OnBhcnNlSW1wb3J0QXNzZXJ0aW9ucyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUltcG9ydERlY2xhcmF0aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VNZW1iZXJFeHByZXNzaW9uKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6
CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4
Q2hlY2tlcjo6Y3JlYXRlSW1wb3J0RXhwcik6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6
OmNyZWF0ZUltcG9ydEFzc2VydGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2Vy
OjphcHBlbmRJbXBvcnRBc3NlcnRpb24pOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpj
cmVhdGVJbXBvcnREZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNy
ZWF0ZUV4cG9ydEFsbERlY2xhcmF0aW9uKToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6
Y3JlYXRlRXhwb3J0TmFtZWREZWNsYXJhdGlvbik6CisgICAgICAgICogcnVudGltZS9KU0dsb2Jh
bE9iamVjdEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTik6CisgICAgICAgICogcnVudGltZS9PcHRpb25zTGlzdC5oOgorCiAyMDIyLTAxLTE2ICBM
YXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBDKysyMCBidWls
ZCB3YXJuaW5ncyB3aXRoIEdDQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDM1OGQ0YTNiMDYxYjYxODhmZjE2ZmI3MGMy
ZDhiN2ZjNjYzODY5YWUuLjdhYjE3ZTYxMWZkNGZiMTJkZThiOWZiMjQ0YzdkMmU1M2VkNGJkNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAKQEAgLTIyNCw5ICsyMjQsMTEgQEAgUmVnaXN0ZXJJRCogU3VwZXJOb2RlOjplbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHMKIFJl
Z2lzdGVySUQqIEltcG9ydE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2Vu
ZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7CiAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGltcG9y
dE1vZHVsZSA9IGdlbmVyYXRvci5tb3ZlTGlua1RpbWVDb25zdGFudChudWxscHRyLCBMaW5rVGlt
ZUNvbnN0YW50OjppbXBvcnRNb2R1bGUpOwotICAgIENhbGxBcmd1bWVudHMgYXJndW1lbnRzKGdl
bmVyYXRvciwgbnVsbHB0ciwgMSk7CisgICAgQ2FsbEFyZ3VtZW50cyBhcmd1bWVudHMoZ2VuZXJh
dG9yLCBudWxscHRyLCBtX29wdGlvbiA/IDIgOiAxKTsKICAgICBnZW5lcmF0b3IuZW1pdExvYWQo
YXJndW1lbnRzLnRoaXNSZWdpc3RlcigpLCBqc1VuZGVmaW5lZCgpKTsKICAgICBnZW5lcmF0b3Iu
ZW1pdE5vZGUoYXJndW1lbnRzLmFyZ3VtZW50UmVnaXN0ZXIoMCksIG1fZXhwcik7CisgICAgaWYg
KG1fb3B0aW9uKQorICAgICAgICBnZW5lcmF0b3IuZW1pdE5vZGUoYXJndW1lbnRzLmFyZ3VtZW50
UmVnaXN0ZXIoMSksIG1fb3B0aW9uKTsKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRDYWxsKGdl
bmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgaW1wb3J0TW9kdWxlLmdldCgpKSwgaW1wb3J0
TW9kdWxlLmdldCgpLCBOb0V4cGVjdGVkRnVuY3Rpb24sIGFyZ3VtZW50cywgZGl2b3QoKSwgZGl2
b3RTdGFydCgpLCBkaXZvdEVuZCgpLCBEZWJ1Z2dhYmxlQ2FsbDo6Tm8pOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGI4NTVkNzE2YmY5NTVkMjc2
MTc1ZDU5YmVkMjMwNzczY2YwNWYyNDAuLjk1NjNiZWU4NjU0OTMyYmQ1YmQ4ZmE5YzdkZjM3ZmM1
NmM1ODg0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVp
bGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBA
IC0xMTEsNiArMTExLDcgQEAgY2xhc3MgQVNUQnVpbGRlciB7CiAgICAgdHlwZWRlZiBNb2R1bGVO
YW1lTm9kZSogTW9kdWxlTmFtZTsKICAgICB0eXBlZGVmIEltcG9ydFNwZWNpZmllck5vZGUqIElt
cG9ydFNwZWNpZmllcjsKICAgICB0eXBlZGVmIEltcG9ydFNwZWNpZmllckxpc3ROb2RlKiBJbXBv
cnRTcGVjaWZpZXJMaXN0OworICAgIHR5cGVkZWYgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIElt
cG9ydEFzc2VydGlvbkxpc3Q7CiAgICAgdHlwZWRlZiBFeHBvcnRTcGVjaWZpZXJOb2RlKiBFeHBv
cnRTcGVjaWZpZXI7CiAgICAgdHlwZWRlZiBFeHBvcnRTcGVjaWZpZXJMaXN0Tm9kZSogRXhwb3J0
U3BlY2lmaWVyTGlzdDsKICAgICB0eXBlZGVmIFN0YXRlbWVudE5vZGUqIFN0YXRlbWVudDsKQEAg
LTE3OSw5ICsxODAsOSBAQCBjbGFzcyBBU1RCdWlsZGVyIHsKICAgICB7CiAgICAgICAgIHJldHVy
biBuZXcgKG1fcGFyc2VyQXJlbmEpIFN1cGVyTm9kZShsb2NhdGlvbik7CiAgICAgfQotICAgIEV4
cHJlc3Npb25Ob2RlKiBjcmVhdGVJbXBvcnRFeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9j
YXRpb24sIEV4cHJlc3Npb25Ob2RlKiBleHByLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQs
IGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkK
KyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlSW1wb3J0RXhwcihjb25zdCBKU1Rva2VuTG9jYXRp
b24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwciwgRXhwcmVzc2lvbk5vZGUqIG9wdGlv
biwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2
b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlbmQpCiAgICAgewotICAgICAgICBhdXRvKiBub2Rl
ID0gbmV3IChtX3BhcnNlckFyZW5hKSBJbXBvcnROb2RlKGxvY2F0aW9uLCBleHByKTsKKyAgICAg
ICAgYXV0byogbm9kZSA9IG5ldyAobV9wYXJzZXJBcmVuYSkgSW1wb3J0Tm9kZShsb2NhdGlvbiwg
ZXhwciwgb3B0aW9uKTsKICAgICAgICAgc2V0RXhjZXB0aW9uTG9jYXRpb24obm9kZSwgc3RhcnQs
IGRpdm90LCBlbmQpOwogICAgICAgICByZXR1cm4gbm9kZTsKICAgICB9CkBAIC04MTEsMTQgKzgx
MiwyNCBAQCBjbGFzcyBBU1RCdWlsZGVyIHsKICAgICAgICAgc3BlY2lmaWVyTGlzdC0+YXBwZW5k
KHNwZWNpZmllcik7CiAgICAgfQogCi0gICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlSW1wb3J0RGVj
bGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgSW1wb3J0U3BlY2lmaWVy
TGlzdE5vZGUqIGltcG9ydFNwZWNpZmllckxpc3QsIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1l
KQorICAgIEltcG9ydEFzc2VydGlvbkxpc3ROb2RlKiBjcmVhdGVJbXBvcnRBc3NlcnRpb25MaXN0
KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIEltcG9ydERlY2xh
cmF0aW9uTm9kZShsb2NhdGlvbiwgaW1wb3J0U3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSk7Cisg
ICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIEltcG9ydEFzc2VydGlvbkxpc3ROb2Rl
KCk7CiAgICAgfQogCi0gICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRp
b24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgTW9kdWxlTmFtZU5vZGUqIG1vZHVs
ZU5hbWUpCisgICAgdm9pZCBhcHBlbmRJbXBvcnRBc3NlcnRpb24oSW1wb3J0QXNzZXJ0aW9uTGlz
dE5vZGUqIGFzc2VydGlvbkxpc3QsIGNvbnN0IElkZW50aWZpZXImIGtleSwgY29uc3QgSWRlbnRp
ZmllciYgdmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBF
eHBvcnRBbGxEZWNsYXJhdGlvbk5vZGUobG9jYXRpb24sIG1vZHVsZU5hbWUpOworICAgICAgICBh
c3NlcnRpb25MaXN0LT5hcHBlbmQoa2V5LCB2YWx1ZSk7CisgICAgfQorCisgICAgU3RhdGVtZW50
Tm9kZSogY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2Nh
dGlvbiwgSW1wb3J0U3BlY2lmaWVyTGlzdE5vZGUqIGltcG9ydFNwZWNpZmllckxpc3QsIE1vZHVs
ZU5hbWVOb2RlKiBtb2R1bGVOYW1lLCBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogaW1wb3J0QXNz
ZXJ0aW9uTGlzdCkKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIElt
cG9ydERlY2xhcmF0aW9uTm9kZShsb2NhdGlvbiwgaW1wb3J0U3BlY2lmaWVyTGlzdCwgbW9kdWxl
TmFtZSwgaW1wb3J0QXNzZXJ0aW9uTGlzdCk7CisgICAgfQorCisgICAgU3RhdGVtZW50Tm9kZSog
Y3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlv
biwgTW9kdWxlTmFtZU5vZGUqIG1vZHVsZU5hbWUsIEltcG9ydEFzc2VydGlvbkxpc3ROb2RlKiBp
bXBvcnRBc3NlcnRpb25MaXN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJB
cmVuYSkgRXhwb3J0QWxsRGVjbGFyYXRpb25Ob2RlKGxvY2F0aW9uLCBtb2R1bGVOYW1lLCBpbXBv
cnRBc3NlcnRpb25MaXN0KTsKICAgICB9CiAKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVFeHBv
cnREZWZhdWx0RGVjbGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgU3Rh
dGVtZW50Tm9kZSogZGVjbGFyYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGxvY2FsTmFtZSkKQEAg
LTgzMSw5ICs4NDIsOSBAQCBjbGFzcyBBU1RCdWlsZGVyIHsKICAgICAgICAgcmV0dXJuIG5ldyAo
bV9wYXJzZXJBcmVuYSkgRXhwb3J0TG9jYWxEZWNsYXJhdGlvbk5vZGUobG9jYXRpb24sIGRlY2xh
cmF0aW9uKTsKICAgICB9CiAKLSAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVFeHBvcnROYW1lZERl
Y2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cG9ydFNwZWNpZmll
ckxpc3ROb2RlKiBleHBvcnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFt
ZSkKKyAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cG9ydFNwZWNpZmllckxpc3ROb2RlKiBleHBv
cnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSwgSW1wb3J0QXNzZXJ0
aW9uTGlzdE5vZGUqIGltcG9ydEFzc2VydGlvbkxpc3QpCiAgICAgewotICAgICAgICByZXR1cm4g
bmV3IChtX3BhcnNlckFyZW5hKSBFeHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZShsb2NhdGlvbiwg
ZXhwb3J0U3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSk7CisgICAgICAgIHJldHVybiBuZXcgKG1f
cGFyc2VyQXJlbmEpIEV4cG9ydE5hbWVkRGVjbGFyYXRpb25Ob2RlKGxvY2F0aW9uLCBleHBvcnRT
cGVjaWZpZXJMaXN0LCBtb2R1bGVOYW1lLCBpbXBvcnRBc3NlcnRpb25MaXN0KTsKICAgICB9CiAK
ICAgICBFeHBvcnRTcGVjaWZpZXJOb2RlKiBjcmVhdGVFeHBvcnRTcGVjaWZpZXIoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgbG9jYWxOYW1lLCBjb25z
dCBJZGVudGlmaWVyJiBleHBvcnRlZE5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDJjMDlkMjhjNjZmODlhNWE5MWU4NTRiZjgx
NWY4YTQ4MTAzODY0NTAuLmI0ZGYyNDQ1ODkyNmEzMjQ1YjYyMWRiYTFhZmM3MDA3MjgyYzc4Yjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9y
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5o
CkBAIC0xNzksOSArMTc5LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHsKICAgICB9CiAKLSAg
ICBpbmxpbmUgSW1wb3J0Tm9kZTo6SW1wb3J0Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwcikKKyAgICBpbmxpbmUgSW1wb3J0Tm9kZTo6SW1w
b3J0Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSog
ZXhwciwgRXhwcmVzc2lvbk5vZGUqIG9wdGlvbikKICAgICAgICAgOiBFeHByZXNzaW9uTm9kZShs
b2NhdGlvbikKICAgICAgICAgLCBtX2V4cHIoZXhwcikKKyAgICAgICAgLCBtX29wdGlvbihvcHRp
b24pCiAgICAgewogICAgIH0KIApAQCAtODY1LDE2ICs4NjYsMTggQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBJbXBvcnREZWNsYXJhdGlvbk5vZGU6OkltcG9y
dERlY2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBJbXBvcnRT
cGVjaWZpZXJMaXN0Tm9kZSogaW1wb3J0U3BlY2lmaWVyTGlzdCwgTW9kdWxlTmFtZU5vZGUqIG1v
ZHVsZU5hbWUpCisgICAgaW5saW5lIEltcG9ydERlY2xhcmF0aW9uTm9kZTo6SW1wb3J0RGVjbGFy
YXRpb25Ob2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEltcG9ydFNwZWNpZmll
ckxpc3ROb2RlKiBpbXBvcnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFt
ZSwgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIGltcG9ydEFzc2VydGlvbkxpc3QpCiAgICAgICAg
IDogTW9kdWxlRGVjbGFyYXRpb25Ob2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fc3BlY2lmaWVy
TGlzdChpbXBvcnRTcGVjaWZpZXJMaXN0KQogICAgICAgICAsIG1fbW9kdWxlTmFtZShtb2R1bGVO
YW1lKQorICAgICAgICAsIG1fYXNzZXJ0aW9uTGlzdChpbXBvcnRBc3NlcnRpb25MaXN0KQogICAg
IHsKICAgICB9CiAKLSAgICBpbmxpbmUgRXhwb3J0QWxsRGVjbGFyYXRpb25Ob2RlOjpFeHBvcnRB
bGxEZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgTW9kdWxl
TmFtZU5vZGUqIG1vZHVsZU5hbWUpCisgICAgaW5saW5lIEV4cG9ydEFsbERlY2xhcmF0aW9uTm9k
ZTo6RXhwb3J0QWxsRGVjbGFyYXRpb25Ob2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRp
b24sIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lLCBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSog
aW1wb3J0QXNzZXJ0aW9uTGlzdCkKICAgICAgICAgOiBNb2R1bGVEZWNsYXJhdGlvbk5vZGUobG9j
YXRpb24pCiAgICAgICAgICwgbV9tb2R1bGVOYW1lKG1vZHVsZU5hbWUpCisgICAgICAgICwgbV9h
c3NlcnRpb25MaXN0KGltcG9ydEFzc2VydGlvbkxpc3QpCiAgICAgewogICAgIH0KIApAQCAtODkx
LDEwICs4OTQsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAotICAgIGlubGlu
ZSBFeHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZTo6RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGUo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwb3J0U3BlY2lmaWVyTGlzdE5vZGUq
IGV4cG9ydFNwZWNpZmllckxpc3QsIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lKQorICAgIGlu
bGluZSBFeHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZTo6RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5v
ZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwb3J0U3BlY2lmaWVyTGlzdE5v
ZGUqIGV4cG9ydFNwZWNpZmllckxpc3QsIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lLCBJbXBv
cnRBc3NlcnRpb25MaXN0Tm9kZSogaW1wb3J0QXNzZXJ0aW9uTGlzdCkKICAgICAgICAgOiBNb2R1
bGVEZWNsYXJhdGlvbk5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9zcGVjaWZpZXJMaXN0KGV4
cG9ydFNwZWNpZmllckxpc3QpCiAgICAgICAgICwgbV9tb2R1bGVOYW1lKG1vZHVsZU5hbWUpCisg
ICAgICAgICwgbV9hc3NlcnRpb25MaXN0KGltcG9ydEFzc2VydGlvbkxpc3QpCiAgICAgewogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDFhZDU1OGQyMDg4NGQz
ZGFlYzNjMjk0MTg4ZDE0N2I3MjMxNTI3NzIuLjhhYzlhODQ1OGI2MDU2Njk5MmY4NzIyOTQ0MmIw
NGU2YjNmYjAxNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTYyNywx
MyArNjI3LDE0IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSW1wb3J0Tm9kZSBmaW5h
bCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVibGljIFRocm93YWJsZUV4cHJlc3Npb25EYXRh
IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEltcG9ydE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgRXhwcmVzc2lvbk5vZGUqKTsKKyAgICAgICAgSW1wb3J0Tm9kZShjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBFeHByZXNzaW9uTm9kZSosIEV4cHJlc3Npb25Ob2RlKik7CiAKICAgICBwcml2YXRl
OgogICAgICAgICBib29sIGlzSW1wb3J0Tm9kZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwg
UmVnaXN0ZXJJRCogPSBudWxscHRyKSBmaW5hbDsKIAogICAgICAgICBFeHByZXNzaW9uTm9kZSog
bV9leHByOworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9vcHRpb247CiAgICAgfTsKIAogICAg
IGNsYXNzIE1ldGFQcm9wZXJ0eU5vZGUgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewpAQCAtMjA1
Nyw2ICsyMDU4LDIxIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTcGVjaWZpZXJzIG1fc3Bl
Y2lmaWVyczsKICAgICB9OwogCisgICAgY2xhc3MgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUgZmlu
YWwgOiBwdWJsaWMgUGFyc2VyQXJlbmFEZWxldGFibGUgeworICAgICAgICBKU0NfTUFLRV9QQVJT
RVJfQVJFTkFfREVMRVRBQkxFX0FMTE9DQVRFRChJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSk7Cisg
ICAgcHVibGljOgorICAgICAgICB1c2luZyBBc3NlcnRpb25zID0gVmVjdG9yPHN0ZDo6dHVwbGU8
Y29uc3QgSWRlbnRpZmllciosIGNvbnN0IElkZW50aWZpZXIqPiwgMz47CisKKyAgICAgICAgY29u
c3QgQXNzZXJ0aW9ucyYgYXNzZXJ0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fYXNzZXJ0aW9uczsg
fQorICAgICAgICB2b2lkIGFwcGVuZChjb25zdCBJZGVudGlmaWVyJiBrZXksIGNvbnN0IElkZW50
aWZpZXImIHZhbHVlKQorICAgICAgICB7CisgICAgICAgICAgICBtX2Fzc2VydGlvbnMuYXBwZW5k
KHN0ZDo6dHVwbGUgeyAma2V5LCAmdmFsdWUgfSk7CisgICAgICAgIH0KKworICAgIHByaXZhdGU6
CisgICAgICAgIEFzc2VydGlvbnMgbV9hc3NlcnRpb25zOworICAgIH07CisKICAgICBjbGFzcyBN
b2R1bGVEZWNsYXJhdGlvbk5vZGUgOiBwdWJsaWMgU3RhdGVtZW50Tm9kZSB7CiAgICAgcHVibGlj
OgogICAgICAgICB2aXJ0dWFsIHZvaWQgYW5hbHl6ZU1vZHVsZShNb2R1bGVBbmFseXplciYpID0g
MDsKQEAgLTIwNjksMTAgKzIwODUsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBJ
bXBvcnREZWNsYXJhdGlvbk5vZGUgZmluYWwgOiBwdWJsaWMgTW9kdWxlRGVjbGFyYXRpb25Ob2Rl
IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEltcG9ydERlY2xhcmF0aW9uTm9kZShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBJbXBvcnRTcGVjaWZpZXJMaXN0Tm9kZSosIE1vZHVsZU5hbWVOb2RlKik7
CisgICAgICAgIEltcG9ydERlY2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBJ
bXBvcnRTcGVjaWZpZXJMaXN0Tm9kZSosIE1vZHVsZU5hbWVOb2RlKiwgSW1wb3J0QXNzZXJ0aW9u
TGlzdE5vZGUqKTsKIAogICAgICAgICBJbXBvcnRTcGVjaWZpZXJMaXN0Tm9kZSogc3BlY2lmaWVy
TGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fc3BlY2lmaWVyTGlzdDsgfQogICAgICAgICBNb2R1bGVO
YW1lTm9kZSogbW9kdWxlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlTmFtZTsgfQorICAg
ICAgICBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogYXNzZXJ0aW9uTGlzdCgpIGNvbnN0IHsgcmV0
dXJuIG1fYXNzZXJ0aW9uTGlzdDsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBlbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IG51bGxwdHIpIGZpbmFs
OwpAQCAtMjA4MCwxOSArMjA5NywyMiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBJbXBv
cnRTcGVjaWZpZXJMaXN0Tm9kZSogbV9zcGVjaWZpZXJMaXN0OwogICAgICAgICBNb2R1bGVOYW1l
Tm9kZSogbV9tb2R1bGVOYW1lOworICAgICAgICBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogbV9h
c3NlcnRpb25MaXN0OwogICAgIH07CiAKICAgICBjbGFzcyBFeHBvcnRBbGxEZWNsYXJhdGlvbk5v
ZGUgZmluYWwgOiBwdWJsaWMgTW9kdWxlRGVjbGFyYXRpb25Ob2RlIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIEV4cG9ydEFsbERlY2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBN
b2R1bGVOYW1lTm9kZSopOworICAgICAgICBFeHBvcnRBbGxEZWNsYXJhdGlvbk5vZGUoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiwgTW9kdWxlTmFtZU5vZGUqLCBJbXBvcnRBc3NlcnRpb25MaXN0Tm9k
ZSopOwogCiAgICAgICAgIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9tb2R1bGVOYW1lOyB9CisgICAgICAgIEltcG9ydEFzc2VydGlvbkxpc3ROb2RlKiBhc3Nl
cnRpb25MaXN0KCkgY29uc3QgeyByZXR1cm4gbV9hc3NlcnRpb25MaXN0OyB9CiAKICAgICBwcml2
YXRlOgogICAgICAgICB2b2lkIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lz
dGVySUQqID0gbnVsbHB0cikgZmluYWw7CiAgICAgICAgIHZvaWQgYW5hbHl6ZU1vZHVsZShNb2R1
bGVBbmFseXplciYpIGZpbmFsOwogCiAgICAgICAgIE1vZHVsZU5hbWVOb2RlKiBtX21vZHVsZU5h
bWU7CisgICAgICAgIEltcG9ydEFzc2VydGlvbkxpc3ROb2RlKiBtX2Fzc2VydGlvbkxpc3Q7CiAg
ICAgfTsKIAogICAgIGNsYXNzIEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbk5vZGUgZmluYWwgOiBw
dWJsaWMgTW9kdWxlRGVjbGFyYXRpb25Ob2RlIHsKQEAgLTIxNTAsMTYgKzIxNzAsMTggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBFeHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZSBmaW5h
bCA6IHB1YmxpYyBNb2R1bGVEZWNsYXJhdGlvbk5vZGUgewogICAgIHB1YmxpYzoKLSAgICAgICAg
RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwb3J0
U3BlY2lmaWVyTGlzdE5vZGUqLCBNb2R1bGVOYW1lTm9kZSopOworICAgICAgICBFeHBvcnROYW1l
ZERlY2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHBvcnRTcGVjaWZpZXJM
aXN0Tm9kZSosIE1vZHVsZU5hbWVOb2RlKiwgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqKTsKIAog
ICAgICAgICBFeHBvcnRTcGVjaWZpZXJMaXN0Tm9kZSogc3BlY2lmaWVyTGlzdCgpIGNvbnN0IHsg
cmV0dXJuIG1fc3BlY2lmaWVyTGlzdDsgfQogICAgICAgICBNb2R1bGVOYW1lTm9kZSogbW9kdWxl
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlTmFtZTsgfQorICAgICAgICBJbXBvcnRBc3Nl
cnRpb25MaXN0Tm9kZSogYXNzZXJ0aW9uTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNzZXJ0aW9u
TGlzdDsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBlbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IG51bGxwdHIpIGZpbmFsOwogICAgICAgICB2b2lk
IGFuYWx5emVNb2R1bGUoTW9kdWxlQW5hbHl6ZXImKSBmaW5hbDsKICAgICAgICAgRXhwb3J0U3Bl
Y2lmaWVyTGlzdE5vZGUqIG1fc3BlY2lmaWVyTGlzdDsKICAgICAgICAgTW9kdWxlTmFtZU5vZGUq
IG1fbW9kdWxlTmFtZSB7IG51bGxwdHIgfTsKKyAgICAgICAgSW1wb3J0QXNzZXJ0aW9uTGlzdE5v
ZGUqIG1fYXNzZXJ0aW9uTGlzdCB7IG51bGxwdHIgfTsKICAgICB9OwogCiAgICAgY2xhc3MgRnVu
Y3Rpb25NZXRhZGF0YU5vZGUgZmluYWwgOiBwdWJsaWMgUGFyc2VyQXJlbmFEZWxldGFibGUsIHB1
YmxpYyBOb2RlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBm
ZTNmOTllZDc5OTM5MjgyOWZmYjlmZjY2NjNjZTFkN2IxNzVmZTYzLi40OWVmNTExOTRkOGFmZjMx
OGMxYWI5NzQ3NTU2NmNlMzU3YmM5ZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuY3BwCkBAIC0zNTc1LDYgKzM1NzUsMjcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQK
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJbXBvcnRTcGVjaWZpZXIoc3BlY2lmaWVyTG9jYXRp
b24sICppbXBvcnRlZE5hbWUsICpsb2NhbE5hbWUpOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVp
bGRlcjo6SW1wb3J0QXNzZXJ0aW9uTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnRB
c3NlcnRpb25zKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGF1dG8gYXNzZXJ0aW9uTGlz
dCA9IGNvbnRleHQuY3JlYXRlSW1wb3J0QXNzZXJ0aW9uTGlzdCgpOworICAgIGNvbnN1bWVPckZh
aWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGltcG9y
dCBhc3NlcnRpb24iKTsKKyAgICB3aGlsZSAoIW1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAg
IGZhaWxJZkZhbHNlKG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgpIHx8IG1hdGNoKFNUUklORyks
ICJFeHBlY3RlZCBhbiBhc3NlcnRpb24ga2V5Iik7CisgICAgICAgIGF1dG8ga2V5ID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgY29uc3VtZU9yRmFpbChD
T0xPTiwgIkV4cGVjdGVkICc6JyBhZnRlciBhc3NlcnRpb24ga2V5Iik7CisgICAgICAgIGZhaWxJ
ZkZhbHNlKG1hdGNoKFNUUklORyksICJFeHBlY3RlZCBhbiBhc3NlcnRpb24gdmFsdWUiKTsKKyAg
ICAgICAgYXV0byB2YWx1ZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBuZXh0KCk7
CisgICAgICAgIGNvbnRleHQuYXBwZW5kSW1wb3J0QXNzZXJ0aW9uKGFzc2VydGlvbkxpc3QsICpr
ZXksICp2YWx1ZSk7CisgICAgICAgIGlmICghY29uc3VtZShDT01NQSkpCisgICAgICAgICAgICBi
cmVhazsKKyAgICB9CisgICAgaGFuZGxlUHJvZHVjdGlvbk9yRmFpbDIoQ0xPU0VCUkFDRSwgIn0i
LCAiZW5kIiwgImltcG9ydCBhc3NlcnRpb24iKTsKKyAgICByZXR1cm4gYXNzZXJ0aW9uTGlzdDsK
K30KKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTM1ODcsMTAgKzM2MDgsMTkgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUltcG9ydERlY2xhcmEKIAogICAgIGlmIChtYXRjaChTVFJJTkcpKSB7CiAgICAg
ICAgIC8vIGltcG9ydCBNb2R1bGVTcGVjaWZpZXIgOworICAgICAgICAvLyBpbXBvcnQgTW9kdWxl
U3BlY2lmaWVyIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBBc3NlcnRDbGF1c2UgOwogICAgICAg
ICBhdXRvIG1vZHVsZU5hbWUgPSBwYXJzZU1vZHVsZU5hbWUoY29udGV4dCk7CiAgICAgICAgIGZh
aWxJZkZhbHNlKG1vZHVsZU5hbWUsICJDYW5ub3QgcGFyc2UgdGhlIG1vZHVsZSBuYW1lIik7CisK
KyAgICAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydEFzc2VydGlvbkxpc3QgYXNzZXJ0
aW9uTGlzdCA9IDA7CisgICAgICAgIGlmIChPcHRpb25zOjp1c2VJbXBvcnRBc3NlcnRpb24oKSAm
JiAhbV9sZXhlci0+aGFzTGluZVRlcm1pbmF0b3JCZWZvcmVUb2tlbigpICYmIG1hdGNoQ29udGV4
dHVhbEtleXdvcmQobV92bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5hc3NlcnRQdWJs
aWNOYW1lKCkpKSB7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBhc3NlcnRpb25M
aXN0ID0gcGFyc2VJbXBvcnRBc3NlcnRpb25zKGNvbnRleHQpOworICAgICAgICAgICAgZmFpbElm
RmFsc2UoYXNzZXJ0aW9uTGlzdCwgIlVuYWJsZSB0byBwYXJzZSBpbXBvcnQgYXNzZXJ0aW9uIik7
CisgICAgICAgIH0KKwogICAgICAgICBmYWlsSWZGYWxzZShhdXRvU2VtaUNvbG9uKCksICJFeHBl
Y3RlZCBhICc7JyBmb2xsb3dpbmcgYSB0YXJnZXRlZCBpbXBvcnQgZGVjbGFyYXRpb24iKTsKLSAg
ICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oaW1wb3J0TG9jYXRp
b24sIHNwZWNpZmllckxpc3QsIG1vZHVsZU5hbWUpOworICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVJbXBvcnREZWNsYXJhdGlvbihpbXBvcnRMb2NhdGlvbiwgc3BlY2lmaWVyTGlzdCwgbW9k
dWxlTmFtZSwgYXNzZXJ0aW9uTGlzdCk7CiAgICAgfQogCiAgICAgYm9vbCBpc0ZpbmlzaGVkUGFy
c2luZ0ltcG9ydCA9IGZhbHNlOwpAQCAtMzY0MCw5ICszNjcwLDE4IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBv
cnREZWNsYXJhCiAKICAgICBhdXRvIG1vZHVsZU5hbWUgPSBwYXJzZU1vZHVsZU5hbWUoY29udGV4
dCk7CiAgICAgZmFpbElmRmFsc2UobW9kdWxlTmFtZSwgIkNhbm5vdCBwYXJzZSB0aGUgbW9kdWxl
IG5hbWUiKTsKKworICAgIC8vIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBBc3NlcnRDbGF1c2Ug
OworICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRBc3NlcnRpb25MaXN0IGFzc2VydGlv
bkxpc3QgPSAwOworICAgIGlmIChPcHRpb25zOjp1c2VJbXBvcnRBc3NlcnRpb24oKSAmJiAhbV9s
ZXhlci0+aGFzTGluZVRlcm1pbmF0b3JCZWZvcmVUb2tlbigpICYmIG1hdGNoQ29udGV4dHVhbEtl
eXdvcmQobV92bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5hc3NlcnRQdWJsaWNOYW1l
KCkpKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgYXNzZXJ0aW9uTGlzdCA9IHBhcnNlSW1w
b3J0QXNzZXJ0aW9ucyhjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UoYXNzZXJ0aW9uTGlz
dCwgIlVuYWJsZSB0byBwYXJzZSBpbXBvcnQgYXNzZXJ0aW9uIik7CisgICAgfQorCiAgICAgZmFp
bElmRmFsc2UoYXV0b1NlbWlDb2xvbigpLCAiRXhwZWN0ZWQgYSAnOycgZm9sbG93aW5nIGEgdGFy
Z2V0ZWQgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAKLSAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJ
bXBvcnREZWNsYXJhdGlvbihpbXBvcnRMb2NhdGlvbiwgc3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFt
ZSk7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oaW1wb3J0TG9j
YXRpb24sIHNwZWNpZmllckxpc3QsIG1vZHVsZU5hbWUsIGFzc2VydGlvbkxpc3QpOwogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgpAQCAtMzcxNCw2ICszNzUzLDE1IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgYXV0byBtb2R1bGVO
YW1lID0gcGFyc2VNb2R1bGVOYW1lKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShtb2R1
bGVOYW1lLCAiQ2Fubm90IHBhcnNlIHRoZSAnZnJvbScgY2xhdXNlIik7CisKKyAgICAgICAgLy8g
W25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIEFzc2VydENsYXVzZSA7CisgICAgICAgIHR5cGVuYW1l
IFRyZWVCdWlsZGVyOjpJbXBvcnRBc3NlcnRpb25MaXN0IGFzc2VydGlvbkxpc3QgPSAwOworICAg
ICAgICBpZiAoT3B0aW9uczo6dXNlSW1wb3J0QXNzZXJ0aW9uKCkgJiYgIW1fbGV4ZXItPmhhc0xp
bmVUZXJtaW5hdG9yQmVmb3JlVG9rZW4oKSAmJiBtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0u
cHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuYXNzZXJ0UHVibGljTmFtZSgpKSkgeworICAg
ICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgYXNzZXJ0aW9uTGlzdCA9IHBhcnNlSW1wb3J0
QXNzZXJ0aW9ucyhjb250ZXh0KTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGFzc2VydGlvbkxp
c3QsICJVbmFibGUgdG8gcGFyc2UgaW1wb3J0IGFzc2VydGlvbiIpOworICAgICAgICB9CisKICAg
ICAgICAgZmFpbElmRmFsc2UoYXV0b1NlbWlDb2xvbigpLCAiRXhwZWN0ZWQgYSAnOycgZm9sbG93
aW5nIGEgdGFyZ2V0ZWQgZXhwb3J0IGRlY2xhcmF0aW9uIik7CiAKICAgICAgICAgaWYgKGV4cG9y
dGVkTmFtZSkgewpAQCAtMzcyMiwxMCArMzc3MCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFy
YQogICAgICAgICAgICAgYXV0byBsb2NhbE5hbWUgPSAmbV92bS5wcm9wZXJ0eU5hbWVzLT5zdGFy
TmFtZXNwYWNlUHJpdmF0ZU5hbWU7CiAgICAgICAgICAgICBhdXRvIHNwZWNpZmllciA9IGNvbnRl
eHQuY3JlYXRlRXhwb3J0U3BlY2lmaWVyKHNwZWNpZmllckxvY2F0aW9uLCAqbG9jYWxOYW1lLCAq
ZXhwb3J0ZWROYW1lKTsKICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kRXhwb3J0U3BlY2lmaWVy
KHNwZWNpZmllckxpc3QsIHNwZWNpZmllcik7Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBzcGVjaWZpZXJMaXN0
LCBtb2R1bGVOYW1lKTsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cG9ydE5h
bWVkRGVjbGFyYXRpb24oZXhwb3J0TG9jYXRpb24sIHNwZWNpZmllckxpc3QsIG1vZHVsZU5hbWUs
IGFzc2VydGlvbkxpc3QpOwogICAgICAgICB9CiAKLSAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlRXhwb3J0QWxsRGVjbGFyYXRpb24oZXhwb3J0TG9jYXRpb24sIG1vZHVsZU5hbWUpOworICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVFeHBvcnRBbGxEZWNsYXJhdGlvbihleHBvcnRMb2Nh
dGlvbiwgbW9kdWxlTmFtZSwgYXNzZXJ0aW9uTGlzdCk7CiAgICAgfQogCiAgICAgY2FzZSBERUZB
VUxUOiB7CkBAIC0zODQ3LDEwICszODk1LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAg
ICAgICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwyKENMT1NFQlJBQ0UsICJ9IiwgImVuZCIsICJl
eHBvcnQgbGlzdCIpOwogCiAgICAgICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpNb2R1bGVOYW1l
IG1vZHVsZU5hbWUgPSAwOworICAgICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0QXNz
ZXJ0aW9uTGlzdCBhc3NlcnRpb25MaXN0ID0gMDsKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVh
bEtleXdvcmQobV92bS5wcm9wZXJ0eU5hbWVzLT5mcm9tKSkgewogICAgICAgICAgICAgbmV4dCgp
OwogICAgICAgICAgICAgbW9kdWxlTmFtZSA9IHBhcnNlTW9kdWxlTmFtZShjb250ZXh0KTsKICAg
ICAgICAgICAgIGZhaWxJZkZhbHNlKG1vZHVsZU5hbWUsICJDYW5ub3QgcGFyc2UgdGhlICdmcm9t
JyBjbGF1c2UiKTsKKworICAgICAgICAgICAgLy8gW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIEFz
c2VydENsYXVzZSA7CisgICAgICAgICAgICBpZiAoT3B0aW9uczo6dXNlSW1wb3J0QXNzZXJ0aW9u
KCkgJiYgIW1fbGV4ZXItPmhhc0xpbmVUZXJtaW5hdG9yQmVmb3JlVG9rZW4oKSAmJiBtYXRjaENv
bnRleHR1YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuYXNzZXJ0
UHVibGljTmFtZSgpKSkgeworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAg
ICBhc3NlcnRpb25MaXN0ID0gcGFyc2VJbXBvcnRBc3NlcnRpb25zKGNvbnRleHQpOworICAgICAg
ICAgICAgICAgIGZhaWxJZkZhbHNlKGFzc2VydGlvbkxpc3QsICJVbmFibGUgdG8gcGFyc2UgaW1w
b3J0IGFzc2VydGlvbiIpOworICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShoYXNSZWZlcmVuY2VkTW9kdWxlRXhwb3J0TmFtZXMsICJD
YW5ub3QgdXNlIG1vZHVsZSBleHBvcnQgbmFtZXMgaWYgdGhleSByZWZlcmVuY2UgdmFyaWFibGUg
bmFtZXMgaW4gdGhlIGN1cnJlbnQgbW9kdWxlIik7CiAgICAgICAgIGZhaWxJZkZhbHNlKGF1dG9T
ZW1pQ29sb24oKSwgIkV4cGVjdGVkIGEgJzsnIGZvbGxvd2luZyBhIHRhcmdldGVkIGV4cG9ydCBk
ZWNsYXJhdGlvbiIpOwpAQCAtMzg3Miw3ICszOTI4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xh
cmEKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUV4cG9ydE5hbWVkRGVjbGFyYXRpb24oZXhwb3J0TG9jYXRpb24sIHNwZWNpZmllckxpc3Qs
IG1vZHVsZU5hbWUpOworICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVFeHBvcnROYW1lZERl
Y2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBzcGVjaWZpZXJMaXN0LCBtb2R1bGVOYW1lLCBhc3Nl
cnRpb25MaXN0KTsKICAgICB9CiAKICAgICBkZWZhdWx0OiB7CkBAIC01MTM2LDExICs1MTkyLDE5
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzCiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobmV3Q291bnQsICJDYW5ub3QgdXNl
IG5ldyB3aXRoIGltcG9ydCIpOwotICAgICAgICAgICAgY29uc3VtZU9yRmFpbChPUEVOUEFSRU4s
ICJpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50Iik7CisgICAgICAgICAg
ICBjb25zdW1lT3JGYWlsKE9QRU5QQVJFTiwgImltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3
byBhcmd1bWVudHMiKTsKICAgICAgICAgICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFz
c2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UoZXhw
ciwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7Ci0gICAgICAgICAgICBjb25zdW1lT3JGYWls
KENMT1NFUEFSRU4sICJpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50Iik7
Ci0gICAgICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVJbXBvcnRFeHByKGxvY2F0aW9uLCBl
eHByLCBleHByZXNzaW9uU3RhcnQsIGV4cHJlc3Npb25FbmQsIGxhc3RUb2tlbkVuZFBvc2l0aW9u
KCkpOworICAgICAgICAgICAgVHJlZUV4cHJlc3Npb24gb3B0aW9uRXhwcmVzc2lvbiA9IDA7Cisg
ICAgICAgICAgICBpZiAoY29uc3VtZShDT01NQSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoIW1h
dGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgICAgIG9wdGlvbkV4cHJlc3Npb24g
PSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICAgICAgICAgICAg
ICBmYWlsSWZGYWxzZShvcHRpb25FeHByZXNzaW9uLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24i
KTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3VtZShDT01NQSk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAi
aW1wb3J0IGNhbGwgZXhwZWN0cyBvbmUgb3IgdHdvIGFyZ3VtZW50cyIpOworICAgICAgICAgICAg
YmFzZSA9IGNvbnRleHQuY3JlYXRlSW1wb3J0RXhwcihsb2NhdGlvbiwgZXhwciwgb3B0aW9uRXhw
cmVzc2lvbiwgZXhwcmVzc2lvblN0YXJ0LCBleHByZXNzaW9uRW5kLCBsYXN0VG9rZW5FbmRQb3Np
dGlvbigpKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoIWJhc2VJc05ld1RhcmdldCkgewog
ICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0u
cHJvcGVydHlOYW1lcy0+YXN5bmMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
aW5kZXggNDRhMmViYTA5MjA2NWE5MGEzYmM4YTExZmVlZGRjM2RhZmM2NTg3YS4uMmM3N2U3MGZi
MzZiODZlZGZjZTZjYjE5OTcyZDBlYTUxMDY3NGQxMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCkBAIC0xNzg0LDYgKzE3ODQsNyBAQCBjbGFzcyBQYXJzZXIgewogICAgIGVu
dW0gY2xhc3MgSW1wb3J0U3BlY2lmaWVyVHlwZSB7IE5hbWVzcGFjZUltcG9ydCwgTmFtZWRJbXBv
cnQsIERlZmF1bHRJbXBvcnQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5
cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgcGFyc2VJbXBvcnRDbGF1c2VJdGVt
KFRyZWVCdWlsZGVyJiwgSW1wb3J0U3BlY2lmaWVyVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6TW9kdWxlTmFtZSBwYXJzZU1vZHVs
ZU5hbWUoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5
cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRBc3NlcnRpb25MaXN0IHBhcnNlSW1wb3J0QXNzZXJ0
aW9ucyhUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBwYXJzZUltcG9ydERlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6RXhwb3J0U3Bl
Y2lmaWVyIHBhcnNlRXhwb3J0U3BlY2lmaWVyKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBWZWN0b3I8
c3RkOjpwYWlyPGNvbnN0IElkZW50aWZpZXIqLCBjb25zdCBJZGVudGlmaWVyKj4+JiBtYXliZUV4
cG9ydGVkTG9jYWxOYW1lcywgYm9vbCYgaGFzS2V5d29yZEZvckxvY2FsQmluZGluZ3MsIGJvb2wm
IGhhc1JlZmVyZW5jZWRNb2R1bGVFeHBvcnROYW1lcyk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRXhwb3J0RGVjbGFyYXRpb24oVHJlZUJ1aWxk
ZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hl
Y2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5k
ZXggNTI5MWRjMWUxYmExNGMxMTU3OGQ4YzgyZjMxY2E2NmQ5ZTFjNTIzOS4uMTA4NzgwZjBkYjdm
N2E1Mjk4OTc0YzBjN2M2YjY2ODdmYjlhZWU5NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTg2LDcgKzg2LDcgQEAgY2xhc3MgU3ludGF4Q2hl
Y2tlciB7CiAgICAgICAgIFRlbXBsYXRlRXhwcmVzc2lvbkxpc3RSZXN1bHQsIFRlbXBsYXRlRXhw
ciwKICAgICAgICAgVGFnZ2VkVGVtcGxhdGVFeHByLCBZaWVsZEV4cHIsIEF3YWl0RXhwciwKICAg
ICAgICAgTW9kdWxlTmFtZVJlc3VsdCwgUHJpdmF0ZUlkZW50aWZpZXIsCi0gICAgICAgIEltcG9y
dFNwZWNpZmllclJlc3VsdCwgSW1wb3J0U3BlY2lmaWVyTGlzdFJlc3VsdCwKKyAgICAgICAgSW1w
b3J0U3BlY2lmaWVyUmVzdWx0LCBJbXBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0LCBJbXBvcnRBc3Nl
cnRpb25MaXN0UmVzdWx0LAogICAgICAgICBFeHBvcnRTcGVjaWZpZXJSZXN1bHQsIEV4cG9ydFNw
ZWNpZmllckxpc3RSZXN1bHQsCiAKICAgICAgICAgTmV3VGFyZ2V0RXhwciA9IE1ldGFQcm9wZXJ0
eUJpdCB8IDAsCkBAIC0xMjgsNiArMTI4LDcgQEAgY2xhc3MgU3ludGF4Q2hlY2tlciB7CiAgICAg
dHlwZWRlZiBpbnQgTW9kdWxlTmFtZTsKICAgICB0eXBlZGVmIGludCBJbXBvcnRTcGVjaWZpZXI7
CiAgICAgdHlwZWRlZiBpbnQgSW1wb3J0U3BlY2lmaWVyTGlzdDsKKyAgICB0eXBlZGVmIGludCBJ
bXBvcnRBc3NlcnRpb25MaXN0OwogICAgIHR5cGVkZWYgaW50IEV4cG9ydFNwZWNpZmllcjsKICAg
ICB0eXBlZGVmIGludCBFeHBvcnRTcGVjaWZpZXJMaXN0OwogICAgIHR5cGVkZWYgaW50IFN0YXRl
bWVudDsKQEAgLTE1OSw3ICsxNjAsNyBAQCBjbGFzcyBTeW50YXhDaGVja2VyIHsKICAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVMb2dpY2FsTm90KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJl
c3Npb25UeXBlKSB7IHJldHVybiBVbmFyeUV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVh
dGVVbmFyeVBsdXMoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUpIHsgcmV0
dXJuIFVuYXJ5RXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVZvaWQoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUpIHsgcmV0dXJuIFVuYXJ5RXhwcjsgfQotICAg
IEV4cHJlc3Npb25UeXBlIGNyZWF0ZUltcG9ydEV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
RXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIEltcG9ydEV4cHI7IH0KKyAg
ICBFeHByZXNzaW9uVHlwZSBjcmVhdGVJbXBvcnRFeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IEV4cHJlc3Npb25UeXBlLCBFeHByZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4g
SW1wb3J0RXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVRoaXNFeHByKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYpIHsgcmV0dXJuIFRoaXNFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUg
Y3JlYXRlU3VwZXJFeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYpIHsgcmV0dXJuIFN1cGVyRXhw
cjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZU5ld1RhcmdldEV4cHIoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJikgeyByZXR1cm4gTmV3VGFyZ2V0RXhwcjsgfQpAQCAtMjc4LDExICsyNzksMTMg
QEAgY2xhc3MgU3ludGF4Q2hlY2tlciB7CiAgICAgSW1wb3J0U3BlY2lmaWVyIGNyZWF0ZUltcG9y
dFNwZWNpZmllcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiwgY29u
c3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIEltcG9ydFNwZWNpZmllclJlc3VsdDsgfQogICAgIElt
cG9ydFNwZWNpZmllckxpc3QgY3JlYXRlSW1wb3J0U3BlY2lmaWVyTGlzdCgpIHsgcmV0dXJuIElt
cG9ydFNwZWNpZmllckxpc3RSZXN1bHQ7IH0KICAgICB2b2lkIGFwcGVuZEltcG9ydFNwZWNpZmll
cihJbXBvcnRTcGVjaWZpZXJMaXN0LCBJbXBvcnRTcGVjaWZpZXIpIHsgfQotICAgIGludCBjcmVh
dGVJbXBvcnREZWNsYXJhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBJbXBvcnRTcGVjaWZp
ZXJMaXN0LCBNb2R1bGVOYW1lKSB7IHJldHVybiBTdGF0ZW1lbnRSZXN1bHQ7IH0KLSAgICBpbnQg
Y3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgTW9kdWxl
TmFtZSkgeyByZXR1cm4gU3RhdGVtZW50UmVzdWx0OyB9CisgICAgSW1wb3J0QXNzZXJ0aW9uTGlz
dCBjcmVhdGVJbXBvcnRBc3NlcnRpb25MaXN0KCkgeyByZXR1cm4gSW1wb3J0QXNzZXJ0aW9uTGlz
dFJlc3VsdDsgfQorICAgIHZvaWQgYXBwZW5kSW1wb3J0QXNzZXJ0aW9uKEltcG9ydEFzc2VydGlv
bkxpc3QsIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBJZGVudGlmaWVyJikgeyB9CisgICAgaW50
IGNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEltcG9ydFNw
ZWNpZmllckxpc3QsIE1vZHVsZU5hbWUsIEltcG9ydEFzc2VydGlvbkxpc3QpIHsgcmV0dXJuIFN0
YXRlbWVudFJlc3VsdDsgfQorICAgIGludCBjcmVhdGVFeHBvcnRBbGxEZWNsYXJhdGlvbihjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBNb2R1bGVOYW1lLCBJbXBvcnRBc3NlcnRpb25MaXN0KSB7IHJl
dHVybiBTdGF0ZW1lbnRSZXN1bHQ7IH0KICAgICBpbnQgY3JlYXRlRXhwb3J0RGVmYXVsdERlY2xh
cmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgY29uc3QgSWRlbnRpZmllciYpIHsg
cmV0dXJuIFN0YXRlbWVudFJlc3VsdDsgfQogICAgIGludCBjcmVhdGVFeHBvcnRMb2NhbERlY2xh
cmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCkgeyByZXR1cm4gU3RhdGVtZW50UmVz
dWx0OyB9Ci0gICAgaW50IGNyZWF0ZUV4cG9ydE5hbWVkRGVjbGFyYXRpb24oY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgRXhwb3J0U3BlY2lmaWVyTGlzdCwgTW9kdWxlTmFtZSkgeyByZXR1cm4gU3Rh
dGVtZW50UmVzdWx0OyB9CisgICAgaW50IGNyZWF0ZUV4cG9ydE5hbWVkRGVjbGFyYXRpb24oY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwb3J0U3BlY2lmaWVyTGlzdCwgTW9kdWxlTmFtZSwgSW1w
b3J0QXNzZXJ0aW9uTGlzdCkgeyByZXR1cm4gU3RhdGVtZW50UmVzdWx0OyB9CiAgICAgRXhwb3J0
U3BlY2lmaWVyIGNyZWF0ZUV4cG9ydFNwZWNpZmllcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBj
b25zdCBJZGVudGlmaWVyJiwgY29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIEV4cG9ydFNwZWNp
ZmllclJlc3VsdDsgfQogICAgIEV4cG9ydFNwZWNpZmllckxpc3QgY3JlYXRlRXhwb3J0U3BlY2lm
aWVyTGlzdCgpIHsgcmV0dXJuIEV4cG9ydFNwZWNpZmllckxpc3RSZXN1bHQ7IH0KICAgICB2b2lk
IGFwcGVuZEV4cG9ydFNwZWNpZmllcihFeHBvcnRTcGVjaWZpZXJMaXN0LCBFeHBvcnRTcGVjaWZp
ZXIpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IDJkYzljMzViNTk4ODY2YzIzNDJjMTJhOWNm
NGMyNzM3MDcwZGI1MjIuLmFkMTkzNzVkZTQxZjI4NTkzNTUwN2YwNDhiYTE3MDNhY2M0MTU4ZDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdEZ1bmN0aW9ucy5jcHAKQEAgLTgyMiw3ICs4MjIsNyBAQCBKU0NfREVGSU5FX0hPU1Rf
RlVOQ1RJT04oZ2xvYmFsRnVuY0ltcG9ydE1vZHVsZSwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsCiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCiAgICAg
YXV0byBzb3VyY2VPcmlnaW4gPSBjYWxsRnJhbWUtPmNhbGxlclNvdXJjZU9yaWdpbih2bSk7Ci0g
ICAgUkVMRUFTRV9BU1NFUlQoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPT0gMSk7CisgICAg
UkVMRUFTRV9BU1NFUlQoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPj0gMSk7CiAgICAgYXV0
byogc3BlY2lmaWVyID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKS50b1N0cmluZyhn
bG9iYWxPYmplY3QpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWU6OmVu
Y29kZShwcm9taXNlLT5yZWplY3RXaXRoQ2F1Z2h0RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2Nv
cGUpKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnNMaXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oCmlu
ZGV4IGJmOWQ4YTM4M2Y3Mzc5ZmIxYjk5Y2EyNDhhYTkyMGRjMTUxZjlhYzguLmM4OGFmODVhZDc2
Mjc3MzQ0MTA2ODViOGY0Zjg4NGY4YzYzOWQ4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3B0aW9uc0xpc3QuaApAQCAtNTQxLDYgKzU0MSw3IEBAIGJvb2wgY2FuVXNlV2Vi
QXNzZW1ibHlGYXN0TWVtb3J5KCk7CiAgICAgdihCb29sLCB1c2VBcnJheUdyb3VwQnlNZXRob2Qs
IGZhbHNlLCBOb3JtYWwsICJFeHBvc2UgdGhlIGdyb3VwQnkoKSBhbmQgZ3JvdXBCeVRvTWFwKCkg
bWV0aG9kcyBvbiBBcnJheS4iKSBcCiAgICAgdihCb29sLCB1c2VBdE1ldGhvZCwgdHJ1ZSwgTm9y
bWFsLCAiRXhwb3NlIHRoZSBhdCgpIG1ldGhvZCBvbiBBcnJheSwgJVR5cGVkQXJyYXklLCBhbmQg
U3RyaW5nLiIpIFwKICAgICB2KEJvb2wsIHVzZUhhc093biwgdHJ1ZSwgTm9ybWFsLCAiRXhwb3Nl
IHRoZSBPYmplY3QuaGFzT3duIG1ldGhvZCIpIFwKKyAgICB2KEJvb2wsIHVzZUltcG9ydEFzc2Vy
dGlvbiwgZmFsc2UsIE5vcm1hbCwgIkVuYWJsZSBpbXBvcnQgYXNzZXJ0aW9uLiIpIFwKICAgICB2
KEJvb2wsIHVzZUludGxFbnVtZXJhdGlvbiwgdHJ1ZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBJbnRs
IGVudW1lcmF0aW9uIEFQSXMuIikgXAogICAgIHYoQm9vbCwgdXNlU2hhcmVkQXJyYXlCdWZmZXIs
IGZhbHNlLCBOb3JtYWwsIG51bGxwdHIpIFwKICAgICAvKiBGSVhNRTogU2hhZG93blJlYWxtIGNh
biBiZSBlbmFibGVkIG9uY2UgV2ViQ29yZSdzIEpTR2xvYmFsT2JqZWN0ID09IEpTRE9NR2xvYmFs
T2JqZWN0IGFzc3VtcHRpb24gaXMgcmVtb3ZlZCwgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzE1MDYgKi9cCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA2MGI5YWMzYTlkMjkyOTZhOGFiM2RlNDYwMzJjNDZiZGNkMTE1YWMzLi4yY2JmYzY2YTUyMjQ1
YzBkZjhjZWFmNjEwNTEwODcwMDE3ZmIxNDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMi0wMS0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIFN1cHBvcnQgaW1wb3J0IGFzc2VydGlvbiBzeW50
YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTMx
MgorCisgICAgICAgIFJldmlld2VkIGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L2Nzcy1tb2R1bGUvY3NzLW1vZHVsZS13b3JrZXItdGVzdC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9jc3MtbW9kdWxlL2ltcG9ydC1jc3MtbW9kdWxlLWR5bmFtaWMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvaW1wb3J0LWFzc2VydGlvbnMvZHluYW1pYy1pbXBv
cnQtd2l0aC1hc3NlcnRpb24tYXJndW1lbnQuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L2ltcG9ydC1hc3NlcnRpb25zL2R5bmFtaWMtaW1wb3J0LXdpdGgtYXNzZXJ0aW9uLWFy
Z3VtZW50LmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1t
b2R1bGUvY2hhcnNldC1ib20uYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pz
b24tbW9kdWxlL2NoYXJzZXQtYm9tLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvanNvbi1tb2R1bGUvaW52YWxpZC1jb250ZW50LXR5cGUuYW55LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2ludmFsaWQtY29udGVudC10eXBlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvanNv
bi1tb2R1bGUtc2VydmljZS13b3JrZXItdGVzdC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LmFueS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvcmVwZWF0ZWQtaW1wb3J0cy5hbnkt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvcmVwZWF0ZWQtaW1w
b3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMS0xNyAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI4MTM4
OSk6IHVzaW5nIGZvbnQtdmFyaWFudC1saWdhdHVyZXMgY2F1c2VzIFVuaWNvZGUgYmlkaSBpc29s
YXRpb24gY29udHJvbCBjaGFyYWN0ZXJzIHRvIHJlbmRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvY3NzLW1vZHVsZS9jc3MtbW9kdWxlLXdvcmtlci10ZXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2Nzcy1tb2R1
bGUvY3NzLW1vZHVsZS13b3JrZXItdGVzdC1leHBlY3RlZC50eHQKaW5kZXggYTM4YzVjMjdlY2Ew
OGU3OWUwNDA2ODc1MGM2NTY3YzIzMjE5MWNmYS4uZjFhMjM3YzQ1MDQ2NjUzNzIzNDdjM2EyNjE1
ZGVlOWZmNzIzZmFhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvY3NzLW1vZHVsZS9jc3MtbW9kdWxlLXdvcmtlci10ZXN0LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9jc3MtbW9kdWxlL2Nzcy1tb2R1bGUtd29y
a2VyLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1QQVNTIEEgc3RhdGljIGlt
cG9ydCBDU1MgTW9kdWxlIHdpdGhpbiBhIHdlYiB3b3JrZXIgc2hvdWxkIG5vdCBsb2FkLgotUEFT
UyBBIGR5bmFtaWMgaW1wb3J0IENTUyBNb2R1bGUgd2l0aGluIGEgd2ViIHdvcmtlciBzaG91bGQg
bm90IGxvYWQuCi1QQVNTIEEgQ1NTIE1vZHVsZSB3aXRoaW4gYSB3ZWIgd29ya2VyIHNob3VsZCBu
b3QgbG9hZC4KK1BBU1MgQSBzdGF0aWMgaW1wb3J0IENTUyBNb2R1bGUgd2l0aGluIGEgd2ViIHdv
cmtlciBzaG91bGQgbm90IGxvYWQgYW5kIHNob3VsZCBub3QgYXR0ZW1wdCB0byBmZXRjaCB0aGUg
bW9kdWxlLgorRkFJTCBBIGR5bmFtaWMgaW1wb3J0IENTUyBNb2R1bGUgd2l0aGluIGEgd2ViIHdv
cmtlciBzaG91bGQgbm90IGxvYWQgYW5kIHNob3VsZCBub3QgYXR0ZW1wdCB0byBmZXRjaCB0aGUg
bW9kdWxlLiBhc3NlcnRfZXF1YWxzOiBTaG91bGRuJ3QgaGF2ZSB0cmllZCBmZXRjaGluZyBDU1Mg
bW9kdWxlIGluIHdvcmtlciBleHBlY3RlZCAwIGJ1dCBnb3QgMQorUEFTUyBBbiBhdHRlbXB0IHRv
IGxvYWQgYSBDU1MgbW9kdWxlIGFzIGEgd29ya2VyIHNob3VsZCBmYWlsLgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9jc3MtbW9kdWxlL2ltcG9ydC1jc3Mt
bW9kdWxlLWR5bmFtaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvY3NzLW1vZHVsZS9pbXBvcnQtY3NzLW1vZHVsZS1keW5hbWljLWV4cGVjdGVkLnR4dApp
bmRleCAxZTIwMDUxNTk4Y2I4MDNiMTczYmJiZGQ0ZDkyMzMxZjI5N2MxY2Q3Li4zYmFhMGQ1Nzk3
ODU0NGQyMGNjZjhhY2I0NWI4NTI4YTM4MmE2M2RkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9jc3MtbW9kdWxlL2ltcG9ydC1jc3MtbW9kdWxlLWR5bmFtaWMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2Nzcy1t
b2R1bGUvaW1wb3J0LWNzcy1tb2R1bGUtZHluYW1pYy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJy4g
aW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLQotSGFybmVzcyBFcnJv
ciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKK0ZBSUwgTG9hZCBhIENT
UyBtb2R1bGUgd2l0aCBkeW5hbWljIGltcG9ydCgpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ3RleHQvY3NzJyBpcyBub3Qg
YSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitQQVNTIEVuc3VyZSB0aGF0IGxvYWRpbmcg
YSBDU1MgbW9kdWxlIHdpdGggZHltbmFtaWMgaW1wb3J0KCkgZmFpbHMgd2l0aG91dCBhIHR5cGUg
YXNzZXJ0aW9uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L2ltcG9ydC1hc3NlcnRpb25zL2R5bmFtaWMtaW1wb3J0LXdpdGgtYXNzZXJ0aW9uLWFyZ3VtZW50
LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9pbXBv
cnQtYXNzZXJ0aW9ucy9keW5hbWljLWltcG9ydC13aXRoLWFzc2VydGlvbi1hcmd1bWVudC5hbnkt
ZXhwZWN0ZWQudHh0CmluZGV4IDFlMjAwNTE1OThjYjgwM2IxNzNiYmJkZDRkOTIzMzFmMjk3YzFj
ZDcuLmQ0OTgwODhmM2U0YmM4MGJlNjA3NzVhMjUzNDQ1OWIyNTQ4MTExOTggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2ltcG9ydC1hc3NlcnRpb25zL2R5bmFt
aWMtaW1wb3J0LXdpdGgtYXNzZXJ0aW9uLWFyZ3VtZW50LmFueS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvaW1wb3J0LWFzc2VydGlvbnMvZHluYW1p
Yy1pbXBvcnQtd2l0aC1hc3NlcnRpb24tYXJndW1lbnQuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
JywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1IYXJuZXNz
IEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcs
Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAorUEFTUyBEeW5h
bWljIGltcG9ydCB3aXRoIGFuIGVtcHR5IGFzc2VydCBjbGF1c2Ugc2hvdWxkIHN1Y2NlZWQKK1BB
U1MgRHluYW1pYyBpbXBvcnQgd2l0aCBhbiB1bnN1cHBvcnRlZCBpbXBvcnQgYXNzZXJ0aW9uIHNo
b3VsZCBzdWNjZWVkCitGQUlMIER5bmFtaWMgaW1wb3J0IHdpdGggYW4gdW5zdXBwb3J0ZWQgdHlw
ZSBhc3NlcnRpb24gc2hvdWxkIGZhaWwgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVq
ZWN0ZWQ6IER5bmFtaWMgaW1wb3J0IHdpdGggYW4gdW5zdXBwb3J0ZWQgdHlwZSBhc3NlcnRpb24g
c2hvdWxkIGZhaWwgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2ltcG9ydC1hc3NlcnRpb25zL2R5bmFtaWMtaW1w
b3J0LXdpdGgtYXNzZXJ0aW9uLWFyZ3VtZW50LmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvaW1wb3J0LWFzc2VydGlvbnMvZHluYW1pYy1p
bXBvcnQtd2l0aC1hc3NlcnRpb24tYXJndW1lbnQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5k
ZXggMWUyMDA1MTU5OGNiODAzYjE3M2JiYmRkNGQ5MjMzMWYyOTdjMWNkNy4uZDQ5ODA4OGYzZTRi
YzgwYmU2MDc3NWEyNTM0NDU5YjI1NDgxMTE5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvaW1wb3J0LWFzc2VydGlvbnMvZHluYW1pYy1pbXBvcnQtd2l0aC1h
c3NlcnRpb24tYXJndW1lbnQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvaW1wb3J0LWFzc2VydGlvbnMvZHluYW1pYy1pbXBvcnQt
d2l0aC1hc3NlcnRpb24tYXJndW1lbnQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw1IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcs
Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLQotSGFybmVzcyBF
cnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcu
IGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKK1BBU1MgRHluYW1p
YyBpbXBvcnQgd2l0aCBhbiBlbXB0eSBhc3NlcnQgY2xhdXNlIHNob3VsZCBzdWNjZWVkCitQQVNT
IER5bmFtaWMgaW1wb3J0IHdpdGggYW4gdW5zdXBwb3J0ZWQgaW1wb3J0IGFzc2VydGlvbiBzaG91
bGQgc3VjY2VlZAorRkFJTCBEeW5hbWljIGltcG9ydCB3aXRoIGFuIHVuc3VwcG9ydGVkIHR5cGUg
YXNzZXJ0aW9uIHNob3VsZCBmYWlsIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVj
dGVkOiBEeW5hbWljIGltcG9ydCB3aXRoIGFuIHVuc3VwcG9ydGVkIHR5cGUgYXNzZXJ0aW9uIHNo
b3VsZCBmYWlsIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9jaGFyc2V0LWJvbS5hbnktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUv
Y2hhcnNldC1ib20uYW55LWV4cGVjdGVkLnR4dAppbmRleCAxZTIwMDUxNTk4Y2I4MDNiMTczYmJi
ZGQ0ZDkyMzMxZjI5N2MxY2Q3Li5kM2M0OGM4Njk2MTI4M2Q1MDdjN2MzMzljOGM0Mzk1OWE1YjRm
MDgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1v
ZHVsZS9jaGFyc2V0LWJvbS5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2NoYXJzZXQtYm9tLmFueS1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KLQot
SGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAKK0ZB
SUwgVVRGLTggQk9NIHNob3VsZCBiZSBzdHJpcHBlZCB3aGVuIGRlY29kaW5nIEpTT04gbW9kdWxl
IHNjcmlwdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2Ny
aXB0IE1JTUUgdHlwZS4iCitGQUlMIFVURi0xNkJFIEJPTSBzaG91bGQgcmVzdWx0IGluIHBhcnNl
IGVycm9yIGluIEpTT04gbW9kdWxlIHNjcmlwdCBwcm9taXNlX3JlamVjdHNfanM6IEV4cGVjdGVk
IHBhcnNlIGVycm9yIGZyb20gVVRGLTE2QkUgQk9NIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRo
cm93IGUgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBu
b3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iICgiVHlwZUVycm9yIikgZXhwZWN0ZWQg
aW5zdGFuY2Ugb2YgZnVuY3Rpb24gImZ1bmN0aW9uIFN5bnRheEVycm9yKCkgeworICAgIFtuYXRp
dmUgY29kZV0KK30iICgiU3ludGF4RXJyb3IiKQorRkFJTCBVVEYtMTZMRSBCT00gc2hvdWxkIHJl
c3VsdCBpbiBwYXJzZSBlcnJvciBpbiBKU09OIG1vZHVsZSBzY3JpcHQgcHJvbWlzZV9yZWplY3Rz
X2pzOiBFeHBlY3RlZCBwYXJzZSBlcnJvciBmcm9tIFVURi0xNkxFIEJPTSBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRp
b24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIiAoIlR5cGVFcnJv
ciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBTeW50YXhFcnJvcigp
IHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiAoIlN5bnRheEVycm9yIikKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvY2hhcnNldC1ib20u
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVu
dC9qc29uLW1vZHVsZS9jaGFyc2V0LWJvbS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCAx
ZTIwMDUxNTk4Y2I4MDNiMTczYmJiZGQ0ZDkyMzMxZjI5N2MxY2Q3Li5kM2M0OGM4Njk2MTI4M2Q1
MDdjN2MzMzljOGM0Mzk1OWE1YjRmMDgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9jaGFyc2V0LWJvbS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9j
aGFyc2V0LWJvbS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDkgQEAKLUNPTlNP
TEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwg
bWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwg
ZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAorRkFJTCBVVEYtOCBCT00gc2hvdWxkIGJl
IHN0cmlwcGVkIHdoZW4gZGVjb2RpbmcgSlNPTiBtb2R1bGUgc2NyaXB0IHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxp
Y2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwg
VVRGLTE2QkUgQk9NIHNob3VsZCByZXN1bHQgaW4gcGFyc2UgZXJyb3IgaW4gSlNPTiBtb2R1bGUg
c2NyaXB0IHByb21pc2VfcmVqZWN0c19qczogRXhwZWN0ZWQgcGFyc2UgZXJyb3IgZnJvbSBVVEYt
MTZCRSBCT00gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3Qg
IlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQg
TUlNRSB0eXBlLiIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBpbnN0YW5jZSBvZiBmdW5jdGlvbiAi
ZnVuY3Rpb24gU3ludGF4RXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJTeW50YXhF
cnJvciIpCitGQUlMIFVURi0xNkxFIEJPTSBzaG91bGQgcmVzdWx0IGluIHBhcnNlIGVycm9yIGlu
IEpTT04gbW9kdWxlIHNjcmlwdCBwcm9taXNlX3JlamVjdHNfanM6IEV4cGVjdGVkIHBhcnNlIGVy
cm9yIGZyb20gVVRGLTE2TEUgQk9NIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIg
dGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxp
ZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iICgiVHlwZUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ug
b2YgZnVuY3Rpb24gImZ1bmN0aW9uIFN5bnRheEVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0K
K30iICgiU3ludGF4RXJyb3IiKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9qc29uLW1vZHVsZS9pbnZhbGlkLWNvbnRlbnQtdHlwZS5hbnktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvaW52YWxp
ZC1jb250ZW50LXR5cGUuYW55LWV4cGVjdGVkLnR4dAppbmRleCAxZTIwMDUxNTk4Y2I4MDNiMTcz
YmJiZGQ0ZDkyMzMxZjI5N2MxY2Q3Li4wOTk1N2I2NDM0OTcyMzM0MTZlNDkwZTdlYmZjMjgwNzE4
ODE1M2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29u
LW1vZHVsZS9pbnZhbGlkLWNvbnRlbnQtdHlwZS5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2ludmFsaWQtY29udGVudC10
eXBlLmFueS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw4IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFj
dGx5IG9uZSBhcmd1bWVudC4KLQotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuCiAKK1BBU1MgVHJ5IGltcG9ydGluZyBKU09OIG1vZHVsZSB3aXRoIE1J
TUUgdHlwZSBhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmCitQQVNTIFRyeSBpbXBvcnRpbmcgSlNP
TiBtb2R1bGUgd2l0aCBNSU1FIHR5cGUgYXBwbGljYXRpb24vanNvbitibGFoCitQQVNTIFRyeSBp
bXBvcnRpbmcgSlNPTiBtb2R1bGUgd2l0aCBNSU1FIHR5cGUgdGV4dC94LWpzb24KK1BBU1MgVHJ5
IGltcG9ydGluZyBKU09OIG1vZHVsZSB3aXRoIE1JTUUgdHlwZSB0ZXh0L2pzb24rYmxhaAorUEFT
UyBUcnkgaW1wb3J0aW5nIEpTT04gbW9kdWxlIHdpdGggTUlNRSB0eXBlIGFwcGxpY2F0aW9uL2Js
YWhqc29uCitQQVNTIFRyeSBpbXBvcnRpbmcgSlNPTiBtb2R1bGUgd2l0aCBNSU1FIHR5cGUgaW1h
Z2UvanNvbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9q
c29uLW1vZHVsZS9pbnZhbGlkLWNvbnRlbnQtdHlwZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2ludmFsaWQtY29u
dGVudC10eXBlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDFlMjAwNTE1OThjYjgwM2Ix
NzNiYmJkZDRkOTIzMzFmMjk3YzFjZDcuLjA5OTU3YjY0MzQ5NzIzMzQxNmU0OTBlN2ViZmMyODA3
MTg4MTUzY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pz
b24tbW9kdWxlL2ludmFsaWQtY29udGVudC10eXBlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2ludmFsaWQt
Y29udGVudC10eXBlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsOCBAQAotQ09O
U09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBj
YWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUhhcm5lc3MgRXJyb3IgKEZBSUwp
LCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCitQQVNTIFRyeSBpbXBvcnRpbmcgSlNP
TiBtb2R1bGUgd2l0aCBNSU1FIHR5cGUgYXBwbGljYXRpb24vanNvbitwcm90b2J1ZgorUEFTUyBU
cnkgaW1wb3J0aW5nIEpTT04gbW9kdWxlIHdpdGggTUlNRSB0eXBlIGFwcGxpY2F0aW9uL2pzb24r
YmxhaAorUEFTUyBUcnkgaW1wb3J0aW5nIEpTT04gbW9kdWxlIHdpdGggTUlNRSB0eXBlIHRleHQv
eC1qc29uCitQQVNTIFRyeSBpbXBvcnRpbmcgSlNPTiBtb2R1bGUgd2l0aCBNSU1FIHR5cGUgdGV4
dC9qc29uK2JsYWgKK1BBU1MgVHJ5IGltcG9ydGluZyBKU09OIG1vZHVsZSB3aXRoIE1JTUUgdHlw
ZSBhcHBsaWNhdGlvbi9ibGFoanNvbgorUEFTUyBUcnkgaW1wb3J0aW5nIEpTT04gbW9kdWxlIHdp
dGggTUlNRSB0eXBlIGltYWdlL2pzb24KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvanNvbi1tb2R1bGUtc2VydmljZS13b3JrZXItdGVz
dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9q
c29uLW1vZHVsZS9qc29uLW1vZHVsZS1zZXJ2aWNlLXdvcmtlci10ZXN0Lmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCAxODU3ZDgxNWZhYjFjNzI2MmMyNjdmMDQ3ZjNmMjk5YzM0Yzc2YTBhLi5hYzIz
YzcwMzAwYmY3MTE1MjZkZTIwYTFmMDE4OWM4MjQ5NmQwOTRjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9qc29uLW1vZHVsZS1zZXJ2aWNl
LXdvcmtlci10ZXN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9qc29uLW1vZHVsZS1zZXJ2aWNlLXdvcmtlci10ZXN0
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogRkFJTCBKYXZhc2NyaXB0IGlt
cG9ydGluZyBKU09OIE1vZHVsZSBzaG91bGQgbG9hZCB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYSBz
ZXJ2aWNlIHdvcmtlciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIg
J2Fzc2VydCcuIEV4cGVjdGVkIGEgJzsnIGZvbGxvd2luZyBhIHRhcmdldGVkIGltcG9ydCBkZWNs
YXJhdGlvbi4iCiBQQVNTIFRyeWluZyB0byByZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIHdpdGgg
YSB0b3AtbGV2ZWwgSlNPTiBNb2R1bGUgc2hvdWxkIGZhaWwKLUZBSUwgSlNPTiBNb2R1bGUgZHlu
YW1pYyBpbXBvcnQgc2hvdWxkIG5vdCBsb2FkIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhIHNlcnZp
Y2Ugd29ya2VyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBv
cnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LiIKK1BBU1MgSlNPTiBNb2R1bGUg
ZHluYW1pYyBpbXBvcnQgc2hvdWxkIG5vdCBsb2FkIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhIHNl
cnZpY2Ugd29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVt
ZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QuYW55LWV4cGVjdGVk
LnR4dAppbmRleCAxZTIwMDUxNTk4Y2I4MDNiMTczYmJiZGQ0ZDkyMzMxZjI5N2MxY2Q3Li4yY2Fl
NWY3ZTM1YTMyZmVjZWIyNjhmMjkwMDAwZTRlNTU1NmM2ODYwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Njcmlw
dGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LmFueS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1
bGUvbm9uLW9iamVjdC5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNyBAQAotQ09OU09MRSBN
RVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4
cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCitGQUlMIE5vbi1vYmplY3Q6IG51bGwgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUu
IgorRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5v
dCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDogZmFsc2Ug
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1F
IHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNv
bicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0
OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2Ny
aXB0IE1JTUUgdHlwZS4iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDFlMjAwNTE1OThjYjgwM2IxNzNiYmJkZDRkOTIz
MzFmMjk3YzFjZDcuLjJjYWU1ZjdlMzVhMzJmZWNlYjI2OGYyOTAwMDBlNGU1NTU2YzY4NjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL25v
bi1vYmplY3QuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMSw1ICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LgotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4K
IAorRkFJTCBOb24tb2JqZWN0OiBudWxsIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5v
dCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDogdHJ1ZSBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUg
dHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGZhbHNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24n
IGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDog
c3RyaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3Jp
cHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDogYXJyYXkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRp
b24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9yZXBlYXRl
ZC1pbXBvcnRzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9qc29uLW1vZHVsZS9yZXBlYXRlZC1pbXBvcnRzLmFueS1leHBlY3RlZC50eHQKaW5kZXgg
MWUyMDA1MTU5OGNiODAzYjE3M2JiYmRkNGQ5MjMzMWYyOTdjMWNkNy4uMTdhZWNhY2Y3YzU0MjRj
MTIyMjBiOTAxY2Y1NDJlZjYyZTc2YmY5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUt
c2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvcmVwZWF0ZWQtaW1wb3J0cy5hbnktZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL3Jl
cGVhdGVkLWltcG9ydHMuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDcgQEAKLUNPTlNPTEUg
TUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBl
eHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVz
c2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAorRkFJTCBJbXBvcnRpbmcgYSBzcGVjaWZpZXIg
dGhhdCBwcmV2aW91c2x5IGZhaWxlZCBkdWUgdG8gYW4gaW5jb3JyZWN0IHR5cGUgYXNzZXJ0aW9u
IGNhbiBzdWNjZWVkIGlmIHRoZSBjb3JyZWN0IGFzc2VydGlvbiBpcyBsYXRlciBnaXZlbiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlw
ZS4iCitGQUlMIEltcG9ydGluZyBhIHNwZWNpZmllciB0aGF0IHByZXZpb3VzbHkgc3VjY2VlZGVk
IHdpdGggdGhlIGNvcnJlY3QgdHlwZSBhc3NlcnRpb24gc2hvdWxkIGZhaWwgaWYgdGhlIGluY29y
cmVjdCBhc3NlcnRpb24gaXMgbGF0ZXIgZ2l2ZW4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicg
aXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBUd28gbW9kdWxlcyBv
ZiBkaWZmZXJlbnQgdHlwZSB3aXRoIHRoZSBzYW1lIHNwZWNpZmllciBjYW4gbG9hZCBpZiB0aGUg
c2VydmVyIGNoYW5nZXMgaXRzIHJlc3BvbnNlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICd0ZXh0L2pzb24nIGlzIG5vdCBh
IHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgQW4gaW1wb3J0IHNob3VsZCBhbHdh
eXMgZmFpbCBpZiB0aGUgc2FtZSBzcGVjaWZpZXIvdHlwZSBhc3NlcnRpb24gcGFpciBmYWlsZWQg
cHJldmlvdXNseSBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogaW1wb3J0
IHNob3VsZCBhbHdheXMgZmFpbCBpZiB0aGUgc2FtZSBzcGVjaWZpZXIvdHlwZSBhc3NlcnRpb24g
cGFpciBmYWlsZWQgcHJldmlvdXNseSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgSWYg
YW4gaW1wb3J0IHByZXZpb3VzbHkgc3VjY2VlZGVkIGZvciBhIGdpdmVuIHNwZWNpZmllci90eXBl
IGFzc2VydGlvbiBwYWlyLCBmdXR1cmUgdXNlcyBvZiB0aGF0IHBhaXIgc2hvdWxkIHlpZWxkIHRo
ZSBzYW1lIHJlc3VsdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICd0ZXh0L2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3Jp
cHQgTUlNRSB0eXBlLiIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVs
ZW1lbnQvanNvbi1tb2R1bGUvcmVwZWF0ZWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL3JlcGVhdGVk
LWltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggMWUyMDA1MTU5OGNiODAzYjE3
M2JiYmRkNGQ5MjMzMWYyOTdjMWNkNy4uMTdhZWNhY2Y3YzU0MjRjMTIyMjBiOTAxY2Y1NDJlZjYy
ZTc2YmY5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNv
bi1tb2R1bGUvcmVwZWF0ZWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9yZXBlYXRlZC1pbXBv
cnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNyBAQAotQ09OU09MRSBNRVNT
QUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdl
ID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3Rz
IGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCitGQUlMIEltcG9ydGluZyBhIHNwZWNpZmllciB0aGF0
IHByZXZpb3VzbHkgZmFpbGVkIGR1ZSB0byBhbiBpbmNvcnJlY3QgdHlwZSBhc3NlcnRpb24gY2Fu
IHN1Y2NlZWQgaWYgdGhlIGNvcnJlY3QgYXNzZXJ0aW9uIGlzIGxhdGVyIGdpdmVuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
J2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIK
K0ZBSUwgSW1wb3J0aW5nIGEgc3BlY2lmaWVyIHRoYXQgcHJldmlvdXNseSBzdWNjZWVkZWQgd2l0
aCB0aGUgY29ycmVjdCB0eXBlIGFzc2VydGlvbiBzaG91bGQgZmFpbCBpZiB0aGUgaW5jb3JyZWN0
IGFzc2VydGlvbiBpcyBsYXRlciBnaXZlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBu
b3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIFR3byBtb2R1bGVzIG9mIGRp
ZmZlcmVudCB0eXBlIHdpdGggdGhlIHNhbWUgc3BlY2lmaWVyIGNhbiBsb2FkIGlmIHRoZSBzZXJ2
ZXIgY2hhbmdlcyBpdHMgcmVzcG9uc2VzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ3RleHQvanNvbicgaXMgbm90IGEgdmFs
aWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBBbiBpbXBvcnQgc2hvdWxkIGFsd2F5cyBm
YWlsIGlmIHRoZSBzYW1lIHNwZWNpZmllci90eXBlIGFzc2VydGlvbiBwYWlyIGZhaWxlZCBwcmV2
aW91c2x5IGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiBpbXBvcnQgc2hv
dWxkIGFsd2F5cyBmYWlsIGlmIHRoZSBzYW1lIHNwZWNpZmllci90eXBlIGFzc2VydGlvbiBwYWly
IGZhaWxlZCBwcmV2aW91c2x5IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBJZiBhbiBp
bXBvcnQgcHJldmlvdXNseSBzdWNjZWVkZWQgZm9yIGEgZ2l2ZW4gc3BlY2lmaWVyL3R5cGUgYXNz
ZXJ0aW9uIHBhaXIsIGZ1dHVyZSB1c2VzIG9mIHRoYXQgcGFpciBzaG91bGQgeWllbGQgdGhlIHNh
bWUgcmVzdWx0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogJ3RleHQvanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBN
SU1FIHR5cGUuIgogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGExODNiZjg5MGVkNmY0MGZkYjY2ZmNhNDIzNjI1NjcyNWVhNjcxN2IuLjI2
ZTA0ZmU2MDc3MmYwNjRmOGE4NjYzNTYxYWVjYTUxNmI0YzgyZDkgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjItMDEtMTkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBb
SlNDXSBTdXBwb3J0IGltcG9ydCBhc3NlcnRpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUzMTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBSb3NzIEtpcnNsaW5nLgorCisgICAgICAgICogc3RyZXNzL2ltcG9ydC1zeW50YXguanM6Cisg
ICAgICAgICogc3RyZXNzL21vZHVsZXMtc3ludGF4LWltcG9ydC1hc3NlcnRpb24tZXJyb3IuanM6
IEFkZGVkLgorICAgICAgICAoc2hvdWxkVGhyb3cpOgorICAgICAgICAqIHN0cmVzcy9tb2R1bGVz
LXN5bnRheC1pbXBvcnQtYXNzZXJ0aW9uLmpzOiBBZGRlZC4KKwogMjAyMi0wMS0xNSAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEZpeCBEYXRlIGZ1
bmN0aW9ucycgYXJndW1lbnQgY29lcmNpb24KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2lt
cG9ydC1zeW50YXguanMgYi9KU1Rlc3RzL3N0cmVzcy9pbXBvcnQtc3ludGF4LmpzCmluZGV4IDk0
ZTA4NTBmN2IyODkyYTg2MWFkNWQwZjQ1MGZmNDRmOTE3MjRkMjEuLjI4ZmRiMmZjZjcxODAyNGJl
YzE0ZDY5YWE1OTc2MGY0ODRjMjc0ZDAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3RyZXNzL2ltcG9y
dC1zeW50YXguanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvaW1wb3J0LXN5bnRheC5qcwpAQCAtMjcs
MjcgKzI3LDI2IEBAIGFzeW5jIGZ1bmN0aW9uIHRlc3RTeW50YXgoc2NyaXB0LCBtZXNzYWdlKSB7
CiAgICAgfQogfQogCi10ZXN0U3ludGF4RXJyb3IoYGltcG9ydClgLCBgU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJyknLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LmApOwordGVzdFN5bnRheEVycm9yKGBpbXBvcnQpYCwgYFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICcpJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBvbmUgb3IgdHdvIGFyZ3VtZW50cy5g
KTsKIHRlc3RTeW50YXhFcnJvcihgbmV3IGltcG9ydChgLCBgU3ludGF4RXJyb3I6IENhbm5vdCB1
c2UgbmV3IHdpdGggaW1wb3J0LmApOwogdGVzdFN5bnRheEVycm9yKGBpbXBvcnQuaGVsbG8oKWAs
IGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdoZWxsbycuICJpbXBvcnQuIiBj
YW4gb25seSBiZSBmb2xsb3dlZCB3aXRoIG1ldGEuYCk7Ci10ZXN0U3ludGF4RXJyb3IoYGltcG9y
dFtgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJ1snLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwotdGVzdFN5bnRheEVycm9yKGBpbXBvcnQ8YCwg
YFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc8Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBl
eGFjdGx5IG9uZSBhcmd1bWVudC5gKTsKK3Rlc3RTeW50YXhFcnJvcihgaW1wb3J0W2AsIGBTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnWycuIGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9y
IHR3byBhcmd1bWVudHMuYCk7Cit0ZXN0U3ludGF4RXJyb3IoYGltcG9ydDxgLCBgU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzwnLiBpbXBvcnQgY2FsbCBleHBlY3RzIG9uZSBvciB0d28g
YXJndW1lbnRzLmApOwogCiB0ZXN0U3ludGF4RXJyb3IoYGltcG9ydCgpYCwgYFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICcpJ2ApOwotdGVzdFN5bnRheEVycm9yKGBpbXBvcnQoYSwgYilg
LCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3Rz
IGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwotdGVzdFN5bnRheEVycm9yKGBpbXBvcnQoYSwgYiwg
YylgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwordGVzdFN5bnRheEVycm9yKGBpbXBvcnQoYSwg
YiwgYylgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYycuIGltcG9ydCBj
YWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMuYCk7CiB0ZXN0U3ludGF4RXJyb3IoYGlt
cG9ydCguLi5hKWAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLi4uJ2ApOwogdGVz
dFN5bnRheEVycm9yKGBpbXBvcnQoLGEpYCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICcsJ2ApOwogdGVzdFN5bnRheEVycm9yKGBpbXBvcnQoLClgLCBgU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJywnYCk7Ci10ZXN0U3ludGF4RXJyb3IoYGltcG9ydCgiSGVsbG8iO2AsIGBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnOycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhh
Y3RseSBvbmUgYXJndW1lbnQuYCk7Ci10ZXN0U3ludGF4RXJyb3IoYGltcG9ydCgiSGVsbG8iXTtg
LCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJ10nLiBpbXBvcnQgY2FsbCBleHBlY3Rz
IGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwotdGVzdFN5bnRheEVycm9yKGBpbXBvcnQoIkhlbGxv
Iiw7YCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC5gKTsKLXRlc3RTeW50YXhFcnJvcihgaW1wb3J0KCJI
ZWxsbyIsICJIZWxsbzIiO2AsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuYCk7Cit0ZXN0U3ludGF4RXJy
b3IoYGltcG9ydCgiSGVsbG8iO2AsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnOycu
IGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMuYCk7Cit0ZXN0U3ludGF4
RXJyb3IoYGltcG9ydCgiSGVsbG8iXTtgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
J10nLiBpbXBvcnQgY2FsbCBleHBlY3RzIG9uZSBvciB0d28gYXJndW1lbnRzLmApOwordGVzdFN5
bnRheEVycm9yKGBpbXBvcnQoIkhlbGxvIiw7YCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICc7J2ApOwordGVzdFN5bnRheEVycm9yKGBpbXBvcnQoIkhlbGxvIiwgIkhlbGxvMiI7YCwg
YFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBv
bmUgb3IgdHdvIGFyZ3VtZW50cy5gKTsKIAogCi10ZXN0U3ludGF4RXJyb3IoYGltcG9ydCA9IDQy
YCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gaW1wb3J0IGNhbGwgZXhwZWN0
cyBleGFjdGx5IG9uZSBhcmd1bWVudC5gKTsKLXRlc3RTeW50YXhFcnJvcihgW2ltcG9ydF0gPSA0
MmAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnXScuIGltcG9ydCBjYWxsIGV4cGVj
dHMgZXhhY3RseSBvbmUgYXJndW1lbnQuYCk7Ci10ZXN0U3ludGF4RXJyb3IoYHtpbXBvcnR9ID0g
NDJgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJ30nLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwordGVzdFN5bnRheEVycm9yKGBpbXBvcnQgPSA0
MmAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIGltcG9ydCBjYWxsIGV4cGVj
dHMgb25lIG9yIHR3byBhcmd1bWVudHMuYCk7Cit0ZXN0U3ludGF4RXJyb3IoYFtpbXBvcnRdID0g
NDJgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJ10nLiBpbXBvcnQgY2FsbCBleHBl
Y3RzIG9uZSBvciB0d28gYXJndW1lbnRzLmApOwordGVzdFN5bnRheEVycm9yKGB7aW1wb3J0fSA9
IDQyYCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICd9Jy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBvbmUgb3IgdHdvIGFyZ3VtZW50cy5gKTsKIHRlc3RTeW50YXhFcnJvcihgbGV0IGltcG9y
dCA9IDQyYCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGtleXdvcmQgJ2ltcG9ydCdgKTsKIHRl
c3RTeW50YXhFcnJvcihgdmFyIGltcG9ydCA9IDQyYCwgYFN5bnRheEVycm9yOiBDYW5ub3QgdXNl
IHRoZSBrZXl3b3JkICdpbXBvcnQnIGFzIGEgdmFyaWFibGUgbmFtZS5gKTsKIHRlc3RTeW50YXhF
cnJvcihgY29uc3QgaW1wb3J0ID0gNDJgLCBgU3ludGF4RXJyb3I6IENhbm5vdCB1c2UgdGhlIGtl
eXdvcmQgJ2ltcG9ydCcgYXMgYSBsZXhpY2FsIHZhcmlhYmxlIG5hbWUuYCk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3N0cmVzcy9tb2R1bGVzLXN5bnRheC1pbXBvcnQtYXNzZXJ0aW9uLWVycm9yLmpz
IGIvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgtaW1wb3J0LWFzc2VydGlvbi1lcnJvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YzVlZDRhODQ4OGVjYmIxM2QyYWYxYTI4NzViY2Y1OGNiOGY4OTQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgtaW1wb3J0LWFz
c2VydGlvbi1lcnJvci5qcwpAQCAtMCwwICsxLDYyIEBACisvL0ByZXF1aXJlT3B0aW9ucygiLS11
c2VJbXBvcnRBc3NlcnRpb249dHJ1ZSIpCisKK2Z1bmN0aW9uIHNob3VsZFRocm93KGZ1bmMsIGVy
cm9yTWVzc2FnZSkgeworICAgIHZhciBlcnJvclRocm93biA9IGZhbHNlOworICAgIHZhciBlcnJv
ciA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgZnVuYygpOworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgZXJyb3JUaHJvd24gPSB0cnVlOworICAgICAgICBlcnJvciA9IGU7CisgICAgfQor
ICAgIGlmICghZXJyb3JUaHJvd24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcignbm90IHRocm93
bicpOworICAgIGlmIChlcnJvck1lc3NhZ2UpIHsKKyAgICAgICAgaWYgKFN0cmluZyhlcnJvcikg
IT09IGVycm9yTWVzc2FnZSkKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgYmFkIGVycm9y
OiAke1N0cmluZyhlcnJvcil9YCk7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVja01vZHVsZVN5
bnRheEVycm9yKHNvdXJjZSwgZXJyb3JNZXNzYWdlKSB7CisgICAgc2hvdWxkVGhyb3coKCkgPT4g
Y2hlY2tNb2R1bGVTeW50YXgoc291cmNlKSwgZXJyb3JNZXNzYWdlKTsKK30KKwordmFyIGxpc3Qg
PSBbCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgdiBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcucmF3
YGltcG9ydCAqIGFzIG5zIGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IHt4fSBm
cm9tICJtb2QiYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCB7eCx9IGZyb20gIm1vZCJgLAorICAg
IFN0cmluZy5yYXdgaW1wb3J0IHt9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0
IHt4IGFzIHZ9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHt4fSBmcm9tICJt
b2QiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7diBhcyB4fSBmcm9tICJtb2QiYCwKKyAgICBT
dHJpbmcucmF3YGV4cG9ydCAqIGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0ICog
YXMgYiBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0ICogYXMgZGVsZXRlIGZy
b20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgYSwgeyBiIGFzIGMgfSBmcm9tICJD
b2NvYSJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IGQsIHsgZSwgZiwgZyBhcyBoIH0gZnJvbSAi
Q2FwcHVjY2lubyJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IHsgfSBmcm9tICJDYXBwdWNjaW5v
ImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgaSwgKiBhcyBqIGZyb20gIkNhcHB1Y2Npbm8iYCwK
KyAgICBTdHJpbmcucmF3YGltcG9ydCBhLCB7IH0gZnJvbSAiQ2FwcHVjY2lubyJgLAorICAgIFN0
cmluZy5yYXdgaW1wb3J0IGEsIHsgYiwgfSBmcm9tICJDYXBwdWNjaW5vImAsCisgICAgU3RyaW5n
LnJhd2BpbXBvcnQgKiBhcyBmcm9tIGZyb20gIk1hdGNoYSJgLAorICAgIFN0cmluZy5yYXdgaW1w
b3J0ICogYXMgYXMgZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCB7IGRlZmF1
bHQgYXMgbW9kdWxlIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCAqIGZy
b20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQgeyB9IGZyb20gIkNvY29hImAsCisg
ICAgU3RyaW5nLnJhd2BleHBvcnQgeyBhIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3
YGV4cG9ydCB7IGEgYXMgYiB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQg
eyBhLCBiIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7IGRlZmF1bHQg
fSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgZW51bSB9IGZyb20gIkNv
Y29hImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQgeyBkZWZhdWx0IGFzIGRlZmF1bHQgfSBmcm9t
ICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgZW51bSBhcyBlbnVtIH0gZnJvbSAi
Q29jb2EiYCwKK107CisKK2ZvciAobGV0IGVudHJ5IG9mIGxpc3QpIHsKKyAgICBjaGVja01vZHVs
ZVN5bnRheEVycm9yKGVudHJ5ICsgYCBhc3NlcnQgeyAsIH1gKTsKKyAgICBjaGVja01vZHVsZVN5
bnRheEVycm9yKGVudHJ5ICsgYCBhc3NlcnQgeyB0eXBlOiBqc29uIH1gKTsKKyAgICBjaGVja01v
ZHVsZVN5bnRheEVycm9yKGVudHJ5ICsgYCBhc3NlcnQgeyB0eXBlLCB9YCk7CisgICAgY2hlY2tN
b2R1bGVTeW50YXhFcnJvcihlbnRyeSArIGAgYXNzZXJ0IHsgdHlwZTogImpzb24iLCwgfWApOwor
ICAgIGNoZWNrTW9kdWxlU3ludGF4RXJyb3IoZW50cnkgKyBgIGFzc2VydCB7IGApOworfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgtaW1wb3J0LWFzc2VydGlvbi5q
cyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3ludGF4LWltcG9ydC1hc3NlcnRpb24uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzA1Zjk4N2EzNmRkODBkYWQwODhjZTg0YjRjNDExM2Q2YWRmZTNiNAotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3ludGF4LWltcG9ydC1hc3NlcnRp
b24uanMKQEAgLTAsMCArMSw0MSBAQAorLy9AcmVxdWlyZU9wdGlvbnMoIi0tdXNlSW1wb3J0QXNz
ZXJ0aW9uPXRydWUiKQorCit2YXIgbGlzdCA9IFsKKyAgICBTdHJpbmcucmF3YGltcG9ydCB2IGZy
b20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0ICogYXMgbnMgZnJvbSAibW9kImAsCisg
ICAgU3RyaW5nLnJhd2BpbXBvcnQge3h9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1w
b3J0IHt4LH0gZnJvbSAibW9kImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQge30gZnJvbSAibW9k
ImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQge3ggYXMgdn0gZnJvbSAibW9kImAsCisgICAgU3Ry
aW5nLnJhd2BleHBvcnQge3h9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHt2
IGFzIHh9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0ICogZnJvbSAibW9kImAs
CisgICAgU3RyaW5nLnJhd2BleHBvcnQgKiBhcyBiIGZyb20gIkNvY29hImAsCisgICAgU3RyaW5n
LnJhd2BleHBvcnQgKiBhcyBkZWxldGUgZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGlt
cG9ydCBhLCB7IGIgYXMgYyB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQg
ZCwgeyBlLCBmLCBnIGFzIGggfSBmcm9tICJDYXBwdWNjaW5vImAsCisgICAgU3RyaW5nLnJhd2Bp
bXBvcnQgeyB9IGZyb20gIkNhcHB1Y2Npbm8iYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCBpLCAq
IGFzIGogZnJvbSAiQ2FwcHVjY2lubyJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IGEsIHsgfSBm
cm9tICJDYXBwdWNjaW5vImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgYSwgeyBiLCB9IGZyb20g
IkNhcHB1Y2Npbm8iYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCAqIGFzIGZyb20gZnJvbSAiTWF0
Y2hhImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgKiBhcyBhcyBmcm9tICJDb2NvYSJgLAorICAg
IFN0cmluZy5yYXdgaW1wb3J0IHsgZGVmYXVsdCBhcyBtb2R1bGUgfSBmcm9tICJDb2NvYSJgLAor
ICAgIFN0cmluZy5yYXdgZXhwb3J0ICogZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4
cG9ydCB7IH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7IGEgfSBmcm9t
ICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgYSBhcyBiIH0gZnJvbSAiQ29jb2Ei
YCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7IGEsIGIgfSBmcm9tICJDb2NvYSJgLAorICAgIFN0
cmluZy5yYXdgZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJh
d2BleHBvcnQgeyBlbnVtIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7
IGRlZmF1bHQgYXMgZGVmYXVsdCB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BleHBv
cnQgeyBlbnVtIGFzIGVudW0gfSBmcm9tICJDb2NvYSJgLAorXTsKKworZm9yIChsZXQgZW50cnkg
b2YgbGlzdCkgeworICAgIGNoZWNrTW9kdWxlU3ludGF4KGVudHJ5ICsgYCBhc3NlcnQgeyB9YCk7
CisgICAgY2hlY2tNb2R1bGVTeW50YXgoZW50cnkgKyBgIGFzc2VydCB7IHR5cGU6ICJqc29uIiB9
YCk7CisgICAgY2hlY2tNb2R1bGVTeW50YXgoZW50cnkgKyBgIGFzc2VydCB7ICJ0eXBlIjogImpz
b24iIH1gKTsKKyAgICBjaGVja01vZHVsZVN5bnRheChlbnRyeSArIGAgYXNzZXJ0IHsgInR5cGUi
OiAianNvbiIsIH1gKTsKKyAgICBjaGVja01vZHVsZVN5bnRheChlbnRyeSArIGAgYXNzZXJ0IHsg
dHlwZTogImpzb24iLCBoZWxsbzogIndvcmxkIiB9YCk7Cit9Cg==
</data>
<flag name="commit-queue"
          id="475674"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449556</attachid>
            <date>2022-01-19 23:46:47 -0800</date>
            <delta_ts>2022-01-24 14:52:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235312-20220119234646.patch</filename>
            <type>text/plain</type>
            <size>66736</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MWMyZTY2NTlmNDFiMDYyYjE5YmRjM2Q5MWMzZTQ0MjI3NTM3NDhmLi4yODY1OGZiZjhjNmUyZWNk
YjQ5MGIzZmM2MzdkOWI5NjExYmM0NWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OCBAQAorMjAyMi0wMS0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFN1cHBvcnQgaW1wb3J0IGFzc2VydGlvbiBzeW50YXgKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTMxMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRz
IHN5bnRheCBzdXBwb3J0IGZvciBpbXBvcnQgYXNzZXJ0aW9uWzFdLgorICAgICAgICBUaGlzIGRv
ZXMgbm90IGFkZCB0aGUgYWN0dWFsIGZlYXR1cmUgcHJvcGFnYXRpbmcgaW1wb3J0IGFzc2VydGlv
bgorICAgICAgICB0byB0aGUgbW9kdWxlIHJlcXVlc3QgeWV0LgorCisgICAgICAgIFsxXTogaHR0
cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtaW1wb3J0LWFzc2VydGlvbnMKKworICAgICAg
ICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjpJbXBvcnRO
b2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAg
ICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUltcG9ydEV4cHIpOgorICAgICAgICAoSlNDOjpB
U1RCdWlsZGVyOjpjcmVhdGVJbXBvcnRBc3NlcnRpb25MaXN0KToKKyAgICAgICAgKEpTQzo6QVNU
QnVpbGRlcjo6YXBwZW5kSW1wb3J0QXNzZXJ0aW9uKToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRl
cjo6Y3JlYXRlSW1wb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVFeHBvcnRBbGxEZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNy
ZWF0ZUV4cG9ydE5hbWVkRGVjbGFyYXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmg6CisgICAgICAgIChKU0M6OkltcG9ydE5vZGU6OkltcG9ydE5vZGUpOgorICAgICAg
ICAoSlNDOjpJbXBvcnREZWNsYXJhdGlvbk5vZGU6OkltcG9ydERlY2xhcmF0aW9uTm9kZSk6Cisg
ICAgICAgIChKU0M6OkV4cG9ydEFsbERlY2xhcmF0aW9uTm9kZTo6RXhwb3J0QWxsRGVjbGFyYXRp
b25Ob2RlKToKKyAgICAgICAgKEpTQzo6RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGU6OkV4cG9y
dE5hbWVkRGVjbGFyYXRpb25Ob2RlKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAg
ICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46
OnBhcnNlSW1wb3J0QXNzZXJ0aW9ucyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUltcG9ydERlY2xhcmF0aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VNZW1iZXJFeHByZXNzaW9uKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6
CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4
Q2hlY2tlcjo6Y3JlYXRlSW1wb3J0RXhwcik6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6
OmNyZWF0ZUltcG9ydEFzc2VydGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2Vy
OjphcHBlbmRJbXBvcnRBc3NlcnRpb24pOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpj
cmVhdGVJbXBvcnREZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNy
ZWF0ZUV4cG9ydEFsbERlY2xhcmF0aW9uKToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6
Y3JlYXRlRXhwb3J0TmFtZWREZWNsYXJhdGlvbik6CisgICAgICAgICogcnVudGltZS9KU0dsb2Jh
bE9iamVjdEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTik6CisgICAgICAgICogcnVudGltZS9PcHRpb25zTGlzdC5oOgorCiAyMDIyLTAxLTE5ICBZ
dXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW1wbGVt
ZW50IFRlbXBvcmFsLk5vdy5pbnN0YW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAzNThkNGEzYjA2MWI2MTg4ZmYx
NmZiNzBjMmQ4YjdmYzY2Mzg2OWFlLi43YWIxN2U2MTFmZDRmYjEyZGU4YjlmYjI0NGM3ZDJlNTNl
ZDRiZDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9O
b2Rlc0NvZGVnZW4uY3BwCkBAIC0yMjQsOSArMjI0LDExIEBAIFJlZ2lzdGVySUQqIFN1cGVyTm9k
ZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQq
IGRzCiBSZWdpc3RlcklEKiBJbXBvcnROb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQogewogICAgIFJlZlB0cjxSZWdpc3RlcklE
PiBpbXBvcnRNb2R1bGUgPSBnZW5lcmF0b3IubW92ZUxpbmtUaW1lQ29uc3RhbnQobnVsbHB0ciwg
TGlua1RpbWVDb25zdGFudDo6aW1wb3J0TW9kdWxlKTsKLSAgICBDYWxsQXJndW1lbnRzIGFyZ3Vt
ZW50cyhnZW5lcmF0b3IsIG51bGxwdHIsIDEpOworICAgIENhbGxBcmd1bWVudHMgYXJndW1lbnRz
KGdlbmVyYXRvciwgbnVsbHB0ciwgbV9vcHRpb24gPyAyIDogMSk7CiAgICAgZ2VuZXJhdG9yLmVt
aXRMb2FkKGFyZ3VtZW50cy50aGlzUmVnaXN0ZXIoKSwganNVbmRlZmluZWQoKSk7CiAgICAgZ2Vu
ZXJhdG9yLmVtaXROb2RlKGFyZ3VtZW50cy5hcmd1bWVudFJlZ2lzdGVyKDApLCBtX2V4cHIpOwor
ICAgIGlmIChtX29wdGlvbikKKyAgICAgICAgZ2VuZXJhdG9yLmVtaXROb2RlKGFyZ3VtZW50cy5h
cmd1bWVudFJlZ2lzdGVyKDEpLCBtX29wdGlvbik7CiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0
Q2FsbChnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIGltcG9ydE1vZHVsZS5nZXQoKSks
IGltcG9ydE1vZHVsZS5nZXQoKSwgTm9FeHBlY3RlZEZ1bmN0aW9uLCBhcmd1bWVudHMsIGRpdm90
KCksIGRpdm90U3RhcnQoKSwgZGl2b3RFbmQoKSwgRGVidWdnYWJsZUNhbGw6Ok5vKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBiODU1ZDcxNmJm
OTU1ZDI3NjE3NWQ1OWJlZDIzMDc3M2NmMDVmMjQwLi45NTYzYmVlODY1NDkzMmJkNWJkOGZhOWM3
ZGYzN2ZjNTZjNTg4NGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaApAQCAtMTExLDYgKzExMSw3IEBAIGNsYXNzIEFTVEJ1aWxkZXIgewogICAgIHR5cGVkZWYg
TW9kdWxlTmFtZU5vZGUqIE1vZHVsZU5hbWU7CiAgICAgdHlwZWRlZiBJbXBvcnRTcGVjaWZpZXJO
b2RlKiBJbXBvcnRTcGVjaWZpZXI7CiAgICAgdHlwZWRlZiBJbXBvcnRTcGVjaWZpZXJMaXN0Tm9k
ZSogSW1wb3J0U3BlY2lmaWVyTGlzdDsKKyAgICB0eXBlZGVmIEltcG9ydEFzc2VydGlvbkxpc3RO
b2RlKiBJbXBvcnRBc3NlcnRpb25MaXN0OwogICAgIHR5cGVkZWYgRXhwb3J0U3BlY2lmaWVyTm9k
ZSogRXhwb3J0U3BlY2lmaWVyOwogICAgIHR5cGVkZWYgRXhwb3J0U3BlY2lmaWVyTGlzdE5vZGUq
IEV4cG9ydFNwZWNpZmllckxpc3Q7CiAgICAgdHlwZWRlZiBTdGF0ZW1lbnROb2RlKiBTdGF0ZW1l
bnQ7CkBAIC0xNzksOSArMTgwLDkgQEAgY2xhc3MgQVNUQnVpbGRlciB7CiAgICAgewogICAgICAg
ICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBTdXBlck5vZGUobG9jYXRpb24pOwogICAgIH0K
LSAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlSW1wb3J0RXhwcihjb25zdCBKU1Rva2VuTG9jYXRp
b24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwciwgY29uc3QgSlNUZXh0UG9zaXRpb24m
IHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9u
JiBlbmQpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUltcG9ydEV4cHIoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIsIEV4cHJlc3Npb25Ob2Rl
KiBvcHRpb24sIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBzdGFydCwgY29uc3QgSlNUZXh0UG9zaXRp
b24mIGRpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZW5kKQogICAgIHsKLSAgICAgICAgYXV0
byogbm9kZSA9IG5ldyAobV9wYXJzZXJBcmVuYSkgSW1wb3J0Tm9kZShsb2NhdGlvbiwgZXhwcik7
CisgICAgICAgIGF1dG8qIG5vZGUgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEltcG9ydE5vZGUobG9j
YXRpb24sIGV4cHIsIG9wdGlvbik7CiAgICAgICAgIHNldEV4Y2VwdGlvbkxvY2F0aW9uKG5vZGUs
IHN0YXJ0LCBkaXZvdCwgZW5kKTsKICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQpAQCAtODEx
LDE0ICs4MTIsMjQgQEAgY2xhc3MgQVNUQnVpbGRlciB7CiAgICAgICAgIHNwZWNpZmllckxpc3Qt
PmFwcGVuZChzcGVjaWZpZXIpOwogICAgIH0KIAotICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUlt
cG9ydERlY2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEltcG9ydFNw
ZWNpZmllckxpc3ROb2RlKiBpbXBvcnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lTm9kZSogbW9k
dWxlTmFtZSkKKyAgICBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogY3JlYXRlSW1wb3J0QXNzZXJ0
aW9uTGlzdCgpCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBJbXBv
cnREZWNsYXJhdGlvbk5vZGUobG9jYXRpb24sIGltcG9ydFNwZWNpZmllckxpc3QsIG1vZHVsZU5h
bWUpOworICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBJbXBvcnRBc3NlcnRpb25M
aXN0Tm9kZSgpOwogICAgIH0KIAotICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUV4cG9ydEFsbERl
Y2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIE1vZHVsZU5hbWVOb2Rl
KiBtb2R1bGVOYW1lKQorICAgIHZvaWQgYXBwZW5kSW1wb3J0QXNzZXJ0aW9uKEltcG9ydEFzc2Vy
dGlvbkxpc3ROb2RlKiBhc3NlcnRpb25MaXN0LCBjb25zdCBJZGVudGlmaWVyJiBrZXksIGNvbnN0
IElkZW50aWZpZXImIHZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJB
cmVuYSkgRXhwb3J0QWxsRGVjbGFyYXRpb25Ob2RlKGxvY2F0aW9uLCBtb2R1bGVOYW1lKTsKKyAg
ICAgICAgYXNzZXJ0aW9uTGlzdC0+YXBwZW5kKGtleSwgdmFsdWUpOworICAgIH0KKworICAgIFN0
YXRlbWVudE5vZGUqIGNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgbG9jYXRpb24sIEltcG9ydFNwZWNpZmllckxpc3ROb2RlKiBpbXBvcnRTcGVjaWZpZXJMaXN0
LCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSwgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIGlt
cG9ydEFzc2VydGlvbkxpc3QpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFy
ZW5hKSBJbXBvcnREZWNsYXJhdGlvbk5vZGUobG9jYXRpb24sIGltcG9ydFNwZWNpZmllckxpc3Qs
IG1vZHVsZU5hbWUsIGltcG9ydEFzc2VydGlvbkxpc3QpOworICAgIH0KKworICAgIFN0YXRlbWVu
dE5vZGUqIGNyZWF0ZUV4cG9ydEFsbERlY2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lLCBJbXBvcnRBc3NlcnRpb25MaXN0
Tm9kZSogaW1wb3J0QXNzZXJ0aW9uTGlzdCkKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgKG1f
cGFyc2VyQXJlbmEpIEV4cG9ydEFsbERlY2xhcmF0aW9uTm9kZShsb2NhdGlvbiwgbW9kdWxlTmFt
ZSwgaW1wb3J0QXNzZXJ0aW9uTGlzdCk7CiAgICAgfQogCiAgICAgU3RhdGVtZW50Tm9kZSogY3Jl
YXRlRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRp
b24sIFN0YXRlbWVudE5vZGUqIGRlY2xhcmF0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBsb2NhbE5h
bWUpCkBAIC04MzEsOSArODQyLDkgQEAgY2xhc3MgQVNUQnVpbGRlciB7CiAgICAgICAgIHJldHVy
biBuZXcgKG1fcGFyc2VyQXJlbmEpIEV4cG9ydExvY2FsRGVjbGFyYXRpb25Ob2RlKGxvY2F0aW9u
LCBkZWNsYXJhdGlvbik7CiAgICAgfQogCi0gICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRXhwb3J0
TmFtZWREZWNsYXJhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHBvcnRT
cGVjaWZpZXJMaXN0Tm9kZSogZXhwb3J0U3BlY2lmaWVyTGlzdCwgTW9kdWxlTmFtZU5vZGUqIG1v
ZHVsZU5hbWUpCisgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRXhwb3J0TmFtZWREZWNsYXJhdGlv
bihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHBvcnRTcGVjaWZpZXJMaXN0Tm9k
ZSogZXhwb3J0U3BlY2lmaWVyTGlzdCwgTW9kdWxlTmFtZU5vZGUqIG1vZHVsZU5hbWUsIEltcG9y
dEFzc2VydGlvbkxpc3ROb2RlKiBpbXBvcnRBc3NlcnRpb25MaXN0KQogICAgIHsKLSAgICAgICAg
cmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgRXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGUobG9j
YXRpb24sIGV4cG9ydFNwZWNpZmllckxpc3QsIG1vZHVsZU5hbWUpOworICAgICAgICByZXR1cm4g
bmV3IChtX3BhcnNlckFyZW5hKSBFeHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZShsb2NhdGlvbiwg
ZXhwb3J0U3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSwgaW1wb3J0QXNzZXJ0aW9uTGlzdCk7CiAg
ICAgfQogCiAgICAgRXhwb3J0U3BlY2lmaWVyTm9kZSogY3JlYXRlRXhwb3J0U3BlY2lmaWVyKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGxvY2FsTmFt
ZSwgY29uc3QgSWRlbnRpZmllciYgZXhwb3J0ZWROYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCAyYzA5ZDI4YzY2Zjg5YTVhOTFl
ODU0YmY4MTVmOGE0ODEwMzg2NDUwLi5iNGRmMjQ0NTg5MjZhMzI0NWI2MjFkYmExYWZjNzAwNzI4
MmM3OGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1
Y3RvcnMuaApAQCAtMTc5LDkgKzE3OSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB7CiAgICAg
fQogCi0gICAgaW5saW5lIEltcG9ydE5vZGU6OkltcG9ydE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIpCisgICAgaW5saW5lIEltcG9ydE5v
ZGU6OkltcG9ydE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lv
bk5vZGUqIGV4cHIsIEV4cHJlc3Npb25Ob2RlKiBvcHRpb24pCiAgICAgICAgIDogRXhwcmVzc2lv
bk5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9leHByKGV4cHIpCisgICAgICAgICwgbV9vcHRp
b24ob3B0aW9uKQogICAgIHsKICAgICB9CiAKQEAgLTg2NSwxNiArODY2LDE4IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIHsKICAgICB9CiAKLSAgICBpbmxpbmUgSW1wb3J0RGVjbGFyYXRpb25Ob2Rl
OjpJbXBvcnREZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwg
SW1wb3J0U3BlY2lmaWVyTGlzdE5vZGUqIGltcG9ydFNwZWNpZmllckxpc3QsIE1vZHVsZU5hbWVO
b2RlKiBtb2R1bGVOYW1lKQorICAgIGlubGluZSBJbXBvcnREZWNsYXJhdGlvbk5vZGU6OkltcG9y
dERlY2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBJbXBvcnRT
cGVjaWZpZXJMaXN0Tm9kZSogaW1wb3J0U3BlY2lmaWVyTGlzdCwgTW9kdWxlTmFtZU5vZGUqIG1v
ZHVsZU5hbWUsIEltcG9ydEFzc2VydGlvbkxpc3ROb2RlKiBpbXBvcnRBc3NlcnRpb25MaXN0KQog
ICAgICAgICA6IE1vZHVsZURlY2xhcmF0aW9uTm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX3Nw
ZWNpZmllckxpc3QoaW1wb3J0U3BlY2lmaWVyTGlzdCkKICAgICAgICAgLCBtX21vZHVsZU5hbWUo
bW9kdWxlTmFtZSkKKyAgICAgICAgLCBtX2Fzc2VydGlvbkxpc3QoaW1wb3J0QXNzZXJ0aW9uTGlz
dCkKICAgICB7CiAgICAgfQogCi0gICAgaW5saW5lIEV4cG9ydEFsbERlY2xhcmF0aW9uTm9kZTo6
RXhwb3J0QWxsRGVjbGFyYXRpb25Ob2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVOYW1lKQorICAgIGlubGluZSBFeHBvcnRBbGxEZWNsYXJh
dGlvbk5vZGU6OkV4cG9ydEFsbERlY2xhcmF0aW9uTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24m
IGxvY2F0aW9uLCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSwgSW1wb3J0QXNzZXJ0aW9uTGlz
dE5vZGUqIGltcG9ydEFzc2VydGlvbkxpc3QpCiAgICAgICAgIDogTW9kdWxlRGVjbGFyYXRpb25O
b2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fbW9kdWxlTmFtZShtb2R1bGVOYW1lKQorICAgICAg
ICAsIG1fYXNzZXJ0aW9uTGlzdChpbXBvcnRBc3NlcnRpb25MaXN0KQogICAgIHsKICAgICB9CiAK
QEAgLTg5MSwxMCArODk0LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHsKICAgICB9CiAKLSAg
ICBpbmxpbmUgRXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGU6OkV4cG9ydE5hbWVkRGVjbGFyYXRp
b25Ob2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cG9ydFNwZWNpZmllckxp
c3ROb2RlKiBleHBvcnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSkK
KyAgICBpbmxpbmUgRXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGU6OkV4cG9ydE5hbWVkRGVjbGFy
YXRpb25Ob2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cG9ydFNwZWNpZmll
ckxpc3ROb2RlKiBleHBvcnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFt
ZSwgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIGltcG9ydEFzc2VydGlvbkxpc3QpCiAgICAgICAg
IDogTW9kdWxlRGVjbGFyYXRpb25Ob2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fc3BlY2lmaWVy
TGlzdChleHBvcnRTcGVjaWZpZXJMaXN0KQogICAgICAgICAsIG1fbW9kdWxlTmFtZShtb2R1bGVO
YW1lKQorICAgICAgICAsIG1fYXNzZXJ0aW9uTGlzdChpbXBvcnRBc3NlcnRpb25MaXN0KQogICAg
IHsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCAxYWQ1NThk
MjA4ODRkM2RhZWMzYzI5NDE4OGQxNDdiNzIzMTUyNzcyLi44YWM5YTg0NThiNjA1NjY5OTJmODcy
Mjk0NDJiMDRlNmIzZmIwMTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBA
IC02MjcsMTMgKzYyNywxNCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEltcG9ydE5v
ZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBUaHJvd2FibGVFeHByZXNz
aW9uRGF0YSB7CiAgICAgcHVibGljOgotICAgICAgICBJbXBvcnROb2RlKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYsIEV4cHJlc3Npb25Ob2RlKik7CisgICAgICAgIEltcG9ydE5vZGUoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqLCBFeHByZXNzaW9uTm9kZSopOwogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgYm9vbCBpc0ltcG9ydE5vZGUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biB0cnVlOyB9CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVy
YXRvciYsIFJlZ2lzdGVySUQqID0gbnVsbHB0cikgZmluYWw7CiAKICAgICAgICAgRXhwcmVzc2lv
bk5vZGUqIG1fZXhwcjsKKyAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fb3B0aW9uOwogICAgIH07
CiAKICAgICBjbGFzcyBNZXRhUHJvcGVydHlOb2RlIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsK
QEAgLTIwNTcsNiArMjA1OCwyMSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgU3BlY2lmaWVy
cyBtX3NwZWNpZmllcnM7CiAgICAgfTsKIAorICAgIGNsYXNzIEltcG9ydEFzc2VydGlvbkxpc3RO
b2RlIGZpbmFsIDogcHVibGljIFBhcnNlckFyZW5hRGVsZXRhYmxlIHsKKyAgICAgICAgSlNDX01B
S0VfUEFSU0VSX0FSRU5BX0RFTEVUQUJMRV9BTExPQ0FURUQoSW1wb3J0QXNzZXJ0aW9uTGlzdE5v
ZGUpOworICAgIHB1YmxpYzoKKyAgICAgICAgdXNpbmcgQXNzZXJ0aW9ucyA9IFZlY3RvcjxzdGQ6
OnR1cGxlPGNvbnN0IElkZW50aWZpZXIqLCBjb25zdCBJZGVudGlmaWVyKj4sIDM+OworCisgICAg
ICAgIGNvbnN0IEFzc2VydGlvbnMmIGFzc2VydGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2Fzc2Vy
dGlvbnM7IH0KKyAgICAgICAgdm9pZCBhcHBlbmQoY29uc3QgSWRlbnRpZmllciYga2V5LCBjb25z
dCBJZGVudGlmaWVyJiB2YWx1ZSkKKyAgICAgICAgeworICAgICAgICAgICAgbV9hc3NlcnRpb25z
LmFwcGVuZChzdGQ6OnR1cGxlIHsgJmtleSwgJnZhbHVlIH0pOworICAgICAgICB9CisKKyAgICBw
cml2YXRlOgorICAgICAgICBBc3NlcnRpb25zIG1fYXNzZXJ0aW9uczsKKyAgICB9OworCiAgICAg
Y2xhc3MgTW9kdWxlRGVjbGFyYXRpb25Ob2RlIDogcHVibGljIFN0YXRlbWVudE5vZGUgewogICAg
IHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGFuYWx5emVNb2R1bGUoTW9kdWxlQW5hbHl6
ZXImKSA9IDA7CkBAIC0yMDY5LDEwICsyMDg1LDExIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
Y2xhc3MgSW1wb3J0RGVjbGFyYXRpb25Ob2RlIGZpbmFsIDogcHVibGljIE1vZHVsZURlY2xhcmF0
aW9uTm9kZSB7CiAgICAgcHVibGljOgotICAgICAgICBJbXBvcnREZWNsYXJhdGlvbk5vZGUoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgSW1wb3J0U3BlY2lmaWVyTGlzdE5vZGUqLCBNb2R1bGVOYW1l
Tm9kZSopOworICAgICAgICBJbXBvcnREZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgSW1wb3J0U3BlY2lmaWVyTGlzdE5vZGUqLCBNb2R1bGVOYW1lTm9kZSosIEltcG9ydEFz
c2VydGlvbkxpc3ROb2RlKik7CiAKICAgICAgICAgSW1wb3J0U3BlY2lmaWVyTGlzdE5vZGUqIHNw
ZWNpZmllckxpc3QoKSBjb25zdCB7IHJldHVybiBtX3NwZWNpZmllckxpc3Q7IH0KICAgICAgICAg
TW9kdWxlTmFtZU5vZGUqIG1vZHVsZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZU5hbWU7
IH0KKyAgICAgICAgSW1wb3J0QXNzZXJ0aW9uTGlzdE5vZGUqIGFzc2VydGlvbkxpc3QoKSBjb25z
dCB7IHJldHVybiBtX2Fzc2VydGlvbkxpc3Q7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZv
aWQgZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSBudWxscHRy
KSBmaW5hbDsKQEAgLTIwODAsMTkgKzIwOTcsMjIgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAg
ICAgSW1wb3J0U3BlY2lmaWVyTGlzdE5vZGUqIG1fc3BlY2lmaWVyTGlzdDsKICAgICAgICAgTW9k
dWxlTmFtZU5vZGUqIG1fbW9kdWxlTmFtZTsKKyAgICAgICAgSW1wb3J0QXNzZXJ0aW9uTGlzdE5v
ZGUqIG1fYXNzZXJ0aW9uTGlzdDsKICAgICB9OwogCiAgICAgY2xhc3MgRXhwb3J0QWxsRGVjbGFy
YXRpb25Ob2RlIGZpbmFsIDogcHVibGljIE1vZHVsZURlY2xhcmF0aW9uTm9kZSB7CiAgICAgcHVi
bGljOgotICAgICAgICBFeHBvcnRBbGxEZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgTW9kdWxlTmFtZU5vZGUqKTsKKyAgICAgICAgRXhwb3J0QWxsRGVjbGFyYXRpb25Ob2Rl
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIE1vZHVsZU5hbWVOb2RlKiwgSW1wb3J0QXNzZXJ0aW9u
TGlzdE5vZGUqKTsKIAogICAgICAgICBNb2R1bGVOYW1lTm9kZSogbW9kdWxlTmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbW9kdWxlTmFtZTsgfQorICAgICAgICBJbXBvcnRBc3NlcnRpb25MaXN0Tm9k
ZSogYXNzZXJ0aW9uTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNzZXJ0aW9uTGlzdDsgfQogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
LCBSZWdpc3RlcklEKiA9IG51bGxwdHIpIGZpbmFsOwogICAgICAgICB2b2lkIGFuYWx5emVNb2R1
bGUoTW9kdWxlQW5hbHl6ZXImKSBmaW5hbDsKIAogICAgICAgICBNb2R1bGVOYW1lTm9kZSogbV9t
b2R1bGVOYW1lOworICAgICAgICBJbXBvcnRBc3NlcnRpb25MaXN0Tm9kZSogbV9hc3NlcnRpb25M
aXN0OwogICAgIH07CiAKICAgICBjbGFzcyBFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25Ob2RlIGZp
bmFsIDogcHVibGljIE1vZHVsZURlY2xhcmF0aW9uTm9kZSB7CkBAIC0yMTUwLDE2ICsyMTcwLDE4
IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgRXhwb3J0TmFtZWREZWNsYXJhdGlvbk5v
ZGUgZmluYWwgOiBwdWJsaWMgTW9kdWxlRGVjbGFyYXRpb25Ob2RlIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIEV4cG9ydE5hbWVkRGVjbGFyYXRpb25Ob2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IEV4cG9ydFNwZWNpZmllckxpc3ROb2RlKiwgTW9kdWxlTmFtZU5vZGUqKTsKKyAgICAgICAgRXhw
b3J0TmFtZWREZWNsYXJhdGlvbk5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwb3J0U3Bl
Y2lmaWVyTGlzdE5vZGUqLCBNb2R1bGVOYW1lTm9kZSosIEltcG9ydEFzc2VydGlvbkxpc3ROb2Rl
Kik7CiAKICAgICAgICAgRXhwb3J0U3BlY2lmaWVyTGlzdE5vZGUqIHNwZWNpZmllckxpc3QoKSBj
b25zdCB7IHJldHVybiBtX3NwZWNpZmllckxpc3Q7IH0KICAgICAgICAgTW9kdWxlTmFtZU5vZGUq
IG1vZHVsZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZU5hbWU7IH0KKyAgICAgICAgSW1w
b3J0QXNzZXJ0aW9uTGlzdE5vZGUqIGFzc2VydGlvbkxpc3QoKSBjb25zdCB7IHJldHVybiBtX2Fz
c2VydGlvbkxpc3Q7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSBudWxscHRyKSBmaW5hbDsKICAgICAg
ICAgdm9pZCBhbmFseXplTW9kdWxlKE1vZHVsZUFuYWx5emVyJikgZmluYWw7CiAgICAgICAgIEV4
cG9ydFNwZWNpZmllckxpc3ROb2RlKiBtX3NwZWNpZmllckxpc3Q7CiAgICAgICAgIE1vZHVsZU5h
bWVOb2RlKiBtX21vZHVsZU5hbWUgeyBudWxscHRyIH07CisgICAgICAgIEltcG9ydEFzc2VydGlv
bkxpc3ROb2RlKiBtX2Fzc2VydGlvbkxpc3QgeyBudWxscHRyIH07CiAgICAgfTsKIAogICAgIGNs
YXNzIEZ1bmN0aW9uTWV0YWRhdGFOb2RlIGZpbmFsIDogcHVibGljIFBhcnNlckFyZW5hRGVsZXRh
YmxlLCBwdWJsaWMgTm9kZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAK
aW5kZXggZmUzZjk5ZWQ3OTkzOTI4MjlmZmI5ZmY2NjYzY2UxZDdiMTc1ZmU2My4uNDllZjUxMTk0
ZDhhZmYzMThjMWFiOTc0NzU1NjZjZTM1N2JjOWUzYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmNwcApAQCAtMzU3NSw2ICszNTc1LDI3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8
TGV4ZXJUCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlSW1wb3J0U3BlY2lmaWVyKHNwZWNpZmll
ckxvY2F0aW9uLCAqaW1wb3J0ZWROYW1lLCAqbG9jYWxOYW1lKTsKIH0KIAordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUg
VHJlZUJ1aWxkZXI6OkltcG9ydEFzc2VydGlvbkxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
SW1wb3J0QXNzZXJ0aW9ucyhUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBhdXRvIGFzc2Vy
dGlvbkxpc3QgPSBjb250ZXh0LmNyZWF0ZUltcG9ydEFzc2VydGlvbkxpc3QoKTsKKyAgICBjb25z
dW1lT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBv
ZiBpbXBvcnQgYXNzZXJ0aW9uIik7CisgICAgd2hpbGUgKCFtYXRjaChDTE9TRUJSQUNFKSkgewor
ICAgICAgICBmYWlsSWZGYWxzZShtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSB8fCBtYXRjaChT
VFJJTkcpLCAiRXhwZWN0ZWQgYW4gYXNzZXJ0aW9uIGtleSIpOworICAgICAgICBhdXRvIGtleSA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBuZXh0KCk7CisgICAgICAgIGNvbnN1bWVP
ckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgYXNzZXJ0aW9uIGtleSIpOworICAgICAg
ICBmYWlsSWZGYWxzZShtYXRjaChTVFJJTkcpLCAiRXhwZWN0ZWQgYW4gYXNzZXJ0aW9uIHZhbHVl
Iik7CisgICAgICAgIGF1dG8gdmFsdWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAg
bmV4dCgpOworICAgICAgICBjb250ZXh0LmFwcGVuZEltcG9ydEFzc2VydGlvbihhc3NlcnRpb25M
aXN0LCAqa2V5LCAqdmFsdWUpOworICAgICAgICBpZiAoIWNvbnN1bWUoQ09NTUEpKQorICAgICAg
ICAgICAgYnJlYWs7CisgICAgfQorICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwyKENMT1NFQlJB
Q0UsICJ9IiwgImVuZCIsICJpbXBvcnQgYXNzZXJ0aW9uIik7CisgICAgcmV0dXJuIGFzc2VydGlv
bkxpc3Q7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1w
b3J0RGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0zNTg3LDEwICszNjA4
LDE5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNsYXJhCiAKICAgICBpZiAobWF0Y2goU1RSSU5HKSkg
ewogICAgICAgICAvLyBpbXBvcnQgTW9kdWxlU3BlY2lmaWVyIDsKKyAgICAgICAgLy8gaW1wb3J0
IE1vZHVsZVNwZWNpZmllciBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gQXNzZXJ0Q2xhdXNlIDsK
ICAgICAgICAgYXV0byBtb2R1bGVOYW1lID0gcGFyc2VNb2R1bGVOYW1lKGNvbnRleHQpOwogICAg
ICAgICBmYWlsSWZGYWxzZShtb2R1bGVOYW1lLCAiQ2Fubm90IHBhcnNlIHRoZSBtb2R1bGUgbmFt
ZSIpOworCisgICAgICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRBc3NlcnRpb25MaXN0
IGFzc2VydGlvbkxpc3QgPSAwOworICAgICAgICBpZiAoT3B0aW9uczo6dXNlSW1wb3J0QXNzZXJ0
aW9uKCkgJiYgIW1fbGV4ZXItPmhhc0xpbmVUZXJtaW5hdG9yQmVmb3JlVG9rZW4oKSAmJiBtYXRj
aENvbnRleHR1YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuYXNz
ZXJ0UHVibGljTmFtZSgpKSkgeworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgYXNz
ZXJ0aW9uTGlzdCA9IHBhcnNlSW1wb3J0QXNzZXJ0aW9ucyhjb250ZXh0KTsKKyAgICAgICAgICAg
IGZhaWxJZkZhbHNlKGFzc2VydGlvbkxpc3QsICJVbmFibGUgdG8gcGFyc2UgaW1wb3J0IGFzc2Vy
dGlvbiIpOworICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFsc2UoYXV0b1NlbWlDb2xvbigp
LCAiRXhwZWN0ZWQgYSAnOycgZm9sbG93aW5nIGEgdGFyZ2V0ZWQgaW1wb3J0IGRlY2xhcmF0aW9u
Iik7Ci0gICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKGltcG9y
dExvY2F0aW9uLCBzcGVjaWZpZXJMaXN0LCBtb2R1bGVOYW1lKTsKKyAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oaW1wb3J0TG9jYXRpb24sIHNwZWNpZmllckxp
c3QsIG1vZHVsZU5hbWUsIGFzc2VydGlvbkxpc3QpOwogICAgIH0KIAogICAgIGJvb2wgaXNGaW5p
c2hlZFBhcnNpbmdJbXBvcnQgPSBmYWxzZTsKQEAgLTM2NDAsOSArMzY3MCwxOCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlSW1wb3J0RGVjbGFyYQogCiAgICAgYXV0byBtb2R1bGVOYW1lID0gcGFyc2VNb2R1bGVOYW1l
KGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKG1vZHVsZU5hbWUsICJDYW5ub3QgcGFyc2UgdGhl
IG1vZHVsZSBuYW1lIik7CisKKyAgICAvLyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gQXNzZXJ0
Q2xhdXNlIDsKKyAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0QXNzZXJ0aW9uTGlzdCBh
c3NlcnRpb25MaXN0ID0gMDsKKyAgICBpZiAoT3B0aW9uczo6dXNlSW1wb3J0QXNzZXJ0aW9uKCkg
JiYgIW1fbGV4ZXItPmhhc0xpbmVUZXJtaW5hdG9yQmVmb3JlVG9rZW4oKSAmJiBtYXRjaENvbnRl
eHR1YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuYXNzZXJ0UHVi
bGljTmFtZSgpKSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGFzc2VydGlvbkxpc3QgPSBw
YXJzZUltcG9ydEFzc2VydGlvbnMoY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGFzc2Vy
dGlvbkxpc3QsICJVbmFibGUgdG8gcGFyc2UgaW1wb3J0IGFzc2VydGlvbiIpOworICAgIH0KKwog
ICAgIGZhaWxJZkZhbHNlKGF1dG9TZW1pQ29sb24oKSwgIkV4cGVjdGVkIGEgJzsnIGZvbGxvd2lu
ZyBhIHRhcmdldGVkIGltcG9ydCBkZWNsYXJhdGlvbiIpOwogCi0gICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oaW1wb3J0TG9jYXRpb24sIHNwZWNpZmllckxpc3QsIG1v
ZHVsZU5hbWUpOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKGlt
cG9ydExvY2F0aW9uLCBzcGVjaWZpZXJMaXN0LCBtb2R1bGVOYW1lLCBhc3NlcnRpb25MaXN0KTsK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KQEAgLTM3MTQsNiArMzc1MywxNSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGF1dG8g
bW9kdWxlTmFtZSA9IHBhcnNlTW9kdWxlTmFtZShjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFs
c2UobW9kdWxlTmFtZSwgIkNhbm5vdCBwYXJzZSB0aGUgJ2Zyb20nIGNsYXVzZSIpOworCisgICAg
ICAgIC8vIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBBc3NlcnRDbGF1c2UgOworICAgICAgICB0
eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0QXNzZXJ0aW9uTGlzdCBhc3NlcnRpb25MaXN0ID0g
MDsKKyAgICAgICAgaWYgKE9wdGlvbnM6OnVzZUltcG9ydEFzc2VydGlvbigpICYmICFtX2xleGVy
LT5oYXNMaW5lVGVybWluYXRvckJlZm9yZVRva2VuKCkgJiYgbWF0Y2hDb250ZXh0dWFsS2V5d29y
ZChtX3ZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmFzc2VydFB1YmxpY05hbWUoKSkp
IHsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIGFzc2VydGlvbkxpc3QgPSBwYXJz
ZUltcG9ydEFzc2VydGlvbnMoY29udGV4dCk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShhc3Nl
cnRpb25MaXN0LCAiVW5hYmxlIHRvIHBhcnNlIGltcG9ydCBhc3NlcnRpb24iKTsKKyAgICAgICAg
fQorCiAgICAgICAgIGZhaWxJZkZhbHNlKGF1dG9TZW1pQ29sb24oKSwgIkV4cGVjdGVkIGEgJzsn
IGZvbGxvd2luZyBhIHRhcmdldGVkIGV4cG9ydCBkZWNsYXJhdGlvbiIpOwogCiAgICAgICAgIGlm
IChleHBvcnRlZE5hbWUpIHsKQEAgLTM3MjIsMTAgKzM3NzAsMTAgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9y
dERlY2xhcmEKICAgICAgICAgICAgIGF1dG8gbG9jYWxOYW1lID0gJm1fdm0ucHJvcGVydHlOYW1l
cy0+c3Rhck5hbWVzcGFjZVByaXZhdGVOYW1lOwogICAgICAgICAgICAgYXV0byBzcGVjaWZpZXIg
PSBjb250ZXh0LmNyZWF0ZUV4cG9ydFNwZWNpZmllcihzcGVjaWZpZXJMb2NhdGlvbiwgKmxvY2Fs
TmFtZSwgKmV4cG9ydGVkTmFtZSk7CiAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZEV4cG9ydFNw
ZWNpZmllcihzcGVjaWZpZXJMaXN0LCBzcGVjaWZpZXIpOwotICAgICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlRXhwb3J0TmFtZWREZWNsYXJhdGlvbihleHBvcnRMb2NhdGlvbiwgc3BlY2lm
aWVyTGlzdCwgbW9kdWxlTmFtZSk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVF
eHBvcnROYW1lZERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBzcGVjaWZpZXJMaXN0LCBtb2R1
bGVOYW1lLCBhc3NlcnRpb25MaXN0KTsKICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUV4cG9ydEFsbERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBtb2R1bGVOYW1l
KTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRpb24oZXhw
b3J0TG9jYXRpb24sIG1vZHVsZU5hbWUsIGFzc2VydGlvbkxpc3QpOwogICAgIH0KIAogICAgIGNh
c2UgREVGQVVMVDogewpAQCAtMzg0NywxMCArMzg5NSwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVj
bGFyYQogICAgICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsMihDTE9TRUJSQUNFLCAifSIsICJl
bmQiLCAiZXhwb3J0IGxpc3QiKTsKIAogICAgICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6TW9k
dWxlTmFtZSBtb2R1bGVOYW1lID0gMDsKKyAgICAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6Oklt
cG9ydEFzc2VydGlvbkxpc3QgYXNzZXJ0aW9uTGlzdCA9IDA7CiAgICAgICAgIGlmIChtYXRjaENv
bnRleHR1YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+ZnJvbSkpIHsKICAgICAgICAgICAg
IG5leHQoKTsKICAgICAgICAgICAgIG1vZHVsZU5hbWUgPSBwYXJzZU1vZHVsZU5hbWUoY29udGV4
dCk7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShtb2R1bGVOYW1lLCAiQ2Fubm90IHBhcnNlIHRo
ZSAnZnJvbScgY2xhdXNlIik7CisKKyAgICAgICAgICAgIC8vIFtubyBMaW5lVGVybWluYXRvciBo
ZXJlXSBBc3NlcnRDbGF1c2UgOworICAgICAgICAgICAgaWYgKE9wdGlvbnM6OnVzZUltcG9ydEFz
c2VydGlvbigpICYmICFtX2xleGVyLT5oYXNMaW5lVGVybWluYXRvckJlZm9yZVRva2VuKCkgJiYg
bWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygp
LmFzc2VydFB1YmxpY05hbWUoKSkpIHsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0aW9uTGlzdCA9IHBhcnNlSW1wb3J0QXNzZXJ0aW9ucyhjb250ZXh0KTsK
KyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShhc3NlcnRpb25MaXN0LCAiVW5hYmxlIHRvIHBh
cnNlIGltcG9ydCBhc3NlcnRpb24iKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoaGFzUmVmZXJlbmNlZE1vZHVsZUV4cG9ydE5h
bWVzLCAiQ2Fubm90IHVzZSBtb2R1bGUgZXhwb3J0IG5hbWVzIGlmIHRoZXkgcmVmZXJlbmNlIHZh
cmlhYmxlIG5hbWVzIGluIHRoZSBjdXJyZW50IG1vZHVsZSIpOwogICAgICAgICBmYWlsSWZGYWxz
ZShhdXRvU2VtaUNvbG9uKCksICJFeHBlY3RlZCBhICc7JyBmb2xsb3dpbmcgYSB0YXJnZXRlZCBl
eHBvcnQgZGVjbGFyYXRpb24iKTsKQEAgLTM4NzIsNyArMzkyOCw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBv
cnREZWNsYXJhCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBzcGVjaWZp
ZXJMaXN0LCBtb2R1bGVOYW1lKTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwb3J0
TmFtZWREZWNsYXJhdGlvbihleHBvcnRMb2NhdGlvbiwgc3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFt
ZSwgYXNzZXJ0aW9uTGlzdCk7CiAgICAgfQogCiAgICAgZGVmYXVsdDogewpAQCAtNTEzNiwxMSAr
NTE5MiwxOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgfQogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG5ld0NvdW50LCAiQ2Fu
bm90IHVzZSBuZXcgd2l0aCBpbXBvcnQiKTsKLSAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoT1BF
TlBBUkVOLCAiaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudCIpOworICAg
ICAgICAgICAgY29uc3VtZU9yRmFpbChPUEVOUEFSRU4sICJpbXBvcnQgY2FsbCBleHBlY3RzIG9u
ZSBvciB0d28gYXJndW1lbnRzIik7CiAgICAgICAgICAgICBUcmVlRXhwcmVzc2lvbiBleHByID0g
cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKICAgICAgICAgICAgIGZhaWxJZkZh
bHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwotICAgICAgICAgICAgY29uc3Vt
ZU9yRmFpbChDTE9TRVBBUkVOLCAiaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1
bWVudCIpOwotICAgICAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlSW1wb3J0RXhwcihsb2Nh
dGlvbiwgZXhwciwgZXhwcmVzc2lvblN0YXJ0LCBleHByZXNzaW9uRW5kLCBsYXN0VG9rZW5FbmRQ
b3NpdGlvbigpKTsKKyAgICAgICAgICAgIFRyZWVFeHByZXNzaW9uIG9wdGlvbkV4cHJlc3Npb24g
PSAwOworICAgICAgICAgICAgaWYgKGNvbnN1bWUoQ09NTUEpKSB7CisgICAgICAgICAgICAgICAg
aWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgICAgICBvcHRpb25FeHBy
ZXNzaW9uID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgICAg
ICAgICAgICAgZmFpbElmRmFsc2Uob3B0aW9uRXhwcmVzc2lvbiwgIkNhbm5vdCBwYXJzZSBleHBy
ZXNzaW9uIik7CisgICAgICAgICAgICAgICAgICAgIGNvbnN1bWUoQ09NTUEpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQ
QVJFTiwgImltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMiKTsKKyAgICAg
ICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUltcG9ydEV4cHIobG9jYXRpb24sIGV4cHIsIG9w
dGlvbkV4cHJlc3Npb24sIGV4cHJlc3Npb25TdGFydCwgZXhwcmVzc2lvbkVuZCwgbGFzdFRva2Vu
RW5kUG9zaXRpb24oKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdUYXJn
ZXQpIHsKICAgICAgICAgY29uc3QgYm9vbCBpc0FzeW5jID0gbWF0Y2hDb250ZXh0dWFsS2V5d29y
ZChtX3ZtLnByb3BlcnR5TmFtZXMtPmFzeW5jKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5oCmluZGV4IDYzM2FmNjMyMmZhZGU0YmQwZmQyOGM4ZjIyYzE1ZGExMzQ4N2I1MWIuLjE3
MDRkMzU4NDJjMWMzNzZiODliMzcxNWVmYzZlNWNiMGRjNzc0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTc4NCw2ICsxNzg0LDcgQEAgY2xhc3MgUGFyc2VyIHsK
ICAgICBlbnVtIGNsYXNzIEltcG9ydFNwZWNpZmllclR5cGUgeyBOYW1lc3BhY2VJbXBvcnQsIE5h
bWVkSW1wb3J0LCBEZWZhdWx0SW1wb3J0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIHBhcnNlSW1wb3J0Q2xh
dXNlSXRlbShUcmVlQnVpbGRlciYsIEltcG9ydFNwZWNpZmllclR5cGUpOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6Ok1vZHVsZU5hbWUgcGFy
c2VNb2R1bGVOYW1lKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0QXNzZXJ0aW9uTGlzdCBwYXJzZUltcG9y
dEFzc2VydGlvbnMoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VJbXBvcnREZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkV4
cG9ydFNwZWNpZmllciBwYXJzZUV4cG9ydFNwZWNpZmllcihUcmVlQnVpbGRlciYgY29udGV4dCwg
VmVjdG9yPHN0ZDo6cGFpcjxjb25zdCBJZGVudGlmaWVyKiwgY29uc3QgSWRlbnRpZmllcio+PiYg
bWF5YmVFeHBvcnRlZExvY2FsTmFtZXMsIGJvb2wmIGhhc0tleXdvcmRGb3JMb2NhbEJpbmRpbmdz
LCBib29sJiBoYXNSZWZlcmVuY2VkTW9kdWxlRXhwb3J0TmFtZXMpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUV4cG9ydERlY2xhcmF0aW9uKFRy
ZWVCdWlsZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5
bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oCmluZGV4IDUyOTFkYzFlMWJhMTRjMTE1NzhkOGM4MmYzMWNhNjZkOWUxYzUyMzkuLjEwODc4
MGYwZGI3ZjdhNTI5ODk3NGMwYzdjNmI2Njg3ZmI5YWVlOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC04Niw3ICs4Niw3IEBAIGNsYXNzIFN5
bnRheENoZWNrZXIgewogICAgICAgICBUZW1wbGF0ZUV4cHJlc3Npb25MaXN0UmVzdWx0LCBUZW1w
bGF0ZUV4cHIsCiAgICAgICAgIFRhZ2dlZFRlbXBsYXRlRXhwciwgWWllbGRFeHByLCBBd2FpdEV4
cHIsCiAgICAgICAgIE1vZHVsZU5hbWVSZXN1bHQsIFByaXZhdGVJZGVudGlmaWVyLAotICAgICAg
ICBJbXBvcnRTcGVjaWZpZXJSZXN1bHQsIEltcG9ydFNwZWNpZmllckxpc3RSZXN1bHQsCisgICAg
ICAgIEltcG9ydFNwZWNpZmllclJlc3VsdCwgSW1wb3J0U3BlY2lmaWVyTGlzdFJlc3VsdCwgSW1w
b3J0QXNzZXJ0aW9uTGlzdFJlc3VsdCwKICAgICAgICAgRXhwb3J0U3BlY2lmaWVyUmVzdWx0LCBF
eHBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0LAogCiAgICAgICAgIE5ld1RhcmdldEV4cHIgPSBNZXRh
UHJvcGVydHlCaXQgfCAwLApAQCAtMTI4LDYgKzEyOCw3IEBAIGNsYXNzIFN5bnRheENoZWNrZXIg
ewogICAgIHR5cGVkZWYgaW50IE1vZHVsZU5hbWU7CiAgICAgdHlwZWRlZiBpbnQgSW1wb3J0U3Bl
Y2lmaWVyOwogICAgIHR5cGVkZWYgaW50IEltcG9ydFNwZWNpZmllckxpc3Q7CisgICAgdHlwZWRl
ZiBpbnQgSW1wb3J0QXNzZXJ0aW9uTGlzdDsKICAgICB0eXBlZGVmIGludCBFeHBvcnRTcGVjaWZp
ZXI7CiAgICAgdHlwZWRlZiBpbnQgRXhwb3J0U3BlY2lmaWVyTGlzdDsKICAgICB0eXBlZGVmIGlu
dCBTdGF0ZW1lbnQ7CkBAIC0xNTksNyArMTYwLDcgQEAgY2xhc3MgU3ludGF4Q2hlY2tlciB7CiAg
ICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlTG9naWNhbE5vdChjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBFeHByZXNzaW9uVHlwZSkgeyByZXR1cm4gVW5hcnlFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5
cGUgY3JlYXRlVW5hcnlQbHVzKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBl
KSB7IHJldHVybiBVbmFyeUV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVWb2lkKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlKSB7IHJldHVybiBVbmFyeUV4cHI7
IH0KLSAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVJbXBvcnRFeHByKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBJbXBvcnRFeHBy
OyB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlSW1wb3J0RXhwcihjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsg
cmV0dXJuIEltcG9ydEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVUaGlzRXhwcihj
b25zdCBKU1Rva2VuTG9jYXRpb24mKSB7IHJldHVybiBUaGlzRXhwcjsgfQogICAgIEV4cHJlc3Np
b25UeXBlIGNyZWF0ZVN1cGVyRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mKSB7IHJldHVybiBT
dXBlckV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVOZXdUYXJnZXRFeHByKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYpIHsgcmV0dXJuIE5ld1RhcmdldEV4cHI7IH0KQEAgLTI3OCwxMSAr
Mjc5LDEzIEBAIGNsYXNzIFN5bnRheENoZWNrZXIgewogICAgIEltcG9ydFNwZWNpZmllciBjcmVh
dGVJbXBvcnRTcGVjaWZpZXIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRpZmll
ciYsIGNvbnN0IElkZW50aWZpZXImKSB7IHJldHVybiBJbXBvcnRTcGVjaWZpZXJSZXN1bHQ7IH0K
ICAgICBJbXBvcnRTcGVjaWZpZXJMaXN0IGNyZWF0ZUltcG9ydFNwZWNpZmllckxpc3QoKSB7IHJl
dHVybiBJbXBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0OyB9CiAgICAgdm9pZCBhcHBlbmRJbXBvcnRT
cGVjaWZpZXIoSW1wb3J0U3BlY2lmaWVyTGlzdCwgSW1wb3J0U3BlY2lmaWVyKSB7IH0KLSAgICBp
bnQgY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgSW1wb3J0
U3BlY2lmaWVyTGlzdCwgTW9kdWxlTmFtZSkgeyByZXR1cm4gU3RhdGVtZW50UmVzdWx0OyB9Ci0g
ICAgaW50IGNyZWF0ZUV4cG9ydEFsbERlY2xhcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IE1vZHVsZU5hbWUpIHsgcmV0dXJuIFN0YXRlbWVudFJlc3VsdDsgfQorICAgIEltcG9ydEFzc2Vy
dGlvbkxpc3QgY3JlYXRlSW1wb3J0QXNzZXJ0aW9uTGlzdCgpIHsgcmV0dXJuIEltcG9ydEFzc2Vy
dGlvbkxpc3RSZXN1bHQ7IH0KKyAgICB2b2lkIGFwcGVuZEltcG9ydEFzc2VydGlvbihJbXBvcnRB
c3NlcnRpb25MaXN0LCBjb25zdCBJZGVudGlmaWVyJiwgY29uc3QgSWRlbnRpZmllciYpIHsgfQor
ICAgIGludCBjcmVhdGVJbXBvcnREZWNsYXJhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBJ
bXBvcnRTcGVjaWZpZXJMaXN0LCBNb2R1bGVOYW1lLCBJbXBvcnRBc3NlcnRpb25MaXN0KSB7IHJl
dHVybiBTdGF0ZW1lbnRSZXN1bHQ7IH0KKyAgICBpbnQgY3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRp
b24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgTW9kdWxlTmFtZSwgSW1wb3J0QXNzZXJ0aW9uTGlz
dCkgeyByZXR1cm4gU3RhdGVtZW50UmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUV4cG9ydERlZmF1
bHREZWNsYXJhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGNvbnN0IElkZW50aWZp
ZXImKSB7IHJldHVybiBTdGF0ZW1lbnRSZXN1bHQ7IH0KICAgICBpbnQgY3JlYXRlRXhwb3J0TG9j
YWxEZWNsYXJhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQpIHsgcmV0dXJuIFN0YXRl
bWVudFJlc3VsdDsgfQotICAgIGludCBjcmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cG9ydFNwZWNpZmllckxpc3QsIE1vZHVsZU5hbWUpIHsgcmV0
dXJuIFN0YXRlbWVudFJlc3VsdDsgfQorICAgIGludCBjcmVhdGVFeHBvcnROYW1lZERlY2xhcmF0
aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cG9ydFNwZWNpZmllckxpc3QsIE1vZHVsZU5h
bWUsIEltcG9ydEFzc2VydGlvbkxpc3QpIHsgcmV0dXJuIFN0YXRlbWVudFJlc3VsdDsgfQogICAg
IEV4cG9ydFNwZWNpZmllciBjcmVhdGVFeHBvcnRTcGVjaWZpZXIoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IElkZW50aWZpZXImKSB7IHJldHVybiBFeHBv
cnRTcGVjaWZpZXJSZXN1bHQ7IH0KICAgICBFeHBvcnRTcGVjaWZpZXJMaXN0IGNyZWF0ZUV4cG9y
dFNwZWNpZmllckxpc3QoKSB7IHJldHVybiBFeHBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0OyB9CiAg
ICAgdm9pZCBhcHBlbmRFeHBvcnRTcGVjaWZpZXIoRXhwb3J0U3BlY2lmaWVyTGlzdCwgRXhwb3J0
U3BlY2lmaWVyKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAppbmRleCAyZGM5YzM1YjU5ODg2NmMyMzQy
YzEyYTljZjRjMjczNzA3MGRiNTIyLi5hZDE5Mzc1ZGU0MWYyODU5MzU1MDdmMDQ4YmExNzAzYWNj
NDE1OGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCkBAIC04MjIsNyArODIyLDcgQEAgSlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUsIChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LAogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
IAogICAgIGF1dG8gc291cmNlT3JpZ2luID0gY2FsbEZyYW1lLT5jYWxsZXJTb3VyY2VPcmlnaW4o
dm0pOwotICAgIFJFTEVBU0VfQVNTRVJUKGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpID09IDEp
OworICAgIFJFTEVBU0VfQVNTRVJUKGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpID49IDEpOwog
ICAgIGF1dG8qIHNwZWNpZmllciA9IGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCkudG9T
dHJpbmcoZ2xvYmFsT2JqZWN0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1Zh
bHVlOjplbmNvZGUocHJvbWlzZS0+cmVqZWN0V2l0aENhdWdodEV4Y2VwdGlvbihnbG9iYWxPYmpl
Y3QsIHNjb3BlKSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zTGlzdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xp
c3QuaAppbmRleCBiZjlkOGEzODNmNzM3OWZiMWI5OWNhMjQ4YWE5MjBkYzE1MWY5YWM4Li5jODhh
Zjg1YWQ3NjI3NzM0NDEwNjg1YjhmNGY4ODRmOGM2MzlkODZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKQEAgLTU0MSw2ICs1NDEsNyBAQCBib29sIGNh
blVzZVdlYkFzc2VtYmx5RmFzdE1lbW9yeSgpOwogICAgIHYoQm9vbCwgdXNlQXJyYXlHcm91cEJ5
TWV0aG9kLCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBncm91cEJ5KCkgYW5kIGdyb3VwQnlU
b01hcCgpIG1ldGhvZHMgb24gQXJyYXkuIikgXAogICAgIHYoQm9vbCwgdXNlQXRNZXRob2QsIHRy
dWUsIE5vcm1hbCwgIkV4cG9zZSB0aGUgYXQoKSBtZXRob2Qgb24gQXJyYXksICVUeXBlZEFycmF5
JSwgYW5kIFN0cmluZy4iKSBcCiAgICAgdihCb29sLCB1c2VIYXNPd24sIHRydWUsIE5vcm1hbCwg
IkV4cG9zZSB0aGUgT2JqZWN0Lmhhc093biBtZXRob2QiKSBcCisgICAgdihCb29sLCB1c2VJbXBv
cnRBc3NlcnRpb24sIGZhbHNlLCBOb3JtYWwsICJFbmFibGUgaW1wb3J0IGFzc2VydGlvbi4iKSBc
CiAgICAgdihCb29sLCB1c2VJbnRsRW51bWVyYXRpb24sIHRydWUsIE5vcm1hbCwgIkV4cG9zZSB0
aGUgSW50bCBlbnVtZXJhdGlvbiBBUElzLiIpIFwKICAgICB2KEJvb2wsIHVzZVNoYXJlZEFycmF5
QnVmZmVyLCBmYWxzZSwgTm9ybWFsLCBudWxscHRyKSBcCiAgICAgLyogRklYTUU6IFNoYWRvd25S
ZWFsbSBjYW4gYmUgZW5hYmxlZCBvbmNlIFdlYkNvcmUncyBKU0dsb2JhbE9iamVjdCA9PSBKU0RP
TUdsb2JhbE9iamVjdCBhc3N1bXB0aW9uIGlzIHJlbW92ZWQsICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTA2ICovXApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggY2NmN2I2OTVjYjZkYTVjNzBiMWM5NzVjMTM5YmUyN2FiMzFjZWY3Yy4uMzNhOTc4
OTljMjRlN2U5ODJlYjk4NTBhMTNiMWRhZjZhZmFjM2U3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjItMDEtMTkgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBTdXBwb3J0IGltcG9ydCBhc3NlcnRp
b24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzUzMTIKKworICAgICAgICBSZXZpZXdlZCBieSBSb3NzIEtpcnNsaW5nLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3Jp
cHQtZWxlbWVudC9jc3MtbW9kdWxlL2Nzcy1tb2R1bGUtd29ya2VyLXRlc3QtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvY3NzLW1vZHVsZS9pbXBvcnQtY3NzLW1vZHVsZS1keW5hbWlj
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2ltcG9ydC1hc3NlcnRpb25zL2R5bmFt
aWMtaW1wb3J0LXdpdGgtYXNzZXJ0aW9uLWFyZ3VtZW50LmFueS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9pbXBvcnQtYXNzZXJ0aW9ucy9keW5hbWljLWltcG9ydC13aXRoLWFzc2Vy
dGlvbi1hcmd1bWVudC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L2pzb24tbW9kdWxlL2NoYXJzZXQtYm9tLmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9qc29uLW1vZHVsZS9jaGFyc2V0LWJvbS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhl
LXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2ludmFsaWQtY29udGVudC10eXBlLmFueS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9pbnZhbGlkLWNvbnRlbnQt
dHlwZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9k
dWxlL2pzb24tbW9kdWxlLXNlcnZpY2Utd29ya2VyLXRlc3QuaHR0cHMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC5hbnktZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmct
MS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL3JlcGVhdGVkLWltcG9y
dHMuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL3JlcGVh
dGVkLWltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9kZWRpY2F0ZWQtd29ya2Vy
LXNlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJv
ci1mYWlsdXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy1jcmVkZW50aWFscy1leHBlY3Rl
ZC50eHQ6CisKIDIwMjItMDEtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBBbGlnbiBvdXIgcXVhbGlmaWVkIG5hbWUgdmFsaWRhdGlvbiB3aXRoIHRoZSBzcGVj
aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9j
c3MtbW9kdWxlL2Nzcy1tb2R1bGUtd29ya2VyLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRp
bmctMS90aGUtc2NyaXB0LWVsZW1lbnQvY3NzLW1vZHVsZS9jc3MtbW9kdWxlLXdvcmtlci10ZXN0
LWV4cGVjdGVkLnR4dAppbmRleCBhMzhjNWMyN2VjYTA4ZTc5ZTA0MDY4NzUwYzY1NjdjMjMyMTkx
Y2ZhLi5mMWEyMzdjNDUwNDY2NTM3MjM0N2MzYTI2MTVkZWU5ZmY3MjNmYWEwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9jc3MtbW9kdWxlL2Nzcy1tb2R1bGUt
d29ya2VyLXRlc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L2Nzcy1tb2R1bGUvY3NzLW1vZHVsZS13b3JrZXItdGVzdC1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw1IEBACiAKLVBBU1MgQSBzdGF0aWMgaW1wb3J0IENTUyBNb2R1bGUgd2l0aGluIGEg
d2ViIHdvcmtlciBzaG91bGQgbm90IGxvYWQuCi1QQVNTIEEgZHluYW1pYyBpbXBvcnQgQ1NTIE1v
ZHVsZSB3aXRoaW4gYSB3ZWIgd29ya2VyIHNob3VsZCBub3QgbG9hZC4KLVBBU1MgQSBDU1MgTW9k
dWxlIHdpdGhpbiBhIHdlYiB3b3JrZXIgc2hvdWxkIG5vdCBsb2FkLgorUEFTUyBBIHN0YXRpYyBp
bXBvcnQgQ1NTIE1vZHVsZSB3aXRoaW4gYSB3ZWIgd29ya2VyIHNob3VsZCBub3QgbG9hZCBhbmQg
c2hvdWxkIG5vdCBhdHRlbXB0IHRvIGZldGNoIHRoZSBtb2R1bGUuCitGQUlMIEEgZHluYW1pYyBp
bXBvcnQgQ1NTIE1vZHVsZSB3aXRoaW4gYSB3ZWIgd29ya2VyIHNob3VsZCBub3QgbG9hZCBhbmQg
c2hvdWxkIG5vdCBhdHRlbXB0IHRvIGZldGNoIHRoZSBtb2R1bGUuIGFzc2VydF9lcXVhbHM6IFNo
b3VsZG4ndCBoYXZlIHRyaWVkIGZldGNoaW5nIENTUyBtb2R1bGUgaW4gd29ya2VyIGV4cGVjdGVk
IDAgYnV0IGdvdCAxCitQQVNTIEFuIGF0dGVtcHQgdG8gbG9hZCBhIENTUyBtb2R1bGUgYXMgYSB3
b3JrZXIgc2hvdWxkIGZhaWwuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlw
dC1lbGVtZW50L2Nzcy1tb2R1bGUvaW1wb3J0LWNzcy1tb2R1bGUtZHluYW1pYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9jc3MtbW9kdWxlL2ltcG9ydC1j
c3MtbW9kdWxlLWR5bmFtaWMtZXhwZWN0ZWQudHh0CmluZGV4IDFlMjAwNTE1OThjYjgwM2IxNzNi
YmJkZDRkOTIzMzFmMjk3YzFjZDcuLjNiYWEwZDU3OTc4NTQ0ZDIwY2NmOGFjYjQ1Yjg1MjhhMzgy
YTYzZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2Nzcy1t
b2R1bGUvaW1wb3J0LWNzcy1tb2R1bGUtZHluYW1pYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3Jp
cHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvY3NzLW1vZHVsZS9pbXBvcnQtY3NzLW1vZHVsZS1k
eW5hbWljLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0
bHkgb25lIGFyZ3VtZW50LgotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5
IG9uZSBhcmd1bWVudC4KIAorRkFJTCBMb2FkIGEgQ1NTIG1vZHVsZSB3aXRoIGR5bmFtaWMgaW1w
b3J0KCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiAndGV4dC9jc3MnIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0
eXBlLiIKK1BBU1MgRW5zdXJlIHRoYXQgbG9hZGluZyBhIENTUyBtb2R1bGUgd2l0aCBkeW1uYW1p
YyBpbXBvcnQoKSBmYWlscyB3aXRob3V0IGEgdHlwZSBhc3NlcnRpb24KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvaW1wb3J0LWFzc2VydGlvbnMvZHluYW1p
Yy1pbXBvcnQtd2l0aC1hc3NlcnRpb24tYXJndW1lbnQuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2ltcG9ydC1hc3NlcnRpb25zL2R5bmFtaWMtaW1w
b3J0LXdpdGgtYXNzZXJ0aW9uLWFyZ3VtZW50LmFueS1leHBlY3RlZC50eHQKaW5kZXggMWUyMDA1
MTU5OGNiODAzYjE3M2JiYmRkNGQ5MjMzMWYyOTdjMWNkNy4uZDQ5ODA4OGYzZTRiYzgwYmU2MDc3
NWEyNTM0NDU5YjI1NDgxMTE5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvaW1wb3J0LWFzc2VydGlvbnMvZHluYW1pYy1pbXBvcnQtd2l0aC1hc3NlcnRpb24t
YXJndW1lbnQuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9pbXBvcnQtYXNzZXJ0aW9ucy9keW5hbWljLWltcG9ydC13aXRoLWFzc2VydGlvbi1h
cmd1bWVudC5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAotQ09OU09MRSBNRVNTQUdF
OiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMg
ZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0g
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgogCitQQVNTIER5bmFtaWMgaW1wb3J0IHdpdGggYW4gZW1wdHkg
YXNzZXJ0IGNsYXVzZSBzaG91bGQgc3VjY2VlZAorUEFTUyBEeW5hbWljIGltcG9ydCB3aXRoIGFu
IHVuc3VwcG9ydGVkIGltcG9ydCBhc3NlcnRpb24gc2hvdWxkIHN1Y2NlZWQKK0ZBSUwgRHluYW1p
YyBpbXBvcnQgd2l0aCBhbiB1bnN1cHBvcnRlZCB0eXBlIGFzc2VydGlvbiBzaG91bGQgZmFpbCBh
c3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogRHluYW1pYyBpbXBvcnQgd2l0
aCBhbiB1bnN1cHBvcnRlZCB0eXBlIGFzc2VydGlvbiBzaG91bGQgZmFpbCBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvaW1wb3J0LWFzc2VydGlvbnMvZHluYW1pYy1pbXBvcnQtd2l0aC1hc3NlcnRpb24tYXJndW1l
bnQuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxl
bWVudC9pbXBvcnQtYXNzZXJ0aW9ucy9keW5hbWljLWltcG9ydC13aXRoLWFzc2VydGlvbi1hcmd1
bWVudC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCAxZTIwMDUxNTk4Y2I4MDNiMTczYmJi
ZGQ0ZDkyMzMxZjI5N2MxY2Q3Li5kNDk4MDg4ZjNlNGJjODBiZTYwNzc1YTI1MzQ0NTliMjU0ODEx
MTk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9pbXBvcnQt
YXNzZXJ0aW9ucy9keW5hbWljLWltcG9ydC13aXRoLWFzc2VydGlvbi1hcmd1bWVudC5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9p
bXBvcnQtYXNzZXJ0aW9ucy9keW5hbWljLWltcG9ydC13aXRoLWFzc2VydGlvbi1hcmd1bWVudC5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTog
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFj
dGx5IG9uZSBhcmd1bWVudC4KIAorUEFTUyBEeW5hbWljIGltcG9ydCB3aXRoIGFuIGVtcHR5IGFz
c2VydCBjbGF1c2Ugc2hvdWxkIHN1Y2NlZWQKK1BBU1MgRHluYW1pYyBpbXBvcnQgd2l0aCBhbiB1
bnN1cHBvcnRlZCBpbXBvcnQgYXNzZXJ0aW9uIHNob3VsZCBzdWNjZWVkCitGQUlMIER5bmFtaWMg
aW1wb3J0IHdpdGggYW4gdW5zdXBwb3J0ZWQgdHlwZSBhc3NlcnRpb24gc2hvdWxkIGZhaWwgYXNz
ZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IER5bmFtaWMgaW1wb3J0IHdpdGgg
YW4gdW5zdXBwb3J0ZWQgdHlwZSBhc3NlcnRpb24gc2hvdWxkIGZhaWwgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L2pzb24tbW9kdWxlL2NoYXJzZXQtYm9tLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0x
L3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9jaGFyc2V0LWJvbS5hbnktZXhwZWN0ZWQu
dHh0CmluZGV4IDFlMjAwNTE1OThjYjgwM2IxNzNiYmJkZDRkOTIzMzFmMjk3YzFjZDcuLmQzYzQ4
Yzg2OTYxMjgzZDUwN2M3YzMzOWM4YzQzOTU5YTViNGYwODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0
aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2NoYXJzZXQtYm9tLmFueS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1
bGUvY2hhcnNldC1ib20uYW55LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDkgQEAKLUNPTlNPTEUg
TUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBl
eHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVz
c2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAorRkFJTCBVVEYtOCBCT00gc2hvdWxkIGJlIHN0
cmlwcGVkIHdoZW4gZGVjb2RpbmcgSlNPTiBtb2R1bGUgc2NyaXB0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0
aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgVVRG
LTE2QkUgQk9NIHNob3VsZCByZXN1bHQgaW4gcGFyc2UgZXJyb3IgaW4gSlNPTiBtb2R1bGUgc2Ny
aXB0IHByb21pc2VfcmVqZWN0c19qczogRXhwZWN0ZWQgcGFyc2UgZXJyb3IgZnJvbSBVVEYtMTZC
RSBCT00gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5
cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlN
RSB0eXBlLiIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBpbnN0YW5jZSBvZiBmdW5jdGlvbiAiZnVu
Y3Rpb24gU3ludGF4RXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJTeW50YXhFcnJv
ciIpCitGQUlMIFVURi0xNkxFIEJPTSBzaG91bGQgcmVzdWx0IGluIHBhcnNlIGVycm9yIGluIEpT
T04gbW9kdWxlIHNjcmlwdCBwcm9taXNlX3JlamVjdHNfanM6IEV4cGVjdGVkIHBhcnNlIGVycm9y
IGZyb20gVVRGLTE2TEUgQk9NIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhy
ZXcgb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBK
YXZhU2NyaXB0IE1JTUUgdHlwZS4iICgiVHlwZUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ugb2Yg
ZnVuY3Rpb24gImZ1bmN0aW9uIFN5bnRheEVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30i
ICgiU3ludGF4RXJyb3IiKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9qc29uLW1vZHVsZS9jaGFyc2V0LWJvbS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2NoYXJzZXQtYm9t
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDFlMjAwNTE1OThjYjgwM2IxNzNiYmJkZDRk
OTIzMzFmMjk3YzFjZDcuLmQzYzQ4Yzg2OTYxMjgzZDUwN2M3YzMzOWM4YzQzOTU5YTViNGYwODIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxl
L2NoYXJzZXQtYm9tLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEv
dGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2NoYXJzZXQtYm9tLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDUgKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJn
dW1lbnQuCi0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LgogCitGQUlMIFVURi04IEJPTSBzaG91bGQgYmUgc3RyaXBwZWQgd2hlbiBkZWNvZGluZyBK
U09OIG1vZHVsZSBzY3JpcHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFs
aWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBVVEYtMTZCRSBCT00gc2hvdWxkIHJlc3Vs
dCBpbiBwYXJzZSBlcnJvciBpbiBKU09OIG1vZHVsZSBzY3JpcHQgcHJvbWlzZV9yZWplY3RzX2pz
OiBFeHBlY3RlZCBwYXJzZSBlcnJvciBmcm9tIFVURi0xNkJFIEJPTSBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24v
anNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIiAoIlR5cGVFcnJvciIp
IGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBTeW50YXhFcnJvcigpIHsK
KyAgICBbbmF0aXZlIGNvZGVdCit9IiAoIlN5bnRheEVycm9yIikKK0ZBSUwgVVRGLTE2TEUgQk9N
IHNob3VsZCByZXN1bHQgaW4gcGFyc2UgZXJyb3IgaW4gSlNPTiBtb2R1bGUgc2NyaXB0IHByb21p
c2VfcmVqZWN0c19qczogRXhwZWN0ZWQgcGFyc2UgZXJyb3IgZnJvbSBVVEYtMTZMRSBCT00gZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjog
J2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIg
KCJUeXBlRXJyb3IiKSBleHBlY3RlZCBpbnN0YW5jZSBvZiBmdW5jdGlvbiAiZnVuY3Rpb24gU3lu
dGF4RXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJTeW50YXhFcnJvciIpCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2lu
dmFsaWQtY29udGVudC10eXBlLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1z
Y3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9pbnZhbGlkLWNvbnRlbnQtdHlwZS5hbnktZXhwZWN0
ZWQudHh0CmluZGV4IDFlMjAwNTE1OThjYjgwM2IxNzNiYmJkZDRkOTIzMzFmMjk3YzFjZDcuLjA5
OTU3YjY0MzQ5NzIzMzQxNmU0OTBlN2ViZmMyODA3MTg4MTUzY2YgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2Ny
aXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2ludmFsaWQtY29udGVudC10
eXBlLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1l
bnQvanNvbi1tb2R1bGUvaW52YWxpZC1jb250ZW50LXR5cGUuYW55LWV4cGVjdGVkLnR4dApAQCAt
MSw1ICsxLDggQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgotCi1IYXJu
ZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4KIAorUEFTUyBU
cnkgaW1wb3J0aW5nIEpTT04gbW9kdWxlIHdpdGggTUlNRSB0eXBlIGFwcGxpY2F0aW9uL2pzb24r
cHJvdG9idWYKK1BBU1MgVHJ5IGltcG9ydGluZyBKU09OIG1vZHVsZSB3aXRoIE1JTUUgdHlwZSBh
cHBsaWNhdGlvbi9qc29uK2JsYWgKK1BBU1MgVHJ5IGltcG9ydGluZyBKU09OIG1vZHVsZSB3aXRo
IE1JTUUgdHlwZSB0ZXh0L3gtanNvbgorUEFTUyBUcnkgaW1wb3J0aW5nIEpTT04gbW9kdWxlIHdp
dGggTUlNRSB0eXBlIHRleHQvanNvbitibGFoCitQQVNTIFRyeSBpbXBvcnRpbmcgSlNPTiBtb2R1
bGUgd2l0aCBNSU1FIHR5cGUgYXBwbGljYXRpb24vYmxhaGpzb24KK1BBU1MgVHJ5IGltcG9ydGlu
ZyBKU09OIG1vZHVsZSB3aXRoIE1JTUUgdHlwZSBpbWFnZS9qc29uCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2ludmFsaWQtY29udGVu
dC10eXBlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0
LWVsZW1lbnQvanNvbi1tb2R1bGUvaW52YWxpZC1jb250ZW50LXR5cGUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggMWUyMDA1MTU5OGNiODAzYjE3M2JiYmRkNGQ5MjMzMWYyOTdjMWNkNy4u
MDk5NTdiNjQzNDk3MjMzNDE2ZTQ5MGU3ZWJmYzI4MDcxODgxNTNjZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9z
Y3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvaW52YWxpZC1jb250ZW50
LXR5cGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvaW52YWxpZC1jb250ZW50LXR5cGUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTEsNSArMSw4IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBh
cmd1bWVudC4KLQotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJn
dW1lbnQuCiAKK1BBU1MgVHJ5IGltcG9ydGluZyBKU09OIG1vZHVsZSB3aXRoIE1JTUUgdHlwZSBh
cHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmCitQQVNTIFRyeSBpbXBvcnRpbmcgSlNPTiBtb2R1bGUg
d2l0aCBNSU1FIHR5cGUgYXBwbGljYXRpb24vanNvbitibGFoCitQQVNTIFRyeSBpbXBvcnRpbmcg
SlNPTiBtb2R1bGUgd2l0aCBNSU1FIHR5cGUgdGV4dC94LWpzb24KK1BBU1MgVHJ5IGltcG9ydGlu
ZyBKU09OIG1vZHVsZSB3aXRoIE1JTUUgdHlwZSB0ZXh0L2pzb24rYmxhaAorUEFTUyBUcnkgaW1w
b3J0aW5nIEpTT04gbW9kdWxlIHdpdGggTUlNRSB0eXBlIGFwcGxpY2F0aW9uL2JsYWhqc29uCitQ
QVNTIFRyeSBpbXBvcnRpbmcgSlNPTiBtb2R1bGUgd2l0aCBNSU1FIHR5cGUgaW1hZ2UvanNvbgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVs
ZS9qc29uLW1vZHVsZS1zZXJ2aWNlLXdvcmtlci10ZXN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL2pzb24tbW9kdWxlLXNl
cnZpY2Utd29ya2VyLXRlc3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDE4NTdkODE1ZmFiMWM3
MjYyYzI2N2YwNDdmM2YyOTljMzRjNzZhMGEuLmFjMjNjNzAzMDBiZjcxMTUyNmRlMjBhMWYwMTg5
YzgyNDk2ZDA5NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L2pzb24tbW9kdWxlL2pzb24tbW9kdWxlLXNlcnZpY2Utd29ya2VyLXRlc3QuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxl
L2pzb24tbW9kdWxlLXNlcnZpY2Utd29ya2VyLXRlc3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDUgKzEsNSBAQAogCiBGQUlMIEphdmFzY3JpcHQgaW1wb3J0aW5nIEpTT04gTW9kdWxlIHNob3Vs
ZCBsb2FkIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhIHNlcnZpY2Ugd29ya2VyIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXNzZXJ0Jy4gRXhwZWN0ZWQgYSAnOycg
Zm9sbG93aW5nIGEgdGFyZ2V0ZWQgaW1wb3J0IGRlY2xhcmF0aW9uLiIKIFBBU1MgVHJ5aW5nIHRv
IHJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIgd2l0aCBhIHRvcC1sZXZlbCBKU09OIE1vZHVsZSBz
aG91bGQgZmFpbAotRkFJTCBKU09OIE1vZHVsZSBkeW5hbWljIGltcG9ydCBzaG91bGQgbm90IGxv
YWQgd2l0aGluIHRoZSBjb250ZXh0IG9mIGEgc2VydmljZSB3b3JrZXIgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBv
bmUgYXJndW1lbnQuIgorUEFTUyBKU09OIE1vZHVsZSBkeW5hbWljIGltcG9ydCBzaG91bGQgbm90
IGxvYWQgd2l0aGluIHRoZSBjb250ZXh0IG9mIGEgc2VydmljZSB3b3JrZXIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVj
dC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNv
bi1tb2R1bGUvbm9uLW9iamVjdC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDFlMjAwNTE1OThjYjgw
M2IxNzNiYmJkZDRkOTIzMzFmMjk3YzFjZDcuLjJjYWU1ZjdlMzVhMzJmZWNlYjI2OGYyOTAwMDBl
NGU1NTU2YzY4NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50
L2pzb24tbW9kdWxlL25vbi1vYmplY3QuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGlu
Zy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9ub24tb2JqZWN0LmFueS1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVu
dC4KLQotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQu
CiAKK0ZBSUwgTm9uLW9iamVjdDogbnVsbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBu
b3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IHRydWUg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1F
IHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBmYWxzZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29u
JyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6
IHN0cmluZyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2Ny
aXB0IE1JTUUgdHlwZS4iCitGQUlMIE5vbi1vYmplY3Q6IGFycmF5IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0
aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9i
amVjdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L2pzb24tbW9kdWxlL25vbi1vYmplY3QuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5k
ZXggMWUyMDA1MTU5OGNiODAzYjE3M2JiYmRkNGQ5MjMzMWYyOTdjMWNkNy4uMmNhZTVmN2UzNWEz
MmZlY2ViMjY4ZjI5MDAwMGU0ZTU1NTZjNjg2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvbm9uLW9iamVjdC5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVs
ZS9ub24tb2JqZWN0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNyBAQAotQ09O
U09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBj
YWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCi0KLUhhcm5lc3MgRXJyb3IgKEZBSUwp
LCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LgogCitGQUlMIE5vbi1vYmplY3Q6IG51bGwg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1F
IHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiB0cnVlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24n
IGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgTm9uLW9iamVjdDog
ZmFsc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlw
dCBNSU1FIHR5cGUuIgorRkFJTCBOb24tb2JqZWN0OiBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRp
b24vanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBOb24t
b2JqZWN0OiBhcnJheSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBK
YXZhU2NyaXB0IE1JTUUgdHlwZS4iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNj
cmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL3JlcGVhdGVkLWltcG9ydHMuYW55LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2pzb24tbW9kdWxlL3JlcGVhdGVk
LWltcG9ydHMuYW55LWV4cGVjdGVkLnR4dAppbmRleCAxZTIwMDUxNTk4Y2I4MDNiMTczYmJiZGQ0
ZDkyMzMxZjI5N2MxY2Q3Li4xN2FlY2FjZjdjNTQyNGMxMjIyMGI5MDFjZjU0MmVmNjJlNzZiZjkz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVs
ZS9yZXBlYXRlZC1pbXBvcnRzLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90
aGUtc2NyaXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvcmVwZWF0ZWQtaW1wb3J0cy5hbnktZXhwZWN0
ZWQudHh0CkBAIC0xLDUgKzEsNyBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1l
bnQuCi0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50
LgogCitGQUlMIEltcG9ydGluZyBhIHNwZWNpZmllciB0aGF0IHByZXZpb3VzbHkgZmFpbGVkIGR1
ZSB0byBhbiBpbmNvcnJlY3QgdHlwZSBhc3NlcnRpb24gY2FuIHN1Y2NlZWQgaWYgdGhlIGNvcnJl
Y3QgYXNzZXJ0aW9uIGlzIGxhdGVyIGdpdmVuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlz
IG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlLiIKK0ZBSUwgSW1wb3J0aW5nIGEgc3Bl
Y2lmaWVyIHRoYXQgcHJldmlvdXNseSBzdWNjZWVkZWQgd2l0aCB0aGUgY29ycmVjdCB0eXBlIGFz
c2VydGlvbiBzaG91bGQgZmFpbCBpZiB0aGUgaW5jb3JyZWN0IGFzc2VydGlvbiBpcyBsYXRlciBn
aXZlbiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6ICdhcHBsaWNhdGlvbi9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0
IE1JTUUgdHlwZS4iCitGQUlMIFR3byBtb2R1bGVzIG9mIGRpZmZlcmVudCB0eXBlIHdpdGggdGhl
IHNhbWUgc3BlY2lmaWVyIGNhbiBsb2FkIGlmIHRoZSBzZXJ2ZXIgY2hhbmdlcyBpdHMgcmVzcG9u
c2VzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogJ3RleHQvanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5
cGUuIgorRkFJTCBBbiBpbXBvcnQgc2hvdWxkIGFsd2F5cyBmYWlsIGlmIHRoZSBzYW1lIHNwZWNp
Zmllci90eXBlIGFzc2VydGlvbiBwYWlyIGZhaWxlZCBwcmV2aW91c2x5IGFzc2VydF91bnJlYWNo
ZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiBpbXBvcnQgc2hvdWxkIGFsd2F5cyBmYWlsIGlmIHRo
ZSBzYW1lIHNwZWNpZmllci90eXBlIGFzc2VydGlvbiBwYWlyIGZhaWxlZCBwcmV2aW91c2x5IFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBJZiBhbiBpbXBvcnQgcHJldmlvdXNseSBzdWNj
ZWVkZWQgZm9yIGEgZ2l2ZW4gc3BlY2lmaWVyL3R5cGUgYXNzZXJ0aW9uIHBhaXIsIGZ1dHVyZSB1
c2VzIG9mIHRoYXQgcGFpciBzaG91bGQgeWllbGQgdGhlIHNhbWUgcmVzdWx0IHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogJ3Rl
eHQvanNvbicgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9yZXBlYXRl
ZC1pbXBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2Ny
aXB0LWVsZW1lbnQvanNvbi1tb2R1bGUvcmVwZWF0ZWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dAppbmRleCAxZTIwMDUxNTk4Y2I4MDNiMTczYmJiZGQ0ZDkyMzMxZjI5N2MxY2Q3Li4x
N2FlY2FjZjdjNTQyNGMxMjIyMGI5MDFjZjU0MmVmNjJlNzZiZjkzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3Nj
cmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9qc29uLW1vZHVsZS9yZXBlYXRlZC1pbXBvcnRz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1l
bGVtZW50L2pzb24tbW9kdWxlL3JlcGVhdGVkLWltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKQEAgLTEsNSArMSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC4K
LQotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCiAK
K0ZBSUwgSW1wb3J0aW5nIGEgc3BlY2lmaWVyIHRoYXQgcHJldmlvdXNseSBmYWlsZWQgZHVlIHRv
IGFuIGluY29ycmVjdCB0eXBlIGFzc2VydGlvbiBjYW4gc3VjY2VlZCBpZiB0aGUgY29ycmVjdCBh
c3NlcnRpb24gaXMgbGF0ZXIgZ2l2ZW4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAnYXBwbGljYXRpb24vanNvbicgaXMgbm90
IGEgdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUuIgorRkFJTCBJbXBvcnRpbmcgYSBzcGVjaWZp
ZXIgdGhhdCBwcmV2aW91c2x5IHN1Y2NlZWRlZCB3aXRoIHRoZSBjb3JyZWN0IHR5cGUgYXNzZXJ0
aW9uIHNob3VsZCBmYWlsIGlmIHRoZSBpbmNvcnJlY3QgYXNzZXJ0aW9uIGlzIGxhdGVyIGdpdmVu
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogJ2FwcGxpY2F0aW9uL2pzb24nIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgTUlN
RSB0eXBlLiIKK0ZBSUwgVHdvIG1vZHVsZXMgb2YgZGlmZmVyZW50IHR5cGUgd2l0aCB0aGUgc2Ft
ZSBzcGVjaWZpZXIgY2FuIGxvYWQgaWYgdGhlIHNlcnZlciBjaGFuZ2VzIGl0cyByZXNwb25zZXMg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiAndGV4dC9qc29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4i
CitGQUlMIEFuIGltcG9ydCBzaG91bGQgYWx3YXlzIGZhaWwgaWYgdGhlIHNhbWUgc3BlY2lmaWVy
L3R5cGUgYXNzZXJ0aW9uIHBhaXIgZmFpbGVkIHByZXZpb3VzbHkgYXNzZXJ0X3VucmVhY2hlZDog
U2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IGltcG9ydCBzaG91bGQgYWx3YXlzIGZhaWwgaWYgdGhlIHNh
bWUgc3BlY2lmaWVyL3R5cGUgYXNzZXJ0aW9uIHBhaXIgZmFpbGVkIHByZXZpb3VzbHkgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIElmIGFuIGltcG9ydCBwcmV2aW91c2x5IHN1Y2NlZWRl
ZCBmb3IgYSBnaXZlbiBzcGVjaWZpZXIvdHlwZSBhc3NlcnRpb24gcGFpciwgZnV0dXJlIHVzZXMg
b2YgdGhhdCBwYWlyIHNob3VsZCB5aWVsZCB0aGUgc2FtZSByZXN1bHQgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiAndGV4dC9q
c29uJyBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZS4iCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2RlZGljYXRlZC13b3JrZXItc2VydmljZS13b3JrZXItaW50ZXJj
ZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2RlZGljYXRlZC13
b3JrZXItc2VydmljZS13b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCAyMzRhM2U0MTIxNDVjZjBhMDdjZjEwNDgwMDA0NjkwMTI1OWQyM2NiLi4xNmFhMDBjMTYzNTA4
MDJiOTM1OGQ0YmRlODIzYjVlZTYzNTY4ZTE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9kZWRpY2F0ZWQtd29ya2VyLXNlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZGVkaWNhdGVkLXdvcmtlci1zZXJ2aWNl
LXdvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAog
Ci1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHN0cmluZyBsaXRlcmFsICcuL3NlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi1uZXR3b3JrLXdv
cmtlci5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitIYXJu
ZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmlu
ZyBsaXRlcmFsICcuL3NlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi1uZXR3b3JrLXdvcmtlci5q
cycuIGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMuCiAKIEZBSUwgVG9w
LWxldmVsIG1vZHVsZSBsb2FkaW5nIHNob3VsZCBiZSBpbnRlcmNlcHRlZCBieSBhIHNlcnZpY2Ug
d29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiTE9BREVEX0ZST01fU0VSVklDRV9XT1JL
RVIiIGJ1dCBnb3QgIkxPQURFRF9GUk9NX05FVFdPUksiCiBUSU1FT1VUIFN0YXRpYyBpbXBvcnQg
c2hvdWxkIGJlIGludGVyY2VwdGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuIFRlc3QgdGltZWQgb3V0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvZGVkaWNhdGVkLXdvcmtlci1wYXJzZS1lcnJvci1mYWlsdXJlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9k
ZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CmluZGV4IGUw
MWZhYjcxNWU2NDBmNTU4NDAwMTU3ZDQzNDg1YmRkZWIwODFiMjcuLmYxNjNiM2NkYzlhZTZkYzM4
Y2RkOWJjNzMyMjQxNjcwZjI4OTlmM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVy
cm9yLWZhaWx1cmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kZWRpY2F0ZWQtd29ya2VyLXBhcnNlLWVycm9yLWZh
aWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnOycKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25l
IGFyZ3VtZW50LgorQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tl
biAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMuCiAKIEZBSUwg
Q2xhc3NpYyB3b3JrZXIgY29uc3RydWN0aW9uIGZvciBzY3JpcHQgd2l0aCBzeW50YXggZXJyb3Ig
c2hvdWxkIGRpc3BhdGNoIGFuIGV2ZW50IG5hbWVkIGVycm9yLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gRXZlbnQoKSB7CiAgICAgW25hdGl2ZSBjb2RlXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL21vZHVsZXMvZGVkaWNhdGVkLXdvcmtlci1vcHRpb25zLWNyZWRlbnRpYWxzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9tb2R1bGVzL2RlZGljYXRlZC13b3JrZXItb3B0aW9ucy1jcmVkZW50aWFscy1leHBlY3RlZC50
eHQKaW5kZXggOTFjZjkyNWY5ZTI3M2ZmZWZlNDU2MTQ5ZGNhMDZjYjQ4MWVhYThhMS4uODE2Yzdl
NWNlZmQ1OThhODg2ZTM4MjMxNWI2ZGJjZGUyZGU4Yjc2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL21vZHVsZXMvZGVkaWNh
dGVkLXdvcmtlci1vcHRpb25zLWNyZWRlbnRpYWxzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbW9kdWxlcy9kZWRp
Y2F0ZWQtd29ya2VyLW9wdGlvbnMtY3JlZGVudGlhbHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEs
NiBAQAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0
ZXJhbCAnLi9jcmVkZW50aWFscy5weScuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuCitDT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmlu
ZyBsaXRlcmFsICcuL2NyZWRlbnRpYWxzLnB5Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBvbmUgb3Ig
dHdvIGFyZ3VtZW50cy4KIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAnLi9jcmVkZW50aWFscy5weScuIGltcG9y
dCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuCitIYXJuZXNzIEVycm9yIChGQUlM
KSwgbWVzc2FnZSA9IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICcuL2Ny
ZWRlbnRpYWxzLnB5Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBvbmUgb3IgdHdvIGFyZ3VtZW50cy4K
IAogUEFTUyBUZXN0IGluaXRpYWxpemF0aW9uOiBzZXR0aW5nIHVwIGNyb3NzLW9yaWdpbiBjb29r
aWUKIFBBU1MgbmV3IFdvcmtlcigpIHdpdGggdHlwZT1tb2R1bGUgYW5kIGRlZmF1bHQgY3JlZGVu
dGlhbHMgb3B0aW9uIHNob3VsZCBiZWhhdmUgYXMgY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4gYW5k
IHNlbmQgdGhlIGNyZWRlbnRpYWxzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pT
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI5MzFkMTFjZWE4MmZjMjljZTg2NmYyYjE4NTY5YTc2OGVh
OTZiNGIuLjgzNTc3MTUyN2M2ZDkxMDM3MjVmYmJjNTkwMDhiMTAzMWVkNjMyNjYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMjItMDEtMTkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbSlNDXSBTdXBwb3J0IGltcG9ydCBhc3NlcnRpb24gc3ludGF4CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUzMTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBSb3NzIEtpcnNsaW5nLgorCisgICAgICAgICogbW9kdWxlcy9pbXBvcnQtbWV0
YS1zeW50YXguanM6CisgICAgICAgIChzaG91bGRUaHJvdyk6CisgICAgICAgICogc3RyZXNzL2lt
cG9ydC1zeW50YXguanM6CisgICAgICAgICogc3RyZXNzL21vZHVsZXMtc3ludGF4LWVycm9yLmpz
OgorICAgICAgICAqIHN0cmVzcy9tb2R1bGVzLXN5bnRheC1pbXBvcnQtYXNzZXJ0aW9uLWVycm9y
LmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKiBzdHJlc3MvbW9k
dWxlcy1zeW50YXgtaW1wb3J0LWFzc2VydGlvbi5qczogQWRkZWQuCisKIDIwMjItMDEtMTkgIFl1
c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJbXBsZW1l
bnQgVGVtcG9yYWwuTm93Lmluc3RhbnQoKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9tb2R1bGVzL2lt
cG9ydC1tZXRhLXN5bnRheC5qcyBiL0pTVGVzdHMvbW9kdWxlcy9pbXBvcnQtbWV0YS1zeW50YXgu
anMKaW5kZXggNTlhMmIzNjM0NjBhNjAzNWM3YTEwNWYwOGMyMzZmOWY0YTk0MzUxYS4uYzMyYjc4
MmMwNzBmZTRkYzZkY2Y2NmQ0MmNiMjdlNzkyODBiYTdmZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9t
b2R1bGVzL2ltcG9ydC1tZXRhLXN5bnRheC5qcworKysgYi9KU1Rlc3RzL21vZHVsZXMvaW1wb3J0
LW1ldGEtc3ludGF4LmpzCkBAIC0xNCw3ICsxNCw3IEBACiAKIHNob3VsZFRocm93KCgpID0+IHsK
ICAgICBjaGVja01vZHVsZVN5bnRheChgKGltcG9ydFsiQ29jb2EiXSlgKTsKLX0sIGBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnWycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBv
bmUgYXJndW1lbnQuOjFgKTsKK30sIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnWycu
IGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMuOjFgKTsKIAogc2hvdWxk
VGhyb3coKCkgPT4gewogICAgIGNoZWNrTW9kdWxlU3ludGF4KGBpbXBvcnQuY29jb2FgKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2ltcG9ydC1zeW50YXguanMgYi9KU1Rlc3RzL3N0cmVz
cy9pbXBvcnQtc3ludGF4LmpzCmluZGV4IDk0ZTA4NTBmN2IyODkyYTg2MWFkNWQwZjQ1MGZmNDRm
OTE3MjRkMjEuLjI4ZmRiMmZjZjcxODAyNGJlYzE0ZDY5YWE1OTc2MGY0ODRjMjc0ZDAgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvc3RyZXNzL2ltcG9ydC1zeW50YXguanMKKysrIGIvSlNUZXN0cy9zdHJl
c3MvaW1wb3J0LXN5bnRheC5qcwpAQCAtMjcsMjcgKzI3LDI2IEBAIGFzeW5jIGZ1bmN0aW9uIHRl
c3RTeW50YXgoc2NyaXB0LCBtZXNzYWdlKSB7CiAgICAgfQogfQogCi10ZXN0U3ludGF4RXJyb3Io
YGltcG9ydClgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyknLiBpbXBvcnQgY2Fs
bCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwordGVzdFN5bnRheEVycm9yKGBpbXBv
cnQpYCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJy4gaW1wb3J0IGNhbGwgZXhw
ZWN0cyBvbmUgb3IgdHdvIGFyZ3VtZW50cy5gKTsKIHRlc3RTeW50YXhFcnJvcihgbmV3IGltcG9y
dChgLCBgU3ludGF4RXJyb3I6IENhbm5vdCB1c2UgbmV3IHdpdGggaW1wb3J0LmApOwogdGVzdFN5
bnRheEVycm9yKGBpbXBvcnQuaGVsbG8oKWAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVu
dGlmaWVyICdoZWxsbycuICJpbXBvcnQuIiBjYW4gb25seSBiZSBmb2xsb3dlZCB3aXRoIG1ldGEu
YCk7Ci10ZXN0U3ludGF4RXJyb3IoYGltcG9ydFtgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJ1snLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwot
dGVzdFN5bnRheEVycm9yKGBpbXBvcnQ8YCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICc8Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC5gKTsKK3Rlc3RT
eW50YXhFcnJvcihgaW1wb3J0W2AsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnWycu
IGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMuYCk7Cit0ZXN0U3ludGF4
RXJyb3IoYGltcG9ydDxgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzwnLiBpbXBv
cnQgY2FsbCBleHBlY3RzIG9uZSBvciB0d28gYXJndW1lbnRzLmApOwogCiB0ZXN0U3ludGF4RXJy
b3IoYGltcG9ydCgpYCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJ2ApOwotdGVz
dFN5bnRheEVycm9yKGBpbXBvcnQoYSwgYilgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwotdGVz
dFN5bnRheEVycm9yKGBpbXBvcnQoYSwgYiwgYylgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJywnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwor
dGVzdFN5bnRheEVycm9yKGBpbXBvcnQoYSwgYiwgYylgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgaWRlbnRpZmllciAnYycuIGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVu
dHMuYCk7CiB0ZXN0U3ludGF4RXJyb3IoYGltcG9ydCguLi5hKWAsIGBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCB0b2tlbiAnLi4uJ2ApOwogdGVzdFN5bnRheEVycm9yKGBpbXBvcnQoLGEpYCwgYFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcsJ2ApOwogdGVzdFN5bnRheEVycm9yKGBpbXBv
cnQoLClgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnYCk7Ci10ZXN0U3ludGF4
RXJyb3IoYGltcG9ydCgiSGVsbG8iO2AsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
OycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuYCk7Ci10ZXN0U3lu
dGF4RXJyb3IoYGltcG9ydCgiSGVsbG8iXTtgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJ10nLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwotdGVz
dFN5bnRheEVycm9yKGBpbXBvcnQoIkhlbGxvIiw7YCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICcsJy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC5gKTsK
LXRlc3RTeW50YXhFcnJvcihgaW1wb3J0KCJIZWxsbyIsICJIZWxsbzIiO2AsIGBTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuYCk7Cit0ZXN0U3ludGF4RXJyb3IoYGltcG9ydCgiSGVsbG8iO2AsIGBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnOycuIGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3
byBhcmd1bWVudHMuYCk7Cit0ZXN0U3ludGF4RXJyb3IoYGltcG9ydCgiSGVsbG8iXTtgLCBgU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJ10nLiBpbXBvcnQgY2FsbCBleHBlY3RzIG9uZSBv
ciB0d28gYXJndW1lbnRzLmApOwordGVzdFN5bnRheEVycm9yKGBpbXBvcnQoIkhlbGxvIiw7YCwg
YFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7J2ApOwordGVzdFN5bnRheEVycm9yKGBp
bXBvcnQoIkhlbGxvIiwgIkhlbGxvMiI7YCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICc7Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBvbmUgb3IgdHdvIGFyZ3VtZW50cy5gKTsKIAogCi10
ZXN0U3ludGF4RXJyb3IoYGltcG9ydCA9IDQyYCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICc9Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudC5gKTsKLXRl
c3RTeW50YXhFcnJvcihgW2ltcG9ydF0gPSA0MmAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnXScuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuYCk7Ci10
ZXN0U3ludGF4RXJyb3IoYHtpbXBvcnR9ID0gNDJgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJ30nLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50LmApOwor
dGVzdFN5bnRheEVycm9yKGBpbXBvcnQgPSA0MmAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnPScuIGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMuYCk7Cit0
ZXN0U3ludGF4RXJyb3IoYFtpbXBvcnRdID0gNDJgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJ10nLiBpbXBvcnQgY2FsbCBleHBlY3RzIG9uZSBvciB0d28gYXJndW1lbnRzLmApOwor
dGVzdFN5bnRheEVycm9yKGB7aW1wb3J0fSA9IDQyYCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICd9Jy4gaW1wb3J0IGNhbGwgZXhwZWN0cyBvbmUgb3IgdHdvIGFyZ3VtZW50cy5gKTsK
IHRlc3RTeW50YXhFcnJvcihgbGV0IGltcG9ydCA9IDQyYCwgYFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIGtleXdvcmQgJ2ltcG9ydCdgKTsKIHRlc3RTeW50YXhFcnJvcihgdmFyIGltcG9ydCA9IDQy
YCwgYFN5bnRheEVycm9yOiBDYW5ub3QgdXNlIHRoZSBrZXl3b3JkICdpbXBvcnQnIGFzIGEgdmFy
aWFibGUgbmFtZS5gKTsKIHRlc3RTeW50YXhFcnJvcihgY29uc3QgaW1wb3J0ID0gNDJgLCBgU3lu
dGF4RXJyb3I6IENhbm5vdCB1c2UgdGhlIGtleXdvcmQgJ2ltcG9ydCcgYXMgYSBsZXhpY2FsIHZh
cmlhYmxlIG5hbWUuYCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9tb2R1bGVzLXN5bnRh
eC1lcnJvci5qcyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3ludGF4LWVycm9yLmpzCmluZGV4
IDhhYzRmYzkzOTI4NmU1ODljNGY2YzZiYzJiN2YwZDQzMWM5YmZlZTUuLjcwMTY1MGRmNWQzYTgy
MmY2MmZhYmRkZDYwYTQzZTdiOWU5NjE3MDQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3RyZXNzL21v
ZHVsZXMtc3ludGF4LWVycm9yLmpzCisrKyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3ludGF4
LWVycm9yLmpzCkBAIC0xMDcsMjUgKzEwNywyNSBAQCBmdW5jdGlvbiBjaGVja01vZHVsZVN5bnRh
eEVycm9yKHNvdXJjZSwgZXJyb3JNZXNzYWdlKSB7CiBmdW5jdGlvbiBub1RvcExldmVsKCkgewog
ICAgIGltcG9ydCAqIGFzIGZyb20gZnJvbSAiQ29jb2EiCiB9Ci1gLCBgU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3Vt
ZW50LjozYCk7CitgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQg
Y2FsbCBleHBlY3RzIG9uZSBvciB0d28gYXJndW1lbnRzLjozYCk7CiAKIGNoZWNrTW9kdWxlU3lu
dGF4RXJyb3IoU3RyaW5nLnJhd2AKIGlmIChub1RvcExldmVsKSB7CiAgICAgaW1wb3J0ICogYXMg
ZnJvbSBmcm9tICJDb2NvYSIKIH0KLWAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
KicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuOjNgKTsKK2AsIGBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgb25l
IG9yIHR3byBhcmd1bWVudHMuOjNgKTsKIAogY2hlY2tNb2R1bGVTeW50YXhFcnJvcihTdHJpbmcu
cmF3YAogewogICAgIGltcG9ydCAqIGFzIGZyb20gZnJvbSAiQ29jb2EiCiB9Ci1gLCBgU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyonLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkg
b25lIGFyZ3VtZW50LjozYCk7CitgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyon
LiBpbXBvcnQgY2FsbCBleHBlY3RzIG9uZSBvciB0d28gYXJndW1lbnRzLjozYCk7CiAKIGNoZWNr
TW9kdWxlU3ludGF4RXJyb3IoU3RyaW5nLnJhd2AKIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CiAgICAgaW1wb3J0ICogYXMgZnJvbSBmcm9tICJDb2NvYSIKIH0KLWAsIGBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBv
bmUgYXJndW1lbnQuOjNgKTsKK2AsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicu
IGltcG9ydCBjYWxsIGV4cGVjdHMgb25lIG9yIHR3byBhcmd1bWVudHMuOjNgKTsKIAogY2hlY2tN
b2R1bGVTeW50YXhFcnJvcihTdHJpbmcucmF3YAogaW1wb3J0IGZvciBmcm9tICJDb2NvYSI7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9tb2R1bGVzLXN5bnRheC1pbXBvcnQtYXNzZXJ0aW9u
LWVycm9yLmpzIGIvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgtaW1wb3J0LWFzc2VydGlv
bi1lcnJvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzVlZDRhODQ4OGVjYmIxM2QyYWYxYTI4NzViY2Y1OGNi
OGY4OTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgt
aW1wb3J0LWFzc2VydGlvbi1lcnJvci5qcwpAQCAtMCwwICsxLDYyIEBACisvL0ByZXF1aXJlT3B0
aW9ucygiLS11c2VJbXBvcnRBc3NlcnRpb249dHJ1ZSIpCisKK2Z1bmN0aW9uIHNob3VsZFRocm93
KGZ1bmMsIGVycm9yTWVzc2FnZSkgeworICAgIHZhciBlcnJvclRocm93biA9IGZhbHNlOworICAg
IHZhciBlcnJvciA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgZnVuYygpOworICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgZXJyb3JUaHJvd24gPSB0cnVlOworICAgICAgICBlcnJvciA9IGU7
CisgICAgfQorICAgIGlmICghZXJyb3JUaHJvd24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcign
bm90IHRocm93bicpOworICAgIGlmIChlcnJvck1lc3NhZ2UpIHsKKyAgICAgICAgaWYgKFN0cmlu
ZyhlcnJvcikgIT09IGVycm9yTWVzc2FnZSkKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihg
YmFkIGVycm9yOiAke1N0cmluZyhlcnJvcil9YCk7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVj
a01vZHVsZVN5bnRheEVycm9yKHNvdXJjZSwgZXJyb3JNZXNzYWdlKSB7CisgICAgc2hvdWxkVGhy
b3coKCkgPT4gY2hlY2tNb2R1bGVTeW50YXgoc291cmNlKSwgZXJyb3JNZXNzYWdlKTsKK30KKwor
dmFyIGxpc3QgPSBbCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgdiBmcm9tICJtb2QiYCwKKyAgICBT
dHJpbmcucmF3YGltcG9ydCAqIGFzIG5zIGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1w
b3J0IHt4fSBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCB7eCx9IGZyb20gIm1v
ZCJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IHt9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5y
YXdgaW1wb3J0IHt4IGFzIHZ9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHt4
fSBmcm9tICJtb2QiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7diBhcyB4fSBmcm9tICJtb2Qi
YCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCAqIGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdg
ZXhwb3J0ICogYXMgYiBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0ICogYXMg
ZGVsZXRlIGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgYSwgeyBiIGFzIGMg
fSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IGQsIHsgZSwgZiwgZyBhcyBo
IH0gZnJvbSAiQ2FwcHVjY2lubyJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IHsgfSBmcm9tICJD
YXBwdWNjaW5vImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgaSwgKiBhcyBqIGZyb20gIkNhcHB1
Y2Npbm8iYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCBhLCB7IH0gZnJvbSAiQ2FwcHVjY2lubyJg
LAorICAgIFN0cmluZy5yYXdgaW1wb3J0IGEsIHsgYiwgfSBmcm9tICJDYXBwdWNjaW5vImAsCisg
ICAgU3RyaW5nLnJhd2BpbXBvcnQgKiBhcyBmcm9tIGZyb20gIk1hdGNoYSJgLAorICAgIFN0cmlu
Zy5yYXdgaW1wb3J0ICogYXMgYXMgZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGltcG9y
dCB7IGRlZmF1bHQgYXMgbW9kdWxlIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4
cG9ydCAqIGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQgeyB9IGZyb20gIkNv
Y29hImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQgeyBhIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBT
dHJpbmcucmF3YGV4cG9ydCB7IGEgYXMgYiB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJh
d2BleHBvcnQgeyBhLCBiIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7
IGRlZmF1bHQgfSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgZW51bSB9
IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQgeyBkZWZhdWx0IGFzIGRlZmF1
bHQgfSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgZW51bSBhcyBlbnVt
IH0gZnJvbSAiQ29jb2EiYCwKK107CisKK2ZvciAobGV0IGVudHJ5IG9mIGxpc3QpIHsKKyAgICBj
aGVja01vZHVsZVN5bnRheEVycm9yKGVudHJ5ICsgYCBhc3NlcnQgeyAsIH1gKTsKKyAgICBjaGVj
a01vZHVsZVN5bnRheEVycm9yKGVudHJ5ICsgYCBhc3NlcnQgeyB0eXBlOiBqc29uIH1gKTsKKyAg
ICBjaGVja01vZHVsZVN5bnRheEVycm9yKGVudHJ5ICsgYCBhc3NlcnQgeyB0eXBlLCB9YCk7Cisg
ICAgY2hlY2tNb2R1bGVTeW50YXhFcnJvcihlbnRyeSArIGAgYXNzZXJ0IHsgdHlwZTogImpzb24i
LCwgfWApOworICAgIGNoZWNrTW9kdWxlU3ludGF4RXJyb3IoZW50cnkgKyBgIGFzc2VydCB7IGAp
OworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgtaW1wb3J0LWFz
c2VydGlvbi5qcyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3ludGF4LWltcG9ydC1hc3NlcnRp
b24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzA1Zjk4N2EzNmRkODBkYWQwODhjZTg0YjRjNDExM2Q2YWRmZTNi
NAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3ludGF4LWltcG9y
dC1hc3NlcnRpb24uanMKQEAgLTAsMCArMSw0MSBAQAorLy9AcmVxdWlyZU9wdGlvbnMoIi0tdXNl
SW1wb3J0QXNzZXJ0aW9uPXRydWUiKQorCit2YXIgbGlzdCA9IFsKKyAgICBTdHJpbmcucmF3YGlt
cG9ydCB2IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0ICogYXMgbnMgZnJvbSAi
bW9kImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQge3h9IGZyb20gIm1vZCJgLAorICAgIFN0cmlu
Zy5yYXdgaW1wb3J0IHt4LH0gZnJvbSAibW9kImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQge30g
ZnJvbSAibW9kImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQge3ggYXMgdn0gZnJvbSAibW9kImAs
CisgICAgU3RyaW5nLnJhd2BleHBvcnQge3h9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdg
ZXhwb3J0IHt2IGFzIHh9IGZyb20gIm1vZCJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0ICogZnJv
bSAibW9kImAsCisgICAgU3RyaW5nLnJhd2BleHBvcnQgKiBhcyBiIGZyb20gIkNvY29hImAsCisg
ICAgU3RyaW5nLnJhd2BleHBvcnQgKiBhcyBkZWxldGUgZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJp
bmcucmF3YGltcG9ydCBhLCB7IGIgYXMgYyB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5nLnJh
d2BpbXBvcnQgZCwgeyBlLCBmLCBnIGFzIGggfSBmcm9tICJDYXBwdWNjaW5vImAsCisgICAgU3Ry
aW5nLnJhd2BpbXBvcnQgeyB9IGZyb20gIkNhcHB1Y2Npbm8iYCwKKyAgICBTdHJpbmcucmF3YGlt
cG9ydCBpLCAqIGFzIGogZnJvbSAiQ2FwcHVjY2lubyJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0
IGEsIHsgfSBmcm9tICJDYXBwdWNjaW5vImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgYSwgeyBi
LCB9IGZyb20gIkNhcHB1Y2Npbm8iYCwKKyAgICBTdHJpbmcucmF3YGltcG9ydCAqIGFzIGZyb20g
ZnJvbSAiTWF0Y2hhImAsCisgICAgU3RyaW5nLnJhd2BpbXBvcnQgKiBhcyBhcyBmcm9tICJDb2Nv
YSJgLAorICAgIFN0cmluZy5yYXdgaW1wb3J0IHsgZGVmYXVsdCBhcyBtb2R1bGUgfSBmcm9tICJD
b2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0ICogZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJp
bmcucmF3YGV4cG9ydCB7IH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7
IGEgfSBmcm9tICJDb2NvYSJgLAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgYSBhcyBiIH0gZnJv
bSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3YGV4cG9ydCB7IGEsIGIgfSBmcm9tICJDb2NvYSJg
LAorICAgIFN0cmluZy5yYXdgZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gIkNvY29hImAsCisgICAg
U3RyaW5nLnJhd2BleHBvcnQgeyBlbnVtIH0gZnJvbSAiQ29jb2EiYCwKKyAgICBTdHJpbmcucmF3
YGV4cG9ydCB7IGRlZmF1bHQgYXMgZGVmYXVsdCB9IGZyb20gIkNvY29hImAsCisgICAgU3RyaW5n
LnJhd2BleHBvcnQgeyBlbnVtIGFzIGVudW0gfSBmcm9tICJDb2NvYSJgLAorXTsKKworZm9yIChs
ZXQgZW50cnkgb2YgbGlzdCkgeworICAgIGNoZWNrTW9kdWxlU3ludGF4KGVudHJ5ICsgYCBhc3Nl
cnQgeyB9YCk7CisgICAgY2hlY2tNb2R1bGVTeW50YXgoZW50cnkgKyBgIGFzc2VydCB7IHR5cGU6
ICJqc29uIiB9YCk7CisgICAgY2hlY2tNb2R1bGVTeW50YXgoZW50cnkgKyBgIGFzc2VydCB7ICJ0
eXBlIjogImpzb24iIH1gKTsKKyAgICBjaGVja01vZHVsZVN5bnRheChlbnRyeSArIGAgYXNzZXJ0
IHsgInR5cGUiOiAianNvbiIsIH1gKTsKKyAgICBjaGVja01vZHVsZVN5bnRheChlbnRyeSArIGAg
YXNzZXJ0IHsgdHlwZTogImpzb24iLCBoZWxsbzogIndvcmxkIiB9YCk7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>