<?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>214105</bug_id>
          
          <creation_ts>2020-07-08 16:19:16 -0700</creation_ts>
          <short_desc>Resync web-platform-tests/xhr from upstream</short_desc>
          <delta_ts>2020-07-16 09:07:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>
          
          <blocked>213927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1669924</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-08 16:19:16 -0700</bug_when>
    <thetext>Resync web-platform-tests/xhr from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669931</commentid>
    <comment_count>1</comment_count>
      <attachid>403819</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-08 16:37:54 -0700</bug_when>
    <thetext>Created attachment 403819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669936</commentid>
    <comment_count>2</comment_count>
      <attachid>403819</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-08 16:43:47 -0700</bug_when>
    <thetext>Comment on attachment 403819
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669983</commentid>
    <comment_count>3</comment_count>
      <attachid>403832</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-08 18:33:01 -0700</bug_when>
    <thetext>Created attachment 403832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669990</commentid>
    <comment_count>4</comment_count>
      <attachid>403835</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-08 19:27:14 -0700</bug_when>
    <thetext>Created attachment 403835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670116</commentid>
    <comment_count>5</comment_count>
      <attachid>403869</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-09 08:44:52 -0700</bug_when>
    <thetext>Created attachment 403869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670128</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-09 09:07:34 -0700</bug_when>
    <thetext>Committed r264174: &lt;https://trac.webkit.org/changeset/264174&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403869.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670129</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-09 09:08:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/65274111&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403819</attachid>
            <date>2020-07-08 16:37:54 -0700</date>
            <delta_ts>2020-07-08 18:32:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214105-20200708163754.patch</filename>
            <type>text/plain</type>
            <size>168498</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTM5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGRiNGY0OTNkNzBkYTdjZmQ3NGZm
NDFkYjk3NDhlOGI2OGM4NzhjOS4uZTljMjRmYjI4MTQxMjAzNGRlODk2MWM1ODhjODhhM2Y4ODQ2
Y2JhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA3LTA4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy94aHIg
ZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0MTA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHkt
bm9uZS1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDctMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhZGQgaU9TLXNwZWNpZmljIGJhc2VsaW5l
IGZvciBXUFQgdGVzdCBhZnRlciByZXN5bmMgaW4gcjI2NDExNy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDRmNjZlNzY0MzM4MzYxM2RjYTk0MzZkYTM0MGMxYjZkMDAyYzhmNDMu
LjZlZTExOTdlMWIyNzlmZGEyOWE5Njg3NWI4MWZmNjE4OTU0MzZlZjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA3LTA4ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0
cy94aHIgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0MTA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy94aHIgZnJvbSB1cHN0cmVhbSBj
ZWY5M2I1OGU3Y2YzMWYxZDQ3Y2MuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhy
Lyo6IFVwZGF0ZWQuCisKIDIwMjAtMDctMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXN5bmMgYWxsIHJlbWFpbmluZyB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bCB0ZXN0cyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBlbmQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL0Zvcm1EYXRhLWFwcGVuZC5o
dG1sCmluZGV4IGExMDI0NGZhMjNkNDc1YTZmYzRjYjZmZTJiMTVmODY5YzMwODEyMTguLmM2NGI5
M2NiYzdlZjgyYzM2YWJjZWQ0Y2MxZDVjMWNmNjBmMWIyZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL0Zvcm1EYXRhLWFwcGVuZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L0Zvcm1EYXRhLWFwcGVuZC5odG1sCkBAIC04MSwxMSArODEsMTEgQEAKICAgICB9LCAndGVzdEZv
cm1EYXRhQXBwZW5kVG9Gb3JtTnVsbDInKTsKICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAg
ICB2YXIgZmQgPSBuZXcgRm9ybURhdGEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0iKSk7
Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7ZmQuYXBwZW5k
KCduYW1lJywgInN0cmluZyIsICdmaWxlbmFtZScpfSk7CisgICAgICAgIGFzc2VydF90aHJvd3Nf
anMoVHlwZUVycm9yLCAoKSA9PiB7ZmQuYXBwZW5kKCduYW1lJywgInN0cmluZyIsICdmaWxlbmFt
ZScpfSk7CiAgICAgfSwgJ3Rlc3RGb3JtRGF0YUFwcGVuZFRvRm9ybVN0cmluZycpOwogICAgIHRl
c3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBmZCA9IG5ldyBGb3JtRGF0YShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZm9ybSIpKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksICgpID0+IHtmZC5hcHBlbmQoJ25hbWUnLCBuZXcgVVJMU2VhcmNoUGFyYW1zKCksICdm
aWxlbmFtZScpfSk7CisgICAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7
ZmQuYXBwZW5kKCduYW1lJywgbmV3IFVSTFNlYXJjaFBhcmFtcygpLCAnZmlsZW5hbWUnKX0pOwog
ICAgIH0sICd0ZXN0Rm9ybURhdGFBcHBlbmRUb0Zvcm1Xcm9uZ1BsYXRmb3JtT2JqZWN0Jyk7CiAg
ICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGJlZm9yZSA9IG5ldyBEYXRlKG5ldyBE
YXRlKCkuZ2V0VGltZSgpIC0gMjAwMCk7IC8vIHR3byBzZWNvbmRzIGFnbywgaW4gY2FzZSB0aGVy
ZSdzIGNsb2NrIGRyaWZ0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9YTUxIdHRwUmVxdWVzdC13aXRoQ3JlZGVudGlhbHMuYW55Lmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvWE1MSHR0
cFJlcXVlc3Qtd2l0aENyZWRlbnRpYWxzLmFueS5qcwppbmRleCA5NmU5NWM5MGZhZjA2NDVkZmFk
MDljMjRhODBlZDRiOGNkNWE0ODgwLi4yN2ZmYTcwZDViOWVjYjRjYjE0ZjFlMDk3MzQ3ZTYxZTM0
MzBhZGJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9YTUxIdHRwUmVxdWVzdC13aXRoQ3JlZGVudGlhbHMuYW55LmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL1hNTEh0dHBSZXF1
ZXN0LXdpdGhDcmVkZW50aWFscy5hbnkuanMKQEAgLTIzLDkgKzIzLDkgQEAgYXN5bmNfdGVzdChm
dW5jdGlvbigpIHsKICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgIGNsaWVu
dC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2RlbGF5LnB5P21zPTEwMDAiKQogICBjbGllbnQuc2Vu
ZCgpCi0gIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNs
aWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlIH0pCisgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZh
bGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQud2l0aENyZWRlbnRpYWxzID0gdHJ1
ZSB9KQogICBjbGllbnQub25yZWFkeXN0YXRlY2hhbmdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rp
b24oKSB7Ci0gICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigp
IHsgY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUgfSkKKyAgICBhc3NlcnRfdGhyb3dzX2Rv
bSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LndpdGhDcmVkZW50aWFs
cyA9IHRydWUgfSkKICAgICBpZiAoY2xpZW50LnJlYWR5U3RhdGUgPT09IDQpIHsKICAgICAgIHRo
aXMuZG9uZSgpCiAgICAgfQpAQCAtMzYsNSArMzYsNSBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICB2
YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgY2xpZW50Lm9wZW4oIkdFVCIsICJy
ZXNvdXJjZXMvZGVsYXkucHk/bXM9MTAwMCIsIGZhbHNlKQogICBjbGllbnQuc2VuZCgpOwotICBh
c3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQud2l0
aENyZWRlbnRpYWxzID0gdHJ1ZSB9KQorICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRl
RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUgfSkKIH0s
ICJzZXR0aW5nIHdpdGhDcmVkZW50aWFscyB3aGVuIGluIERPTkUgc3RhdGUgKHN5bmNocm9ub3Vz
KSIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1kZW5pZWQuaHRtIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZGVu
aWVkLmh0bQppbmRleCA1MzU3NjJkMGVkYWZlMWQ1ODUxMGY0M2YxMjk2ZDFkOTY2MmM4YjI0Li45
NzBlMDlkMGY1N2NmZjk3MWJiNDQ2MmJkNGViYWVkNjllYjc4YWRmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJv
bC1iYXNpYy1kZW5pZWQuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5odG0KQEAgLTIyLDcg
KzIyLDcgQEAKICAgICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKIAogICAgICAg
eGhyLm9wZW4oIkdFVCIsIGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyBwYXRo
LCBmYWxzZSk7Ci0gICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIu
c2VuZCgpKTsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4
aHIuc2VuZCgpKTsKICAgICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywgMCk7CiAgICAgfSwg
IkNyb3NzLW9yaWdpbiByZXF1ZXN0IGRlbmllZCIpOwogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtZ2V0LWZhaWwtbm9uLXNpbXBsZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1nZXQt
ZmFpbC1ub24tc2ltcGxlLmh0bQppbmRleCBhNGZlMjM0NjBkMTJkN2QzY2Q5MDc0NjQyNTdkZjk4
ZWRkMjlhYTlmLi45NzM3MGJkNjUwMjQxZTJlZmU3OTlkZGUzN2QxMzA5OWJlZTk2Y2MzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9h
Y2Nlc3MtY29udHJvbC1iYXNpYy1nZXQtZmFpbC1ub24tc2ltcGxlLmh0bQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1i
YXNpYy1nZXQtZmFpbC1ub24tc2ltcGxlLmh0bQpAQCAtMTgsNyArMTgsNyBAQAogICAgICAgeGhy
LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJmb29iYXIiKTsKIAogICAgICAgLy8gVGhpcyBm
YWlscyBiZWNhdXNlIHRoZSBzZXJ2ZXItc2lkZSBzY3JpcHQgaXMgbm90IHByZXBhcmVkIGZvciBh
biBPUFRJT05TIHJlcXVlc3QKLSAgICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsICgp
ID0+IHhoci5zZW5kKCkpOworICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIs
ICgpID0+IHhoci5zZW5kKCkpOwogICAgICAgYXNzZXJ0X2VxdWFscyh4aHIuc3RhdHVzLCAwKTsK
ICAgICB9LCAiUHJlZmxpZ2h0ZWQgY3Jvc3Mtb3JpZ2luIHJlcXVlc3QgZGVuaWVkIik7CiAgICAg
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1ub24tY29ycy1zYWZlbGlzdGVkLWNv
bnRlbnQtdHlwZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1ub24tY29ycy1zYWZlbGlzdGVkLWNvbnRlbnQt
dHlwZS5odG0KaW5kZXggMDYyZjhiMGJiNWI0NjZjMjY0YjgwZjhmOTgzYzk0ZDQ5Y2MxYjlhYS4u
MGUwZTk3MWZkNGI1YzFmODEzOWZlNTJlNDFkZGY3N2NjYjMwNDY1NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRy
b2wtYmFzaWMtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9s
LWJhc2ljLW5vbi1jb3JzLXNhZmVsaXN0ZWQtY29udGVudC10eXBlLmh0bQpAQCAtMjIsNyArMjIs
NyBAQAogICAgICAgICAgICIveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wdXQt
YWxsb3cucHkiLCBmYWxzZSk7CiAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1U
eXBlIiwgImFwcGxpY2F0aW9uL3htbCIpOwogCi0gICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3Jr
RXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgiRkFJTDogUFVUIGRhdGEgcmVjZWl2ZWQiKSk7CisgICAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoIkZBSUw6
IFBVVCBkYXRhIHJlY2VpdmVkIikpOwogICAgICAgYXNzZXJ0X2VxdWFscyh4aHIuc3RhdHVzLCAw
LCAiQ3Jvc3MtZG9tYWluIGFjY2VzcyB3YXMgZGVuaWVkIGluICdzZW5kJy4iKTsKICAgICB9LCAi
RGVueSBjcm9zcy1vcmlnaW4gcmVxdWVzdCB3aXRoIG5vbi1DT1JTLXNhZmVsaXN0ZWQgY29udGVu
dCB0eXBlIik7CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1wb3N0LXdp
dGgtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcG9z
dC13aXRoLW5vbi1jb3JzLXNhZmVsaXN0ZWQtY29udGVudC10eXBlLmh0bQppbmRleCAwYTZkZjkz
MmFhNDRlNjRiNjAyNWI0MDU1MTM3ZjIxMmQxMTFmZTMyLi5mNjNlNmJjOTI0ZTI2ZTZhYWZkMTBm
MjIwMzAwNjI5MzIwYTY1Y2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1wb3N0LXdpdGgtbm9u
LWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLXBvc3Qt
d2l0aC1ub24tY29ycy1zYWZlbGlzdGVkLWNvbnRlbnQtdHlwZS5odG0KQEAgLTI5LDcgKzI5LDcg
QEAKIAogICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNh
dGlvbi94bWwiKTsKIAotICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgKCkgPT4g
eGhyLnNlbmQoKSk7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkg
PT4geGhyLnNlbmQoKSk7CiAgICAgICBhc3NlcnRfZXF1YWxzKHhoci5zdGF0dXMsIDAsICJDcm9z
cy1kb21haW4gYWNjZXNzIHdhcyBkZW5pZWQgaW4gJ3NlbmQnLiIpOwogICAgIH0sICJDT1JTIHJl
cXVlc3Qgd2l0aCBub24tc2FmZWxpc3RlZCBjb250ZW50IHR5cGUgc2VuZHMgcHJlZmxpZ2h0IGFu
ZCBmYWlscyIpOwogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5
bmMtaGVhZGVyLWRlbmllZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1oZWFkZXItZGVuaWVk
Lmh0bQppbmRleCA3OTQ4YzE4YTJlZmNjNmMwMmQ3NmY2ODNhM2RiYjVmYTI1NThjOGFlLi44Njk3
ZjFlZGU5NWIwMTc4YWFlYjA1ODQwMDRkZmZmNmFlY2I1YzVmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1w
cmVmbGlnaHQtc3luYy1oZWFkZXItZGVuaWVkLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3lu
Yy1oZWFkZXItZGVuaWVkLmh0bQpAQCAtMjIsNyArMjIsNyBAQCB0ZXN0KCgpID0+IHsKICAgeGhy
Lm9wZW4oIkdFVCIsIHVybCArICImY29tbWFuZD1oZWFkZXIiLCBmYWxzZSk7CiAgIHhoci5zZXRS
ZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCAiZm9vIik7CiAKLSAgYXNzZXJ0X3Rocm93cygiTmV0d29y
a0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoKSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3Jr
RXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgpKTsKIAogICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7
CiAgIHhoci5vcGVuKCJHRVQiLCB1cmwgKyAiJmNvbW1hbmQ9Y29tcGxldGUiLCBmYWxzZSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9s
LXByZWZsaWdodC1zeW5jLW1ldGhvZC1kZW5pZWQuaHRtCmluZGV4IGE1NGMzMDhkOWYxMTkwZWEy
M2EwZGY0NjBmNzhmZTc2OTY0YzAxOGUuLjBjYTZjNWNkZjRhMDhiOTI1Mjk5YWVjMDhjYjExMTRm
ZWZjYWYyODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW1ldGhvZC1kZW5pZWQu
aHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW1ldGhvZC1kZW5pZWQuaHRtCkBAIC0yMSw3
ICsyMSw3IEBAIHRlc3QoKCkgPT4gewogICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CiAgIHho
ci5vcGVuKCJERUxFVEUiLCB1cmwgKyAiJmNvbW1hbmQ9bWV0aG9kIiwgZmFsc2UpOwogCi0gIGFz
c2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCkpOworICBhc3NlcnRf
dGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoKSk7CiAKICAgeGhyID0g
bmV3IFhNTEh0dHBSZXF1ZXN0OwogICB4aHIub3BlbigiR0VUIiwgdXJsICsgIiZjb21tYW5kPWNv
bXBsZXRlIiwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1
cHBvcnRlZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1ub3Qtc3VwcG9ydGVkLmh0bQppbmRl
eCBiYjA4Mjk2MzA0ZjllZjYxOWVmNGI1ODFmZGYxMTY5NTNmMWYzMTY2Li5mNWRmNGEyZDRiNTdh
N2IyYTM1ZmU2YjkzNmRjMzU3MjE2MzJjZjkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQt
c3luYy1ub3Qtc3VwcG9ydGVkLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1ub3Qtc3Vw
cG9ydGVkLmh0bQpAQCAtMjEsNyArMjEsNyBAQCB0ZXN0KCgpID0+IHsKICAgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0OwogICB4aHIub3BlbigiUFVUIiwgdXJsLCBmYWxzZSk7CiAKLSAgYXNzZXJ0
X3Rocm93cygiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoIiIpKTsKKyAgYXNzZXJ0X3Ro
cm93c19kb20oIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCIiKSk7CiAKICAgeGhyID0g
bmV3IFhNTEh0dHBSZXF1ZXN0OwogICB4aHIub3BlbigiR0VUIiwgdXJsICsgIiZjb21tYW5kPWNv
bXBsZXRlIiwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvY29ycy1leHBvc2Utc3Rhci5zdWIuYW55LmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvY29ycy1leHBvc2Utc3Rh
ci5zdWIuYW55LmpzCmluZGV4IGNlOWFjZmY5YTU3MDk0MmMyNGViYTA0Yzk0ZmFjNTQ5ZjUyNWVj
ODIuLjlkODgwNDY4MDZjNzY0YTQ2N2IwYWQ1OWZlYzNjNzNkOWYwZmExNGIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhw
b3NlLXN0YXIuc3ViLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5hbnkuanMKQEAgLTUsNyArNSw2
IEBAIGNvbnN0IHVybCA9ICJodHRwOi8ve3tob3N0fX06e3twb3J0c1todHRwXVsxXX19IiArIGRp
cm5hbWUobG9jYXRpb24ucGF0aG5hbWUpICsKIAogYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKICAg
Y29uc3QgaGVhZGVycyA9ICJoZWFkZXIoQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLCopIgot
ICAgIGNvbnNvbGUubG9nKHVybCk7CiAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKICAgY2xpZW50Lm9wZW4oIkdFVCIsIHVybCArIHNoYXJlZEhlYWRlcnMgKyBoZWFkZXJzKTsK
ICAgY2xpZW50LnNlbmQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvY29ycy1leHBvc2Utc3Rhci5zdWIuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWI1ODUzY2QzMTU5OTg0Mzc3MTEwY2Q3ZjU0YjUyN2E0NjVkZjhhNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Nv
cnMtZXhwb3NlLXN0YXIuc3ViLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorCitQQVNTIEJhc2ljIEFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzOiAqIHN1cHBvcnQg
CitQQVNTICogZm9yIGNyZWRlbnRpYWxlZCBmZXRjaGVzIG9ubHkgbWF0Y2hlcyBsaXRlcmFsbHkg
CitQQVNTICogY2FuIGJlIG9uZSBvZiBzZXZlcmFsIHZhbHVlcyAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvY29ycy1leHBvc2Ut
c3Rhci5zdWIuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvY29ycy1leHBvc2Utc3Rhci5zdWIuYW55Lndvcmtlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJl
IHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvZXZlbnQtYWJvcnQuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtYWJvcnQuYW55LmpzCmluZGV4IDliMzhjY2Y5YzllMTk3
NjUxMTFiOTZkZjU5NWFiZjc4MGY2YmZlYjguLjViMTdlY2UwMDg1YWVkOGJiZTI3MjNhNDcxMGRi
YmZkNjNmNDU3M2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2V2ZW50LWFib3J0LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1hYm9ydC5hbnkuanMKQEAgLTEy
LDQgKzEyLDQgQEAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKICAgdGVzdC5zdGVwX3RpbWVvdXQo
KCkgPT4gewogICAgIGFzc2VydF91bnJlYWNoZWQoIm9uYWJvcnQgbm90IGNhbGxlZCBhZnRlciA0
IG1zIik7CiAgIH0sIDQpOwotfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9ldmVudC1lcnJvci1vcmRlci5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Itb3JkZXIuc3ViLWV4cGVj
dGVkLnR4dAppbmRleCBkNjQyYTlkNGEzMmYzNmYzM2U2NjQ5YWU4MzE0ZmM5YTg4NWZkYTE4Li4w
MjZmMTFlY2JmYjdmYTcyODUzYjM1NDgyYWM1MjY0MDY2YWZmMmY4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1v
cmRlci5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWVycm9yLW9yZGVyLnN1Yi1leHBlY3RlZC50eHQKQEAg
LTEsOCArMSw0IEBACi1BTEVSVDogdGVzdCBzdGFydGVkCi1BTEVSVDogdGVzdCBzdGVwcGVkCiBC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cDovL25vbmV4aXN0ZW50LmxvY2FsaG9z
dDo4ODAwLwotQUxFUlQ6IGxvYWQgZW5kZWQKLUFMRVJUOiBmaW5pc2hpbmcgdGVzdAogCiBQQVNT
IFhNTEh0dHBSZXF1ZXN0OiBldmVudCAtIGVycm9yIChvcmRlciBvZiBldmVudHMpIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9l
dmVudC1lcnJvci1vcmRlci5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWVycm9yLW9yZGVyLnN1Yi5odG1sCmluZGV4IDcwMzIz
YWIxMThlYzI4OTM5MzQxMDc0N2JkMjEzZDU1MzlhZjU5YWYuLmYwMzcwN2ViOThkN2Y1NzM3YzZh
ZWM0NGQwZGU0YzA0M2RlYjM3MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWVycm9yLW9yZGVyLnN1Yi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWVy
cm9yLW9yZGVyLnN1Yi5odG1sCkBAIC0xMywyMCArMTMsMTYgQEAKIAogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgdmFyIHRlc3QgPSBhc3luY190ZXN0KCk7Ci0g
ICAgICAgIGFsZXJ0KCJ0ZXN0IHN0YXJ0ZWQiKTsKIAogICAgICAgICB0ZXN0LnN0ZXAoZnVuY3Rp
b24oKQogICAgICAgICB7Ci0gICAgICAgICAgICBhbGVydCgidGVzdCBzdGVwcGVkIik7CiAgICAg
ICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgICBwcmVw
YXJlX3hocl9mb3JfZXZlbnRfb3JkZXJfdGVzdCh4aHIpOwogCiAgICAgICAgICAgICB4aHIuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZGVuZCIsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGFs
ZXJ0KCJsb2FkIGVuZGVkIik7CiAgICAgICAgICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgICAgICAgICAvLyBubyBwcm9ncmVzcyBldmVudHMgZHVlIHRvIENPUlMg
ZmFpbHVyZQogICAgICAgICAgICAgICAgICAgICBhc3NlcnRfeGhyX2V2ZW50X29yZGVyX21hdGNo
ZXMoWzEsICJsb2Fkc3RhcnQoMCwwLGZhbHNlKSIsICJ1cGxvYWQubG9hZHN0YXJ0KDAsMTIsdHJ1
ZSkiLCA0LCAidXBsb2FkLmVycm9yKDAsMCxmYWxzZSkiLCAidXBsb2FkLmxvYWRlbmQoMCwwLGZh
bHNlKSIsICJlcnJvcigwLDAsZmFsc2UpIiwgImxvYWRlbmQoMCwwLGZhbHNlKSJdKTsKLSAgICAg
ICAgICAgICAgICAgICAgYWxlcnQoImZpbmlzaGluZyB0ZXN0Iik7CiAgICAgICAgICAgICAgICAg
ICAgIHRlc3QuZG9uZSgpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9ldmVudC1lcnJvci5zdWIuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Iuc3ViLmFueS5qcwppbmRleCBkZjYzZGMwNWJm
YTQxY2M0ZGE5Njc5ZDAyMGI0Y2JkYmI0ZTkwNmE0Li42MmExNThjZGNmYmNjODBmYjZmNmE3ZGI2
ZjZmZmQ4OGU2MDc0YzVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci5zdWIuYW55LmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWVycm9yLnN1Yi5h
bnkuanMKQEAgLTEwLDQgKzEwLDQgQEAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgewogCiAgIGNs
aWVudC5vcGVuKCJHRVQiLCAiaHR0cDovL25vbmV4aXN0ZW50Lnt7aG9zdH19Ont7cG9ydHNbaHR0
cF1bMF19fSIpOwogICBjbGllbnQuc2VuZCgibnVsbCIpOwotfSk7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWQuYW55LmpzCmluZGV4IDcy
ZTQ2YTVjZWE4MWVjMDZhOTgxZDk3M2M1NjRkYjRjN2Q5ZjNjYjcuLmRjYjkyY2M5ODBkYzllYmNh
Y2FjMDM1YzcyMWY5ODQzZTIwMzUyYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWQuYW55LmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWQuYW55
LmpzCkBAIC0xOCw0ICsxOCw0IEBAIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CiAgIH0pOwogICBj
bGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy93ZWxsLWZvcm1lZC54bWwiKTsKICAgY2xpZW50
LnNlbmQobnVsbCk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2
ZW50LWxvYWRlbmQuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvZXZlbnQtbG9hZGVuZC5hbnkuanMKaW5kZXggN2JkMTg0NGIzNzhjMGY2M2Rh
NDRhODk2ZTM5OGU4YjFlZGNkOWNmNS4uMTYwODdiNTI5NjdjMDFmNzczOGFhNjU4NDBhZTRkMTYx
NzllNTJiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvZXZlbnQtbG9hZGVuZC5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtbG9hZGVuZC5hbnkuanMKQEAgLTE2
LDQgKzE2LDQgQEAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKICAgfTsKICAgY2xpZW50Lm9wZW4o
IkdFVCIsICJyZXNvdXJjZXMvd2VsbC1mb3JtZWQueG1sIik7CiAgIGNsaWVudC5zZW5kKG51bGwp
OwotfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2Fkc3Rh
cnQtdXBsb2FkLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2V2ZW50LWxvYWRzdGFydC11cGxvYWQuYW55LmpzCmluZGV4IDBmNDFjZDEyODZi
NzRhN2MwZjBkZWYyZmM5YjE2ZjRhODFkYzNjOTcuLjM5MThhZGI2NmE5NTNkY2Q3MTZkZmMyNTJl
MjUwMjM2ZGNlODc5NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRzdGFydC11cGxvYWQuYW55LmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRz
dGFydC11cGxvYWQuYW55LmpzCkBAIC0xNiw0ICsxNiw0IEBAIHRlc3Quc3RlcChmdW5jdGlvbiAo
KSB7CiAgIH0pOwogICBjbGllbnQub3BlbigiUE9TVCIsICJyZXNvdXJjZXMvdHJpY2tsZS5weT9t
cz01JmNvdW50PTgiKTsKICAgY2xpZW50LnNlbmQoJ2Zvbz1iYXInKTsKLX0pOwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtbG9hZHN0YXJ0LmFueS5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRzdGFy
dC5hbnkuanMKaW5kZXggNDc3ODQwNGEwMGVmNWZhMjMwMmQwYjkzNzc2ZTFjNTAzOWExYTVhMS4u
NTVhZjRjMzE2MzE1MGYwMDcxYWQwY2Y2NGUyYzVjYjBlYWU3OTIxMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtbG9hZHN0
YXJ0LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC1sb2Fkc3RhcnQuYW55LmpzCkBAIC0xNCw0ICsxNCw0IEBAIHRlc3Quc3Rl
cChmdW5jdGlvbiAoKSB7CiAgIH0sIDUwMCk7CiAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3Vy
Y2VzL3dlbGwtZm9ybWVkLnhtbCIpOwogICBjbGllbnQuc2VuZChudWxsKTsKLX0pOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtcHJvZ3Jlc3MuYW55LmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtcHJvZ3Jl
c3MuYW55LmpzCmluZGV4IDBlN2MzYTQyYzdkZjY4NzJkOWUyM2EzOWYyMTY0YTE4NWJmMjUxZmMu
LjA5NGQzNjE4MTE3MWQ1YTVjNzkwMDNmNjFhNjNmZjE1MzZiZjcwMTQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXByb2dy
ZXNzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC1wcm9ncmVzcy5hbnkuanMKQEAgLTE1LDQgKzE1LDQgQEAgdGVzdC5zdGVw
KGZ1bmN0aW9uICgpIHsKICAgfSk7CiAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL3Ry
aWNrbGUucHk/Y291bnQ9NCZkZWxheT0xNTAiKTsKICAgY2xpZW50LnNlbmQobnVsbCk7Ci19KTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5c3RhdGUtc3lu
Yy1vcGVuLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2V2ZW50LXJlYWR5c3RhdGUtc3luYy1vcGVuLmFueS5qcwppbmRleCAzMjE2MzVlN2Rl
YTQwYzI4ZDQzNDkwYzc4NDZlYmZkZjk3OTkzYWYyLi5hOGE0ZmU3ZjlhMTk2YjZhYjAxZDg0YmVm
MWU5ZjBiOWI2MTg0ZDVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0YXRlLXN5bmMtb3Blbi5hbnkuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQt
cmVhZHlzdGF0ZS1zeW5jLW9wZW4uYW55LmpzCkBAIC0yMCw0ICsyMCw0IEBAIHRlc3QoZnVuY3Rp
b24gKCkgewogICB9CiAgIGNsaWVudC5vcGVuKCdHRVQnLCAiLi4uIiwgdHJ1ZSkKICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhldmVudHNGaXJlZCwgWzFdKQotfSwgdGl0bGUgKyAnIChhc3luYyknKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9LCB0aXRsZSArICcgKGFzeW5jKScpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
ZXZlbnQtcmVhZHlzdGF0ZWNoYW5nZS1sb2FkZWQuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtcmVhZHlzdGF0ZWNoYW5nZS1sb2Fk
ZWQuYW55LmpzCmluZGV4IDFlNDQ2N2FhZWJkYWY5YmYxOTJiMTZkNjc5ZWU5ZjkyNDg4ZGJhMjUu
LmEzM2U2Zjg5MjI3OGVmNmQzMWE4NzBiZDFmZTM1ZWY0MmYwZDI5OTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5
c3RhdGVjaGFuZ2UtbG9hZGVkLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0YXRlY2hhbmdlLWxvYWRlZC5hbnku
anMKQEAgLTIwLDQgKzIwLDQgQEAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKIAogICAgIGNsaWVu
dC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL3RyaWNrbGUucHk/Y291bnQ9MTAiKTsgLy8gZGVmYXVs
dCB0aW1lb3V0IGluIHRyaWNrbGUucHkgaXMgMS8yIHNlYywgc28gdGhpcyByZXF1ZXN0IHdpbGwg
dGFrZSA1IHNlY29uZHMgdG8gY29tcGxldGUKICAgICBjbGllbnQuc2VuZChudWxsKTsKLX0pOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGltZW91dC1vcmRlci5h
bnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9l
dmVudC10aW1lb3V0LW9yZGVyLmFueS5qcwppbmRleCBiMzVlOTA4YTlkOGMxMDJhYTkwMTk2NDlm
YWQ2YzU5MTc3OWQ2MGM2Li41NTMxOTgxNGE5MDA2NDc4NmM3MjZhYmY2ZDczYzc1ZTZlNGI0NWQx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC10aW1lb3V0LW9yZGVyLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC10aW1lb3V0LW9yZGVyLmFueS5qcwpA
QCAtMTgsNCArMTgsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICAgIHRlc3Quc3RlcF90
aW1lb3V0KCgpID0+IHsKICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgib250aW1lb3V0IG5vdCBj
YWxsZWQuIik7CiAgICAgfSwgMTApOwotfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC10aW1lb3V0LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXRpbWVvdXQuYW55LmpzCmluZGV4IGQxMTRiMDhi
M2UxMjRlZWY1NjBhM2ZkN2JjZTEyNDdjZjQzYTM0N2UuLmRhOGNhMTFiYjhlYTFhOGVmNjczYmUy
MGFlMmRlODcxNWE0ZDExMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXRpbWVvdXQuYW55LmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXRpbWVvdXQuYW55
LmpzCkBAIC0xNSw0ICsxNSw0IEBAIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CiAgIHRlc3Quc3Rl
cF90aW1lb3V0KCgpID0+IHsKICAgICBhc3NlcnRfdW5yZWFjaGVkKCJvbnRpbWVvdXQgbm90IGNh
bGxlZC4iKTsKICAgfSwgMTApOwotfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MtY3Jvc3NvcmlnaW4uYW55LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBsb2FkLXByb2dy
ZXNzLWNyb3Nzb3JpZ2luLmFueS5qcwppbmRleCAxMDM2ZjJiMTRmMGEzOTc0NGQ1YjkyZWE5NWM2
ZjJjNWJmMGM2N2I3Li45ZjRjNDRhYWJlNzVlMzdmNjY3ODhjZDlkN2I4OGY1ODI3Njg5ZTI5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MtY3Jvc3NvcmlnaW4uYW55LmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXVwbG9hZC1wcm9n
cmVzcy1jcm9zc29yaWdpbi5hbnkuanMKQEAgLTIzLDQgKzIzLDQgQEAgY29uc3QgcmVtb3RlID0g
Z2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiArICIveGhyL3Jlc291cmNlcy9jb3Jz
ZW5hYmxlZC4KICAgICBjbGllbnQudXBsb2FkLm9ubG9hZHN0YXJ0ID0gdGVzdC51bnJlYWNoZWRf
ZnVuYygpOyAvLyByZWdpc3RlcmVkIHRvbyBsYXRlCiAgICAgY2xpZW50LnVwbG9hZC5vbnByb2dy
ZXNzID0gdGVzdC51bnJlYWNoZWRfZnVuYygpOyAvLyByZWdpc3RlcmVkIHRvbyBsYXRlCiAgIH0s
ICJVcGxvYWQgZXZlbnRzIHJlZ2lzdGVyZWQgdG9vIGxhdGUgKCIgKyB1cmwgKyAiKSIpOwotfSk7
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jl
c3MuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvZXZlbnQtdXBsb2FkLXByb2dyZXNzLmFueS5qcwppbmRleCA1ZDE1NDY3NTdiYTQyNGM2YmNl
MGMxNDQxMmRlYjgxNDk0MTk4ZThhLi44NzIyM2MxNzJkNTBiYjAxMzc5YTg2MDc1ZDM1NWU1YTRi
Y2JiY2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MuYW55LmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXVwbG9hZC1wcm9ncmVz
cy5hbnkuanMKQEAgLTIzLDQgKzIzLDQgQEAgY29uc3QgcmVtb3RlID0gZ2V0X2hvc3RfaW5mbygp
LkhUVFBfUkVNT1RFX09SSUdJTiArICIveGhyL3Jlc291cmNlcy9jb3JzZW5hYmxlZC4KICAgICBj
bGllbnQudXBsb2FkLm9ubG9hZHN0YXJ0ID0gdGVzdC51bnJlYWNoZWRfZnVuYygpOyAvLyByZWdp
c3RlcmVkIHRvbyBsYXRlCiAgICAgY2xpZW50LnVwbG9hZC5vbnByb2dyZXNzID0gdGVzdC51bnJl
YWNoZWRfZnVuYygpOyAvLyByZWdpc3RlcmVkIHRvbyBsYXRlCiAgIH0sICJVcGxvYWQgZXZlbnRz
IHJlZ2lzdGVyZWQgdG9vIGxhdGUgKCIgKyB1cmwgKyAiKSIpOwotfSk7ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLWJsb2IuaHRtCmluZGV4
IDVlZmVmN2I2MTViYmZhN2RjNTQ4OTFmZTQwNDA1YzBmNjJlYjk4ZTIuLjkyY2VlNTVjZDJmODBm
MTVkZTI2ODRlYmZjMTI5YTVhNmIxZDM4ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLWJsb2IuaHRtCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLWJs
b2IuaHRtCkBAIC0zOCw3ICszOCw3IEBACiAgIC8vIElmIDNyZCBhcmd1bWVudCBpcyBnaXZlbiBh
bmQgMm5kIGlzIG5vdCBhIEJsb2IsIGZvcm1kYXRhLmFwcGVuZCgpIHNob3VsZCB0aHJvdwogICB2
YXIgdGVzdCA9IGFzeW5jX3Rlc3QoJ2Zvcm1kYXRhLmFwcGVuZCgpIHNob3VsZCB0aHJvdyBpZiB2
YWx1ZSBpcyBzdHJpbmcgYW5kIGZpbGUgbmFtZSBpcyBnaXZlbicpOyAvLyBuZWVkcyB0byBiZSBh
c3luYyBqdXN0IGJlY2F1c2UgdGhlIG90aGVycyBhYm92ZSBhcmUKICAgdGVzdC5zdGVwKGZ1bmN0
aW9uKCl7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCl7Cisg
ICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCl7CiAgICAgICBjcmVhdGVf
Zm9ybWRhdGEoJ2EnLCAnYicsICdjJyk7CiAgICAgfSk7CiAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvZm9ybWRhdGEtZXhwZWN0ZWQudHh0CmluZGV4IGUwYWU2YWYwY2JlZDUxNDhlMmVlZDgwOGI2
OTg2OTQxZmY1NzIzNTMuLjY1NmY3OGE1YzdlMDZjYTM3MjA0NTBlNmYwZTZkZTdjY2Q0N2EzOTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL2Zvcm1kYXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1leHBlY3RlZC50eHQKQEAgLTIsNyArMiw3
IEBACiAKIAogCi1GQUlMIENvbnN0cnVjdG9ycyBzaG91bGQgdGhyb3cgYSB0eXBlIGVycm9yIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7IG5ldyBGb3JtRGF0YShudWxsKTsgfSIgZGlk
IG5vdCB0aHJvdworRkFJTCBDb25zdHJ1Y3RvcnMgc2hvdWxkIHRocm93IGEgdHlwZSBlcnJvciBh
c3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiKCkgPT4geyBuZXcgRm9ybURhdGEobnVsbCk7IH0i
IGRpZCBub3QgdGhyb3cKIFBBU1MgZW1wdHkgZm9ybWRhdGEgCiBQQVNTIGZvcm1kYXRhIHdpdGgg
c3RyaW5nIAogUEFTUyBmb3JtZGF0YSB3aXRoIG5hbWVkIHN0cmluZyAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLXNl
dC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9m
b3JtZGF0YS1zZXQuaHRtCmluZGV4IGVlNDNlMTU2OWYxOTU4ZTVjNzFmMTRhM2JkODliNzU3NTZk
NmE4NWMuLmQ0NmU0NGE5MTZmZDIwY2I5YmE5NGIxYWM1YzI0ODE2NTllYzdjZGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1k
YXRhLXNldC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvZm9ybWRhdGEtc2V0Lmh0bQpAQCAtODEsMTEgKzgxLDExIEBACiAgICAgfSwgJ3Rl
c3RGb3JtRGF0YVNldFRvRm9ybU51bGwyJyk7CiAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAg
ICAgdmFyIGZkID0gbmV3IEZvcm1EYXRhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtIikp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4ge2ZkLnNldCgn
bmFtZScsICJzdHJpbmciLCAnZmlsZW5hbWUnKX0pOworICAgICAgICBhc3NlcnRfdGhyb3dzX2pz
KFR5cGVFcnJvciwgKCkgPT4ge2ZkLnNldCgnbmFtZScsICJzdHJpbmciLCAnZmlsZW5hbWUnKX0p
OwogICAgIH0sICd0ZXN0Rm9ybURhdGFTZXRUb0Zvcm1TdHJpbmcnKTsKICAgICB0ZXN0KGZ1bmN0
aW9uKCkgewogICAgICAgICB2YXIgZmQgPSBuZXcgRm9ybURhdGEoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZvcm0iKSk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAo
KSA9PiB7ZmQuc2V0KCduYW1lJywgbmV3IFVSTFNlYXJjaFBhcmFtcygpLCAnZmlsZW5hbWUnKX0p
OworICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4ge2ZkLnNldCgnbmFt
ZScsIG5ldyBVUkxTZWFyY2hQYXJhbXMoKSwgJ2ZpbGVuYW1lJyl9KTsKICAgICB9LCAndGVzdEZv
cm1EYXRhU2V0VG9Gb3JtV3JvbmdQbGF0Zm9ybU9iamVjdCcpOwogICAgIHRlc3QoZnVuY3Rpb24o
KSB7CiAgICAgICAgIHZhciBmZCA9IG5ldyBGb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEuaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEu
aHRtCmluZGV4IDY5OWMxMWFiNzgzOGEzMmEzZTYyNDYwZjEzYTJhNDI3ZDhkODE3MDcuLjY3NTIw
M2NiMWFmNzZkNzEyNDIzODFkNDllZmMxMzNhNWQ1Mzg0YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLmh0bQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0
YS5odG0KQEAgLTM5LDggKzM5LDggQEAKICAgfQogCiAgIHRlc3QoKCkgPT4gewotICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7IG5ldyBGb3JtRGF0YShudWxsKTsgfSk7
Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHsgbmV3IEZvcm1EYXRh
KCJzdHJpbmciKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsg
bmV3IEZvcm1EYXRhKG51bGwpOyB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwg
KCkgPT4geyBuZXcgRm9ybURhdGEoInN0cmluZyIpOyB9KTsKICAgfSwgIkNvbnN0cnVjdG9ycyBz
aG91bGQgdGhyb3cgYSB0eXBlIGVycm9yIik7CiAKICAgZG9fdGVzdCgiZW1wdHkgZm9ybWRhdGEi
LCBuZXcgRm9ybURhdGEoKSwgJ1xuJyk7CkBAIC03Miw3ICs3Miw3IEBACiAgICAgbGV0IGNvdW50
ZXIgPSAwOwogICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcignZm9ybWRhdGEnLCBlID0+IHsKICAg
ICAgICsrY291bnRlcjsKLSAgICAgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywg
KCkgPT4geyBuZXcgRm9ybURhdGEoZS50YXJnZXQpIH0pOworICAgICAgYXNzZXJ0X3Rocm93c19k
b20oJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4geyBuZXcgRm9ybURhdGEoZS50YXJnZXQpIH0p
OwogICAgIH0pOwogICAgIG5ldyBGb3JtRGF0YShmb3JtKTsKICAgICBhc3NlcnRfZXF1YWxzKGNv
dW50ZXIsIDEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvaGVhZGVycy1ub3JtYWxpemUtcmVzcG9uc2UuaHRtIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvaGVhZGVycy1ub3JtYWxpemUt
cmVzcG9uc2UuaHRtCmluZGV4IDg0ZjJmYzg1ODIxMjdiOWE4ZTI3MTg4N2Q0MjBiM2VhN2E4NzY5
NmEuLjNkNDcyZjY4OGNmNmQ5ODM2ZmFkMjA0NTc4NGY1NzA1ZDlmNTMyZjMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2hlYWRlcnMt
bm9ybWFsaXplLXJlc3BvbnNlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9oZWFkZXJzLW5vcm1hbGl6ZS1yZXNwb25zZS5odG0KQEAgLTks
NyArOSw3IEBAIGZ1bmN0aW9uIGVycm9yKHZhbCkgewogICB0ZXN0KCgpID0+IHsKICAgICBjb25z
dCBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICBjbGllbnQub3BlbigiR0VUIiwg
InJlc291cmNlcy9wYXJzZS1oZWFkZXJzLnB5P215LWN1c3RvbS1oZWFkZXI9IitlbmNvZGVVUklD
b21wb25lbnQodmFsKSwgZmFsc2UpOwotICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIs
ICgpID0+IGNsaWVudC5zZW5kKCkpOworICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJy
b3IiLCAoKSA9PiBjbGllbnQuc2VuZCgpKTsKICAgfSwgIkhlYWRlciB2YWx1ZTogIiArIHZhbC5y
ZXBsYWNlKCJcMCIsICJcXDAiKSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2xvYWRzdGFydC1hbmQtc3RhdGUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2xvYWRzdGFy
dC1hbmQtc3RhdGUuaHRtbAppbmRleCA0NjBiMmJmYzk5MDg1YjFkNmI5MDA4NjBmMzI1MGYwZjZh
YzcwMjYyLi44YjM0NGE1OGY4MWY1ZDZkNzFkZTcwMWVjNDE0ZDViMTI0NjczNzJiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9sb2Fk
c3RhcnQtYW5kLXN0YXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvbG9hZHN0YXJ0LWFuZC1zdGF0ZS5odG1sCkBAIC03LDkgKzcsOSBA
QAogYXN5bmNfdGVzdCh0ID0+IHsKICAgY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0
CiAgIGNsaWVudC5vbmxvYWRzdGFydCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICBhc3NlcnRf
dGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVy
KCJHZW5lcmFsIiwgIk9yZ2FuYSIpKQotICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVy
cm9yIiwgKCkgPT4gY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUpCi0gICAgYXNzZXJ0X3Ro
cm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2VuZCgpKQorICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+IGNsaWVudC5zZXRSZXF1ZXN0
SGVhZGVyKCJHZW5lcmFsIiwgIk9yZ2FuYSIpKQorICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZh
bGlkU3RhdGVFcnJvciIsICgpID0+IGNsaWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlKQorICAg
IGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+IGNsaWVudC5zZW5k
KCkpCiAgICAgY2xpZW50Lm9ubG9hZHN0YXJ0ID0gbnVsbAogICAgIGNsaWVudC5vcGVuKCJHRVQi
LCAiZGF0YTosQkItOCIpCiAgICAgY2xpZW50LnNlbmQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1tZXRob2QtYm9ndXMu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Bl
bi1tZXRob2QtYm9ndXMuaHRtCmluZGV4IDI2M2U3YjZkYjdlYjE1ODEwMjhiYWQxYzc0MjYyN2Q1
OTdlOTA1NDAuLjEzYmIxOGJmNWM0ZmFlNTYzMmQ5ZjA3NmZlOTNiYzY1ODExZTEyNTAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29w
ZW4tbWV0aG9kLWJvZ3VzLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1ib2d1cy5odG0KQEAgLTEyLDcgKzEyLDcgQEAK
ICAgICAgIGZ1bmN0aW9uIG1ldGhvZChtZXRob2QpIHsKICAgICAgICAgdGVzdChmdW5jdGlvbigp
IHsKICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKLSAgICAgICAg
ICBhc3NlcnRfdGhyb3dzKCJTeW50YXhFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQub3Blbiht
ZXRob2QsICIuLi4iKSB9KQorICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJTeW50YXhFcnJv
ciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQub3BlbihtZXRob2QsICIuLi4iKSB9KQogICAgICAgICB9
LCBkb2N1bWVudC50aXRsZSArICIgKCIgKyBtZXRob2QgKyAiKSIpCiAgICAgICB9CiAgICAgICBt
ZXRob2QoIiIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1pbnNlY3VyZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1pbnNlY3VyZS5odG0K
aW5kZXggMWE3N2ZmM2VjNzk3MzAwNTk4MjU0NGQxNzgxNDcwYTJjZDdkMGRmMS4uYTZiZjQ0MjI0
ODFmZWZmMjY3NzU0N2M3YWI1YzY0YjRiMjI0YjgxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1tZXRob2QtaW5zZWN1cmUu
aHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L29wZW4tbWV0aG9kLWluc2VjdXJlLmh0bQpAQCAtMTIsNyArMTIsNyBAQAogICAgICAgZnVuY3Rp
b24gbWV0aG9kKG1ldGhvZCkgewogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAg
IHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQotICAgICAgICAgIGFzc2VydF90aHJv
d3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9wZW4obWV0aG9kLCAiLi4u
IikgfSkKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiU2VjdXJpdHlFcnJvciIsIGZ1bmN0
aW9uKCkgeyBjbGllbnQub3BlbihtZXRob2QsICIuLi4iKSB9KQogICAgICAgICB9LCBkb2N1bWVu
dC50aXRsZSArICIgKCIgKyBtZXRob2QgKyAiKSIpCiAgICAgICB9CiAgICAgICBtZXRob2QoInRy
YWNrIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL29wZW4tbWV0aG9kLXJlc3BvbnNldHlwZS1zZXQtc3luYy5odG0gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1yZXNw
b25zZXR5cGUtc2V0LXN5bmMuaHRtCmluZGV4IDBiNGQ4MTQwNDFjNTI1Mjg1OTk5MTg2YTdiM2Q1
MDc0MjM1ZTFmN2IuLjc4NThjOTE0MDllN2U3Y2I1MTY5NWY2ZDIzM2RlMGQwMTU1NGE2MDQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L29wZW4tbWV0aG9kLXJlc3BvbnNldHlwZS1zZXQtc3luYy5odG0KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1tZXRob2QtcmVzcG9uc2V0
eXBlLXNldC1zeW5jLmh0bQpAQCAtMTksNyArMTksNyBAQAogICAgICAgICAgICAgYXNzZXJ0X3Vu
cmVhY2hlZCgnTm8gZXZlbnRzIHNob3VsZCBmaXJlIGhlcmUnKQogICAgICAgICAgIH0pCiAgICAg
ICAgICAgY2xpZW50LnJlc3BvbnNlVHlwZSA9IHR5cGUKLSAgICAgICAgICBhc3NlcnRfdGhyb3dz
KCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9wZW4oJ0dFVCcsICIu
Li4iLCBmYWxzZSkgfSkKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZEFjY2Vz
c0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKCdHRVQnLCAiLi4uIiwgZmFsc2UpIH0p
CiAgICAgICAgIH0sIGRvY3VtZW50LnRpdGxlICsgIiAoIiArIHR5cGUgKyAiKSIpCiAgICAgICB9
CiAgICAgICByZXF1ZXN0KCJhcnJheWJ1ZmZlciIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ct
Mi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9v
cGVuLXVybC1tdWx0aS13aW5kb3ctMi5odG0KaW5kZXggZWQ0YmEwMTU3NmI1OWIxY2YyNWE1ODBj
MDViM2E2MzgzZDVkMTZjMS4uNjRjYzk2YjYxYjI1ZGM2NjQ3ZDBlYjY0YmI0ZDk0NWE1MDcyZjFk
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTIuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy0yLmh0
bQpAQCAtMTEsMTIgKzExLDEzIEBACiAgICAgPHNjcmlwdD4KICAgICBmdW5jdGlvbiBpbml0KCl7
IC8vIGNhbGxlZCBmcm9tIHBhZ2UgaW5zaWRlIElGUkFNRQogICAgICAgICB0ZXN0KGZ1bmN0aW9u
KCkgewotICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgc2VsZlswXS5YTUxIdHRwUmVxdWVzdCgp
CisgICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBzZWxmWzBdLlhNTEh0dHBSZXF1ZXN0KCk7Cisg
ICAgICAgICAgbGV0IGV4Y2VwdGlvbkN0b3IgPSBzZWxmWzBdLkRPTUV4Y2VwdGlvbjsKICAgICAg
ICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJpZnJhbWUiKVswXSkKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVF
cnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlk
U3RhdGVFcnJvciIsIGV4Y2VwdGlvbkN0b3IsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgY2xp
ZW50Lm9wZW4oIkdFVCIsICJmb2xkZXIudHh0IikKLSAgICAgICAgICB9LCAib3BlbigpIHdoZW4g
YXNzb2NpYXRlZCBkb2N1bWVudCdzIElGUkFNRSBpcyByZW1vdmVkIikKLSAgICAgICAgICB9KQor
ICAgICAgICAgIH0sICJvcGVuKCkgd2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50J3MgSUZSQU1FIGlz
IHJlbW92ZWQiKTsKKyAgICAgICAgfSk7CiAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAgICAgPGlm
cmFtZSBzcmM9InJlc291cmNlcy9pbml0Lmh0bSI+PC9pZnJhbWU+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0
aS13aW5kb3ctMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctMy1leHBlY3RlZC50eHQKaW5k
ZXggMjgxYTI5NWU1YzNkYTYzOGY4M2Q4MWM1ZTI0ZGFhMWIyOTlkMzM0MS4uMDgwOGY2MmFhZjFk
MWMzNzFjNTMyOWU4OWFjOWQ3ZmRmOTViZmY4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy0zLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDUgQEAKIAotRkFJTCBYTUxIdHRwUmVxdWVzdDogb3BlbigpIHJlc29sdmluZyBVUkxzIChtdWx0
aS1XaW5kb3c7IDM7IGV2aWwpIGFzc2VydF90aHJvd3M6IHNlbmQoKSB3aGVuIGFzc29jaWF0ZWQg
ZG9jdW1lbnQncyBJRlJBTUUgaXMgcmVtb3ZlZCBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworRkFJ
TCBYTUxIdHRwUmVxdWVzdDogb3BlbigpIHJlc29sdmluZyBVUkxzIChtdWx0aS1XaW5kb3c7IDM7
IGV2aWwpIGFzc2VydF90aHJvd3NfZG9tOiBzZW5kKCkgd2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50
J3MgSUZSQU1FIGlzIHJlbW92ZWQgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKICAgICAgICAgICAg
IGNsaWVudC5zZW5kKG51bGwpCiAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVu
LXVybC1tdWx0aS13aW5kb3ctMy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctMy5odG0KaW5kZXggMzQ0NDM0
YjBlN2M2OTRjY2I1MmJjOWE2M2FiNWU1YmVmM2YyMWYyNC4uZTE1Njg1N2ZlMDVkYWE0ZTNhNDdh
M2NhNDEzYTljOWFiYWEwNjJiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMuaHRtCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJs
LW11bHRpLXdpbmRvdy0zLmh0bQpAQCAtMTAsMTIgKzEwLDEzIEBACiAgICAgPHNjcmlwdD4KICAg
ICAgIGZ1bmN0aW9uIGluaXQoKSB7CiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgdmFyIGNsaWVudCA9IG5ldyBzZWxmWzBdLlhNTEh0dHBSZXF1ZXN0KCkKKyAgICAgICAgICB2
YXIgY2xpZW50ID0gbmV3IHNlbGZbMF0uWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgICBsZXQg
ZXhjZXB0aW9uQ3RvciA9IHNlbGZbMF0uRE9NRXhjZXB0aW9uOwogICAgICAgICAgIGNsaWVudC5v
cGVuKCJHRVQiLCAiZm9sZGVyLnR4dCIpCiAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF0pCi0gICAgICAg
ICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBleGNlcHRpb25DdG9y
LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGNsaWVudC5zZW5kKG51bGwpCi0gICAgICAgICAg
fSwgInNlbmQoKSB3aGVuIGFzc29jaWF0ZWQgZG9jdW1lbnQncyBJRlJBTUUgaXMgcmVtb3ZlZCIp
CisgICAgICAgICAgfSwgInNlbmQoKSB3aGVuIGFzc29jaWF0ZWQgZG9jdW1lbnQncyBJRlJBTUUg
aXMgcmVtb3ZlZCIpOwogICAgICAgICB9KQogICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Bl
bi11cmwtbXVsdGktd2luZG93LTUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTUuaHRtCmluZGV4IGEyN2Qy
YjM2NmMwNjgwZDJhMzBjYmIxMDdjMzQ5NmFiYjAyNjQ5MDguLjMyYzQ2N2E0OTU2YzRiNDc2MTRi
ODMyYmJlNzExMWVmYzdjNDEzOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy01Lmh0bQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVy
bC1tdWx0aS13aW5kb3ctNS5odG0KQEAgLTExLDE1ICsxMSwxNyBAQAogICAgIDxzY3JpcHQ+CiAg
ICAgICB2YXIgdGVzdCA9IGFzeW5jX3Rlc3QoKSwKICAgICAgICAgICBjbGllbnQsCi0gICAgICAg
ICAgY291bnQgPSAwCisgICAgICAgICAgZXhjZXB0aW9uQ3RvciwKKyAgICAgICAgICBjb3VudCA9
IDA7CiAgICAgICBmdW5jdGlvbiBpbml0KCkgewogICAgICAgICB0ZXN0LnN0ZXAoZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgaWYoMCA9PSBjb3VudCkgewotICAgICAgICAgICAgY2xpZW50ID0gbmV3
IHNlbGZbMF0uWE1MSHR0cFJlcXVlc3QoKQorICAgICAgICAgICAgY2xpZW50ID0gbmV3IHNlbGZb
MF0uWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgICAgIGV4Y2VwdGlvbkN0b3IgPSBzZWxmWzBd
LkRPTUV4Y2VwdGlvbjsKICAgICAgICAgICAgIGNvdW50KysKICAgICAgICAgICAgIHNlbGZbMF0u
bG9jYXRpb24ucmVsb2FkKCkKICAgICAgICAgICB9IGVsc2UgaWYoMSA9PSBjb3VudCkgewotICAg
ICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsg
Y2xpZW50Lm9wZW4oIkdFVCIsICIuLi4iKSB9KQorICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oIkludmFsaWRTdGF0ZUVycm9yIiwgZXhjZXB0aW9uQ3RvciwgZnVuY3Rpb24oKSB7Y2xpZW50
Lm9wZW4oIkdFVCIsICIuLi4iKSB9KTsKICAgICAgICAgICAgIHRlc3QuZG9uZSgpCiAgICAgICAg
ICAgfQogICAgICAgICB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11
cmwtbXVsdGktd2luZG93LTYtZXhwZWN0ZWQudHh0CmluZGV4IDVhNDU3OTI3Mzc2Mjg1ZDk4Mzk2
ZGI1MTQ0ZjVjNDY3N2JkMzIyNjAuLjllZjNhMTgzOGI0YTI1ZjBmN2I4N2RhY2MyZWE4ODA1ODM4
NTM1ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0
aS13aW5kb3ctNi1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgWE1MSHR0cFJl
cXVlc3Q6IG9wZW4oKSBpbiBkb2N1bWVudCB0aGF0IGlzIG5vdCBmdWxseSBhY3RpdmUgKGJ1dCBt
YXkgYmUgYWN0aXZlKSBzaG91bGQgdGhyb3cgCitGQUlMIFhNTEh0dHBSZXF1ZXN0OiBvcGVuKCkg
aW4gZG9jdW1lbnQgdGhhdCBpcyBub3QgZnVsbHkgYWN0aXZlIChidXQgbWF5IGJlIGFjdGl2ZSkg
c2hvdWxkIHRocm93IGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBj
bGllbnQub3BlbigiR0VUIiwgIi4uLiIpIH0iIHRocmV3IGFuIGV4Y2VwdGlvbiBmcm9tIHRoZSB3
cm9uZyBnbG9iYWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTYuaHRtIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2lu
ZG93LTYuaHRtCmluZGV4IDk5Mjc5NjM5OTIxZDlhNTk0YzE1MDE0ZjVjNDI5ZWU2YWU3YTIxNWQu
LmQ4MzRhMDQ4YTUxZDE4M2JiODJiZGQ0MzI3Njc0MGE0Zjg5NGNlYjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11
bHRpLXdpbmRvdy02Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctNi5odG0KQEAgLTMxLDcgKzMxLDcg
QEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGRvYy5ib2R5LmFwcGVuZENoaWxkKGlmcik7
CiAgICAgICAgICAgfSBlbHNlIGlmKDEgPT0gY291bnQpIHsKLSAgICAgICAgICAgIGFzc2VydF90
aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKCJHRVQi
LCAiLi4uIikgfSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVF
cnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIpIH0pCiAgICAgICAg
ICAgICB0ZXN0LmRvbmUoKQogICAgICAgICAgIH0KICAgICAgICAgfSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJyaWRlbWlt
ZXR5cGUtZG9uZS1zdGF0ZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWRvbmUtc3RhdGUuYW55LmpzCmluZGV4
IGJkZjQ5ZTFjYTUyZTc2ZWZmNmIwN2MxMmUxMGEwMzIwNDE3MjM2YTAuLjVlNzA0OTI0MzY1N2Q0
NWFjOWRhNDJmMjM0MzI4NzMzZWI1Y2ZjMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJyaWRlbWltZXR5cGUtZG9uZS1zdGF0
ZS5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvb3ZlcnJpZGVtaW1ldHlwZS1kb25lLXN0YXRlLmFueS5qcwpAQCAtOSw3ICs5LDcgQEAg
Y2xpZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHRlc3Quc3RlcF9mdW5jKCBmdW5jdGlvbigpIHsK
ICAgaWYgKGNsaWVudC5yZWFkeVN0YXRlICE9PSA0KSByZXR1cm47CiAgIHZhciB0ZXh0ID0gY2xp
ZW50LnJlc3BvbnNlVGV4dDsKICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dCwgIiIpOwotICBhc3Nl
cnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQub3ZlcnJp
ZGVNaW1lVHlwZSgnYXBwbGljYXRpb24veG1sO2NoYXJzZXQ9U2hpZnQtSklTJyk7IH0pOworICBh
c3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50
Lm92ZXJyaWRlTWltZVR5cGUoJ2FwcGxpY2F0aW9uL3htbDtjaGFyc2V0PVNoaWZ0LUpJUycpOyB9
KTsKICAgaWYgKEdMT0JBTC5pc1dpbmRvdygpKSB7CiAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQu
cmVzcG9uc2VYTUwsIG51bGwpOwogICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWxvYWRpbmctc3Rh
dGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
b3ZlcnJpZGVtaW1ldHlwZS1sb2FkaW5nLXN0YXRlLmh0bQppbmRleCBjY2UzZmE0OWVmNzUyYzZl
NjZiYTEwNTAwYjM1MDUzMzE2ZGU2YzEzLi4wNmU0ZDVmZWMxZWYxYmEwY2JmODg1ZmQzNTg1ODg5
ODgxY2E1YzY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWxvYWRpbmctc3RhdGUuaHRtCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJyaWRlbWlt
ZXR5cGUtbG9hZGluZy1zdGF0ZS5odG0KQEAgLTE1LDcgKzE1LDcgQEAKICAgICAgICAgdmFyIGNs
aWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICBjbGllbnQub25yZWFkeXN0YXRl
Y2hhbmdlID0gdGVzdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgaWYgKGNsaWVu
dC5yZWFkeVN0YXRlID09PSAzKXsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRT
dGF0ZUVycm9yIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJ
bnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgIGNsaWVudC5vdmVy
cmlkZU1pbWVUeXBlKCdhcHBsaWNhdGlvbi94bWw7Y2hhcnNldD1TaGlmdC1KSVMnKTsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICAgIH1lbHNlIGlmKGNsaWVudC5yZWFkeVN0YXRlPT09NCl7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9wcm9ncmVzc2V2ZW50LWludGVyZmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcHJvZ3Jlc3NldmVudC1pbnRlcmZhY2UuaHRtbAppbmRl
eCA4NTBkMWIyM2RjZmEyNjYyYjJmZmNlM2MxOTY4ZDFmOTJlYWFmMTg4Li43NTUyZmY3M2QzZjQ0
OTk3NzIzNjc0ZGEwNDA3YmY1OWFiM2Y5MWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9wcm9ncmVzc2V2ZW50LWludGVyZmFjZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Byb2dyZXNzZXZlbnQtaW50ZXJmYWNlLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgdGVzdChmdW5j
dGlvbigpIHsKICAgYXNzZXJ0X2VxdWFscyhkZXNjLndyaXRhYmxlLCBmYWxzZSkKICAgYXNzZXJ0
X2VxdWFscyhkZXNjLmVudW1lcmFibGUsIGZhbHNlKQogICBhc3NlcnRfZXF1YWxzKGRlc2MuY29u
ZmlndXJhYmxlLCBmYWxzZSkKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkgeworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAg
InVzZSBzdHJpY3QiOwogICAgIGRlbGV0ZSBQcm9ncmVzc0V2ZW50LnByb3RvdHlwZTsKICAgfSkK
QEAgLTMxLDcgKzMxLDcgQEAgYXR0cmlidXRlcy5mb3JFYWNoKGZ1bmN0aW9uKGEpIHsKICAgICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvZ3Jlc3NFdmVudC5w
cm90b3R5cGUsIGFbMV0pCiAgICAgYXNzZXJ0X2VxdWFscyhkZXNjLmVudW1lcmFibGUsIHRydWUp
CiAgICAgYXNzZXJ0X2VxdWFscyhkZXNjLmNvbmZpZ3VyYWJsZSwgdHJ1ZSkKLSAgICBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICAgUHJvZ3Jlc3NFdmVudC5wcm90b3R5cGVb
YVsxXV0KICAgICB9KQogICB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC1sYW5ndWFnZS5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9h
Y2NlcHQtbGFuZ3VhZ2UucHkKaW5kZXggZGQwMGY0YjJlZTczZDc0Y2M2MGRlNDlmODE5OWM0ZWE2
OWZmZTU5My4uYjY4Y2YzNTUwMzhjYTlmOWY5MzhhNWMzYjJmNWM3NWViZmQwNTQ4NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2VwdC1sYW5ndWFnZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXB0LWxhbmd1YWdlLnB5CkBAIC0x
LDMgKzEsMyBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJldHVybiBbKCJD
b250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpLAotICAgICAgICAgICAgcmVxdWVzdC5oZWFkZXJz
LmdldCgiQWNjZXB0LUxhbmd1YWdlIiwgIk5PIildCisgICAgcmV0dXJuIFsoYiJDb250ZW50LVR5
cGUiLCBiInRleHQvcGxhaW4iKSwKKyAgICAgICAgICAgIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJB
Y2NlcHQtTGFuZ3VhZ2UiLCBiIk5PIildCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXB0LnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vw
dC5weQppbmRleCBhMDMzZWJlYzY0Njc3NDc3NDRhMzIzNmFkMzg4ODZmYjliMmRkOGU1Li44NDJk
ZjgwY2RhMDA2NzA4NTUwNjIxMTRiNmNmMDYzMTM5ZDAzNWFiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXB0
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9hY2NlcHQucHkKQEAgLTEsMiArMSwyIEBACiBkZWYgbWFpbihyZXF1ZXN0LCBy
ZXNwb25zZSk6Ci0gICAgcmV0dXJuIFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIildLCBy
ZXF1ZXN0LmhlYWRlcnMuZ2V0KCJhY2NlcHQiLCAiTk8iKQorICAgIHJldHVybiBbKGIiQ29udGVu
dC1UeXBlIiwgYiJ0ZXh0L3BsYWluIildLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiYWNjZXB0Iiwg
YiJOTyIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctbGlzdHMucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNj
ZXNzLWNvbnRyb2wtYWxsb3ctbGlzdHMucHkKaW5kZXggNTI2ZDM2NWIzMTExZDQ2Y2U3MjNlOTJm
NzM3NjczYWZhYTMwMDk3Ny4uMzJjMTFhMGMzOWJhYTQ2NWYzMjE0YzM3ZTlhNjNmYTM1YTNhMzg2
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWFsbG93LWxpc3RzLnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nl
c3MtY29udHJvbC1hbGxvdy1saXN0cy5weQpAQCAtMSwyMCArMSwyNiBAQAogaW1wb3J0IGpzb24K
IAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19kZWNvZGUKKwogZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGlmICJvcmlnaW4iIGluIHJlcXVlc3QuR0VUOgot
ICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
IiwgcmVxdWVzdC5HRVRbIm9yaWdpbiJdKQotICAgIGVsaWYgIm9yaWdpbnMiIGluIHJlcXVlc3Qu
R0VUOgotICAgICAgICBmb3Igb3JpZ2luIGluIHJlcXVlc3QuR0VUWyJvcmlnaW5zIl0uc3BsaXQo
JywnKToKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4iLCByZXF1ZXN0LkdFVFsib3JpZ2luIl0pCisgICAgaWYgYiJvcmlnaW4iIGlu
IHJlcXVlc3QuR0VUOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250
cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VUW2Iib3JpZ2luIl0pCisgICAgZWxpZiBiIm9y
aWdpbnMiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBmb3Igb3JpZ2luIGluIHJlcXVlc3QuR0VU
W2Iib3JpZ2lucyJdLnNwbGl0KGInLCcpOgorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LkdFVFtiIm9yaWdpbiJd
KQogCi0gICAgaWYgImhlYWRlcnMiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICByZXNwb25zZS5o
ZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIHJlcXVlc3QuR0VUWyJo
ZWFkZXJzIl0pCi0gICAgaWYgIm1ldGhvZHMiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIHJlcXVlc3Qu
R0VUWyJtZXRob2RzIl0pCisgICAgaWYgYiJoZWFkZXJzIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwg
cmVxdWVzdC5HRVRbYiJoZWFkZXJzIl0pCisgICAgaWYgYiJtZXRob2RzIiBpbiByZXF1ZXN0LkdF
VDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1N
ZXRob2RzIiwgcmVxdWVzdC5HRVRbYiJtZXRob2RzIl0pCiAKICAgICBoZWFkZXJzID0gZGljdChy
ZXF1ZXN0LmhlYWRlcnMpCiAKICAgICBmb3IgaGVhZGVyIGluIGhlYWRlcnM6CiAgICAgICAgIGhl
YWRlcnNbaGVhZGVyXSA9IGhlYWRlcnNbaGVhZGVyXVswXQogCi0gICAgcmV0dXJuIGpzb24uZHVt
cHMoaGVhZGVycykKKyAgICBzdHJfaGVhZGVycyA9IHt9CisgICAgZm9yIGtleSwgdmFsIGluIGhl
YWRlcnMuaXRlbXMoKToKKyAgICAgICAgc3RyX2hlYWRlcnNbaXNvbW9ycGhpY19kZWNvZGUoa2V5
KV0gPSBpc29tb3JwaGljX2RlY29kZSh2YWwpCisKKyAgICByZXR1cm4ganNvbi5kdW1wcyhzdHJf
aGVhZGVycykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1hbGxvdy13aXRoLWJvZHkucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctd2l0aC1ib2R5LnB5CmluZGV4IDdjN2Y0NWM2OTAxM2I5
MGQ4ZGIwZmRlZWJlOWUxNDk2NGMwZTI0ZmUuLjE4NTY0ZTJkNDRlN2Y0Mzg3NDg3YTIyN2NiNWUz
NzkzZDlhNDYzM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1hbGxvdy13aXRoLWJvZHku
cHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWFsbG93LXdpdGgtYm9keS5weQpAQCAtMSwxNSArMSwx
NSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGhlYWRlcnMgPSB7Ci0gICAg
ICAgICJDYWNoZS1Db250cm9sIjogIm5vLXN0b3JlIiwKLSAgICAgICAgIkFjY2Vzcy1Db250cm9s
LUFsbG93LUhlYWRlcnMiOiAiWC1SZXF1ZXN0ZWQtV2l0aCIsCi0gICAgICAgICJBY2Nlc3MtQ29u
dHJvbC1NYXgtQWdlIjogMCwKLSAgICAgICAgIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiI6
ICIqIiwKLSAgICAgICAgIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiOiAiKiIsCi0gICAg
ICAgICJWYXJ5IjogIkFjY2VwdC1FbmNvZGluZyIsCi0gICAgICAgICJDb250ZW50LVR5cGUiOiAi
dGV4dC9wbGFpbiIKKyAgICAgICAgYiJDYWNoZS1Db250cm9sIjogYiJuby1zdG9yZSIsCisgICAg
ICAgIGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyI6IGIiWC1SZXF1ZXN0ZWQtV2l0aCIs
CisgICAgICAgIGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSI6IDAsCisgICAgICAgIGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luIjogYiIqIiwKKyAgICAgICAgYiJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1NZXRob2RzIjogYiIqIiwKKyAgICAgICAgYiJWYXJ5IjogYiJBY2NlcHQtRW5jb2Rpbmci
LAorICAgICAgICBiIkNvbnRlbnQtVHlwZSI6IGIidGV4dC9wbGFpbiIKICAgICB9CiAKICAgICBm
b3IgKG5hbWUsIHZhbHVlKSBpbiBoZWFkZXJzLml0ZW1zKCk6CiAgICAgICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KG5hbWUsIHZhbHVlKQogCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTIgor
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1MiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRy
b2wtYXV0aC1iYXNpYy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1hdXRoLWJhc2ljLnB5CmluZGV4IGFm
MzJhYWI5N2NkNWNlNjY0YTFmMWI2ZmVlMWI4NjRhZmM0NGUzNTEuLmQxYzU1NzljZTI0MmM2NzQ2
NDU2MGVlM2U0Nzk3MGM5MjM1ZGZjMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1hdXRo
LWJhc2ljLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1hdXRoLWJhc2ljLnB5CkBAIC0xLDE3ICsx
LDE3IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIkNhY2hlLUNvbnRyb2wiLCAibm8tc3RvcmUiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJv
cmlnaW4iKSkKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ct
Q3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgdWlkID0gcmVxdWVzdC5HRVQuZmlyc3QoInVpZCIs
IE5vbmUpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDYWNoZS1Db250cm9sIiwgYiJuby1z
dG9yZSIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCisgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1ZSIpCisg
ICAgdWlkID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJ1aWQiLCBOb25lKQogCi0gICAgaWYgcmVxdWVz
dC5tZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJQVVQiKQorICAgIGlmIHJlcXVlc3QubWV0aG9k
ID09IHUiT1BUSU9OUyI6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiUFVUIikKICAgICBlbHNlOgogICAgICAgICB1c2VybmFt
ZSA9IHJlcXVlc3QuYXV0aC51c2VybmFtZQogICAgICAgICBwYXNzd29yZCA9IHJlcXVlc3QuYXV0
aC5wYXNzd29yZAogICAgICAgICBpZiAobm90IHVzZXJuYW1lKSBvciAodXNlcm5hbWUgIT0gdWlk
KToKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJXV1ctQXV0aGVudGljYXRlIiwg
IkJhc2ljIHJlYWxtPSdUZXN0IFJlYWxtL0Nyb3NzIE9yaWdpbiciKQorICAgICAgICAgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJXV1ctQXV0aGVudGljYXRlIiwgYiJCYXNpYyByZWFsbT0nVGVz
dCBSZWFsbS9Dcm9zcyBPcmlnaW4nIikKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDQw
MQotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJBdXRoZW50aWNhdGlvbiBjYW5jZWxs
ZWQiCisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJBdXRoZW50aWNhdGlvbiBjYW5j
ZWxsZWQiCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlVz
ZXI6ICIgKyB1c2VybmFtZSArICIsIFBhc3N3b3JkOiAiICsgcGFzc3dvcmQKKyAgICAgICAgICAg
IHJlc3BvbnNlLmNvbnRlbnQgPSBiIlVzZXI6ICIgKyB1c2VybmFtZSArIGIiLCBQYXNzd29yZDog
IiArIHBhc3N3b3JkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctbm8t
Y3JlZGVudGlhbHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctbm8tY3JlZGVudGlh
bHMucHkKaW5kZXggMTJmODY2MGQxZmMyNjM2YjAxMGE4Y2Q0MzBjMDI4Yzc1MGY4MTRiYS4uMWI4
YmNkYjhhZTk4MTRmYWIyODQ0OTU4MmY1NTY0YzdkNmRhY2U1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vz
cy1jb250cm9sLWJhc2ljLWFsbG93LW5vLWNyZWRlbnRpYWxzLnB5CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29u
dHJvbC1iYXNpYy1hbGxvdy1uby1jcmVkZW50aWFscy5weQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vz
ci9iaW4vZW52IHB5dGhvbgogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpCi0gICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVh
ZGVycy5nZXQoIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29udGVudC1U
eXBlIiwgYiJ0ZXh0L3BsYWluIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJvcmlnaW4iKSkKIAot
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2Vk
LiIKKyAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBDcm9zcy1kb21haW4gYWNjZXNzIGFs
bG93ZWQuIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXN0YXIucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctc3Rhci5weQppbmRleCA0NTU3YzA2YjBlM2E1
NTQ0YjNmNzBjMGM4MGRmOGMwMDliNDIzMTg4Li44ZDQ2NDJkMDk4Y2FjM2M2Mzg1MzYxZDk3Mjc0
YTE0YTk2ZGU4MTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctc3Rh
ci5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctc3Rhci5weQpAQCAtMSw2ICsx
LDYgQEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIp
Ci0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIs
ICIqIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9w
bGFpbiIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCBiIioiKQogCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBDcm9zcy1kb21h
aW4gYWNjZXNzIGFsbG93ZWQuIgorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IENyb3Nz
LWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFz
aWMtYWxsb3cucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3cucHkKaW5kZXggMjMyNTky
NTE1N2MxZTVlMjZkMzZkNzdhY2ZkYzVmNjE1NTE5OWY1My4uNjA1MWJjMmNkYzRmNjhlN2VhMTA5
ZmE2ZDkyMTZiNDBmZjg2NmVlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFs
bG93LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy5weQpAQCAtMSw3ICsxLDcg
QEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgot
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpCi0g
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxz
IiwgInRydWUiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKKyAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCisgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1ZSIp
CisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4i
LCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCiAKLSAgICByZXNwb25zZS5jb250ZW50
ID0gIlBBU1M6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCisgICAgcmVzcG9uc2UuY29u
dGVudCA9IGIiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1iYXNpYy1jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWNvcnMtc2FmZWxpc3RlZC1yZXF1ZXN0LWhlYWRlcnMu
cHkKaW5kZXggZWJhMGU3ZDRjNWNhZmM4NjY0YzA2NDNiOGFkMjQ3MTM3Mzc0YmVmMi4uNDY1MjNh
OTA1YTlmNzAxODNkMGE1ZTk2Y2ZmMmQ3NmFkOWU2ZDU0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1j
b250cm9sLWJhc2ljLWNvcnMtc2FmZWxpc3RlZC1yZXF1ZXN0LWhlYWRlcnMucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLWJhc2ljLWNvcnMtc2FmZWxpc3RlZC1yZXF1ZXN0LWhlYWRlcnMucHkKQEAg
LTEsMTQgKzEsMTYgQEAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVj
b2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiQ2FjaGUtQ29udHJvbCIsICJuby1zdG9yZSIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYiJDYWNoZS1Db250cm9sIiwgYiJuby1zdG9yZSIpCiAKICAgICAjIFRoaXMgc2hvdWxkIGJl
IGEgc2ltcGxlIHJlcXVlc3Q7IGRlbnkgcHJlZmxpZ2h0Ci0gICAgaWYgcmVxdWVzdC5tZXRob2Qg
IT0gIlBPU1QiOgorICAgIGlmIHJlcXVlc3QubWV0aG9kICE9IHUiUE9TVCI6CiAgICAgICAgIHJl
c3BvbnNlLnN0YXR1cyA9IDQwMAogICAgICAgICByZXR1cm4KIAotICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikKLSAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVz
dC5oZWFkZXJzLmdldCgib3JpZ2luIikpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1ZSIpCisgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMu
Z2V0KGIib3JpZ2luIikpCiAKLSAgICBmb3IgaGVhZGVyIGluIFsiQWNjZXB0IiwgIkFjY2VwdC1M
YW5ndWFnZSIsICJDb250ZW50LUxhbmd1YWdlIiwgIkNvbnRlbnQtVHlwZSJdOgorICAgIGZvciBo
ZWFkZXIgaW4gW2IiQWNjZXB0IiwgYiJBY2NlcHQtTGFuZ3VhZ2UiLCBiIkNvbnRlbnQtTGFuZ3Vh
Z2UiLCBiIkNvbnRlbnQtVHlwZSJdOgogICAgICAgICB2YWx1ZSA9IHJlcXVlc3QuaGVhZGVycy5n
ZXQoaGVhZGVyKQotICAgICAgICByZXNwb25zZS5jb250ZW50ICs9IGhlYWRlciArICI6ICIgKyAo
dmFsdWUgaWYgdmFsdWUgZWxzZSAiPE5vbmU+IikgKyAnXG4nCisgICAgICAgIHJlc3BvbnNlLmNv
bnRlbnQgKz0gaXNvbW9ycGhpY19kZWNvZGUoaGVhZGVyKSArIHUiOiAiICsgKGlzb21vcnBoaWNf
ZGVjb2RlKHZhbHVlKSBpZiB2YWx1ZSBlbHNlIHUiPE5vbmU+IikgKyB1J1xuJwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNp
Yy1kZW5pZWQucHkKaW5kZXggOWY4Njg3ODU0NTk4YzE2YTJiODkzY2FkYTk5OTFkY2EyYjAyMzEz
ZC4uMGQzOTY0Y2IxMTU3Zjc1YmJjNTlkMmZhNzVjMTZhYTk4OTUxYTU5MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFz
aWMtZGVuaWVkLnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9sIiwgIm5vLXN0b3JlIikK
LSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQor
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tc3RvcmUiKQor
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0L3BsYWluIikK
IAotICAgIHJlc3BvbnNlLnRleHQgPSAiRkFJTDogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2Vk
LiIKKyAgICByZXNwb25zZS50ZXh0ID0gYiJGQUlMOiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93
ZWQuIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLW9wdGlvbnMtbm90LXN1cHBv
cnRlZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1vcHRpb25zLW5vdC1zdXBwb3J0ZWQucHkK
aW5kZXggNzdiMjc0ZTk1N2NhODcyNzA5MjZhZDQ2MjJkMmM3OWVjOTYwMGZlZC4uYmIzZjYzZTMx
MWY2NDQ1NWE3ODlmMmEzMTZlMjhhODJhYTUyNTdiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250
cm9sLWJhc2ljLW9wdGlvbnMtbm90LXN1cHBvcnRlZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wt
YmFzaWMtb3B0aW9ucy1ub3Qtc3VwcG9ydGVkLnB5CkBAIC0xLDExICsxLDExIEBACiBkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNhY2hlLUNv
bnRyb2wiLCAibm8tc3RvcmUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29u
dHJvbCIsIGIibm8tc3RvcmUiKQogCiAgICAgIyBBbGxvdyBzaW1wbGUgcmVxdWVzdHMsIGJ1dCBk
ZW55IHByZWZsaWdodAotICAgIGlmIHJlcXVlc3QubWV0aG9kICE9ICJPUFRJT05TIjoKLSAgICAg
ICAgaWYgIm9yaWdpbiIgaW4gcmVxdWVzdC5oZWFkZXJzOgotICAgICAgICAgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUiKQot
ICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiIsIHJlcXVlc3QuaGVhZGVyc1sib3JpZ2luIl0pCisgICAgaWYgcmVxdWVzdC5tZXRob2Qg
IT0gdSJPUFRJT05TIjoKKyAgICAgICAgaWYgYiJvcmlnaW4iIGluIHJlcXVlc3QuaGVhZGVyczoK
KyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ct
Q3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
YiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnNbYiJvcmlnaW4i
XSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDUwMAogICAg
IGVsc2U6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hl
LWludmFsaWRhdGlvbi5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUt
aW52YWxpZGF0aW9uLnB5CmluZGV4IDZkYzhhMmExNTA3OTNiNjI0NGZkNWZhNzExYmQ3M2M3NDBk
NTlhMWUuLmY0ZjU5MmRhYzc5MjI0ZjUxZDEzMGEzMjAyNzhjNWMwMzg2MzkyMzkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUtaW52YWxpZGF0aW9uLnB5
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUtaW52YWxpZGF0aW9u
LnB5CkBAIC0xLDQ2ICsxLDQ4IEBACitmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3Jw
aGljX2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgZGVmIGZhaWwo
bWVzc2FnZSk6Ci0gICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiRkFJTCAiICsgcmVxdWVzdC5t
ZXRob2QgKyAiOiAiICsgc3RyKG1lc3NhZ2UpCisgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBi
IkZBSUwgIiArIGlzb21vcnBoaWNfZW5jb2RlKHJlcXVlc3QubWV0aG9kKSArIGIiOiAiICsgbWVz
c2FnZQogCiAgICAgZGVmIGdldFN0YXRlKHRva2VuKToKICAgICAgICAgc2VydmVyX3N0YXRlID0g
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKICAgICAgICAgaWYgbm90IHNlcnZlcl9z
dGF0ZToKLSAgICAgICAgICAgIHJldHVybiAiVW5pbml0aWFsaXplZCIKKyAgICAgICAgICAgIHJl
dHVybiBiIlVuaW5pdGlhbGl6ZWQiCiAgICAgICAgIHJldHVybiBzZXJ2ZXJfc3RhdGUKIAogICAg
IGRlZiBzZXRTdGF0ZShzdGF0ZSwgdG9rZW4pOgogICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFz
aC5wdXQodG9rZW4sIHN0YXRlKQogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdpbiIpKQotICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIs
ICJ0cnVlIikKLSAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBy
ZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
YiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1ZSIpCisgICAgdG9rZW4g
PSByZXF1ZXN0LkdFVC5maXJzdChiInRva2VuIiwgTm9uZSkKICAgICBzdGF0ZSA9IGdldFN0YXRl
KHRva2VuKQogCi0gICAgaWYgc3RhdGUgPT0gIlVuaW5pdGlhbGl6ZWQiOgotICAgICAgICBpZiBy
ZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJQVVQiKQotICAgICAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxMCkKLSAgICAg
ICAgICAgIHNldFN0YXRlKCJPUFRJT05TU2VudCIsIHRva2VuKQorICAgIGlmIHN0YXRlID09IGIi
VW5pbml0aWFsaXplZCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiT1BUSU9OUyI6
CisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93
LU1ldGhvZHMiLCBiIlBVVCIpCisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFj
Y2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxMCkKKyAgICAgICAgICAgIHNldFN0YXRlKGIiT1BUSU9O
U1NlbnQiLCB0b2tlbikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZhaWwoc3RhdGUpCi0g
ICAgZWxpZiBzdGF0ZSA9PSAiT1BUSU9OU1NlbnQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhv
ZCA9PSAiUFVUIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogRmlyc3Qg
UFVUIHJlcXVlc3QuIgotICAgICAgICAgICAgc2V0U3RhdGUoIkZpcnN0UFVUU2VudCIsIHRva2Vu
KQorICAgIGVsaWYgc3RhdGUgPT0gYiJPUFRJT05TU2VudCI6CisgICAgICAgIGlmIHJlcXVlc3Qu
bWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6
IEZpcnN0IFBVVCByZXF1ZXN0LiIKKyAgICAgICAgICAgIHNldFN0YXRlKGIiRmlyc3RQVVRTZW50
IiwgdG9rZW4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVs
aWYgc3RhdGUgPT0gIkZpcnN0UFVUU2VudCI6Ci0gICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09
ICJPUFRJT05TIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCwgWE1FVEhPRCIpCi0gICAgICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4LXRlc3QiKQot
ICAgICAgICAgICAgc2V0U3RhdGUoIlNlY29uZE9QVElPTlNTZW50IiwgdG9rZW4pCi0gICAgICAg
IGVsaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAgICAgICBmYWlsKCJTZWNvbmQg
UFVUIHJlcXVlc3Qgc2VudCB3aXRob3V0IHByZWZsaWdodCIpCisgICAgZWxpZiBzdGF0ZSA9PSBi
IkZpcnN0UFVUU2VudCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiT1BUSU9OUyI6
CisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93
LU1ldGhvZHMiLCBiIlBVVCwgWE1FVEhPRCIpCisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCBiIngtdGVzdCIpCisgICAgICAg
ICAgICBzZXRTdGF0ZShiIlNlY29uZE9QVElPTlNTZW50IiwgdG9rZW4pCisgICAgICAgIGVsaWYg
cmVxdWVzdC5tZXRob2QgPT0gdSJQVVQiOgorICAgICAgICAgICAgZmFpbChiIlNlY29uZCBQVVQg
cmVxdWVzdCBzZW50IHdpdGhvdXQgcHJlZmxpZ2h0IikKICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgIGZhaWwoc3RhdGUpCi0gICAgZWxpZiBzdGF0ZSA9PSAiU2Vjb25kT1BUSU9OU1NlbnQiOgot
ICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiUFVUIiBvciByZXF1ZXN0Lm1ldGhvZCA9PSAi
WE1FVEhPRCI6Ci0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IFNlY29uZCBP
UFRJT05TIHJlcXVlc3Qgd2FzIHNlbnQuIgorICAgIGVsaWYgc3RhdGUgPT0gYiJTZWNvbmRPUFRJ
T05TU2VudCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIiBvciByZXF1ZXN0
Lm1ldGhvZCA9PSB1IlhNRVRIT0QiOgorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIi
UEFTUzogU2Vjb25kIE9QVElPTlMgcmVxdWVzdCB3YXMgc2VudC4iCiAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICBmYWlsKHN0YXRlKQogICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNv
bnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLXRpbWVvdXQucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wt
YmFzaWMtcHJlZmxpZ2h0LWNhY2hlLXRpbWVvdXQucHkKaW5kZXggYTc2N2Q4YTRhNTZkMzZlMjg5
ZjE2OTgxZWRiYTM4MDU0ZDkwYWRiMS4uMDBjMzE5ZjA4MmFmNzAwZDZjNTYxNmU0ODlhZjRmNjg0
ZGY2NTM1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNo
ZS10aW1lb3V0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUt
dGltZW91dC5weQpAQCAtMSw0NyArMSw0OSBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQg
aXNvbW9ycGhpY19lbmNvZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGRl
ZiBmYWlsKG1lc3NhZ2UpOgotICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUwgIiArIHJl
cXVlc3QubWV0aG9kICsgIjogIiArIHN0cihtZXNzYWdlKQorICAgICAgICByZXNwb25zZS5jb250
ZW50ID0gYiJGQUlMICIgKyBpc29tb3JwaGljX2VuY29kZShyZXF1ZXN0Lm1ldGhvZCkgKyBiIjog
IiArIG1lc3NhZ2UKIAogICAgIGRlZiBnZXRTdGF0ZSh0b2tlbik6CiAgICAgICAgIHNlcnZlcl9z
dGF0ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodG9rZW4pCiAgICAgICAgIGlmIG5vdCBz
ZXJ2ZXJfc3RhdGU6Ci0gICAgICAgICAgICByZXR1cm4gIlVuaW5pdGlhbGl6ZWQiCisgICAgICAg
ICAgICByZXR1cm4gYiJVbmluaXRpYWxpemVkIgogICAgICAgICByZXR1cm4gc2VydmVyX3N0YXRl
CiAKICAgICBkZWYgc2V0U3RhdGUoc3RhdGUsIHRva2VuKToKICAgICAgICAgcmVxdWVzdC5zZXJ2
ZXIuc3Rhc2gucHV0KHRva2VuLCBzdGF0ZSkKIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4i
KSkKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVu
dGlhbHMiLCAidHJ1ZSIpCi0gICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBO
b25lKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3Jp
Z2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAg
IHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJ0b2tlbiIsIE5vbmUpCiAgICAgc3RhdGUgPSBn
ZXRTdGF0ZSh0b2tlbikKIAotICAgIGlmIHN0YXRlID09ICJVbmluaXRpYWxpemVkIjoKLSAgICAg
ICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICAgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiUFVUIikKLSAgICAg
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJz
IiwgIngtdGVzdCIpCi0gICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNv
bnRyb2wtTWF4LUFnZSIsIDEpCi0gICAgICAgICAgICBzZXRTdGF0ZSgiT1BUSU9OU1NlbnQiLCB0
b2tlbikKKyAgICBpZiBzdGF0ZSA9PSBiIlVuaW5pdGlhbGl6ZWQiOgorICAgICAgICBpZiByZXF1
ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQVVQiKQorICAgICAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4
LXRlc3QiKQorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJv
bC1NYXgtQWdlIiwgMSkKKyAgICAgICAgICAgIHNldFN0YXRlKGIiT1BUSU9OU1NlbnQiLCB0b2tl
bikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZhaWwoc3RhdGUpCi0gICAgZWxpZiBzdGF0
ZSA9PSAiT1BUSU9OU1NlbnQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiUFVUIjoK
LSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogRmlyc3QgUFVUIHJlcXVlc3Qu
IgotICAgICAgICAgICAgc2V0U3RhdGUoIkZpcnN0UFVUU2VudCIsIHRva2VuKQorICAgIGVsaWYg
c3RhdGUgPT0gYiJPUFRJT05TU2VudCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUi
UFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IEZpcnN0IFBVVCBy
ZXF1ZXN0LiIKKyAgICAgICAgICAgIHNldFN0YXRlKGIiRmlyc3RQVVRTZW50IiwgdG9rZW4pCiAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0g
IkZpcnN0UFVUU2VudCI6Ci0gICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoK
LSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1N
ZXRob2RzIiwgIlBVVCIpCi0gICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4LXRlc3QiKQotICAgICAgICAgICAgc2V0U3RhdGUo
IlNlY29uZE9QVElPTlNTZW50IiwgdG9rZW4pCi0gICAgICAgIGVsaWYgcmVxdWVzdC5tZXRob2Qg
PT0gIlBVVCI6Ci0gICAgICAgICAgICBmYWlsKCJTZWNvbmQgUFVUIHJlcXVlc3Qgc2VudCB3aXRo
b3V0IHByZWZsaWdodCIpCisgICAgZWxpZiBzdGF0ZSA9PSBiIkZpcnN0UFVUU2VudCI6CisgICAg
ICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiT1BUSU9OUyI6CisgICAgICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCBiIlBVVCIpCisg
ICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUhl
YWRlcnMiLCBiIngtdGVzdCIpCisgICAgICAgICAgICBzZXRTdGF0ZShiIlNlY29uZE9QVElPTlNT
ZW50IiwgdG9rZW4pCisgICAgICAgIGVsaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJQVVQiOgorICAg
ICAgICAgICAgZmFpbChiIlNlY29uZCBQVVQgcmVxdWVzdCBzZW50IHdpdGhvdXQgcHJlZmxpZ2h0
IikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZhaWwoc3RhdGUpCi0gICAgZWxpZiBzdGF0
ZSA9PSAiU2Vjb25kT1BUSU9OU1NlbnQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAi
UFVUIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogU2Vjb25kIE9QVElP
TlMgcmVxdWVzdCB3YXMgc2VudC4iCisgICAgZWxpZiBzdGF0ZSA9PSBiIlNlY29uZE9QVElPTlNT
ZW50IjoKKyAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJQVVQiOgorICAgICAgICAgICAg
cmVzcG9uc2UuY29udGVudCA9IGIiUEFTUzogU2Vjb25kIE9QVElPTlMgcmVxdWVzdCB3YXMgc2Vu
dC4iCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQogICAgIGVsc2U6CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS5weQppbmRleCA1Njg5MmZiNmIxMmMx
YzliMmY5OWM1NzkzOTgwNmY0YTg0YjcyOWQxLi43YTZiYjYwYzAxYTcwY2E4ZWZkNGIyMGQxZjhm
Y2NkNDdiYTQyMjhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0
LWNhY2hlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUucHkK
QEAgLTEsNDYgKzEsNDkgQEAKKworZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhp
Y19lbmNvZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGRlZiBmYWlsKG1l
c3NhZ2UpOgotICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUwgIiArIHJlcXVlc3QubWV0
aG9kICsgIjogIiArIHN0cihtZXNzYWdlKQorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJG
QUlMICIgKyBpc29tb3JwaGljX2VuY29kZShyZXF1ZXN0Lm1ldGhvZCkgKyBiIjogIiArIG1lc3Nh
Z2UKICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCiAKICAgICBkZWYgZ2V0U3RhdGUodG9r
ZW4pOgogICAgICAgICBzZXJ2ZXJfc3RhdGUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRv
a2VuKQogICAgICAgICBpZiBub3Qgc2VydmVyX3N0YXRlOgotICAgICAgICAgICAgcmV0dXJuICJV
bmluaXRpYWxpemVkIgorICAgICAgICAgICAgcmV0dXJuIGIiVW5pbml0aWFsaXplZCIKICAgICAg
ICAgcmV0dXJuIHNlcnZlcl9zdGF0ZQogCiAgICAgZGVmIHNldFN0YXRlKHN0YXRlLCB0b2tlbik6
CiAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgc3RhdGUpCiAKLSAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVz
dC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vz
cy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUiKQotICAgIHRva2VuID0gcmVxdWVz
dC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJvcmlnaW4i
KSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRl
bnRpYWxzIiwgYiJ0cnVlIikKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KGIidG9rZW4i
LCBOb25lKQogICAgIHN0YXRlID0gZ2V0U3RhdGUodG9rZW4pCiAKLSAgICBpZiBzdGF0ZSA9PSAi
VW5pbml0aWFsaXplZCI6Ci0gICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoK
LSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1N
ZXRob2RzIiwgIlBVVCIpCi0gICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNz
LUNvbnRyb2wtTWF4LUFnZSIsIDEwKQotICAgICAgICAgICAgc2V0U3RhdGUoIk9QVElPTlNTZW50
IiwgdG9rZW4pCisgICAgaWYgc3RhdGUgPT0gYiJVbmluaXRpYWxpemVkIjoKKyAgICAgICAgaWYg
cmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiUFVUIikKKyAgICAgICAg
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDEwKQor
ICAgICAgICAgICAgc2V0U3RhdGUoYiJPUFRJT05TU2VudCIsIHRva2VuKQogICAgICAgICBlbHNl
OgogICAgICAgICAgICAgZmFpbChzdGF0ZSkKLSAgICBlbGlmIHN0YXRlID09ICJPUFRJT05TU2Vu
dCI6Ci0gICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgcmVz
cG9uc2UuY29udGVudCA9ICJQQVNTOiBGaXJzdCBQVVQgcmVxdWVzdC4iCi0gICAgICAgICAgICBz
ZXRTdGF0ZSgiRmlyc3RQVVRTZW50IiwgdG9rZW4pCisgICAgZWxpZiBzdGF0ZSA9PSBiIk9QVElP
TlNTZW50IjoKKyAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJQVVQiOgorICAgICAgICAg
ICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUzogRmlyc3QgUFVUIHJlcXVlc3QuIgorICAgICAg
ICAgICAgc2V0U3RhdGUoYiJGaXJzdFBVVFNlbnQiLCB0b2tlbikKICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgIGZhaWwoc3RhdGUpCi0gICAgZWxpZiBzdGF0ZSA9PSAiRmlyc3RQVVRTZW50IjoK
LSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAgICAgICByZXNwb25z
ZS5jb250ZW50ID0gIlBBU1M6IFNlY29uZCBQVVQgcmVxdWVzdC4gUHJlZmxpZ2h0IHdvcmtlZC4i
Ci0gICAgICAgIGVsaWYgcmVxdWVzdC5tZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiUFVU
IikKLSAgICAgICAgICAgIHNldFN0YXRlKCJGQUlMU2Vjb25kT1BUSU9OU1NlbnQiLCB0b2tlbikK
KyAgICBlbGlmIHN0YXRlID09IGIiRmlyc3RQVVRTZW50IjoKKyAgICAgICAgaWYgcmVxdWVzdC5t
ZXRob2QgPT0gdSJQVVQiOgorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUzog
U2Vjb25kIFBVVCByZXF1ZXN0LiBQcmVmbGlnaHQgd29ya2VkLiIKKyAgICAgICAgZWxpZiByZXF1
ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQVVQiKQorICAgICAgICAgICAg
c2V0U3RhdGUoYiJGQUlMU2Vjb25kT1BUSU9OU1NlbnQiLCB0b2tlbikKICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgIGZhaWwoc3RhdGUpCi0gICAgZWxpZiBzdGF0ZSA9PSAiRkFJTFNlY29uZE9Q
VElPTlNTZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAg
ICAgICBmYWlsKCJTZWNvbmQgT1BUSU9OUyByZXF1ZXN0IHdhcyBzZW50LiBQcmVmbGlnaHQgZmFp
bGVkLiIpCisgICAgZWxpZiBzdGF0ZSA9PSBiIkZBSUxTZWNvbmRPUFRJT05TU2VudCI6CisgICAg
ICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIGZhaWwoYiJTZWNv
bmQgT1BUSU9OUyByZXF1ZXN0IHdhcyBzZW50LiBQcmVmbGlnaHQgZmFpbGVkLiIpCiAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQogICAgIGVsc2U6CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtYmFzaWMtcHV0LWFsbG93LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2lj
LXB1dC1hbGxvdy5weQppbmRleCA2NWY2NDY2ZjU5NzJkMjg0Nzg2ODc5MzlmNmVlYTljYjQyOGQ0
OGM0Li45YjM0N2JjYTQyMzRlNWRjY2JmNWY3MWMzNjU3YjFhMDJkNWM3YWM2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHV0LWFsbG93LnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJv
bC1iYXNpYy1wdXQtYWxsb3cucHkKQEAgLTEsMjAgKzEsMjIgQEAKK2Zyb20gd3B0c2VydmUudXRp
bHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpCi0gICAgICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVl
IikKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1l
dGhvZHMiLCAiUFVUIikKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250
cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdpbiIpKQorICAgIGlm
IHJlcXVlc3QubWV0aG9kID09IHUiT1BUSU9OUyI6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0L3BsYWluIikKKyAgICAgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1ZSIpCisg
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9k
cyIsIGIiUFVUIikKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCiAKLSAgICBl
bGlmIHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1
ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKLSAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQ
QVNTOiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93ZWQuIgorICAgIGVsaWYgcmVxdWVzdC5tZXRo
b2QgPT0gdSJQVVQiOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlw
ZSIsIGIidGV4dC9wbGFpbiIpCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgICAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVy
cy5nZXQoYiJvcmlnaW4iKSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUzogQ3Jv
c3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmVz
cG9uc2UuY29udGVudCArPSAiXG4iICsgcmVxdWVzdC5ib2R5CisgICAgICAgICAgICByZXNwb25z
ZS5jb250ZW50ICs9IGIiXG4iICsgcmVxdWVzdC5ib2R5CiAgICAgICAgIGV4Y2VwdDoKLSAgICAg
ICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgKz0gIkNvdWxkIG5vdCByZWFkIGluIGNvbnRlbnQuIgor
ICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCArPSBiIkNvdWxkIG5vdCByZWFkIGluIGNvbnRl
bnQuIgogCiAgICAgZWxzZToKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQt
VHlwZSIsICJ0ZXh0L3BsYWluIikKLSAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJXcm9uZyBt
ZXRob2Q6ICIgKyByZXF1ZXN0Lm1ldGhvZAorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChi
IkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCisgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQg
PSBiIldyb25nIG1ldGhvZDogIiArIGlzb21vcnBoaWNfZW5jb2RlKHJlcXVlc3QubWV0aG9kKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXdoaXRlbGlzdC1yZXNwb25zZS1oZWFk
ZXJzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXdoaXRlbGlzdC1yZXNwb25zZS1oZWFkZXJz
LnB5CmluZGV4IDRkYWM3NTMzMTk3NmVkODM0MzI4NTliYmVhY2ViMmE1YTY0OGQ0ODEuLjM0NmI2
YjkxOTY1NmIyM2ZiOTExNTg3ZDQ0Nzc1NjcxMWE1OTIzMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3Mt
Y29udHJvbC1iYXNpYy13aGl0ZWxpc3QtcmVzcG9uc2UtaGVhZGVycy5weQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtd2hpdGVsaXN0LXJlc3BvbnNlLWhlYWRlcnMucHkKQEAgLTEsMTkgKzEs
MTkgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBoZWFkZXJzID0gewogICAg
ICAgICAjIENPUlMtc2FmZWxpc3RlZAotICAgICAgICAiY29udGVudC10eXBlIjogInRleHQvcGxh
aW4iLAotICAgICAgICAiY2FjaGUtY29udHJvbCI6ICJubyBjYWNoZSIsCi0gICAgICAgICJjb250
ZW50LWxhbmd1YWdlIjogImVuIiwKLSAgICAgICAgImV4cGlyZXMiOiAiRnJpLCAzMCBPY3QgMTk5
OCAxNDoxOTo0MSBHTVQiLAotICAgICAgICAibGFzdC1tb2RpZmllZCI6ICJUdWUsIDE1IE5vdiAx
OTk0IDEyOjQ1OjI2IEdNVCIsCi0gICAgICAgICJwcmFnbWEiOiAibm8tY2FjaGUiLAorICAgICAg
ICBiImNvbnRlbnQtdHlwZSI6IGIidGV4dC9wbGFpbiIsCisgICAgICAgIGIiY2FjaGUtY29udHJv
bCI6IGIibm8gY2FjaGUiLAorICAgICAgICBiImNvbnRlbnQtbGFuZ3VhZ2UiOiBiImVuIiwKKyAg
ICAgICAgYiJleHBpcmVzIjogYiJGcmksIDMwIE9jdCAxOTk4IDE0OjE5OjQxIEdNVCIsCisgICAg
ICAgIGIibGFzdC1tb2RpZmllZCI6IGIiVHVlLCAxNSBOb3YgMTk5NCAxMjo0NToyNiBHTVQiLAor
ICAgICAgICBiInByYWdtYSI6IGIibm8tY2FjaGUiLAogCiAgICAgICAgICMgTm9uLUNPUlMtc2Fm
ZWxpc3RlZAotICAgICAgICAieC10ZXN0IjogImZvb2JhciIsCisgICAgICAgIGIieC10ZXN0Ijog
YiJmb29iYXIiLAogCi0gICAgICAgICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOiAiKiIK
KyAgICAgICAgYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOiBiIioiCiAgICAgfQogICAg
IGZvciBoZWFkZXIgaW4gaGVhZGVyczoKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoaGVh
ZGVyLCBoZWFkZXJzW2hlYWRlcl0pCiAKLSAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IENy
b3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCisgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFT
UzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29u
dHJvbC1jb29raWUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtY29va2llLnB5CmluZGV4IDFlMGQ0MWQy
MmVhYTg4NTIxZjFkMjFjOTJmNjU4ZjBlODUyMmI5YjEuLjhjMjY0NzVjMzg3YTdkZTc0NTgwNjBm
MThhZGVhYjNiNjQyOTM2MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1jb29raWUucHkK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2Vzcy1jb250cm9sLWNvb2tpZS5weQpAQCAtMSwxNiArMSwxNiBAQAogaW1wb3J0
IGRhdGV0aW1lCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBjb29raWVfbmFt
ZSA9IHJlcXVlc3QuR0VULmZpcnN0KCJjb29raWVfbmFtZSIsICIiKQorICAgIGNvb2tpZV9uYW1l
ID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJjb29raWVfbmFtZSIsIGIiIikKIAotICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9sIiwgIm5vLXN0b3JlIikKLSAgICByZXNwb25zZS5o
ZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJz
LmdldCgib3JpZ2luIikpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9s
LUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIi
Q2FjaGUtQ29udHJvbCIsIGIibm8tc3RvcmUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdp
biIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3Jl
ZGVudGlhbHMiLCBiInRydWUiKQogCiAgICAgZm9yIGNvb2tpZSBpbiByZXF1ZXN0LmNvb2tpZXM6
CiAgICAgICAgICMgU2V0IGNvb2tpZSB0byBleHBpcmUgeWVzdGVyZGF5Ci0gICAgICAgIHJlc3Bv
bnNlLnNldF9jb29raWUoY29va2llLCAiZGVsZXRlZCIsIGV4cGlyZXM9LWRhdGV0aW1lLnRpbWVk
ZWx0YShkYXlzPTEpKQorICAgICAgICByZXNwb25zZS5zZXRfY29va2llKGNvb2tpZSwgYiJkZWxl
dGVkIiwgZXhwaXJlcz0tZGF0ZXRpbWUudGltZWRlbHRhKGRheXM9MSkpCiAKICAgICBpZiBjb29r
aWVfbmFtZToKICAgICAgICAgIyBTZXQgY29va2llIHRvIGV4cGlyZSB0b21vcnJvdwotICAgICAg
ICByZXNwb25zZS5zZXRfY29va2llKGNvb2tpZV9uYW1lLCAiQ09PS0lFIiwgZXhwaXJlcz1kYXRl
dGltZS50aW1lZGVsdGEoZGF5cz0xKSkKKyAgICAgICAgcmVzcG9uc2Uuc2V0X2Nvb2tpZShjb29r
aWVfbmFtZSwgYiJDT09LSUUiLCBleHBpcmVzPWRhdGV0aW1lLnRpbWVkZWx0YShkYXlzPTEpKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLW9yaWdpbi1oZWFkZXIucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNv
bnRyb2wtb3JpZ2luLWhlYWRlci5weQppbmRleCBmNTEyODc3NmQyYjYwYzdkODM5MDcyNTNjNjMw
NWJmNDdlZDIxMTdmLi5lMjgyZmU0NDI1MDA0Y2QxY2M4MmViZDY0ODhmNzBiZWM0ZjRhOTVkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtb3JpZ2luLWhlYWRlci5weQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNz
LWNvbnRyb2wtb3JpZ2luLWhlYWRlci5weQpAQCAtMSw5ICsxLDkgQEAKICMhL3Vzci9iaW4vZW52
IHB5dGhvbgogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpCi0gICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIkNhY2hlLUNvbnRyb2wiLCAibm8tY2FjaGUsIG5vLXN0b3JlIikKLSAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctRXh0ZXJuYWwiLCAidHJ1ZSIpCi0g
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsICIq
IikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFp
biIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDYWNoZS1Db250cm9sIiwgYiJuby1jYWNo
ZSwgbm8tc3RvcmUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctRXh0ZXJuYWwiLCBiInRydWUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgYiIqIikKIAotICAgIHJlc3BvbnNlLmNvbnRlbnQg
PSAiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLlxuIgotICAgIHJlc3BvbnNlLmNv
bnRlbnQgKz0gIkhUVFBfT1JJR0lOOiAiICsgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikK
KyAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93
ZWQuXG4iCisgICAgcmVzcG9uc2UuY29udGVudCArPSBiIkhUVFBfT1JJR0lOOiAiICsgcmVxdWVz
dC5oZWFkZXJzLmdldChiIm9yaWdpbiIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJl
ZmxpZ2h0LWRlbmllZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLnB5Cmlu
ZGV4IDg4OWVlNmIwZWNhNmNhNjhlN2I4MzQ1ZmEyYTEwMzExMDNhODg4NmMuLjFlYzMwMzdmMzZi
ODg0MDJlNWY1OWIzN2IzODQyZDE5ZGYxMGZhMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJv
bC1wcmVmbGlnaHQtZGVuaWVkLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVu
aWVkLnB5CkBAIC0xLDQ5ICsxLDQ5IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAg
ICAgZGVmIGZhaWwobWVzc2FnZSk6Ci0gICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiRkFJTDog
IiArIHN0cihtZXNzYWdlKQorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJGQUlMOiAiICsg
bWVzc2FnZQogICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDAKIAogICAgIGRlZiBnZXRTdGF0
ZSh0b2tlbik6CiAgICAgICAgIHNlcnZlcl9zdGF0ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRh
a2UodG9rZW4pCiAgICAgICAgIGlmIG5vdCBzZXJ2ZXJfc3RhdGU6Ci0gICAgICAgICAgICByZXR1
cm4gIlVuaW5pdGlhbGl6ZWQiCisgICAgICAgICAgICByZXR1cm4gYiJVbmluaXRpYWxpemVkIgog
ICAgICAgICByZXR1cm4gc2VydmVyX3N0YXRlCiAKICAgICBkZWYgc2V0U3RhdGUodG9rZW4sIHN0
YXRlKToKICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBzdGF0ZSkKIAog
ICAgIGRlZiByZXNldFN0YXRlKHRva2VuKToKLSAgICAgICAgc2V0U3RhdGUodG9rZW4sICIiKQor
ICAgICAgICBzZXRTdGF0ZSh0b2tlbiwgYiIiKQogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkNhY2hlLUNvbnRyb2wiLCAibm8tc3RvcmUiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4i
KSkKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDEp
Ci0gICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tc3RvcmUiKQorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5o
ZWFkZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtTWF4LUFnZSIsIDEpCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdChiInRv
a2VuIiwgTm9uZSkKICAgICBzdGF0ZSA9IGdldFN0YXRlKHRva2VuKQotICAgIGNvbW1hbmQgPSBy
ZXF1ZXN0LkdFVC5maXJzdCgiY29tbWFuZCIsIE5vbmUpCisgICAgY29tbWFuZCA9IHJlcXVlc3Qu
R0VULmZpcnN0KGIiY29tbWFuZCIsIE5vbmUpCiAKLSAgICBpZiBjb21tYW5kID09ICJyZXNldCI6
Ci0gICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJHRVQiOgorICAgIGlmIGNvbW1hbmQgPT0g
YiJyZXNldCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiR0VUIjoKICAgICAgICAg
ICAgIHJlc2V0U3RhdGUodG9rZW4pCi0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlNl
cnZlciBzdGF0ZSByZXNldCIKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlNlcnZl
ciBzdGF0ZSByZXNldCIKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZhaWwoIkludmFsaWQg
TWV0aG9kLiIpCi0gICAgZWxpZiBzdGF0ZSA9PSAiVW5pbml0aWFsaXplZCI6Ci0gICAgICAgIGlm
IHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRl
bnQgPSAiVGhpcyByZXF1ZXN0IHNob3VsZCBub3QgYmUgZGlzcGxheWVkLiIKLSAgICAgICAgICAg
IHNldFN0YXRlKHRva2VuLCAiRGVuaWVkIikKKyAgICAgICAgICAgIGZhaWwoYiJJbnZhbGlkIE1l
dGhvZC4iKQorICAgIGVsaWYgc3RhdGUgPT0gYiJVbmluaXRpYWxpemVkIjoKKyAgICAgICAgaWYg
cmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRl
bnQgPSBiIlRoaXMgcmVxdWVzdCBzaG91bGQgbm90IGJlIGRpc3BsYXllZC4iCisgICAgICAgICAg
ICBzZXRTdGF0ZSh0b2tlbiwgYiJEZW5pZWQiKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAg
ZmFpbChzdGF0ZSkKLSAgICBlbGlmIHN0YXRlID09ICJEZW5pZWQiOgotICAgICAgICBpZiByZXF1
ZXN0Lm1ldGhvZCA9PSAiR0VUIiBhbmQgY29tbWFuZCA9PSAiY29tcGxldGUiOgorICAgIGVsaWYg
c3RhdGUgPT0gYiJEZW5pZWQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IkdFVCIg
YW5kIGNvbW1hbmQgPT0gYiJjb21wbGV0ZSI6CiAgICAgICAgICAgICByZXNldFN0YXRlKHRva2Vu
KQotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJSZXF1ZXN0IHN1Y2Nlc3NmdWxseSBi
bG9ja2VkLiIKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlJlcXVlc3Qgc3VjY2Vz
c2Z1bGx5IGJsb2NrZWQuIgogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2V0U3RhdGUoIkRl
bnkgSWdub3JlZCIpCi0gICAgICAgICAgICBmYWlsKCJUaGUgcmVxdWVzdCB3YXMgbm90IGRlbmll
ZC4iKQotICAgIGVsaWYgc3RhdGUgPT0gIkRlbnkgSWdub3JlZCI6CisgICAgICAgICAgICBzZXRT
dGF0ZSh0b2tlbiwgYiJEZW55IElnbm9yZWQiKQorICAgICAgICAgICAgZmFpbChiIlRoZSByZXF1
ZXN0IHdhcyBub3QgZGVuaWVkLiIpCisgICAgZWxpZiBzdGF0ZSA9PSBiIkRlbnkgSWdub3JlZCI6
CiAgICAgICAgIHJlc2V0U3RhdGUodG9rZW4pCiAgICAgICAgIGZhaWwoc3RhdGUpCiAgICAgZWxz
ZToKICAgICAgICAgcmVzZXRTdGF0ZSh0b2tlbikKLSAgICAgICAgZmFpbCgiVW5rbm93biBFcnJv
ci4iKQorICAgICAgICBmYWlsKGIiVW5rbm93biBFcnJvci4iKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vz
cy1jb250cm9sLXByZWZsaWdodC1yZXF1ZXN0LWhlYWRlci1sb3dlcmNhc2UucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNz
LWNvbnRyb2wtcHJlZmxpZ2h0LXJlcXVlc3QtaGVhZGVyLWxvd2VyY2FzZS5weQppbmRleCBkMzVi
ODliOWY5OGE2NjlhMzk0NjY2MWJkODJhNTE5OTI0MDBjMjg3Li5lNzdmYzlhN2QyZWVhYTFkYmVi
NzAzYzc2MGMwNmMzZGVmNDJkZTg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxp
Z2h0LXJlcXVlc3QtaGVhZGVyLWxvd2VyY2FzZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJl
ZmxpZ2h0LXJlcXVlc3QtaGVhZGVyLWxvd2VyY2FzZS5weQpAQCAtMSwxNiArMSwxNiBAQAogZGVm
IG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNo
ZS1Db250cm9sIiwgIm5vLXN0b3JlIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMCkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNh
Y2hlLUNvbnRyb2wiLCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIGIiKiIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYiJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMCkKIAotICAgIGlmIHJlcXVlc3QubWV0aG9k
ID09ICJPUFRJT05TIjoKLSAgICAgICAgaWYgIngtdGVzdCIgaW4gW2hlYWRlci5zdHJpcCgiICIp
IGZvciBoZWFkZXIgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuaGVhZGVycy5n
ZXQoIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVycyIpLnNwbGl0KCIsIildOgotICAgICAg
ICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMi
LCAiWC1UZXN0IikKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAg
ICBpZiBiIngtdGVzdCIgaW4gW2hlYWRlci5zdHJpcChiIiAiKSBmb3IgaGVhZGVyIGluCisgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5oZWFkZXJzLmdldChiIkFjY2Vzcy1Db250cm9s
LVJlcXVlc3QtSGVhZGVycyIpLnNwbGl0KGIiLCIpXToKKyAgICAgICAgICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIGIiWC1UZXN0IikKICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDQwMAotICAgIGVsaWYg
cmVxdWVzdC5tZXRob2QgPT0gIkdFVCI6Ci0gICAgICAgIGlmIHJlcXVlc3QuaGVhZGVycy5nZXQo
IlgtVGVzdCIpOgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTIgorICAgIGVs
aWYgcmVxdWVzdC5tZXRob2QgPT0gdSJHRVQiOgorICAgICAgICBpZiByZXF1ZXN0LmhlYWRlcnMu
Z2V0KGIiWC1UZXN0Iik6CisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTIgog
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvY29yc2VuYWJsZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQucHkKaW5kZXggNGEzZTEyNzBiNjVm
NDFhY2VhMWM2ZjJkZjRkM2YxZWM5Yjk1ZWNhNy4uYWFlMTlmMThmM2M5MjU1ZDAwMmEyZDYzNWYy
MmU3MzNmM2YxYjM1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2NvcnNlbmFibGVkLnB5CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9jb3JzZW5h
YmxlZC5weQpAQCAtMSwyMyArMSwyNSBAQAogaW1wb3J0IHRpbWUKIAorZnJvbSB3cHRzZXJ2ZS51
dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNvZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9u
c2UpOgotICAgIGhlYWRlcnMgPSBbKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIp
LAotICAgICAgICAgICAgICAgKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0
cnVlIiksCi0gICAgICAgICAgICAgICAoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAi
R0VULCBQT1NULCBQVVQsIEZPTyIpLAotICAgICAgICAgICAgICAgKCJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1IZWFkZXJzIiwgIngtdGVzdCwgeC1mb28iKSwKLSAgICAgICAgICAgICAgICgiQWNjZXNz
LUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLCAieC1yZXF1ZXN0LW1ldGhvZCwgeC1yZXF1ZXN0LWNv
bnRlbnQtdHlwZSwgeC1yZXF1ZXN0LXF1ZXJ5LCB4LXJlcXVlc3QtY29udGVudC1sZW5ndGgsIHgt
cmVxdWVzdC1kYXRhIildCisgICAgaGVhZGVycyA9IFsoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCBiIioiKSwKKyAgICAgICAgICAgICAgIChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNy
ZWRlbnRpYWxzIiwgYiJ0cnVlIiksCisgICAgICAgICAgICAgICAoYiJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1NZXRob2RzIiwgYiJHRVQsIFBPU1QsIFBVVCwgRk9PIiksCisgICAgICAgICAgICAgICAo
YiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4LXRlc3QsIHgtZm9vIiksCisgICAg
ICAgICAgICAgICAoYiJBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVycyIsIGIieC1yZXF1ZXN0
LW1ldGhvZCwgeC1yZXF1ZXN0LWNvbnRlbnQtdHlwZSwgeC1yZXF1ZXN0LXF1ZXJ5LCB4LXJlcXVl
c3QtY29udGVudC1sZW5ndGgsIHgtcmVxdWVzdC1kYXRhIildCiAKLSAgICBpZiAiZGVsYXkiIGlu
IHJlcXVlc3QuR0VUOgotICAgICAgICBkZWxheSA9IGludChyZXF1ZXN0LkdFVC5maXJzdCgiZGVs
YXkiKSkKKyAgICBpZiBiImRlbGF5IiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgZGVsYXkgPSBp
bnQocmVxdWVzdC5HRVQuZmlyc3QoYiJkZWxheSIpKQogICAgICAgICB0aW1lLnNsZWVwKGRlbGF5
KQogCi0gICAgaWYgInNhZmVsaXN0X2NvbnRlbnRfdHlwZSIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAg
ICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJjb250
ZW50LXR5cGUiKSkKKyAgICBpZiBiInNhZmVsaXN0X2NvbnRlbnRfdHlwZSIgaW4gcmVxdWVzdC5H
RVQ6CisgICAgICAgIGhlYWRlcnMuYXBwZW5kKChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRl
cnMiLCBiImNvbnRlbnQtdHlwZSIpKQogCi0gICAgaGVhZGVycy5hcHBlbmQoKCJYLVJlcXVlc3Qt
TWV0aG9kIiwgcmVxdWVzdC5tZXRob2QpKQotICAgIGhlYWRlcnMuYXBwZW5kKCgiWC1SZXF1ZXN0
LVF1ZXJ5IiwgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgaWYgcmVxdWVzdC51cmxfcGFydHMucXVl
cnkgZWxzZSAiTk8iKSkKLSAgICBoZWFkZXJzLmFwcGVuZCgoIlgtUmVxdWVzdC1Db250ZW50LUxl
bmd0aCIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvbnRlbnQtTGVuZ3RoIiwgIk5PIikpKQotICAg
IGhlYWRlcnMuYXBwZW5kKCgiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVy
cy5nZXQoIkNvbnRlbnQtVHlwZSIsICJOTyIpKSkKLSAgICBoZWFkZXJzLmFwcGVuZCgoIlgtUmVx
dWVzdC1EYXRhIiwgcmVxdWVzdC5ib2R5KSkKKyAgICBoZWFkZXJzLmFwcGVuZCgoYiJYLVJlcXVl
c3QtTWV0aG9kIiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2QpKSkKKyAgICBoZWFk
ZXJzLmFwcGVuZCgoYiJYLVJlcXVlc3QtUXVlcnkiLCBpc29tb3JwaGljX2VuY29kZShyZXF1ZXN0
LnVybF9wYXJ0cy5xdWVyeSkgaWYgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgZWxzZSBiIk5PIikp
CisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1SZXF1ZXN0LUNvbnRlbnQtTGVuZ3RoIiwgcmVxdWVz
dC5oZWFkZXJzLmdldChiIkNvbnRlbnQtTGVuZ3RoIiwgYiJOTyIpKSkKKyAgICBoZWFkZXJzLmFw
cGVuZCgoYiJYLVJlcXVlc3QtQ29udGVudC1UeXBlIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIkNv
bnRlbnQtVHlwZSIsIGIiTk8iKSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1SZXF1ZXN0LURh
dGEiLCByZXF1ZXN0LmJvZHkpKQogCi0gICAgcmV0dXJuIGhlYWRlcnMsICJUZXN0IgorICAgIHJl
dHVybiBoZWFkZXJzLCBiIlRlc3QiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZGVsYXkucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZGVsYXkucHkK
aW5kZXggOGY5N2RiNmY0ZmM5OTBjNjU0ZTJlMjZkMmU1MmQ3MTkwZGQyYWY3Yi4uNjFhMGVkMjY4
ODQ0ODQxZmYwZTZhODBiZDE4MDhjNjFkMTQ0ZDc5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2RlbGF5LnB5Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9kZWxheS5weQpAQCAtMSw3ICsxLDcgQEAKIGltcG9ydCB0aW1lCiAKIGRlZiBtYWluKHJl
cXVlc3QsIHJlc3BvbnNlKToKLSAgICBkZWxheSA9IGZsb2F0KHJlcXVlc3QuR0VULmZpcnN0KCJt
cyIsIDUwMCkpCisgICAgZGVsYXkgPSBmbG9hdChyZXF1ZXN0LkdFVC5maXJzdChiIm1zIiwgNTAw
KSkKICAgICB0aW1lLnNsZWVwKGRlbGF5IC8gMUUzKQogCi0gICAgcmV0dXJuIFsoIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiIsICIqIiksICgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9k
cyIsICJZTyIpLCAoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L3BsYWluIildLCAiVEVTVF9ERUxBWSIK
KyAgICByZXR1cm4gWyhiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIGIiKiIpLCAoYiJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJZTyIpLCAoYiJDb250ZW50LXR5cGUiLCBi
InRleHQvcGxhaW4iKV0sIGIiVEVTVF9ERUxBWSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9lY2hvLWhlYWRlcnMu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvZWNoby1oZWFkZXJzLnB5CmluZGV4IDhmMjNkM2RiMDE5ZTdjYzMxMWJiNThjYWU3ZDY3
MDRjYTk0MDIxMjEuLjFjNWJkNDY3MDlkNGQ3ODFmZjZkYTg2YzliYTA0YTAxNzM1Njg1M2MgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9lY2hvLWhlYWRlcnMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VjaG8taGVhZGVycy5weQpAQCAtMSw2
ICsxLDYgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICByZXNwb25zZS53cml0
ZXIud3JpdGVfc3RhdHVzKDIwMCkKLSAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJD
b250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpCisgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hl
YWRlcihiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCiAgICAgcmVzcG9uc2Uud3JpdGVy
LmVuZF9oZWFkZXJzKCkKICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoc3RyKHJlcXVlc3QucmF3
X2hlYWRlcnMpKQogICAgIHJlc3BvbnNlLmNsb3NlX2Nvbm5lY3Rpb24gPSBUcnVlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvZWNoby1tZXRob2QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNoby1tZXRob2QucHkKaW5kZXggY2NiNDZiNmIyZWI0
ZDRiNGMyODE3MjBlMGExNjE0MmYwNDhkZGJjMy4uNzg5OWMxODRiNzY4Y2ZiYThjNTBjOWQ2ODE0
ZmYwMDU4ZDU5NGNjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VjaG8tbWV0aG9kLnB5CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9lY2hvLW1l
dGhvZC5weQpAQCAtOSw3ICs5LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAg
IGNvbnRlbnQgPSByZXF1ZXN0Lm1ldGhvZAogCiAgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hl
YWRlcnMgPSBGYWxzZQotICAgIHJlc3BvbnNlLndyaXRlci53cml0ZSgnJydIVFRQLzEuMSAyMDAg
T0sKKyAgICByZXNwb25zZS53cml0ZXIud3JpdGUodScnJ0hUVFAvMS4xIDIwMCBPSwogQ29udGVu
dC10eXBlOiB0ZXh0L3BsYWluCiBDb250ZW50LUxlbmd0aDoge30KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Vt
cHR5LWRpdi11dGY4LWh0bWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZW1wdHktZGl2LXV0ZjgtaHRtbC5weQppbmRleCAyNmQ1
NGI5ZDE0OTZhZjVmYzcyYTFiYTFkMmEyZWM4M2MxODIyZjUwLi41ZDRjOTM2NTkwYzIwODY4NzI5
NjlkMTY1MjhlOWQwYzEzMTRmYWRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZW1wdHktZGl2LXV0ZjgtaHRtbC5w
eQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvZW1wdHktZGl2LXV0ZjgtaHRtbC5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBoZWFkZXJzID0gWygiQ29udGVudC10eXBlIiwgInRl
eHQvaHRtbDtjaGFyc2V0PXV0Zi04IildCi0gICAgY29udGVudCA9ICI8IURPQ1RZUEUgaHRtbD48
ZGl2PjwvZGl2PiIKKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtdHlwZSIsIGIidGV4dC9odG1s
O2NoYXJzZXQ9dXRmLTgiKV0KKyAgICBjb250ZW50ID0gYiI8IURPQ1RZUEUgaHRtbD48ZGl2Pjwv
ZGl2PiIKIAogICAgIHJldHVybiBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZm9ybS5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9mb3JtLnB5CmluZGV4IDZiMWM0OWE5OTNiZmEyNWJhNmMzOTMwMzg4MGU4ODYwZmIzZTE0
ODkuLmM1OTI5NDNiNzk1NTk2YzRlYmJkMDZjNmRkZmM3OWVkMGZhZDJlYzAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9mb3JtLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9mb3JtLnB5CkBAIC0xLDIgKzEsMiBAQAogZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgotICAgIHJldHVybiAiaWQ6JXM7dmFsdWU6JXM7IiAlIChyZXF1ZXN0LlBP
U1QuZmlyc3QoImlkIiksIHJlcXVlc3QuUE9TVC5maXJzdCgidmFsdWUiKSkKKyAgICByZXR1cm4g
YiJpZDolczt2YWx1ZTolczsiICUgKHJlcXVlc3QuUE9TVC5maXJzdChiImlkIiksIHJlcXVlc3Qu
UE9TVC5maXJzdChiInZhbHVlIikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9nemlwLnB5Cmlu
ZGV4IGYxN2Y5MmU0Y2MxNzc5MmQ3YjU1OGQxY2Q0ZTFlMWQ3NjM1MGRkMjcuLjE3ZjE0MmM0NDA1
ZjhlMTIxYTI0NjhmZmMzODBhOWQ1NmVmMDgyMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9nemlwLnB5CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9nemlwLnB5CkBAIC0xLDIzICsxLDI0IEBACiBpbXBvcnQgZ3ppcCBhcyBnemlwX21vZHVsZQot
ZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCisKK2Zyb20gc2l4IGltcG9ydCBCeXRlc0lP
CiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBpZiAiY29udGVudCIgaW4gcmVx
dWVzdC5HRVQ6Ci0gICAgICAgIG91dHB1dCA9IHJlcXVlc3QuR0VUWyJjb250ZW50Il0KKyAgICBp
ZiBiImNvbnRlbnQiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBvdXRwdXQgPSByZXF1ZXN0LkdF
VFtiImNvbnRlbnQiXQogICAgIGVsc2U6CiAgICAgICAgIG91dHB1dCA9IHJlcXVlc3QuYm9keQog
Ci0gICAgb3V0ID0gU3RyaW5nSU8oKQorICAgIG91dCA9IEJ5dGVzSU8oKQogICAgIHdpdGggZ3pp
cF9tb2R1bGUuR3ppcEZpbGUoZmlsZW9iaj1vdXQsIG1vZGU9InciKSBhcyBmOgogICAgICAgICBm
LndyaXRlKG91dHB1dCkKICAgICBvdXRwdXQgPSBvdXQuZ2V0dmFsdWUoKQogCi0gICAgaGVhZGVy
cyA9IFsoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L3BsYWluIiksCi0gICAgICAgICAgICAgICAoIkNv
bnRlbnQtRW5jb2RpbmciLCAiZ3ppcCIpLAotICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtTWV0
aG9kIiwgcmVxdWVzdC5tZXRob2QpLAotICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtUXVlcnki
LCByZXF1ZXN0LnVybF9wYXJ0cy5xdWVyeSBpZiByZXF1ZXN0LnVybF9wYXJ0cy5xdWVyeSBlbHNl
ICJOTyIpLAotICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgiLCByZXF1
ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LUxlbmd0aCIsICJOTyIpKSwKLSAgICAgICAgICAgICAg
ICgiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvbnRlbnQt
VHlwZSIsICJOTyIpKSwKLSAgICAgICAgICAgICAgICgiQ29udGVudC1MZW5ndGgiLCBsZW4ob3V0
cHV0KSldCisgICAgaGVhZGVycyA9IFsoYiJDb250ZW50LXR5cGUiLCBiInRleHQvcGxhaW4iKSwK
KyAgICAgICAgICAgICAgIChiIkNvbnRlbnQtRW5jb2RpbmciLCBiImd6aXAiKSwKKyAgICAgICAg
ICAgICAgIChiIlgtUmVxdWVzdC1NZXRob2QiLCByZXF1ZXN0Lm1ldGhvZCksCisgICAgICAgICAg
ICAgICAoYiJYLVJlcXVlc3QtUXVlcnkiLCByZXF1ZXN0LnVybF9wYXJ0cy5xdWVyeSBpZiByZXF1
ZXN0LnVybF9wYXJ0cy5xdWVyeSBlbHNlIGIiTk8iKSwKKyAgICAgICAgICAgICAgIChiIlgtUmVx
dWVzdC1Db250ZW50LUxlbmd0aCIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJDb250ZW50LUxlbmd0
aCIsIGIiTk8iKSksCisgICAgICAgICAgICAgICAoYiJYLVJlcXVlc3QtQ29udGVudC1UeXBlIiwg
cmVxdWVzdC5oZWFkZXJzLmdldChiIkNvbnRlbnQtVHlwZSIsIGIiTk8iKSksCisgICAgICAgICAg
ICAgICAoYiJDb250ZW50LUxlbmd0aCIsIGxlbihvdXRwdXQpKV0KIAogICAgIHJldHVybiBoZWFk
ZXJzLCBvdXRwdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9oZWFkZXItdXNlci1hZ2VudC5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9oZWFkZXIt
dXNlci1hZ2VudC5weQppbmRleCA0Nzc4ZGU0MDI2OGJkM2NhMDA0MTk1ZmM1MmZiNjlhZjY0OTI2
YzNlLi5hYzZhZjEzYWZlMGZkNmQ4ZDQ0ZGY1MTk5OGY4NDEwMGNmNmYzNDE0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvaGVhZGVyLXVzZXItYWdlbnQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2hlYWRlci11c2VyLWFnZW50LnB5CkBAIC0x
LDE1ICsxLDE1IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsICIqIikKLSAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDApCi0gICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoJ0FjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMnLCAieC10ZXN0IikK
KyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIs
IGIiKiIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1NYXgtQWdl
IiwgMCkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0FjY2Vzcy1Db250cm9sLUFsbG93LUhl
YWRlcnMnLCBiIngtdGVzdCIpCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6
Ci0gICAgICAgIGlmIG5vdCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJVc2VyLUFnZW50Iik6Ci0gICAg
ICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUw6IFVzZXItQWdlbnQgaGVhZGVyIG1pc3Np
bmcgaW4gcHJlZmxpZ2h0IHJlcXVlc3QuIgorICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiT1BU
SU9OUyI6CisgICAgICAgIGlmIG5vdCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiVXNlci1BZ2VudCIp
OgorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTDogVXNlci1BZ2VudCBoZWFk
ZXIgbWlzc2luZyBpbiBwcmVmbGlnaHQgcmVxdWVzdC4iCiAgICAgICAgICAgICByZXNwb25zZS5z
dGF0dXMgPSA0MDAKICAgICBlbHNlOgotICAgICAgICBpZiByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJV
c2VyLUFnZW50Iik6Ci0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1MiCisgICAg
ICAgIGlmIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJVc2VyLUFnZW50Iik6CisgICAgICAgICAgICBy
ZXNwb25zZS5jb250ZW50ID0gYiJQQVNTIgogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmVz
cG9uc2UuY29udGVudCA9ICJGQUlMOiBVc2VyLUFnZW50IGhlYWRlciBtaXNzaW5nIGluIHJlcXVl
c3QiCisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJGQUlMOiBVc2VyLUFnZW50IGhl
YWRlciBtaXNzaW5nIGluIHJlcXVlc3QiCiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0
MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9oZWFkZXJzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2hlYWRlcnMucHkKaW5kZXggNjAyZGIzNWEz
Y2IxZTYyOTRhMWM4MDUyZDg0YzkwYTg2NDJkOGZkYS4uMDBiMzdjNjJhYmM3ZDdjMzRlZDk4M2Y2
ZGFkYWM5MTBiYjBmZjlmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2hlYWRlcnMucHkKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2hlYWRlcnMu
cHkKQEAgLTEsMTIgKzEsMTIgQEAKICMgLSotIGNvZGluZzogdXRmLTggLSotCiAKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1U
eXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJYLUN1c3RvbS1I
ZWFkZXIiLCAidGVzdCIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIlNldC1Db29raWUiLCAi
dGVzdCIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIlNldC1Db29raWUyIiwgInRlc3QiKQot
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJYLUN1c3RvbS1IZWFkZXItRW1wdHkiLCAiIikKLSAg
ICByZXNwb25zZS5oZWFkZXJzLnNldCgiWC1DdXN0b20tSGVhZGVyLUNvbW1hIiwgIjEiKQotICAg
IHJlc3BvbnNlLmhlYWRlcnMuYXBwZW5kKCJYLUN1c3RvbS1IZWFkZXItQ29tbWEiLCAiMiIpCi0g
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIlgtQ3VzdG9tLUhlYWRlci1CeXRlcyIsICLigKYiKQot
ICAgIHJldHVybiAiVEVTVCIKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlw
ZSIsIGIidGV4dC9wbGFpbiIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJYLUN1c3RvbS1I
ZWFkZXIiLCBiInRlc3QiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiU2V0LUNvb2tpZSIs
IGIidGVzdCIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJTZXQtQ29va2llMiIsIGIidGVz
dCIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJYLUN1c3RvbS1IZWFkZXItRW1wdHkiLCBi
IiIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJYLUN1c3RvbS1IZWFkZXItQ29tbWEiLCBi
IjEiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuYXBwZW5kKGIiWC1DdXN0b20tSGVhZGVyLUNvbW1h
IiwgYiIyIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIlgtQ3VzdG9tLUhlYWRlci1CeXRl
cyIsIHUi4oCmIi5lbmNvZGUoInV0Zi04IikpCisgICAgcmV0dXJuIGIiVEVTVCIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9pbWctdXRmOC1odG1sLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2ltZy11dGY4LWh0bWwucHkKaW5kZXggMDg1ODY3Zjk1
MTBlNDhmYzkyNjY1MGIzZTZmYmJlNjI1NDdhZmJjNi4uMzA1NzY3NGNiNjAzNmExNWI3MDYxZDY1
YWEyYWE3NzU0YmI2ZjhmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2ltZy11dGY4LWh0bWwucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2lt
Zy11dGY4LWh0bWwucHkKQEAgLTEsNSArMSw1IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25z
ZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7Y2hhcnNldD11
dGYtOCIpXQotICAgIGNvbnRlbnQgPSAiPGltZz5mb28iCisgICAgaGVhZGVycyA9IFsoYiJDb250
ZW50LXR5cGUiLCBiInRleHQvaHRtbDtjaGFyc2V0PXV0Zi04IildCisgICAgY29udGVudCA9IGIi
PGltZz5mb28iCiAKICAgICByZXR1cm4gaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2lu
ZmluaXRlLXJlZGlyZWN0cy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVjdHMucHkKaW5kZXggYTg1YzQx
MDIxOGVmM2M5Y2NmNzYyNTk0MmYxYmM0YWM5YjU3ZDg1Yy4uYTYwOTQyZGQ5YTZkMWQ2NzdlZWI2
NGI1MWM1NDFkM2RlNGI5NDQ2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2luZmluaXRlLXJlZGlyZWN0cy5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvaW5maW5pdGUtcmVkaXJlY3RzLnB5CkBAIC0xLDIyICsxLDI0IEBACitmcm9tIHdwdHNl
cnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCBy
ZXNwb25zZSk6Ci0gICAgbG9jYXRpb24gPSAiJXM6Ly8lcyVzIiAlIChyZXF1ZXN0LnVybF9wYXJ0
cy5zY2hlbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnVybF9wYXJ0
cy5uZXRsb2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnVybF9wYXJ0
cy5wYXRoKQotICAgIHBhZ2UgPSAiYWx0ZXJuYXRlIgorICAgIGxvY2F0aW9uID0gdSIlczovLyVz
JXMiICUgKHJlcXVlc3QudXJsX3BhcnRzLnNjaGVtZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXF1ZXN0LnVybF9wYXJ0cy5uZXRsb2MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmVxdWVzdC51cmxfcGFydHMucGF0aCkKKyAgICBwYWdlID0gdSJhbHRlcm5hdGUi
CiAgICAgdHlwZSA9IDMwMgogICAgIG1peCA9IDAKLSAgICBpZiByZXF1ZXN0LkdFVC5maXJzdCgi
cGFnZSIsIE5vbmUpID09ICJhbHRlcm5hdGUiOgotICAgICAgICBwYWdlID0gImRlZmF1bHQiCisg
ICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoYiJwYWdlIiwgTm9uZSkgPT0gYiJhbHRlcm5hdGUiOgor
ICAgICAgICBwYWdlID0gdSJkZWZhdWx0IgogCi0gICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoInR5
cGUiLCBOb25lKSA9PSAiMzAxIjoKKyAgICBpZiByZXF1ZXN0LkdFVC5maXJzdChiInR5cGUiLCBO
b25lKSA9PSBiIjMwMSI6CiAgICAgICAgIHR5cGUgPSAzMDEKIAotICAgIGlmIHJlcXVlc3QuR0VU
LmZpcnN0KCJtaXgiLCBOb25lKSA9PSAiMSI6CisgICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoYiJt
aXgiLCBOb25lKSA9PSBiIjEiOgogICAgICAgICBtaXggPSAxCiAgICAgICAgIHR5cGUgPSAzMDIg
aWYgdHlwZSA9PSAzMDEgZWxzZSAzMDEKIAotICAgIG5ld19sb2NhdGlvbiA9ICIlcz9wYWdlPSVz
JnR5cGU9JXMmbWl4PSVzIiAlIChsb2NhdGlvbiwgcGFnZSwgdHlwZSwgbWl4KQotICAgIGhlYWRl
cnMgPSBbKCJDYWNoZS1Db250cm9sIiwgIm5vLWNhY2hlIiksCi0gICAgICAgICAgICAgICAoIlBy
YWdtYSIsICJuby1jYWNoZSIpLAotICAgICAgICAgICAgICAgKCJMb2NhdGlvbiIsIG5ld19sb2Nh
dGlvbildCi0gICAgcmV0dXJuIDMwMSwgaGVhZGVycywgIkhlbGxvIGd1ZXN0LiBZb3UgaGF2ZSBi
ZWVuIHJlZGlyZWN0ZWQgdG8gIiArIG5ld19sb2NhdGlvbgorICAgIG5ld19sb2NhdGlvbiA9IHUi
JXM/cGFnZT0lcyZ0eXBlPSVzJm1peD0lcyIgJSAobG9jYXRpb24sIHBhZ2UsIHR5cGUsIG1peCkK
KyAgICBoZWFkZXJzID0gWyhiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLWNhY2hlIiksCisgICAgICAg
ICAgICAgICAoYiJQcmFnbWEiLCBiIm5vLWNhY2hlIiksCisgICAgICAgICAgICAgICAoYiJMb2Nh
dGlvbiIsIGlzb21vcnBoaWNfZW5jb2RlKG5ld19sb2NhdGlvbikpXQorICAgIHJldHVybiAzMDEs
IGhlYWRlcnMsIHUiSGVsbG8gZ3Vlc3QuIFlvdSBoYXZlIGJlZW4gcmVkaXJlY3RlZCB0byAiICsg
bmV3X2xvY2F0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2luc3BlY3Qt
aGVhZGVycy5weQppbmRleCBlNzFmNjcxY2VkMzRmZjNkNDQ3NDY3ZWE0MDk4ZTZlMDAwZmZkOGY3
Li42OGNlY2U0NTJjOWM4ZjM1MjM0MzE5MjcyMWRkNzk4NzljYjM3YzUxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
aW5zcGVjdC1oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbnNwZWN0LWhlYWRlcnMucHkKQEAgLTEsMzMgKzEs
NTAgQEAKK2Zyb20gc2l4IGltcG9ydCBQWTMKKwogZGVmIGdldF9yZXNwb25zZShyYXdfaGVhZGVy
cywgZmlsdGVyX3ZhbHVlLCBmaWx0ZXJfbmFtZSk6Ci0gICAgcmVzdWx0ID0gIiIKLSAgICBmb3Ig
bGluZSBpbiByYXdfaGVhZGVycy5oZWFkZXJzOgotICAgICAgICBpZiBsaW5lWy0yOl0gIT0gJ1xy
XG4nOgotICAgICAgICAgICAgcmV0dXJuICJTeW50YXggZXJyb3I6IG1pc3NpbmcgQ1JMRjogIiAr
IGxpbmUKKyAgICByZXN1bHQgPSBiIiIKKyAgICAjIFR5cGUgb2YgcmF3X2hlYWRlcnMgaXMgPGh0
dHBsaWIuSFRUUE1lc3NhZ2U+IGluIFB5dGhvbiAyIGFuZCA8aHR0cC5jbGllbnQuSFRUUE1lc3Nh
Z2U+IGluCisgICAgIyBQeXRob24gMy4gPGh0dHAuY2xpZW50LkhUVFBNZXNzYWdlPiBkb2Vzbid0
IGhhdmUgJ2hlYWRlcnMiIGF0dHJpYnV0ZSBvciBlcXVpdmFsZW50CisgICAgIyBbaHR0cHM6Ly9i
dWdzLnB5dGhvbi5vcmcvaXNzdWU0NzczXS4KKyAgICAjIEluIFB5dGhvbiAyLCB2YXJpYWJsZSBy
YXdfaGVhZGVycy5oZWFkZXJzIHJldHVybnMgYSBjb21wbGV0ZWx5IHVuaW50ZXJwcmV0ZWQgbGlz
dCBvZiBsaW5lcworICAgICMgY29udGFpbmVkIGluIHRoZSBoZWFkZXIuIEluIFB5dGhvbiAzLCBy
YXdfaGVhZGVycy5hc19zdHJpbmcoKSByZXR1cm5zIGVudGlyZSBmb3JtYXR0ZWQKKyAgICAjIG1l
c3NhZ2UgYXMgYSBzdHJpbmcuIEhlcmUgaXMgdG8gY29uc3RydWN0IGFuIGVxdWl2YWxlbnQgImhl
YWRlcnMiIHZhcmlhYmxlIHRvIHN1cHBvcnQgdGVzdHMKKyAgICAjIGluIFB5dGhvbiAzLgorICAg
IGlmIFBZMzoKKyAgICAgICAgaGVhZGVyX2xpc3QgPSBbCisgICAgICAgICAgICAocyArIHUnXHJc
bicpLmVuY29kZSgiaXNvLTg4NTktMSIpIGZvciBzIGluIHJhd19oZWFkZXJzLmFzX3N0cmluZygp
LnNwbGl0bGluZXMoKSBpZiBzCisgICAgICAgIF0KKyAgICBlbHNlOgorICAgICAgICBoZWFkZXJf
bGlzdCA9IHJhd19oZWFkZXJzLmhlYWRlcnMKKyAgICBmb3IgbGluZSBpbiBoZWFkZXJfbGlzdDoK
KyAgICAgICAgaWYgbGluZVstMjpdICE9IGInXHJcbic6CisgICAgICAgICAgICByZXR1cm4gYiJT
eW50YXggZXJyb3I6IG1pc3NpbmcgQ1JMRjogIiArIGxpbmUKICAgICAgICAgbGluZSA9IGxpbmVb
Oi0yXQogCi0gICAgICAgIGlmICc6ICcgbm90IGluIGxpbmU6Ci0gICAgICAgICAgICByZXR1cm4g
IlN5bnRheCBlcnJvcjogbm8gY29sb24gYW5kIHNwYWNlIGZvdW5kOiAiICsgbGluZQotICAgICAg
ICBuYW1lLCB2YWx1ZSA9IGxpbmUuc3BsaXQoJzogJywgMSkKKyAgICAgICAgaWYgYic6ICcgbm90
IGluIGxpbmU6CisgICAgICAgICAgICByZXR1cm4gYiJTeW50YXggZXJyb3I6IG5vIGNvbG9uIGFu
ZCBzcGFjZSBmb3VuZDogIiArIGxpbmUKKyAgICAgICAgbmFtZSwgdmFsdWUgPSBsaW5lLnNwbGl0
KGInOiAnLCAxKQogCiAgICAgICAgIGlmIGZpbHRlcl92YWx1ZToKICAgICAgICAgICAgIGlmIHZh
bHVlID09IGZpbHRlcl92YWx1ZToKLSAgICAgICAgICAgICAgICByZXN1bHQgKz0gbmFtZSArICIs
IgorICAgICAgICAgICAgICAgIHJlc3VsdCArPSBuYW1lICsgYiIsIgogICAgICAgICBlbGlmIG5h
bWUubG93ZXIoKSA9PSBmaWx0ZXJfbmFtZToKLSAgICAgICAgICAgIHJlc3VsdCArPSBuYW1lICsg
IjogIiArIHZhbHVlICsgIlxuIgorICAgICAgICAgICAgcmVzdWx0ICs9IG5hbWUgKyBiIjogIiAr
IHZhbHVlICsgYiJcbiIKICAgICByZXR1cm4gcmVzdWx0CiAKIGRlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKICAgICBoZWFkZXJzID0gW10KICAgICBpZiAiY29ycyIgaW4gcmVxdWVzdC5HRVQ6
Ci0gICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwg
IioiKSkKLSAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVk
ZW50aWFscyIsICJ0cnVlIikpCi0gICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctTWV0aG9kcyIsICJHRVQsIFBPU1QsIFBVVCwgRk9PIikpCi0gICAgICAgIGhlYWRl
cnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4LXRlc3QsIHgtZm9v
IikpCi0gICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRl
cnMiLCAieC1yZXF1ZXN0LW1ldGhvZCwgeC1yZXF1ZXN0LWNvbnRlbnQtdHlwZSwgeC1yZXF1ZXN0
LXF1ZXJ5LCB4LXJlcXVlc3QtY29udGVudC1sZW5ndGgiKSkKLSAgICBoZWFkZXJzLmFwcGVuZCgo
ImNvbnRlbnQtdHlwZSIsICJ0ZXh0L3BsYWluIikpCisgICAgICAgIGhlYWRlcnMuYXBwZW5kKChi
IkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIGIiKiIpKQorICAgICAgICBoZWFkZXJzLmFw
cGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1ZSIpKQorICAg
ICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJH
RVQsIFBPU1QsIFBVVCwgRk9PIikpCisgICAgICAgIGhlYWRlcnMuYXBwZW5kKChiIkFjY2Vzcy1D
b250cm9sLUFsbG93LUhlYWRlcnMiLCBiIngtdGVzdCwgeC1mb28iKSkKKyAgICAgICAgaGVhZGVy
cy5hcHBlbmQoKAorICAgICAgICAgICAgYiJBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVycyIs
CisgICAgICAgICAgICBiIngtcmVxdWVzdC1tZXRob2QsIHgtcmVxdWVzdC1jb250ZW50LXR5cGUs
IHgtcmVxdWVzdC1xdWVyeSwgeC1yZXF1ZXN0LWNvbnRlbnQtbGVuZ3RoIikpCisgICAgaGVhZGVy
cy5hcHBlbmQoKGIiY29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWluIikpCiAKLSAgICBmaWx0ZXJf
dmFsdWUgPSByZXF1ZXN0LkdFVC5maXJzdCgiZmlsdGVyX3ZhbHVlIiwgIiIpCi0gICAgZmlsdGVy
X25hbWUgPSByZXF1ZXN0LkdFVC5maXJzdCgiZmlsdGVyX25hbWUiLCAiIikubG93ZXIoKQorICAg
IGZpbHRlcl92YWx1ZSA9IHJlcXVlc3QuR0VULmZpcnN0KGIiZmlsdGVyX3ZhbHVlIiwgYiIiKQor
ICAgIGZpbHRlcl9uYW1lID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJmaWx0ZXJfbmFtZSIsIGIiIiku
bG93ZXIoKQogICAgIHJlc3VsdCA9IGdldF9yZXNwb25zZShyZXF1ZXN0LnJhd19oZWFkZXJzLCBm
aWx0ZXJfdmFsdWUsIGZpbHRlcl9uYW1lKQogCiAgICAgcmV0dXJuIGhlYWRlcnMsIHJlc3VsdApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2ludmFsaWQtdXRmOC1odG1sLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2ludmFsaWQtdXRmOC1odG1sLnB5
CmluZGV4IDcyYmU0MWE0NWU4NmMzZTQ1YWFiZDA4MWQyMDQ3ZjFkZTkzNDRmYWYuLmMxNWQxNzE1
MWExMzY5NzRmYTA4MzhjYzNiMzMxMWZkZTJhNzhmYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbnZhbGlkLXV0
ZjgtaHRtbC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvaW52YWxpZC11dGY4LWh0bWwucHkKQEAgLTEsNSArMSw1IEBACiBk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtdHlw
ZSIsICJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIpXQorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVu
dC10eXBlIiwgYiJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIpXQogICAgIGNvbnRlbnQgPSBjaHIo
MHhmZikKIAogICAgIHJldHVybiBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbGFzdC1t
b2RpZmllZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnB5CmluZGV4IGVmMDVhNjM0M2MxNmE1M2VhYWQw
ZTBlMTdkYWY2NWFjZGQ3ZjY0ODcuLjlkNjk0ODE3YmYxMWYxNjM3MjkxZTIxNzg2MDMyNjNhNDc2
OWRhNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVkLnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9sYXN0LW1vZGlmaWVk
LnB5CkBAIC0xLDcgKzEsOSBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhp
Y19kZWNvZGUsIGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKICAgICBpbXBvcnQgZGF0ZXRpbWUsIG9zCi0gICAgc3JjcGF0aCA9IG9zLnBhdGguam9pbihv
cy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAid2VsbC1mb3JtZWQueG1sIikKKyAgICBzcmNwYXRo
ID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShpc29tb3JwaGljX2RlY29kZShfX2ZpbGVf
XykpLCB1IndlbGwtZm9ybWVkLnhtbCIpCiAgICAgc3JjbW9kZHQgPSBkYXRldGltZS5kYXRldGlt
ZS5mcm9tdGltZXN0YW1wKG9zLnBhdGguZ2V0bXRpbWUoc3JjcGF0aCkpCi0gICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIkxhc3QtTW9kaWZpZWQiLCBzcmNtb2RkdC5zdHJmdGltZSgiJWEsICVkICVi
ICVZICVIOiVNOiVTIEdNVCIpKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5
cGUiLCAiYXBwbGljYXRpb24veG1sIikKLSAgICByZXR1cm4gb3BlbihzcmNwYXRoLCAiciIpLnJl
YWQoKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTGFzdC1Nb2RpZmllZCIsIGlzb21vcnBo
aWNfZW5jb2RlKHNyY21vZGR0LnN0cmZ0aW1lKHUiJWEsICVkICViICVZICVIOiVNOiVTIEdNVCIp
KSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIiYXBwbGljYXRp
b24veG1sIikKKyAgICByZXR1cm4gb3BlbihzcmNwYXRoLCB1InIiKS5yZWFkKCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9uby1jdXN0b20taGVhZGVyLW9uLXByZWZsaWdodC5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9uby1jdXN0b20taGVhZGVy
LW9uLXByZWZsaWdodC5weQppbmRleCBmNDlmOWYzMTFmYjcyYTc1NjViNWJiZjRhOTA0OWMwYWU0
NTQ1OGFhLi44MzVjMTI4MTNkY2FmMDQ2MWFiNjVmMDUyOGZjYjM5OGQxNjJiZjI3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvbm8tY3VzdG9tLWhlYWRlci1vbi1wcmVmbGlnaHQucHkKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL25vLWN1c3RvbS1o
ZWFkZXItb24tcHJlZmxpZ2h0LnB5CkBAIC0yLDI2ICsyLDI2IEBAIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKICAgICBkZWYgZ2V0U3RhdGUodG9rZW4pOgogICAgICAgICBzZXJ2ZXJfc3Rh
dGUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQogICAgICAgICBpZiBub3Qgc2Vy
dmVyX3N0YXRlOgotICAgICAgICAgICAgcmV0dXJuICJVbmluaXRpYWxpemVkIgorICAgICAgICAg
ICAgcmV0dXJuIGIiVW5pbml0aWFsaXplZCIKICAgICAgICAgcmV0dXJuIHNlcnZlcl9zdGF0ZQog
CiAgICAgZGVmIHNldFN0YXRlKHN0YXRlLCB0b2tlbik6CiAgICAgICAgIHJlcXVlc3Quc2VydmVy
LnN0YXNoLnB1dCh0b2tlbiwgc3RhdGUpCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgIngtdGVzdCIpCi0gICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAwKQotICAgIHRva2VuID0gcmVx
dWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChi
IkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIGIiKiIpCisgICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4LXRlc3QiKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDApCisgICAgdG9r
ZW4gPSByZXF1ZXN0LkdFVC5maXJzdChiInRva2VuIiwgTm9uZSkKIAotICAgIGlmIHJlcXVlc3Qu
bWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldCgieC10
ZXN0Iik6Ci0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUw6IEludmFsaWQgaGVh
ZGVyIGluIHByZWZsaWdodCByZXF1ZXN0LiIKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9Q
VElPTlMiOgorICAgICAgICBpZiByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIieC10ZXN0Iik6CisgICAg
ICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJGQUlMOiBJbnZhbGlkIGhlYWRlciBpbiBwcmVm
bGlnaHQgcmVxdWVzdC4iCiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDAKICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgIHNldFN0YXRlKCJQQVNTIiwgdG9rZW4pCisgICAgICAgICAg
ICBzZXRTdGF0ZShiIlBBU1MiLCB0b2tlbikKICAgICBlbHNlOgotICAgICAgICBpZiByZXF1ZXN0
LmhlYWRlcnMuZ2V0KCJ4LXRlc3QiKToKKyAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldChi
IngtdGVzdCIpOgogICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGdldFN0YXRlKHRva2Vu
KQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJGQUlMOiBY
LVRlc3QgaGVhZGVyIG1pc3NpbmcgaW4gcmVxdWVzdCIKKyAgICAgICAgICAgIHJlc3BvbnNlLmNv
bnRlbnQgPSBiIkZBSUw6IFgtVGVzdCBoZWFkZXIgbWlzc2luZyBpbiByZXF1ZXN0IgogICAgICAg
ICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcGFyc2UtaGVhZGVycy5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9wYXJzZS1oZWFkZXJzLnB5CmluZGV4IGZkYzYyNjUzOWU4NDJmNjY2MGY1MzNhMzY4NGRh
NzJlNzE5Y2VmMDkuLjg1MjBiYWFkODgwZmMwZTZjZjdjZjNjOGU4MTk0YzE4ZmNmZWUzMDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9wYXJzZS1oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9wYXJzZS1oZWFkZXJzLnB5CkBAIC0x
LDEwICsxLDYgQEAKLWltcG9ydCBqc29uCi0KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToK
LQotICAgIGNvbnRlbnQgPSAiIgotICAgIGlmICJteS1jdXN0b20taGVhZGVyIiBpbiByZXF1ZXN0
LkdFVDoKLSAgICAgICAgdmFsID0gcmVxdWVzdC5HRVQuZmlyc3QoIm15LWN1c3RvbS1oZWFkZXIi
KQotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiTXktQ3VzdG9tLUhlYWRlciIsIHZhbCkK
LQorICAgIGNvbnRlbnQgPSB1IiIKKyAgICBpZiBiIm15LWN1c3RvbS1oZWFkZXIiIGluIHJlcXVl
c3QuR0VUOgorICAgICAgICB2YWwgPSByZXF1ZXN0LkdFVC5maXJzdChiIm15LWN1c3RvbS1oZWFk
ZXIiKQorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIk15LUN1c3RvbS1IZWFkZXIiLCB2
YWwpCiAgICAgcmV0dXJuIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L3JlZGlyZWN0LWNvcnMucHkKaW5kZXggMjc2MDliOGJkYjIwODI4MzQ2Zjk3OGQ2ZDM1NGNhMGNm
MzZhZDNiYy4uNWQwMzBhNjIyNzdjMTU5YzM3YTI5NmY0YjFiZGNmZDQwYjQyOGJlNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL3JlZGlyZWN0LWNvcnMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHkKQEAgLTEsMjAg
KzEsMjAgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBsb2NhdGlvbiA9IHJl
cXVlc3QuR0VULmZpcnN0KCJsb2NhdGlvbiIpCisgICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5m
aXJzdChiImxvY2F0aW9uIikKIAotICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoK
LSAgICAgICAgaWYgInJlZGlyZWN0X3ByZWZsaWdodCIgaW4gcmVxdWVzdC5HRVQ6CisgICAgaWYg
cmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAgICAgaWYgYiJyZWRpcmVjdF9wcmVm
bGlnaHQiIGluIHJlcXVlc3QuR0VUOgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gMzAy
Ci0gICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiTG9jYXRpb24iLCBsb2NhdGlvbikK
KyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBsb2NhdGlvbikK
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDIwMAotICAgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJH
RVQiKQotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtTWF4LUFn
ZSIsIDEpCi0gICAgZWxpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiR0VUIjoKKyAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJHRVQiKQor
ICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAx
KQorICAgIGVsaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJHRVQiOgogICAgICAgICByZXNwb25zZS5z
dGF0dXMgPSAzMDIKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkxvY2F0aW9uIiwgbG9j
YXRpb24pCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBsb2NhdGlv
bikKIAotICAgIGlmICJhbGxvd19vcmlnaW4iIGluIHJlcXVlc3QuR0VUOgotICAgICAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5o
ZWFkZXJzLmdldCgib3JpZ2luIikpCisgICAgaWYgYiJhbGxvd19vcmlnaW4iIGluIHJlcXVlc3Qu
R0VUOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJvcmlnaW4iKSkKIAotICAgIGlmICJhbGxv
d19oZWFkZXIiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIHJlcXVlc3QuR0VULmZpcnN0KCJhbGxvd19o
ZWFkZXIiKSkKKyAgICBpZiBiImFsbG93X2hlYWRlciIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIHJl
cXVlc3QuR0VULmZpcnN0KGIiYWxsb3dfaGVhZGVyIikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcmVkaXJlY3Qu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvcmVkaXJlY3QucHkKaW5kZXggMmFmOWYyZWU4YTk0YzRhYTEwODQxNmNkZWQ3YzkzYjA4
YTdiZjhhMi4uOWQ5YmIzMzJhNzA5OGU1ZjdhMTQ1ZTM4ZTlhNWQ0OTYyY2JhOWQyYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL3JlZGlyZWN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC5weQpAQCAtMSwxNCArMSwxNiBAQAog
aW1wb3J0IHRpbWUKIAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNv
ZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGNvZGUgPSBpbnQocmVxdWVz
dC5HRVQuZmlyc3QoImNvZGUiLCAzMDIpKQotICAgIGxvY2F0aW9uID0gcmVxdWVzdC5HRVQuZmly
c3QoImxvY2F0aW9uIiwgcmVxdWVzdC51cmxfcGFydHMucGF0aCArICI/Zm9sbG93ZWQiKQorICAg
IGNvZGUgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoYiJjb2RlIiwgMzAyKSkKKyAgICBsb2NhdGlv
biA9IHJlcXVlc3QuR0VULmZpcnN0KGIibG9jYXRpb24iLCBpc29tb3JwaGljX2VuY29kZShyZXF1
ZXN0LnVybF9wYXJ0cy5wYXRoICsgdSI/Zm9sbG93ZWQiKSkKIAotICAgIGlmICJkZWxheSIgaW4g
cmVxdWVzdC5HRVQ6Ci0gICAgICAgIGRlbGF5ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoImRl
bGF5IikpCisgICAgaWYgYiJkZWxheSIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIGRlbGF5ID0g
ZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoYiJkZWxheSIpKQogICAgICAgICB0aW1lLnNsZWVwKGRl
bGF5IC8gMUUzKQogCi0gICAgaWYgImZvbGxvd2VkIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAg
cmV0dXJuIFsoIkNvbnRlbnQ6VHlwZSIsICJ0ZXh0L3BsYWluIildLCAiTUFHSUMgSEFQUEVORUQi
CisgICAgaWYgYiJmb2xsb3dlZCIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJldHVybiBbKGIi
Q29udGVudDpUeXBlIiwgYiJ0ZXh0L3BsYWluIildLCBiIk1BR0lDIEhBUFBFTkVEIgogICAgIGVs
c2U6Ci0gICAgICAgIHJldHVybiAoY29kZSwgIldFQlNSVCBNQVJLRVRJTkciKSwgWygiTG9jYXRp
b24iLCBsb2NhdGlvbildLCAiVEVTVCIKKyAgICAgICAgcmV0dXJuIChjb2RlLCB1IldFQlNSVCBN
QVJLRVRJTkciKSwgWyhiIkxvY2F0aW9uIiwgbG9jYXRpb24pXSwgYiJURVNUIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL3JlcXVyaS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9yZXF1cmkucHkKaW5kZXggYTNmN2JmZGEzNTE3ODJlNDk0MWYzOTU1
YzFjN2I1ZjMyYmUwN2JhNC4uYzdmNzMzMGYxMWNjMGFjYzI5YjBmMGI3NDY4MzUyYmQ3OTM5Y2M3
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL3JlcXVyaS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcmVxdXJpLnB5CkBAIC0xLDUgKzEsNSBA
QAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGlmICJmdWxsIiBpbiByZXF1ZXN0
LkdFVDoKKyAgICBpZiBiImZ1bGwiIGluIHJlcXVlc3QuR0VUOgogICAgICAgICByZXR1cm4gcmVx
dWVzdC51cmwKICAgICBlbHNlOgogICAgICAgICByZXR1cm4gcmVxdWVzdC5yZXF1ZXN0X3BhdGgK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9yZXNldC10b2tlbi5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZXNldC10b2tlbi5weQppbmRleCA1Yzlh
NTc3YjQ0Y2UyMmNhY2M2ZmQ5YWQ0MWNkNDQxNTM4ZjAzNzNkLi4yNTdjMmFhZTgwYzY5MDY1MmVm
Njc2MmIxM2QxNzg1ZGNkYzk0ZDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcmVzZXQtdG9rZW4ucHkKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L3Jlc2V0LXRva2VuLnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9u
c2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1Pcmln
aW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKLSAgICB0b2tlbiA9IHJlcXVlc3Qu
R0VUWyJ0b2tlbiJdCi0gICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCAiIikKLSAg
ICByZXNwb25zZS5jb250ZW50ID0gIlBBU1MiCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2lu
IikpCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVFtiInRva2VuIl0KKyAgICByZXF1ZXN0LnNlcnZl
ci5zdGFzaC5wdXQodG9rZW4sIGIiIikKKyAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1kb2N1bWVudC1kb21haW4td2luZG93LTIu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1kb2N1bWVudC1kb21haW4td2luZG93LTIuaHRtCmlu
ZGV4IDA3MzI2OGMyMWM3ZTg0ZmJjYmU1MzlhNmE0NTQ3NmRjNzU3ZDA1NjQuLmNkOWYwYzZiYjcw
NDRmNTY5ZGIxZjg3YzFhYmI5ZWM5OWIxYWIzMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5kLWFmdGVyLXNl
dHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy0yLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0
aW5nLWRvY3VtZW50LWRvbWFpbi13aW5kb3ctMi5odG0KQEAgLTExLDcgKzExLDcgQEAKICAgICAg
ICAgZG9jdW1lbnQuZG9tYWluID0gZG9jdW1lbnQuZG9tYWluLnJlcGxhY2UoL15cdytcLi8sICIi
KTsKICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICBj
bGllbnQub3BlbigiR0VUIiwgbG9jYXRpb24ucHJvdG9jb2wgKyAiLy8iICsgZG9jdW1lbnQuZG9t
YWluICsgbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvW15cL10qJC8sICIiKSArICJzdGF0dXMu
cHk/Y29udGVudD1oZWxsbzMiLCBmYWxzZSk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIk5ldHdv
cmtFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29y
a0Vycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgY2xpZW50LnNlbmQobnVsbCk7CiAgICAg
ICAgIH0pOwogICAgICAgfSwgImxvYWRpbmcgZG9jdW1lbnRzIGZyb20gdGhlIG9yaWdpbiBkb2N1
bWVudC5kb21haW4gd2FzIHNldCB0byBzaG91bGQgdGhyb3ciKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5k
LWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy1oZWxwZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1h
ZnRlci1zZXR0aW5nLWRvY3VtZW50LWRvbWFpbi13aW5kb3ctaGVscGVyLmpzCmluZGV4IGY1Yzc2
MmIwNDJiNzBhMjc3MzQxNTdlMGNhN2Q0ZDg2OGYyNTE0N2IuLjBjMjM5Y2ZkYmNkNWE0NDUzM2Uz
NjczMTFkZDQxM2I1ZTY2ZGEwYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5kLWFmdGVyLXNldHRpbmctZG9j
dW1lbnQtZG9tYWluLXdpbmRvdy1oZWxwZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1k
b2N1bWVudC1kb21haW4td2luZG93LWhlbHBlci5qcwpAQCAtNCwxMCArNCwxMyBAQCBmdW5jdGlv
biBhc3NlcnRfZXF1YWxzKHZhbHVlLCBleHBlY3RlZCkgewogICB9CiB9CiAKLWZ1bmN0aW9uIGFz
c2VydF90aHJvd3MoZXhwZWN0ZWRfZXhjLCBmdW5jKSB7CitmdW5jdGlvbiBhc3NlcnRfdGhyb3dz
X2RvbShleHBlY3RlZF9leGMsIGZ1bmMpIHsKICAgdHJ5IHsKICAgICBmdW5jLmNhbGwodGhpcyk7
CiAgIH0gY2F0Y2goZSkgeworICAgIGlmIChlLmNvbnN0cnVjdG9yLm5hbWUgIT0gIkRPTUV4Y2Vw
dGlvbiIpIHsKKyAgICAgIHRocm93IGBFeGNlcHRpb24gJHtlLmNvbnN0cnVjdG9yLm5hbWUgfHwg
InVua25vd24ifSB0aGF0IHdhcyBub3QgYSBET01FeGNlcHRpb24gd2FzIHRocm93bmA7CisgICAg
fQogICAgIHZhciBhY3R1YWwgPSBlLm5hbWUgfHwgZS50eXBlOwogICAgIGlmIChhY3R1YWwgIT0g
ZXhwZWN0ZWRfZXhjKSB7CiAgICAgICB0aHJvdyAiR290IHdyb25nIGV4Y2VwdGlvbi5cbkV4cGVj
dGVkICciICsgZXhwZWN0ZWRfZXhjICsgIicsXG5nb3QgJyIgKyBhY3R1YWwgKyAiJy4iOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL3NoaWZ0LWppcy1odG1sLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NoaWZ0LWppcy1odG1sLnB5CmluZGV4IGZh
Yjc4YzBiM2FjODMxNWM2NWRmMzgyNGNmY2JlZmQ3MGY3NmRjYmYuLjQ3YzY3ZDhhZTM5ZTk2YmFj
ZDk3ZDdjYjE0YzU5MTUxMDYwZTI2ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zaGlmdC1qaXMtaHRtbC5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvc2hpZnQtamlzLWh0bWwucHkKQEAgLTEsNSArMSw1IEBACiBkZWYgbWFpbihyZXF1ZXN0
LCByZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7
Y2hhcnNldD1zaGlmdC1qaXMiKV0KKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtdHlwZSIsIGIi
dGV4dC9odG1sO2NoYXJzZXQ9c2hpZnQtamlzIildCiAgICAgIyBTaGlmdC1KSVMgYnl0ZXMgZm9y
IGthdGFrYW5hIFRFIFNVIFRPICgndGVzdCcpCiAgICAgY29udGVudCA9IGNocigweDgzKSArIGNo
cigweDY1KSArIGNocigweDgzKSArIGNocigweDU4KSArIGNocigweDgzKSArIGNocigweDY3KQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvc3RhdHVzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3N0YXR1cy5weQppbmRleCA1ZDcyZTEwYjI0YmZk
NWEzNmQ3MTk5NDAzODhiYjU1ZDQ0NDMzNTQ2Li4wNWE1OWQ1YTYzN2VkZGU4ZmIwNDk2MjdmZGNl
OGEzYTBlODM2NzE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc3RhdHVzLnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zdGF0dXMucHkKQEAg
LTEsOSArMSwxMSBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNv
ZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGNvZGUgPSBpbnQocmVxdWVz
dC5HRVQuZmlyc3QoImNvZGUiLCAyMDApKQotICAgIHRleHQgPSByZXF1ZXN0LkdFVC5maXJzdCgi
dGV4dCIsICJPTUciKQotICAgIGNvbnRlbnQgPSByZXF1ZXN0LkdFVC5maXJzdCgiY29udGVudCIs
ICIiKQotICAgIHR5cGUgPSByZXF1ZXN0LkdFVC5maXJzdCgidHlwZSIsICIiKQorICAgIGNvZGUg
PSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoYiJjb2RlIiwgMjAwKSkKKyAgICB0ZXh0ID0gcmVxdWVz
dC5HRVQuZmlyc3QoYiJ0ZXh0IiwgYiJPTUciKQorICAgIGNvbnRlbnQgPSByZXF1ZXN0LkdFVC5m
aXJzdChiImNvbnRlbnQiLCBiIiIpCisgICAgdHlwZSA9IHJlcXVlc3QuR0VULmZpcnN0KGIidHlw
ZSIsIGIiIikKICAgICBzdGF0dXMgPSAoY29kZSwgdGV4dCkKLSAgICBoZWFkZXJzID0gWygiQ29u
dGVudC1UeXBlIiwgdHlwZSksCi0gICAgICAgICAgICAgICAoIlgtUmVxdWVzdC1NZXRob2QiLCBy
ZXF1ZXN0Lm1ldGhvZCldCisgICAgaGVhZGVycyA9IFsoYiJDb250ZW50LVR5cGUiLCB0eXBlKSwK
KyAgICAgICAgICAgICAgIChiIlgtUmVxdWVzdC1NZXRob2QiLCBpc29tb3JwaGljX2VuY29kZShy
ZXF1ZXN0Lm1ldGhvZCkpXQogICAgIHJldHVybiBzdGF0dXMsIGhlYWRlcnMsIGNvbnRlbnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy90cmlja2xlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3RyaWNrbGUucHkKaW5kZXggNDE4ZTI0NTk5MjE3NDNi
NzY5ZmFiMzIwNDFlOTViMDBlN2MwOTFiYi4uNGE2YmJkN2Y0ZjI3NWVmYWE4ZjM2NzFmNzVkYjc4
NzQyMDBiOTQwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3RyaWNrbGUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3RyaWNrbGUucHkKQEAg
LTEsMTUgKzEsMTcgQEAKIGltcG9ydCB0aW1lCiAKK2Zyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5n
ZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgY2h1bmsgPSAiVEVTVF9UUklD
S0xFXG4iCi0gICAgZGVsYXkgPSBmbG9hdChyZXF1ZXN0LkdFVC5maXJzdCgibXMiLCA1MDApKSAv
IDFFMwotICAgIGNvdW50ID0gaW50KHJlcXVlc3QuR0VULmZpcnN0KCJjb3VudCIsIDUwKSkKLSAg
ICBpZiAic3BlY2lmeWxlbmd0aCIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KCJDb250ZW50LUxlbmd0aCIsIGNvdW50ICogbGVuKGNodW5rKSkKKyAgICBjaHVu
ayA9IGIiVEVTVF9UUklDS0xFXG4iCisgICAgZGVsYXkgPSBmbG9hdChyZXF1ZXN0LkdFVC5maXJz
dChiIm1zIiwgNTAwKSkgLyAxRTMKKyAgICBjb3VudCA9IGludChyZXF1ZXN0LkdFVC5maXJzdChi
ImNvdW50IiwgNTApKQorICAgIGlmIGIic3BlY2lmeWxlbmd0aCIgaW4gcmVxdWVzdC5HRVQ6Cisg
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29udGVudC1MZW5ndGgiLCBjb3VudCAqIGxl
bihjaHVuaykpCiAgICAgdGltZS5zbGVlcChkZWxheSkKLSAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgiQ29udGVudC10eXBlIiwgInRleHQvcGxhaW4iKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWluIikKICAgICByZXNwb25zZS53cml0ZV9zdGF0
dXNfaGVhZGVycygpCiAgICAgdGltZS5zbGVlcChkZWxheSkKLSAgICBmb3IgaSBpbiB4cmFuZ2Uo
Y291bnQpOgorICAgIGZvciBpIGluIHJhbmdlKGNvdW50KToKICAgICAgICAgcmVzcG9uc2Uud3Jp
dGVyLndyaXRlX2NvbnRlbnQoY2h1bmspCiAgICAgICAgIHRpbWUuc2xlZXAoZGVsYXkpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvdXBsb2FkLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL3VwbG9hZC5weQppbmRleCAzMDRiZWE5ZTVlZjkwNmVlMjg3
NGMyNzc5OTc4ZGE3NmE2MzIxNTBkLi5lMzVlNDZlZGNmOTZhZDlhOWExMTJhNWJkNmEyNmYwZDli
NGU5ZmIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvdXBsb2FkLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy91cGxvYWQucHkKQEAgLTEsMTUg
KzEsMTcgQEAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisK
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBjb250ZW50ID0gW10KIAotICAgIGZv
ciBrZXksIHZhbHVlcyBpbiBzb3J0ZWQoaXRlbSBmb3IgaXRlbSBpbiByZXF1ZXN0LlBPU1QuaXRl
bXMoKSBpZiBub3QgaGFzYXR0cihpdGVtWzFdWzBdLCAiZmlsZW5hbWUiKSk6Ci0gICAgICAgIGNv
bnRlbnQuYXBwZW5kKCIlcz0lcywiICUgKGtleSwgdmFsdWVzWzBdKSkKLSAgICBjb250ZW50LmFw
cGVuZCgiXG4iKQorICAgIGZvciBrZXksIHZhbHVlcyBpbiBzb3J0ZWQoaXRlbSBmb3IgaXRlbSBp
biByZXF1ZXN0LlBPU1QuaXRlbXMoKSBpZiBub3QgaGFzYXR0cihpdGVtWzFdWzBdLCB1ImZpbGVu
YW1lIikpOgorICAgICAgICBjb250ZW50LmFwcGVuZChiIiVzPSVzLCIgJSAoa2V5LCB2YWx1ZXNb
MF0pKQorICAgIGNvbnRlbnQuYXBwZW5kKGIiXG4iKQogCi0gICAgZm9yIGtleSwgdmFsdWVzIGlu
IHNvcnRlZChpdGVtIGZvciBpdGVtIGluIHJlcXVlc3QuUE9TVC5pdGVtcygpIGlmIGhhc2F0dHIo
aXRlbVsxXVswXSwgImZpbGVuYW1lIikpOgorICAgIGZvciBrZXksIHZhbHVlcyBpbiBzb3J0ZWQo
aXRlbSBmb3IgaXRlbSBpbiByZXF1ZXN0LlBPU1QuaXRlbXMoKSBpZiBoYXNhdHRyKGl0ZW1bMV1b
MF0sIHUiZmlsZW5hbWUiKSk6CiAgICAgICAgIHZhbHVlID0gdmFsdWVzWzBdCi0gICAgICAgIGNv
bnRlbnQuYXBwZW5kKCIlcz0lczolczolcywiICUgKGtleSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4odmFsdWUuZmlsZS5yZWFk
KCkpKSkKKyAgICAgICAgY29udGVudC5hcHBlbmQoYiIlcz0lczolczolZCwiICUgKGtleSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzb21vcnBoaWNfZW5jb2Rl
KHZhbHVlLmZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlzb21vcnBoaWNfZW5jb2RlKHZhbHVlLmhlYWRlcnNbdSJDb250ZW50LVR5cGUiXSkgaWYg
dmFsdWUuaGVhZGVyc1t1IkNvbnRlbnQtVHlwZSJdIGlzIG5vdCBOb25lIGVsc2UgYiJOb25lIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbih2YWx1ZS5maWxl
LnJlYWQoKSkpKQogCi0gICAgcmV0dXJuICIiLmpvaW4oY29udGVudCkKKyAgICByZXR1cm4gYiIi
LmpvaW4oY29udGVudCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZwppbmRleCA2NTU5ZDgxNzJhYTc1NjBiMzg5NWYyYTU3M2VhMmU5NzA2N2RjMDA2Li4yZjA4
NjA0ZDMzMDAyZTcyZGYzN2IxOTU4ZjAzMTg4YzZjMGQ1MmZiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdzNjLWlt
cG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC04Myw2ICs4Myw3IEBAIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1kb2N1bWVudC1kb21haW4td2luZG93LWhlbHBl
ci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy9zaGlmdC1qaXMtaHRtbC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zdGF0dXMucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdG9wLnR4dAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy90cmlj
a2xlLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL3VwbG9hZC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy91dGYxNi1ib20uanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3dpbi0x
MjUyLWh0bWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvd2luLTEyNTItaHRtbC5weQppbmRleCBhNGQ3MmQ1ZTI3NTRjZTIxNzhj
ZjFmM2M0ZWQ5ZDM5YzhmNjhiYjE1Li4wZWY1MjgzZjdkNTE0NjU2ZWQ3NzU5YzBmOWI3MDM2ZDFm
YTg4YWNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvd2luLTEyNTItaHRtbC5weQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvd2luLTEyNTItaHRt
bC5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBo
ZWFkZXJzID0gWygiQ29udGVudC10eXBlIiwgInRleHQvaHRtbDtjaGFyc2V0PXdpbmRvd3MtMTI1
MiIpXQorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L2h0bWw7Y2hhcnNl
dD13aW5kb3dzLTEyNTIiKV0KICAgICBjb250ZW50ID0gY2hyKDB4ZmYpCiAKICAgICByZXR1cm4g
aGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3dpbi0xMjUyLXhtbC5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93aW4tMTI1
Mi14bWwucHkKaW5kZXggMDljMzJlNDU3NGI4ODk5NzQxNTNhYmVjYjJiOTllZWI3OWMxMzFmYS4u
ZDg4MDg2ZTkzNmVhMTdmNzVmMzBjMThmNGU5YmQ0MjRiYTYwOWZmZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3dp
bi0xMjUyLXhtbC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvd2luLTEyNTIteG1sLnB5CkBAIC0xLDUgKzEsNSBAQAogZGVm
IG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LXR5cGUi
LCAiYXBwbGljYXRpb24veG1sO2NoYXJzZXQ9d2luZG93cy0xMjUyIildCisgICAgaGVhZGVycyA9
IFsoYiJDb250ZW50LXR5cGUiLCBiImFwcGxpY2F0aW9uL3htbDtjaGFyc2V0PXdpbmRvd3MtMTI1
MiIpXQogICAgIGNvbnRlbnQgPSAnPCcgKyBjaHIoMHhmZikgKyAnLz4nCiAKICAgICByZXR1cm4g
aGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvemxpYi5weQppbmRleCA0
OWVkNjlkZTc5Mzk4ODI4YWYxMjgzN2U4ZDg3ZWQ4ZDFhM2E3YTNlLi42Mzg4MTM5OTljZTA3Yjhm
NjMwOGYwZGM1YzAzODhlYzgyMDkxMDY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvemxpYi5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvemxp
Yi5weQpAQCAtMSwxOSArMSwxOSBAQAogaW1wb3J0IHpsaWIKIAogZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgotICAgIGlmICJjb250ZW50IiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgb3V0
cHV0ID0gcmVxdWVzdC5HRVRbImNvbnRlbnQiXQorICAgIGlmIGIiY29udGVudCIgaW4gcmVxdWVz
dC5HRVQ6CisgICAgICAgIG91dHB1dCA9IHJlcXVlc3QuR0VUW2IiY29udGVudCJdCiAgICAgZWxz
ZToKICAgICAgICAgb3V0cHV0ID0gcmVxdWVzdC5ib2R5CiAKICAgICBvdXRwdXQgPSB6bGliLmNv
bXByZXNzKG91dHB1dCwgOSkKIAotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4
dC9wbGFpbiIpLAotICAgICAgICAgICAgICAgKCJDb250ZW50LUVuY29kaW5nIiwgImRlZmxhdGUi
KSwKLSAgICAgICAgICAgICAgICgiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVlc3QubWV0aG9kKSwK
LSAgICAgICAgICAgICAgICgiWC1SZXF1ZXN0LVF1ZXJ5IiwgcmVxdWVzdC51cmxfcGFydHMucXVl
cnkgaWYgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgZWxzZSAiTk8iKSwKLSAgICAgICAgICAgICAg
ICgiWC1SZXF1ZXN0LUNvbnRlbnQtTGVuZ3RoIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgiQ29udGVu
dC1MZW5ndGgiLCAiTk8iKSksCi0gICAgICAgICAgICAgICAoIlgtUmVxdWVzdC1Db250ZW50LVR5
cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiLCAiTk8iKSksCi0gICAgICAg
ICAgICAgICAoIkNvbnRlbnQtTGVuZ3RoIiwgbGVuKG91dHB1dCkpXQorICAgIGhlYWRlcnMgPSBb
KGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWluIiksCisgICAgICAgICAgICAgICAoYiJDb250
ZW50LUVuY29kaW5nIiwgYiJkZWZsYXRlIiksCisgICAgICAgICAgICAgICAoYiJYLVJlcXVlc3Qt
TWV0aG9kIiwgcmVxdWVzdC5tZXRob2QpLAorICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LVF1
ZXJ5IiwgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgaWYgcmVxdWVzdC51cmxfcGFydHMucXVlcnkg
ZWxzZSBiIk5PIiksCisgICAgICAgICAgICAgICAoYiJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgi
LCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQ29udGVudC1MZW5ndGgiLCBiIk5PIikpLAorICAgICAg
ICAgICAgICAgKGIiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVycy5nZXQo
YiJDb250ZW50LVR5cGUiLCBiIk5PIikpLAorICAgICAgICAgICAgICAgKGIiQ29udGVudC1MZW5n
dGgiLCBsZW4ob3V0cHV0KSldCiAKICAgICByZXR1cm4gaGVhZGVycywgb3V0cHV0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNw
b25zZXR5cGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzcG9uc2V0eXBlLmFueS5qcwppbmRleCA4OGJkOTE4OWViZWQwMzE3OTA0ZmFk
NDI0MDg4OGEyM2NjYTI3MmNlLi40NDRjM2UzZDE2OWEwYTI2ODBiZDA1MDFiODg1OWI3Y2E5N2I0
MjUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNwb25zZXR5cGUuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc3BvbnNldHlwZS5hbnkuanMKQEAgLTY5LDcgKzY5
LDcgQEAgdHlwZXMuZm9yRWFjaChmdW5jdGlvbih0eXBlKSB7CiAgICAgICAgIGlmIChpc0lnbm9y
ZWRUeXBlKHR5cGUpKSB7CiAgICAgICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9IHR5cGU7CiAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3Ii
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRl
RXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBl
OwogICAgICAgICAgIH0pOwogICAgICAgICB9CkBAIC05MCw3ICs5MCw3IEBAIHR5cGVzLmZvckVh
Y2goZnVuY3Rpb24odHlwZSkgewogICAgICAgICBpZiAoaXNJZ25vcmVkVHlwZSh0eXBlKSkgewog
ICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgICB4aHIucmVzcG9uc2VUeXBlID0gdHlwZTsKICAgICAgICAgICB9KTsK
ICAgICAgICAgfQpAQCAtMTEyLDcgKzExMiw3IEBAIHR5cGVzLmZvckVhY2goZnVuY3Rpb24odHlw
ZSkgewogICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9IHR5cGU7CiAgICAgICBhc3NlcnRfZXF1YWxz
KHhoci5yZXNwb25zZVR5cGUsIGV4cGVjdGVkVHlwZSh0eXBlKSk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRBY2Nlc3NFcnJvciIsIGZ1bmN0aW9uKCkgeworICAg
ICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRBY2Nlc3NFcnJvciIsIGZ1bmN0aW9uKCkgewog
ICAgICAgICB4aHIucmVzcG9uc2VUeXBlID0gdHlwZTsKICAgICAgIH0pOwogICAgIH0KQEAgLTEy
Niw3ICsxMjYsNyBAQCB0eXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUpIHsKICAgICBpZiAoaXNJ
Z25vcmVkVHlwZSh0eXBlKSkgewogICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9IHR5cGU7CiAgICAg
fSBlbHNlIHsKLSAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rp
b24oKSB7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5j
dGlvbigpIHsKICAgICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9IHR5cGU7CiAgICAgICB9KTsKICAg
ICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNwb25zZXhtbC1ub24tZG9jdW1lbnQtdHlwZXMuaHRtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V4bWwtbm9uLWRvY3Vt
ZW50LXR5cGVzLmh0bQppbmRleCA4NGQ5MGE4ZDM1YWUxZDNkYTM0OTRjZDI2ODFlZDFlZjhiN2Rl
YmM2Li42ZDdmZWVhNzUzMGVlZjcyODViNjYyNWI3YjFkNjg3MDU5ZmUwMDMzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNwb25z
ZXhtbC1ub24tZG9jdW1lbnQtdHlwZXMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc3BvbnNleG1sLW5vbi1kb2N1bWVudC10eXBlcy5o
dG0KQEAgLTIwLDEyICsyMCwxMiBAQAogICAgICAgICAgIGNsaWVudC5vbmxvYWQgPSBmdW5jdGlv
bigpewogICAgICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAg
aWYodHlwZSAhPT0gJ2RvY3VtZW50Jyl7Ci0gICAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dz
KCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgICAgICAgICAgIHZhciB4ID0gY2xpZW50LnJlc3BvbnNlWE1MOwogICAgICAgICAgICAgICAg
ICAgfSwgJ3Jlc3BvbnNlWE1MIHRocm93IGZvciAnK3R5cGUpCiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIGlmKHR5cGUgIT09ICd0ZXh0Jyl7Ci0gICAgICAgICAgICAgICAgICBh
c3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgICAgICAgICAgIHZhciB4ID0gY2xpZW50LnJlc3BvbnNlVGV4dDsKICAg
ICAgICAgICAgICAgICAgIH0sICdyZXNwb25zZVRleHQgdGhyb3dzIGZvciAnK3R5cGUpCiAgICAg
ICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3RlZC50eHQKaW5kZXggN2ZmZjdlZDRk
ODVhN2Y0NjE0MzBlYzVmNWU2ZTgwZGVlYTc2OGQyNC4uODA2YjZlNjAzMGJlNzJkMWM4MmFjZjVi
NjczMmI3ZWYyNGZkY2MxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMtZXhwZWN0ZWQudHh0CkBAIC0xLDgg
KzEsNCBAQAotQUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAogQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cxLmxvY2FsaG9zdDo4ODAwL3hoci9y
ZXNvdXJjZXMvYXV0aDEvY29yc2VuYWJsZWQucHkKLUFMRVJUOiByZWFkeSBzdGF0ZSBjaGFuZ2Vk
IHRvIDQKLUFMRVJUOiBmaW5pc2hpbmcgdGVzdAogCiBQQVNTIFhNTEh0dHBSZXF1ZXN0OiBzZW5k
KCkgLSAiQmFzaWMiIGF1dGhlbnRpY2F0ZWQgQ09SUyByZXF1ZXN0cyB3aXRoIHVzZXIgbmFtZSBh
bmQgcGFzc3dvcmQgcGFzc2VkIHRvIG9wZW4oKSAoYXNzZXJ0cyBmYWlsdXJlKSAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLW5vdC1lbmFibGVkLmh0bSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24t
YmFzaWMtY29ycy1ub3QtZW5hYmxlZC5odG0KaW5kZXggNjhhZDVlOTVlZDg3MGY5YjA5NDAxZTg0
MTdkZjcwMTE2YzAzMzZhZi4uMmU3Y2JhZjAzNDA0OGQzYjczYzkwNTA0OGIwOTA1NDZiZWU0M2Nh
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLW5vdC1lbmFibGVkLmh0bQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1
dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMtbm90LWVuYWJsZWQuaHRtCkBAIC0xOCw3ICsxOCw3IEBA
CiAgICAgICAgIHVzZXIgPSB0b2tlbigpCiAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCBsb2Nh
dGlvbi5wcm90b2NvbCsnLy8nK3VybHN0YXJ0ICsgInJlc291cmNlcy9hdXRoMTAvYXV0aC5weSIs
IGZhbHNlLCB1c2VyLCAncGFzcycpCiAgICAgICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4
LXVzZXIiLCB1c2VyKQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5j
dGlvbigpeyBjbGllbnQuc2VuZChudWxsKSB9KQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgi
TmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKXsgY2xpZW50LnNlbmQobnVsbCkgfSkKICAgICAgICAg
YXNzZXJ0X2VxdWFscyhjbGllbnQucmVzcG9uc2VUZXh0LCAnJykKICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhjbGllbnQuc3RhdHVzLCAwKQogICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRS
ZXNwb25zZUhlYWRlcigneC1jaGFsbGVuZ2UnKSwgbnVsbCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRp
b24tYmFzaWMtY29ycy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMuaHRtCmluZGV4IDFkNWYx
N2ViNzQ3ZWMwZGNlNDE4MzU5NmQwNTZiYWU2YmYwZjgwMTYuLmZjYWNkZDVmZWM0ZDk5MWUwZGVl
N2FiMWZlMTk1N2MyNzI1ZjU5ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy5o
dG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLmh0bQpAQCAtMTEsOSArMTEsNyBAQAogICAg
IDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiAgICAgPHNjcmlwdD4KICAgICAgIHZhciB0ZXN0ID0gYXN5
bmNfdGVzdCgpCi0gICAgICBhbGVydCgidGVzdCBzdGFydGVkIik7CiAgICAgICB0ZXN0LnN0ZXAo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFsZXJ0KCJ0ZXN0IHN0ZXBwZWQiKTsKICAgICAgICAgdmFy
IGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpLAogICAgICAgICAgIHVybHN0YXJ0ID0gJ3d3
dzEuJytsb2NhdGlvbi5ob3N0ICsgbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXC9bXlwvXSok
LywgJy8nKQogICAgICAgICBjbGllbnQud2l0aENyZWRlbnRpYWxzID0gdHJ1ZQpAQCAtMjIsMTIg
KzIwLDEwIEBACiAgICAgICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXBhc3MiLCAncGFz
cycpCiAgICAgICAgIGNsaWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpewogICAg
ICAgICAgIGlmIChjbGllbnQucmVhZHlTdGF0ZSA9PT0gNCkgewotICAgICAgICAgICAgYWxlcnQo
InJlYWR5IHN0YXRlIGNoYW5nZWQgdG8gNCIpOwogICAgICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0
aW9uKCl7CiAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnJlc3BvbnNlVGV4dCwg
JycpCiAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywgMCkKICAgICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQuZ2V0UmVzcG9uc2VIZWFkZXIoJ3gtY2hhbGxl
bmdlJyksIG51bGwpCi0gICAgICAgICAgICAgIGFsZXJ0KCJmaW5pc2hpbmcgdGVzdCIpOwogICAg
ICAgICAgICAgICB0ZXN0LmRvbmUoKQogICAgICAgICAgICAgfSkKICAgICAgICAgICB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLWRhdGEtZXMtb2JqZWN0LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS1leHBl
Y3RlZC50eHQKaW5kZXggM2EyZmMzM2Y2NTZiYjVhZmQ5MGI5OWYwY2ZjMGU2ZGI3MmY2ZWQyZC4u
M2Q5NTU4MDUxMjI4YTdiOTA2YjA2ODBhZTc0OTIzOGJlMjU2M2I2NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVz
LW9iamVjdC5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55LWV4cGVjdGVkLnR4
dApAQCAtMiw2ICsyLDcgQEAKIFBBU1Mgc2VuZGluZyBhIHBsYWluIGVtcHR5IG9iamVjdCAKIFBB
U1Mgc2VuZGluZyB0aGUgRVMgTWF0aCBvYmplY3QgCiBQQVNTIHNlbmRpbmcgYSBuZXcgWEhSIGlu
c3RhbmNlIAorUEFTUyBzZW5kaW5nIGEgbmV3IFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlIAogUEFT
UyBzZW5kaW5nIG9iamVjdCB0aGF0IHN0cmluZ2lmaWVzIHRvIHVuZGVmaW5lZCAKIFBBU1Mgc2Vu
ZGluZyBvYmplY3QgdGhhdCBzdHJpbmdpZmllcyB0byBudWxsIAogUEFTUyBvYmplY3QgdGhhdCBz
dHJpbmdpZmllcyB0byBxdWVyeSBzdHJpbmcgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
ZGF0YS1lcy1vYmplY3QuYW55LmpzCmluZGV4IGQ5OGE0Y2E2NWFhNmIyZjNmNDA0M2YwOTc0MjM1
NGU2YjEyZmY4MzMuLjkyMjg2YmNhNmRkMDBiODJiNzhkZTM5ZmNmNzk4OGJhMWM0MjRkMDcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtZGF0YS1lcy1vYmplY3QuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55LmpzCkBAIC0x
MCw3ICsxMCwxMyBAQCBmdW5jdGlvbiBkb190ZXN0KG9iaiwgZXhwZWN0ZWQsIG5hbWUpIHsKICAg
ICB9KTsKICAgICBjbGllbnQub3BlbignUE9TVCcsICdyZXNvdXJjZXMvY29udGVudC5weScpCiAg
ICAgaWYgKGV4cGVjdGVkLmV4Y2VwdGlvbikgewotICAgICAgYXNzZXJ0X3Rocm93cyhleHBlY3Rl
ZC5leGNlcHRpb24sIGZ1bmN0aW9uKCl7Y2xpZW50LnNlbmQob2JqKX0pCisgICAgICBpZiAoZXhw
ZWN0ZWQuZXhjZXB0aW9uLmlkZW50aXR5KSB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZXhhY3Rs
eShleHBlY3RlZC5leGNlcHRpb24uaWRlbnRpdHksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbigpe2NsaWVudC5zZW5kKG9iail9KQorICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgYXNzZXJ0X3Rocm93c19qcyhleHBlY3RlZC5leGNlcHRpb24uY3RvciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbigpe2NsaWVudC5zZW5kKG9iail9KQorICAgICAgfQogICAg
ICAgdGVzdC5kb25lKCkKICAgICB9IGVsc2UgewogICAgICAgY2xpZW50LnNlbmQob2JqKQpAQCAt
MjEsNiArMjcsNyBAQCBmdW5jdGlvbiBkb190ZXN0KG9iaiwgZXhwZWN0ZWQsIG5hbWUpIHsKIGRv
X3Rlc3Qoe30sICdbb2JqZWN0IE9iamVjdF0nLCAnc2VuZGluZyBhIHBsYWluIGVtcHR5IG9iamVj
dCcpCiBkb190ZXN0KE1hdGgsICdbb2JqZWN0IE1hdGhdJywgJ3NlbmRpbmcgdGhlIEVTIE1hdGgg
b2JqZWN0JykKIGRvX3Rlc3QobmV3IFhNTEh0dHBSZXF1ZXN0LCAnW29iamVjdCBYTUxIdHRwUmVx
dWVzdF0nLCAnc2VuZGluZyBhIG5ldyBYSFIgaW5zdGFuY2UnKQorZG9fdGVzdChuZXcgUmVhZGFi
bGVTdHJlYW0sICdbb2JqZWN0IFJlYWRhYmxlU3RyZWFtXScsICdzZW5kaW5nIGEgbmV3IFJlYWRh
YmxlU3RyZWFtIGluc3RhbmNlJykKIGRvX3Rlc3Qoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0sICd1
bmRlZmluZWQnLCAnc2VuZGluZyBvYmplY3QgdGhhdCBzdHJpbmdpZmllcyB0byB1bmRlZmluZWQn
KQogZG9fdGVzdCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19LCAnbnVsbCcsICdz
ZW5kaW5nIG9iamVjdCB0aGF0IHN0cmluZ2lmaWVzIHRvIG51bGwnKQogdmFyIGFuY2VzdG9yID0g
e3RvU3RyaW5nOiBmdW5jdGlvbigpewpAQCAtNDMsOCArNTAsOSBAQCB2YXIgbXlGYWtlRG9jMSA9
IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50fX0KIGRvX3Rlc3QobXlGYWtlRG9j
MSwgJ1tvYmplY3QgT2JqZWN0XScsICdvYmplY3Qgd2hvc2UgdmFsdWVPZigpIHJldHVybnMgYSBk
b2N1bWVudCAtIGlnbm9yZSB2YWx1ZU9mKCksIHN0cmluZ2lmeScpCiAKIHZhciBteUZha2VEb2My
ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50fX0KLXZhciBleHBlY3RlZEVy
cm9yID0gc2VsZi5HTE9CQUwuaXNXb3JrZXIoKSA/IG5ldyBSZWZlcmVuY2VFcnJvcigpIDogbmV3
IFR5cGVFcnJvcigpOwotZG9fdGVzdChteUZha2VEb2MyLCB7ZXhjZXB0aW9uOmV4cGVjdGVkRXJy
b3J9LCAnb2JqZWN0IHdob3NlIHRvU3RyaW5nKCkgcmV0dXJucyBhIGRvY3VtZW50LCBleHBlY3Rl
ZCB0byB0aHJvdycpCit2YXIgZXhwZWN0ZWRFcnJvciA9IHNlbGYuR0xPQkFMLmlzV29ya2VyKCkg
PyBSZWZlcmVuY2VFcnJvciA6IFR5cGVFcnJvcjsKK2RvX3Rlc3QobXlGYWtlRG9jMiwge2V4Y2Vw
dGlvbjogeyBjdG9yOiBleHBlY3RlZEVycm9yIH0gfSwgJ29iamVjdCB3aG9zZSB0b1N0cmluZygp
IHJldHVybnMgYSBkb2N1bWVudCwgZXhwZWN0ZWQgdG8gdGhyb3cnKQogCi12YXIgbXlUaHJvd2Vy
ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cge25hbWU6J0Zvb0Vycm9yJywgbWVzc2FnZTon
YmFyJ319fQotZG9fdGVzdChteVRocm93ZXIsIHtleGNlcHRpb246e25hbWU6J0Zvb0Vycm9yJ319
LCAnb2JqZWN0IHdob3NlIHRvU3RyaW5nKCkgdGhyb3dzLCBleHBlY3RlZCB0byB0aHJvdycpCit2
YXIgZXJyID0ge25hbWU6J0Zvb0Vycm9yJywgbWVzc2FnZTonYmFyJ307Cit2YXIgbXlUaHJvd2Vy
ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgZXJyO319OworZG9fdGVzdChteVRocm93ZXIs
IHtleGNlcHRpb246IHsgaWRlbnRpdHk6IGVyciB9fSwgJ29iamVjdCB3aG9zZSB0b1N0cmluZygp
IHRocm93cywgZXhwZWN0ZWQgdG8gdGhyb3cnKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
aW5kZXggM2EyZmMzM2Y2NTZiYjVhZmQ5MGI5OWYwY2ZjMGU2ZGI3MmY2ZWQyZC4uM2Q5NTU4MDUx
MjI4YTdiOTA2YjA2ODBhZTc0OTIzOGJlMjU2M2I2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CkBAIC0yLDYgKzIsNyBAQAogUEFTUyBzZW5kaW5nIGEgcGxhaW4gZW1wdHkgb2JqZWN0
IAogUEFTUyBzZW5kaW5nIHRoZSBFUyBNYXRoIG9iamVjdCAKIFBBU1Mgc2VuZGluZyBhIG5ldyBY
SFIgaW5zdGFuY2UgCitQQVNTIHNlbmRpbmcgYSBuZXcgUmVhZGFibGVTdHJlYW0gaW5zdGFuY2Ug
CiBQQVNTIHNlbmRpbmcgb2JqZWN0IHRoYXQgc3RyaW5naWZpZXMgdG8gdW5kZWZpbmVkIAogUEFT
UyBzZW5kaW5nIG9iamVjdCB0aGF0IHN0cmluZ2lmaWVzIHRvIG51bGwgCiBQQVNTIG9iamVjdCB0
aGF0IHN0cmluZ2lmaWVzIHRvIHF1ZXJ5IHN0cmluZyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0
cmVhbS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxZjA5YTkwYTA5YzY4NDI3YWYxYWNkOTEz
YzEwNjFhYjQ2MzQ0ZTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw1ICswLDAgQEAKLQotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgpIHdpdGggYSBzdHJlYW0g
b24gd2hpY2ggZ2V0UmVhZGVyKCkgaXMgY2FsbGVkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIo
KSA9PiBjbGllbnQuc2VuZChzdHJlYW0pIiBkaWQgbm90IHRocm93Ci1GQUlMIFhNTEh0dHBSZXF1
ZXN0OiBzZW5kKCkgd2l0aCBhIHN0cmVhbSBvbiB3aGljaCByZWFkKCkgaXMgY2FsbGVkIGFzc2Vy
dF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBjbGllbnQuc2VuZChzdHJlYW0pIiBkaWQgbm90IHRo
cm93Ci1GQUlMIFhNTEh0dHBSZXF1ZXN0OiBzZW5kKCkgd2l0aCBhIHN0cmVhbSBvbiB3aGljaCBy
ZWFkKCkgYW5kIHJlbGVhc2VMb2NrKCkgYXJlIGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiKCkgPT4gY2xpZW50LnNlbmQoc3RyZWFtKSIgZGlkIG5vdCB0aHJvdwotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRh
dGEtcmVhZGFibGVzdHJlYW0uYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFibGVzdHJlYW0uYW55Lmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUw
NjA5ODBiNTQ4YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1k
YXRhLXJlYWRhYmxlc3RyZWFtLmFueS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
PCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJl
IHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5h
bnkuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYTZlNzZhMDQyY2M4YTViNTVl
MWVhZDMwNmRkYWY5NDY3YjhjMDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI3
ICswLDAgQEAKLS8vIE1FVEE6IGdsb2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLHNoYXJlZHdv
cmtlcgotCi1mdW5jdGlvbiBhc3NlcnRfeGhyKHN0cmVhbSkgewotICBjb25zdCBjbGllbnQgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgY2xpZW50Lm9wZW4oIlBPU1QiLCAiLi4uIik7Ci0gIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBjbGllbnQuc2VuZChzdHJlYW0pKTsK
LX0KLQotdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IHN0cmVhbSA9IG5ldyBSZWFkYWJsZVN0cmVhbSgp
OwotICBzdHJlYW0uZ2V0UmVhZGVyKCk7Ci0gIGFzc2VydF94aHIoc3RyZWFtKTsKLX0sICJYTUxI
dHRwUmVxdWVzdDogc2VuZCgpIHdpdGggYSBzdHJlYW0gb24gd2hpY2ggZ2V0UmVhZGVyKCkgaXMg
Y2FsbGVkIik7Ci0KLXRlc3QoKCkgPT4gewotICBjb25zdCBzdHJlYW0gPSBuZXcgUmVhZGFibGVT
dHJlYW0oKTsKLSAgc3RyZWFtLmdldFJlYWRlcigpLnJlYWQoKTsKLSAgYXNzZXJ0X3hocihzdHJl
YW0pOwotfSwgIlhNTEh0dHBSZXF1ZXN0OiBzZW5kKCkgd2l0aCBhIHN0cmVhbSBvbiB3aGljaCBy
ZWFkKCkgaXMgY2FsbGVkIik7Ci0KLXByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gIGNvbnN0
IHN0cmVhbSA9IG5ldyBSZWFkYWJsZVN0cmVhbSh7IHB1bGw6IGMgPT4gYy5lbnF1ZXVlKG5ldyBV
aW50OEFycmF5KCkpIH0pLAotICAgICAgICByZWFkZXIgPSBzdHJlYW0uZ2V0UmVhZGVyKCk7Ci0g
IGF3YWl0IHJlYWRlci5yZWFkKCk7Ci0gIHJlYWRlci5yZWxlYXNlTG9jaygpOwotICBhc3NlcnRf
eGhyKHN0cmVhbSk7Ci19LCAiWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9u
IHdoaWNoIHJlYWQoKSBhbmQgcmVsZWFzZUxvY2soKSBhcmUgY2FsbGVkIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRh
dGEtcmVhZGFibGVzdHJlYW0uYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFibGVzdHJl
YW0uYW55Lndvcmtlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDcxZjA5YTkwYTA5YzY4NDI3YWYxYWNkOTEzYzEwNjFhYjQ2MzQ0ZTUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0KLUZBSUwgWE1M
SHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNoIGdldFJlYWRlcigpIGlz
IGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gY2xpZW50LnNlbmQoc3RyZWFt
KSIgZGlkIG5vdCB0aHJvdwotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgpIHdpdGggYSBzdHJl
YW0gb24gd2hpY2ggcmVhZCgpIGlzIGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkg
PT4gY2xpZW50LnNlbmQoc3RyZWFtKSIgZGlkIG5vdCB0aHJvdwotRkFJTCBYTUxIdHRwUmVxdWVz
dDogc2VuZCgpIHdpdGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGFuZCByZWxlYXNlTG9jaygp
IGFyZSBjYWxsZWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNsaWVudC5zZW5kKHN0
cmVhbSkiIGRpZCBub3QgdGhyb3cKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS53
b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkud29ya2VyLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4
YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRh
Ymxlc3RyZWFtLmFueS53b3JrZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwh
LS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0
byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJl
ZGFycmF5YnVmZmVyLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmMyMmIzNTE4OGVkYjI1
MTQxNjViYWRkZGUxYjUwOGFkNDM5YzAxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJh
eWJ1ZmZlci5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKKworRkFJTCBzZW5kaW5n
IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgeGhyLnNlbmQoYnVmKQorICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwg
c2VuZGluZyBhIEludDhBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRf
dGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQo
YXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBVaW50OEFycmF5
IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9u
ICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRp
ZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQ4Q2xhbXBlZEFycmF5IGJhY2tlZCBieSBh
IFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cK
K0ZBSUwgc2VuZGluZyBhIEludDE2QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIg
YXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHho
ci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWlu
dDE2QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAg
ICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgSW50MzJBcnJheSBiYWNrZWQgYnkg
YSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93
CitGQUlMIHNlbmRpbmcgYSBVaW50MzJBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZl
ciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
eGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBG
bG9hdDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19q
czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAg
ICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgRmxvYXQ2NEFycmF5IGJhY2tl
ZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3Qg
dGhyb3cKK0ZBSUwgc2VuZGluZyBhIERhdGFWaWV3IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVm
ZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRh
LXNoYXJlZGFycmF5YnVmZmVyLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55Lmh0bWwKQEAgLTAsMCArMSBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0
dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJh
eWJ1ZmZlci5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTEyZjYyMjY5N2Q1MzhlZGJiYzAzOGY3ZWM3NmMy
ZTYzZWU2ZmZhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkuanMK
QEAgLTAsMCArMSwyNiBAQAorLy8gTUVUQTogdGl0bGU9WE1MSHR0cFJlcXVlc3Quc2VuZChzaGFy
ZWRhcnJheWJ1ZmZlcikKKwordGVzdCgoKSA9PiB7CisgICAgY29uc3QgeGhyID0gbmV3IFhNTEh0
dHBSZXF1ZXN0KCk7CisgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9p
c3N1ZXMvNTM4MCBmb3Igd2h5IG5vdCBgbmV3IFNoYXJlZEFycmF5QnVmZmVyKClgCisgICAgY29u
c3QgYnVmID0gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7IHNoYXJlZDp0cnVlLCBpbml0aWFsOjEs
IG1heGltdW06MSB9KS5idWZmZXI7CisKKyAgICB4aHIub3BlbigiUE9TVCIsICIuL3Jlc291cmNl
cy9jb250ZW50LnB5IiwgdHJ1ZSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1
bmN0aW9uKCkgeworICAgICAgICB4aHIuc2VuZChidWYpCisgICAgfSk7Cit9LCAic2VuZGluZyBh
IFNoYXJlZEFycmF5QnVmZmVyIik7CisKK1siSW50OEFycmF5IiwgIlVpbnQ4QXJyYXkiLCAiVWlu
dDhDbGFtcGVkQXJyYXkiLCAiSW50MTZBcnJheSIsICJVaW50MTZBcnJheSIsCisgIkludDMyQXJy
YXkiLCAiVWludDMyQXJyYXkiLCAiRmxvYXQzMkFycmF5IiwgIkZsb2F0NjRBcnJheSIsICJEYXRh
VmlldyJdLmZvckVhY2goKHR5cGUpID0+IHsKKyAgICB0ZXN0KCgpID0+IHsKKyAgICAgICAgY29u
c3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIC8vIFNlZSBodHRwczovL2dp
dGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzUzODAgZm9yIHdoeSBub3QgYG5ldyBTaGFyZWRB
cnJheUJ1ZmZlcigpYAorICAgICAgICBjb25zdCBhcnIgPSBuZXcgc2VsZlt0eXBlXShuZXcgV2Vi
QXNzZW1ibHkuTWVtb3J5KHsgc2hhcmVkOnRydWUsIGluaXRpYWw6MSwgbWF4aW11bToxIH0pLmJ1
ZmZlcik7CisKKyAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCAiLi9yZXNvdXJjZXMvY29udGVudC5w
eSIsIHRydWUpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0pOworICAgIH0sIGBzZW5k
aW5nIGEgJHt0eXBlfSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlcmApOworfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hh
cmVkYXJyYXlidWZmZXIuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmMyMmIz
NTE4OGVkYjI1MTQxNjViYWRkZGUxYjUwOGFkNDM5YzAxYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1z
aGFyZWRhcnJheWJ1ZmZlci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBA
CisKK0ZBSUwgc2VuZGluZyBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgIHhoci5zZW5kKGJ1ZikKKyAgICB9IiBkaWQg
bm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJbnQ4QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJy
YXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5k
aW5nIGEgVWludDhBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhy
b3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJy
KQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBVaW50OENsYW1wZWRB
cnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9
IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJbnQxNkFycmF5IGJhY2tlZCBieSBhIFNo
YXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZB
SUwgc2VuZGluZyBhIFVpbnQxNkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFz
c2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIu
c2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIEludDMy
QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAg
fSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWludDMyQXJyYXkgYmFja2VkIGJ5IGEg
U2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwor
RkFJTCBzZW5kaW5nIGEgRmxvYXQzMkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVy
IGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4
aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIEZs
b2F0NjRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pz
OiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAg
ICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBEYXRhVmlldyBiYWNrZWQgYnkg
YSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkud29ya2VyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hh
cmVkYXJyYXlidWZmZXIuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkz
YjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJy
YXlidWZmZXIuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBs
YXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1z
dHJpbmctaW52YWxpZC11bmljb2RlLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQt
dW5pY29kZS5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmMDJjNTIzY2ZlYzhiOTEzNzVk
NWIzNTg2MDQ4MzgzZWNiYmFkNjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQt
dW5pY29kZS5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworUEFTUyBpbnZhbGlk
IHVuaWNvZGUgJ1x1e2Q4M2R9JyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFy
YWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnXHV7ZDgzZH1hYicgc2hvdWxkIGJlIGZpeGVk
IHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ2FcdXtk
ODNkfWInIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1Mg
aW52YWxpZCB1bmljb2RlICdhYlx1e2Q4M2R9JyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNl
bWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnXHV7ZGM5NH0nIHNob3VsZCBi
ZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2Rl
ICdcdXtkYzk0fWFiJyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIg
CitQQVNTIGludmFsaWQgdW5pY29kZSAnYVx1e2RjOTR9Yicgc2hvdWxkIGJlIGZpeGVkIHdpdGgg
cmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ2FiXHV7ZGM5NH0n
IHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1MgdmFsaWQg
dW5pY29kZSBzaG91bGQgYmUgc2VudCBjb3JyZWN0bHkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zdHJpbmct
aW52YWxpZC11bmljb2RlLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2RlLmFueS5odG1sCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2RlLmFueS5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0
YS1zdHJpbmctaW52YWxpZC11bmljb2RlLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWRjNWE2YmNmOGRl
NTM2YWUyMTFkNzk3NTg5MWJkOGJiNTJlM2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1p
bnZhbGlkLXVuaWNvZGUuYW55LmpzCkBAIC0wLDAgKzEsNDYgQEAKKy8vIE1FVEE6IHRpdGxlPVhN
TEh0dHBSZXF1ZXN0LnNlbmQoaW52YWxpZFVuaWNvZGVTdHJpbmcpCisKK2NvbnN0IExFRlRfU1VS
Uk9HQVRFID0gJ1x1ZDgzZCc7Citjb25zdCBSSUdIVF9TVVJST0dBVEUgPSAnXHVkYzk0JzsKKwor
Ly8gVW5tYXRjaGVkIHN1cnJvZ2F0ZXMgc2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggdGhlIHVuaWNv
ZGUgcmVwbGFjZW1lbnQKKy8vIGNoYXJhY3RlciwgMHhGRkZELiAnJCcgaW4gdGhlc2UgdGVtcGxh
dGVzIGlzIHJlcGxhY2VkIHdpdGggb25lIG9mCisvLyBMRUZUX1NVUlJPR0FURSBvciBSSUdIVF9T
VVJST0dBVEUgYWNjb3JkaW5nIHRvIHRoZSB0ZXN0LgorY29uc3QgVEVNUExBVEVTID0geworICAn
JCc6IFsyMzksIDE5MSwgMTg5XSwKKyAgJyRhYic6IFsyMzksIDE5MSwgMTg5LCA5NywgOThdLAor
ICAnYSRiJzogWzk3LCAyMzksIDE5MSwgMTg5LCA5OF0sCisgICdhYiQnOiBbOTcsIDk4LCAyMzks
IDE5MSwgMTg5XSwKK307CisKK2ZvciAoY29uc3Qgc3Vycm9nYXRlIG9mIFtMRUZUX1NVUlJPR0FU
RSwgUklHSFRfU1VSUk9HQVRFXSkgeworICBmb3IgKGNvbnN0IFt0ZW1wbGF0ZSwgZXhwZWN0ZWRd
IG9mIE9iamVjdC5lbnRyaWVzKFRFTVBMQVRFUykpIHsKKyAgICBjb25zdCBpbnZhbGlkU3RyaW5n
ID0gdGVtcGxhdGUucmVwbGFjZSgnJCcsIHN1cnJvZ2F0ZSk7CisgICAgY29uc3QgcHJpbnRhYmxl
U3RyaW5nID0gdGVtcGxhdGUucmVwbGFjZSgKKyAgICAgICAgJyQnLCAnXFx1eycgKyBzdXJyb2dh
dGUuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikgKyAnfScpOworICAgIGFzeW5jX3Rlc3QodCA9
PiB7CisgICAgICB4aHJTZW5kU3RyaW5nQW5kQ2hlY2tSZXNwb25zZUJvZHkodCwgaW52YWxpZFN0
cmluZywgZXhwZWN0ZWQpOworICAgIH0sIGBpbnZhbGlkIHVuaWNvZGUgJyR7cHJpbnRhYmxlU3Ry
aW5nfScgc2hvdWxkIGJlIGZpeGVkIHdpdGggYCArCisgICAgICAgICAgICAgICBgcmVwbGFjZW1l
bnQgY2hhcmFjdGVyYCk7CisgIH0KK30KKworLy8gRm9yIHRoZSBzYWtlIG9mIGNvbXBsZXRlbmVz
cywgdmVyaWZ5IHRoYXQgbWF0Y2hlZCBzdXJyb2dhdGVzIHdvcmsuCithc3luY190ZXN0KHQgPT4g
eworICB4aHJTZW5kU3RyaW5nQW5kQ2hlY2tSZXNwb25zZUJvZHkodCwgTEVGVF9TVVJST0dBVEUg
KyBSSUdIVF9TVVJST0dBVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
MjQwLCAxNTksIDE0NiwgMTQ4XSk7Cit9LCAndmFsaWQgdW5pY29kZSBzaG91bGQgYmUgc2VudCBj
b3JyZWN0bHknKTsKKworZnVuY3Rpb24geGhyU2VuZFN0cmluZ0FuZENoZWNrUmVzcG9uc2VCb2R5
KHQsIHN0cmluZywgZXhwZWN0ZWQpIHsKKyAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0
KCk7CisgIHhoci5yZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInOworICB4aHIub25sb2FkID0g
dC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywgMjAwLCAn
c3RhdHVzIHNob3VsZCBiZSAyMDAnKTsKKyAgICBjb25zdCBhY3R1YWxCb2R5ID0gbmV3IFVpbnQ4
QXJyYXkoeGhyLnJlc3BvbnNlKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbEJvZHks
IGV4cGVjdGVkLCAnY29udGVudCBzaG91bGQgbWF0Y2gnKTsKKyAgICB0LmRvbmUoKTsKKyAgfSk7
CisgIHhoci5vbmVycm9yID0gdC51bnJlYWNoZWRfZnVuYygnbm8gZXJyb3Igc2hvdWxkIG9jY3Vy
Jyk7CisgIHhoci5vcGVuKCdQT1NUJywgJ3Jlc291cmNlcy9jb250ZW50LnB5JywgdHJ1ZSk7Cisg
IHhoci5zZW5kKHN0cmluZyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29k
ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2RlLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmMDJjNTIzY2ZlYzhiOTEzNzVkNWIzNTg2
MDQ4MzgzZWNiYmFkNjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29k
ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1BBU1MgaW52YWxp
ZCB1bmljb2RlICdcdXtkODNkfScgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hh
cmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2Q4M2R9YWInIHNob3VsZCBiZSBmaXhl
ZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdhXHV7
ZDgzZH1iJyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNT
IGludmFsaWQgdW5pY29kZSAnYWJcdXtkODNkfScgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFj
ZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2RjOTR9JyBzaG91bGQg
YmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29k
ZSAnXHV7ZGM5NH1hYicgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVy
IAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ2FcdXtkYzk0fWInIHNob3VsZCBiZSBmaXhlZCB3aXRo
IHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdhYlx1e2RjOTR9
JyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIHZhbGlk
IHVuaWNvZGUgc2hvdWxkIGJlIHNlbnQgY29ycmVjdGx5IAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5n
LWludmFsaWQtdW5pY29kZS5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29k
ZS5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0
NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2Rl
LmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVz
dCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtdW5leHBlY3Rl
ZC10b3N0cmluZy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLWRhdGEtdW5leHBlY3RlZC10b3N0cmluZy5odG0KaW5kZXggYjhhM2I0YWU2
OTAyMzU3Y2ZlMzkyYzQ4NGU4NDEzYmZmMTcyOTA2MS4uMjkwYWUyMDY1ZmMwZmU5MTM5NTI3NjQ5
NmEzZGVkZmQyY2Q3ODcyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXVuZXhwZWN0ZWQtdG9zdHJpbmcuaHRtCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
ZGF0YS11bmV4cGVjdGVkLXRvc3RyaW5nLmh0bQpAQCAtNDcsNyArNDcsNyBAQAogICAgICAgdGVz
dDMuZG9uZSgpCiAgICAgfSkKICAgICBjbGllbnQub3BlbignUE9TVCcsICdyZXNvdXJjZXMvY29u
dGVudC5weScpCi0gICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJyb3InLCBmdW5jdGlv
bigpeworICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIGZ1bmN0aW9u
KCl7CiAgICAgICBjbGllbnQuc2VuZChvYmpTZW5kc09uU3RyaW5naWZpY2F0aW9uKQogICAgIH0p
CiAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1nZXQtaGVhZC1hc3luYy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWVu
dGl0eS1ib2R5LWdldC1oZWFkLWFzeW5jLWV4cGVjdGVkLnR4dAppbmRleCA2M2I3ODNkMDE1NTE5
MjI3NmMwYTI4ZmQzMTg3YjM4ZWNmOGE3OTI3Li41ZGUxYWQ1Yzk0YzE3YmIwM2JlYzRhOGM3YTI2
MzY3ZDE3ZDFmMzZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LWdldC1oZWFkLWFzeW5jLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLWVudGl0eS1ib2R5LWdldC1oZWFkLWFzeW5jLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgpIC0gbm9uLWVtcHR5IGRhdGEgYXJn
dW1lbnQgYW5kIEdFVC9IRUFEIC0gYXN5bmMsIG5vIHVwbG9hZCBldmVudHMgc2hvdWxkIGZpcmUg
KEdFVCkgCi1GQUlMIFhNTEh0dHBSZXF1ZXN0OiBzZW5kKCkgLSBub24tZW1wdHkgZGF0YSBhcmd1
bWVudCBhbmQgR0VUL0hFQUQgLSBhc3luYywgbm8gdXBsb2FkIGV2ZW50cyBzaG91bGQgZmlyZSAo
SEVBRCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQgZ290ICIwIgorUEFTUyBYTUxI
dHRwUmVxdWVzdDogc2VuZCgpIC0gbm9uLWVtcHR5IGRhdGEgYXJndW1lbnQgYW5kIEdFVC9IRUFE
IC0gYXN5bmMsIG5vIHVwbG9hZCBldmVudHMgc2hvdWxkIGZpcmUgKEhFQUQpIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5k
LWVudGl0eS1ib2R5LWdldC1oZWFkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktZ2V0LWhlYWQtZXhw
ZWN0ZWQudHh0CmluZGV4IDYwYjAzNjcwZTEwNzNiNDNiOTgyYTI3YmYwN2FjNmEzNzE2OTk3YjYu
LmUxNTVkMDE0MmI5ZDlmZWI0ZDdjMGJlZjVkNzIwNDNmYTIzZDJhM2EgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5
LWJvZHktZ2V0LWhlYWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktZ2V0LWhlYWQtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiBQQVNTIFhNTEh0dHBSZXF1ZXN0OiBzZW5kKCkgLSBu
b24tZW1wdHkgZGF0YSBhcmd1bWVudCBhbmQgR0VUL0hFQUQgKEdFVCkgCi1GQUlMIFhNTEh0dHBS
ZXF1ZXN0OiBzZW5kKCkgLSBub24tZW1wdHkgZGF0YSBhcmd1bWVudCBhbmQgR0VUL0hFQUQgKEhF
QUQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJOTyIgYnV0IGdvdCAiMCIKK1BBU1MgWE1MSHR0
cFJlcXVlc3Q6IHNlbmQoKSAtIG5vbi1lbXB0eSBkYXRhIGFyZ3VtZW50IGFuZCBHRVQvSEVBRCAo
SEVBRCkgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NlbmQtbmV0d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtbmV0d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLWV4cGVjdGVkLnR4dAppbmRleCBlYjgx
YmY2ODVmZjM0Y2VhOTQyNTNiYmU2YzY5ODRkZWYwZWY0NjM0Li44MjEwOTYxOTVlZjFhNzNiYjNh
OTM1MDNiNjkzZjgxYzVkZDE3ZDI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3ItYXN5bmMtZXZlbnRz
LnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0
ZWQudHh0CkBAIC0xLDggKzEsNCBAQAotQUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qg
c3RlcHBlZAogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly9ub25leGlzdGVu
dC5sb2NhbGhvc3Q6ODgwMC8KLUFMRVJUOiByZWFkeSBzdGF0ZSBpcyA0Ci1BTEVSVDogbG9hZCBl
bmRlZAogCiBQQVNTIFhNTEh0dHBSZXF1ZXN0OiBUaGUgc2VuZCgpIG1ldGhvZDogRmlyZSBhIHBy
b2dyZXNzIGV2ZW50IG5hbWVkIGVycm9yIHdoZW4gTmV0d29yayBlcnJvciBoYXBwZW5zIChzeW5j
aHJvbm91cyBmbGFnIGlzIHVuc2V0KSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2
ZW50cy5zdWIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWIuaHRtCmluZGV4IDMxZGNk
ZmY3MmM3ZjI4ZmNkYzkxMDg0ZWZkYTc1OGM3ZjM5MzRlYmQuLmM1MWEwNWNkMjAxMDA2ZWQ3MDMy
ZWI3Y2YxOTNkZjIxNDkyMDNkNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbmV0d29yay1lcnJvci1hc3luYy1ldmVudHMu
c3ViLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLW5ldHdvcmstZXJyb3ItYXN5bmMtZXZlbnRzLnN1Yi5odG0KQEAgLTE2LDI0ICsx
NiwyMCBAQAogCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICB2
YXIgdGVzdCA9IGFzeW5jX3Rlc3QoKTsKLSAgICAgICAgYWxlcnQoInRlc3Qgc3RhcnRlZCIpOwog
CiAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpewotICAgICAgICAgICAgYWxlcnQoInRlc3Qg
c3RlcHBlZCIpOwogICAgICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwog
ICAgICAgICAgICAgdmFyIGV4cGVjdCA9ICBbImxvYWRzdGFydCIsICJ1cGxvYWQubG9hZHN0YXJ0
IiwgNCwgInVwbG9hZC5lcnJvciIsICJ1cGxvYWQubG9hZGVuZCIsICJlcnJvciIsICJsb2FkZW5k
Il07CiAgICAgICAgICAgICB2YXIgYWN0dWFsID0gW107CiAKICAgICAgICAgICAgIHhoci5vbnJl
YWR5c3RhdGVjaGFuZ2UgPSB0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CiAgICAgICAgICAgICAgICAg
aWYgKHhoci5yZWFkeVN0YXRlID09IDQpIHsKLSAgICAgICAgICAgICAgICAgICAgYWxlcnQoInJl
YWR5IHN0YXRlIGlzIDQiKTsKICAgICAgICAgICAgICAgICAgICAgYWN0dWFsLnB1c2goeGhyLnJl
YWR5U3RhdGUpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0pOwogCiAgICAgICAg
ICAgICB4aHIub25sb2Fkc3RhcnQgICAgICAgID0gdGVzdC5zdGVwX2Z1bmMoZSA9PiB7IGFjdHVh
bC5wdXNoKGUudHlwZSk7IH0pCiAgICAgICAgICAgICB4aHIub25sb2FkZW5kICAgICAgICAgID0g
dGVzdC5zdGVwX2Z1bmNfZG9uZShlID0+IHsKLSAgICAgICAgICAgICAgICBhbGVydCgibG9hZCBl
bmRlZCIpOwogICAgICAgICAgICAgICAgIGFjdHVhbC5wdXNoKGUudHlwZSk7CiAgICAgICAgICAg
ICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWwsIGV4cGVjdCk7CiAgICAgICAgICAgICB9
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLXN5bmMtZXZlbnRzLnN1Yi5odG0gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3It
c3luYy1ldmVudHMuc3ViLmh0bQppbmRleCBiOWY0ZmRmOTlkZTdjYjZiOWU1ZGE4NmUxYjUxM2Q4
ZGExZWI4YTZkLi4yMjY2ZWIzNmUxZTM3OTFhNGZhMWI3MGVhMDg0Y2M2ZmNlYWQ5MjZkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLW5ldHdvcmstZXJyb3Itc3luYy1ldmVudHMuc3ViLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3lu
Yy1ldmVudHMuc3ViLmh0bQpAQCAtMTksNyArMTksNyBAQAogCiAgICAgICAgICAgICB4aHIub3Bl
bigiUE9TVCIsICJodHRwOi8vbm9uZXhpc3RlbnQue3tob3N0fX06e3twb3J0c1todHRwXVswXX19
IiwgZmFsc2UpOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBm
dW5jdGlvbigpCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwg
ZnVuY3Rpb24oKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHhoci5zZW5kKCJUZXN0
IE1lc3NhZ2UiKTsKICAgICAgICAgICAgIH0pOwpAQCAtMzMsNyArMzMsNyBAQAogCiAgICAgICAg
ICAgICB4aHIub3BlbigiR0VUIiwgImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0
LFBUME5VV1ZCRklHaDBiV3clMkJEUW84IiwgZmFsc2UpOwogCi0gICAgICAgICAgICBhc3NlcnRf
dGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpCisgICAgICAgICAgICBhc3NlcnRfdGhy
b3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKQogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgIHhoci5zZW5kKCJUZXN0IE1lc3NhZ2UiKTsKICAgICAgICAgICAgIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1ub24tc2FtZS1vcmlnaW4uaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1ub24tc2FtZS1vcmlnaW4uaHRtCmluZGV4IDZkYmJjYTc0
NzdkMmZhMGViZDExMzJlMjNiZDFhMjU2NWQ1NTBlYTIuLmJiOWYzMmMxNzRmODg4M2FkOTI4ODU4
YTFkMjY5NmRiMTFkMzMxMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbm9uLXNhbWUtb3JpZ2luLmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5vbi1zYW1l
LW9yaWdpbi5odG0KQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsK
ICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICAgICAgICBj
bGllbnQub3BlbigiR0VUIiwgdXJsLCBmYWxzZSkKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJO
ZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQoKSB9KQorICAgICAgICAgIGFz
c2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQo
KSB9KQogICAgICAgICB9LCBkb2N1bWVudC50aXRsZSArICIgKCIgKyB1cmwgKyAiKSIpCiAgICAg
ICB9CiAgICAgICB1cmwoIm1haWx0bzp0ZXN0QGV4YW1wbGUub3JnIikKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJl
Y3QtYm9ndXMtc3luYy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWJvZ3VzLXN5bmMuaHRtCmluZGV4IGE5ZGM3M2U1ZmQ3
NTRmM2UyMTkzYmQxM2Q3MGVkMGNjYTU5ODNjZDIuLjBmMDU5OGIxNjQ1NDUxYTVmYjBkYWRhNThl
OGZhYjA2Nzg4NjhhZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtYm9ndXMtc3luYy5odG0KKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVj
dC1ib2d1cy1zeW5jLmh0bQpAQCAtMTMsNyArMTMsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9u
KCkgewogICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAg
ICAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL3JlZGlyZWN0LnB5P2xvY2F0aW9uPSIg
KyBsb2NhdGlvbiArICImY29kZT0iICsgY29kZSwgZmFsc2UpCi0gICAgICAgICAgYXNzZXJ0X3Ro
cm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCisg
ICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBj
bGllbnQuc2VuZChudWxsKSB9KQogICAgICAgICB9LCBkb2N1bWVudC50aXRsZSArICIgKCIgKyBj
b2RlICsgIjogIiArIGxvY2F0aW9uICsgIikiKQogICAgICAgfQogICAgICAgcmVkaXJlY3QoIjMw
MSIsICJmb29iYXI6Ly9hYmNkIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtaW5maW5pdGUtc3luYy5odG0g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJl
ZGlyZWN0LWluZmluaXRlLXN5bmMuaHRtCmluZGV4IDZlOWU0N2U1NWZjOWY4NGQ0ODA2MjNmZjc1
ZmUwZGMzYjUxZWFlYTAuLmNjNmQ3YTI0YmY2MzE0NmRiZmU0MDU3ZjVlN2U5MjVkOTRiNWEzNmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtcmVkaXJlY3QtaW5maW5pdGUtc3luYy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC1pbmZpbml0ZS1z
eW5jLmh0bQpAQCAtMTUsNyArMTUsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAg
ICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVu
dC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2luZmluaXRlLXJlZGlyZWN0cy5weT90eXBlPSIrY29k
ZSwgZmFsc2UpCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rp
b24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
Ik5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQogICAgICAg
ICB9LCBkb2N1bWVudC50aXRsZSArICIgKCIgKyBjb2RlICsgIikiKQogICAgICAgfQogICAgICAg
cmVkaXJlY3QoIjMwMSIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC10by1j
b3JzLmh0bQppbmRleCAwNGEyYTFmZmU4N2QyOGU0NDMzYmU2YjRhZGVkOTIxNWFjYWZkNDBmLi41
NGQ3ZWI1NTBkZjc1MTBhNThjMThiZjU3ZTZiMTYxNGU3NmUwMGUyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0
LXRvLWNvcnMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtdG8tY29ycy5odG0KQEAgLTEyLDExICsxMiwxMSBAQAog
ICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCkgewogICAgICAgICAgIHJldHVybiB7IGJvZHk6ICIi
LCB0eXBlOiAiTk8iIH07CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHR5cGVvZiBib2R5ID09ICJz
dHJpbmciKSB7CisgICAgICAgIGlmICh0eXBlb2YgYm9keSA9PT0gInN0cmluZyIpIHsKICAgICAg
ICAgICByZXR1cm4geyBib2R5OiBib2R5LCB0eXBlOiAidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04
IiB9OwogICAgICAgICB9CiAgICAgICAgIGlmIChib2R5IGluc3RhbmNlb2YgVWludDhBcnJheSkg
ewotICAgICAgICAgIHZhciBhcnIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChib2R5KTsK
KyAgICAgICAgICBjb25zdCBhcnIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChib2R5KTsK
ICAgICAgICAgICByZXR1cm4geyBib2R5OiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGws
IGFyciksIHR5cGU6ICJOTyIgfQogICAgICAgICB9CiAgICAgICAgIHJldHVybiB7IGJvZHk6ICJF
WFRSQUNUIE5PVCBJTVBMRU1FTlRFRCIsIHR5cGU6ICJFWFRSQUNUIE5PVCBJTVBMRU1FTlRFRCIg
fQpAQCAtMjQsNDkgKzI0LDU0IEBACiAKICAgICAgIGZ1bmN0aW9uIHJlZGlyZWN0KGNvZGUsIG5h
bWUgPSBjb2RlLCBtZXRob2QgPSAiR0VUIiwgYm9keSA9IG51bGwsIGV4cGxpY2l0VHlwZSA9IG51
bGwsIHNhZmVsaXN0Q29udGVudFR5cGUgPSBmYWxzZSkgewogICAgICAgICBhc3luY190ZXN0KHQg
PT4gewotICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQorICAgICAg
ICAgIGxldCB7IGJvZHk6IGV4cGVjdGVkQm9keSwgdHlwZTogZXhwZWN0ZWRUeXBlIH0gPSBleHRy
YWN0Qm9keShib2R5KTsKKyAgICAgICAgICBpZiAoZXhwbGljaXRUeXBlICE9PSBudWxsKSB7Cisg
ICAgICAgICAgICBleHBlY3RlZFR5cGUgPSBleHBsaWNpdFR5cGU7CisgICAgICAgICAgfQorICAg
ICAgICAgIGxldCBleHBlY3RlZE1ldGhvZCA9IG1ldGhvZDsKKyAgICAgICAgICBpZiAoKChjb2Rl
ID09PSAiMzAxIiB8fCBjb2RlID09PSAiMzAyIikgJiYgbWV0aG9kID09PSAiUE9TVCIpIHx8IChj
b2RlID09PSAiMzAzIiAmJiBtZXRob2QgIT09ICJHRVQiICYmIG1ldGhvZCAhPT0gIkhFQUQiKSkg
eworICAgICAgICAgICAgZXhwZWN0ZWRNZXRob2QgPSAiR0VUIjsKKyAgICAgICAgICAgIGV4cGVj
dGVkQm9keSA9ICIiOworICAgICAgICAgICAgZXhwZWN0ZWRUeXBlID0gIk5PIjsKKyAgICAgICAg
ICB9CisgICAgICAgICAgY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAg
ICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHQuc3RlcF9mdW5jKCgpID0+IHsKLSAg
ICAgICAgICAgIGlmIChjbGllbnQucmVhZHlTdGF0ZSA9PSA0KSB7Ci0gICAgICAgICAgICAgIGlm
IChleHBsaWNpdFR5cGUgIT09ICJhcHBsaWNhdGlvbi94LXBvbnkiIHx8IHNhZmVsaXN0Q29udGVu
dFR5cGUpIHsKLSAgICAgICAgICAgICAgICB2YXIgeyBib2R5OiBleHBlY3RlZEJvZHksIHR5cGU6
IGV4cGVjdGVkVHlwZSB9ID0gZXh0cmFjdEJvZHkoYm9keSk7Ci0gICAgICAgICAgICAgICAgaWYg
KGV4cGxpY2l0VHlwZSAhPT0gbnVsbCkgewotICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRUeXBl
ID0gZXhwbGljaXRUeXBlCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgo
KGNvZGUgPT09ICIzMDEiIHx8IGNvZGUgPT09ICIzMDIiKSAmJiBtZXRob2QgPT09ICJQT1NUIikg
fHwgY29kZSA9PT0gIjMwMyIpIHsKLSAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJHRVQiCi0g
ICAgICAgICAgICAgICAgICBleHBlY3RlZEJvZHkgPSAiIgotICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmIChjbGllbnQucmVhZHlTdGF0ZSA9PT0gNCkgeworICAgICAgICAgICAgICBp
ZiAoKGV4cGVjdGVkTWV0aG9kID09PSAiR0VUIiAmJiBleHBlY3RlZFR5cGUgPT09ICJOTyIpIHx8
IGV4cGxpY2l0VHlwZSAhPT0gImFwcGxpY2F0aW9uL3gtcG9ueSIgfHwgc2FmZWxpc3RDb250ZW50
VHlwZSkgewogICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywgMjAw
KTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRl
cigieC1yZXF1ZXN0LW1ldGhvZCIpLCBtZXRob2QpOworICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMoY2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCJ4LXJlcXVlc3QtbWV0aG9kIiksIGV4cGVj
dGVkTWV0aG9kKTsKICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRSZXNw
b25zZUhlYWRlcigieC1yZXF1ZXN0LWNvbnRlbnQtdHlwZSIpLCBleHBlY3RlZFR5cGUpOwogICAg
ICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCJ4LXJl
cXVlc3QtZGF0YSIpLCBleHBlY3RlZEJvZHkpOwogICAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIC8vICJhcHBsaWNhdGlvbi94LXBvbnkiIGlzIG5vdCBzYWZlbGlzdGVkIGJ5
IGNvcnNlbmFibGVkLnB5IC0+IG5ldHdvcmsgZXJyb3IKLSAgICAgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGNsaWVudC5zdGF0dXMsIDApCi0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhj
bGllbnQuc3RhdHVzVGV4dCwgIiIpCi0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGll
bnQucmVzcG9uc2VUZXh0LCAiIikKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVu
dC5yZXNwb25zZVhNTCwgbnVsbCkKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVu
dC5zdGF0dXMsIDApOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1
c1RleHQsICIiKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25z
ZVRleHQsICIiKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25z
ZVhNTCwgbnVsbCk7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgdC5kb25lKCk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgfSkKLSAgICAgICAgICBsZXQgc2FmZWxpc3QgPSAiIgor
ICAgICAgICAgIH0pOworICAgICAgICAgIGxldCBzYWZlbGlzdCA9ICIiOwogICAgICAgICAgIGlm
IChzYWZlbGlzdENvbnRlbnRUeXBlKSB7Ci0gICAgICAgICAgICBzYWZlbGlzdCA9ICI/c2FmZWxp
c3RfY29udGVudF90eXBlIgorICAgICAgICAgICAgc2FmZWxpc3QgPSAiP3NhZmVsaXN0X2NvbnRl
bnRfdHlwZSI7CiAgICAgICAgICAgfQotICAgICAgICAgIGNsaWVudC5vcGVuKG1ldGhvZCwgInJl
c291cmNlcy9yZWRpcmVjdC5weT9sb2NhdGlvbj0iK2VuY29kZVVSSUNvbXBvbmVudCgiaHR0cDov
L3d3dzIuIitsb2NhdGlvbi5ob3N0Kyhsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9bXlwvXSsk
LywgJycpKSsncmVzb3VyY2VzL2NvcnNlbmFibGVkLnB5Jykrc2FmZWxpc3QrIiZjb2RlPSIgKyBj
b2RlKQorICAgICAgICAgIGNsaWVudC5vcGVuKG1ldGhvZCwgInJlc291cmNlcy9yZWRpcmVjdC5w
eT9sb2NhdGlvbj0iK2VuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3d3dzIuIitsb2NhdGlvbi5o
b3N0Kyhsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9bXlwvXSskLywgJycpKSsncmVzb3VyY2Vz
L2NvcnNlbmFibGVkLnB5Jykrc2FmZWxpc3QrIiZjb2RlPSIgKyBjb2RlKTsKICAgICAgICAgICBp
ZiAoZXhwbGljaXRUeXBlICE9PSBudWxsKSB7Ci0gICAgICAgICAgICBjbGllbnQuc2V0UmVxdWVz
dEhlYWRlcigiQ29udGVudC1UeXBlIiwgZXhwbGljaXRUeXBlKQorICAgICAgICAgICAgY2xpZW50
LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsIGV4cGxpY2l0VHlwZSk7CiAgICAgICAg
ICAgfQotICAgICAgICAgIGNsaWVudC5zZW5kKGJvZHkpCi0gICAgICAgIH0sIGRvY3VtZW50LnRp
dGxlICsgIiAoIiArIG5hbWUgKyAiKSIpCisgICAgICAgICAgY2xpZW50LnNlbmQoYm9keSk7Cisg
ICAgICAgIH0sIGRvY3VtZW50LnRpdGxlICsgIiAoIiArIG5hbWUgKyAiKSIpOwogICAgICAgfQor
ICAgICAgLy8gY29yc2VuYWJsZWQucHkgc2FmZWxpc3RzIG1ldGhvZHMgR0VULCBQT1NULCBQVVQs
IGFuZCBGT08KICAgICAgIHJlZGlyZWN0KCIzMDEiKQogICAgICAgcmVkaXJlY3QoIjMwMSIsICIz
MDEgR0VUIHdpdGggZXhwbGljaXQgQ29udGVudC1UeXBlIiwgIkdFVCIsIG51bGwsICJhcHBsaWNh
dGlvbi94LXBvbnkiKQogICAgICAgcmVkaXJlY3QoIjMwMSIsICIzMDEgR0VUIHdpdGggZXhwbGlj
aXQgQ29udGVudC1UeXBlIHNhZmVsaXN0ZWQiLCAiR0VUIiwgbnVsbCwgImFwcGxpY2F0aW9uL3gt
cG9ueSIsIHRydWUpCisgICAgICByZWRpcmVjdCgiMzAzIiwgIjMwMyBHRVQgd2l0aCBleHBsaWNp
dCBDb250ZW50LVR5cGUgc2FmZWxpc3RlZCIsICJHRVQiLCBudWxsLCAiYXBwbGljYXRpb24veC1w
b255IiwgdHJ1ZSkKICAgICAgIHJlZGlyZWN0KCIzMDIiKQogICAgICAgcmVkaXJlY3QoIjMwMyIp
Ci0gICAgICByZWRpcmVjdCgiMzAzIiwgIjMwMyBMQUxBIHdpdGggc3RyaW5nIGFuZCBleHBsaWNp
dCBDb250ZW50LVR5cGUgc2FmZWxpc3RlZCIsICJMQUxBIiwgInRlc3QiLCAiYXBwbGljYXRpb24v
eC1wb255IiwgdHJ1ZSkKKyAgICAgIHJlZGlyZWN0KCIzMDIiLCAiMzAyIEZPTyB3aXRoIHN0cmlu
ZyBhbmQgZXhwbGljaXQgQ29udGVudC1UeXBlIHNhZmVsaXN0ZWQiLCAiRk9PIiwgInRlc3QiLCAi
YXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkKKyAgICAgIHJlZGlyZWN0KCIzMDMiLCAiMzAzIEZP
TyB3aXRoIHN0cmluZyBhbmQgZXhwbGljaXQgQ29udGVudC1UeXBlIHNhZmVsaXN0ZWQiLCAiRk9P
IiwgInRlc3QiLCAiYXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkKICAgICAgIHJlZGlyZWN0KCIz
MDciKQogICAgICAgcmVkaXJlY3QoIjMwNyIsICIzMDcgcG9zdCB3aXRoIG51bGwiLCAiUE9TVCIs
IG51bGwpCiAgICAgICByZWRpcmVjdCgiMzA3IiwgIjMwNyBwb3N0IHdpdGggc3RyaW5nIiwgIlBP
U1QiLCAiaGVsbG8iKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1zZW5kLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtc2VuZC5hbnkuanMKaW5kZXggMmJmZTQw
NDM2ZjRhNmJhOGMzYWRjMTUyYzE4NmE3YjZkMjcyYjExNC4uNjRiMTU1NDE4MDk3M2E0Mjk5MzY2
MGFmNzkyNjg4OTU4ODk5NzE2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1zZW5kLmFueS5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXNlbmQuYW55LmpzCkBA
IC0yLDYgKzIsNiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0
dHBSZXF1ZXN0KCkKICAgY2xpZW50Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvd2VsbC1mb3JtZWQu
eG1sIikKICAgY2xpZW50LnNlbmQobnVsbCkKLSAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRl
RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSkKKyAgYXNzZXJ0X3Rocm93
c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwp
IH0pCiAgIGNsaWVudC5hYm9ydCgpCiB9LCAiWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSAtIHNlbmQo
KSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1hZnRlci1zZW5kLmh0bSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXItYWZ0ZXIt
c2VuZC5odG0KaW5kZXggN2NjZGIzZTRjMzEwOTA5MTI4NmMwMmJiZWE3YTU4OTIyMTU3MTRmMC4u
MTc0ZTllYzQxOTZjN2ViNGI1ZmFlMDUwYTRjZTliMDFhNTBlZTg0MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhl
YWRlci1hZnRlci1zZW5kLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWFmdGVyLXNlbmQuaHRtCkBAIC0xNSw3
ICsxNSw3IEBACiAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2RlbGF5LnB5
P21zPTAiKQogICAgICAgICBjbGllbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYXNzZXJ0X3Ro
cm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RI
ZWFkZXIoIngtdGVzdCIsICJ0ZXN0IikgfSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9t
KCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2V0UmVxdWVzdEhlYWRl
cigieC10ZXN0IiwgInRlc3QiKSB9KQogICAgICAgICAgICAgaWYoY2xpZW50LnJlYWR5U3RhdGUg
PT0gNCkKICAgICAgICAgICAgICAgdGVzdC5kb25lKCkKICAgICAgICAgICB9KQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVx
dWVzdGhlYWRlci1iZWZvcmUtb3Blbi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJlZm9yZS1vcGVuLmh0bQppbmRl
eCBjYmU0YjI5OWM5ZGFjMTgxNTQzNDA0OTMwNzNlNzQxOWIwNzczY2I4Li41YzM3N2ZiYzEwMDc2
YTJkOThiYjRiZGM0NmNlMmVjOGMxOGFjNmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJlZm9yZS1v
cGVuLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJlZm9yZS1vcGVuLmh0bQpAQCAtMTEsNyArMTEsNyBAQAog
ICAgIDxzY3JpcHQ+CiAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgY2xpZW50
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0
YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIs
ICJ0ZXN0IikgfSkKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCAidGVzdCIp
IH0pCiAgICAgICAgIH0sICdzZXRSZXF1ZXN0SGVhZGVyIGludm9rZWQgYmVmb3JlIG9wZW4oKScp
CiAgICAgPC9zY3JpcHQ+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXItYm9ndXMtbmFt
ZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZXRyZXF1ZXN0aGVhZGVyLWJvZ3VzLW5hbWUuaHRtCmluZGV4IDg2ZTU1ZjMzYTAwNjQ5Y2YyNWMw
NWIwNDkxNGZiNzc1NmVmNmJjYjkuLmNlMjMwOGNjNjdkZWJiNTI4MDAxNTNhMDg0YWY2MTQ4MjNm
NTk5MTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXItYm9ndXMtbmFtZS5odG0KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1i
b2d1cy1uYW1lLmh0bQpAQCAtMjcsMTQgKzI3LDE0IEBACiAgICAgICAgIHRlc3QoZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAg
ICAgY2xpZW50Lm9wZW4oIkdFVCIsICIuLi4iKQotICAgICAgICAgIGFzc2VydF90aHJvd3MoIlN5
bnRheEVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4
LXZhbHVlJykgfSkKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCBm
dW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIobmFtZSwgJ3gtdmFsdWUnKSB9KQog
ICAgICAgICB9LCAic2V0UmVxdWVzdEhlYWRlciBzaG91bGQgdGhyb3cgd2l0aCBoZWFkZXIgbmFt
ZSAiICsgZm9ybWF0X3ZhbHVlKGludmFsaWRfaGVhZGVyc1tpXSkgKyAiLiIpCiAgICAgICB9CiAg
ICAgICBmdW5jdGlvbiB0cnlfYnl0ZV9zdHJpbmcobmFtZSkgewogICAgICAgICB0ZXN0KGZ1bmN0
aW9uKCkgewogICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAg
ICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAiLi4uIikKLSAgICAgICAgICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5h
bWUsICd4LXZhbHVlJykgfSkKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkK
ICAgICAgICAgfSwgInNldFJlcXVlc3RIZWFkZXIgc2hvdWxkIHRocm93IHdpdGggaGVhZGVyIG5h
bWUgIiArIGZvcm1hdF92YWx1ZShpbnZhbGlkX2J5dGVfc3RyaW5nc1tpXSkgKyAiLiIpCiAgICAg
ICB9CiAgICAgICB2YXIgaW52YWxpZF9oZWFkZXJzID0gWyIoIiwgIikiLCAiPCIsICI+IiwgIkAi
LCAiLCIsICI7IiwgIjoiLCAiXFwiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1ib2d1cy12YWx1ZS5o
dG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRy
ZXF1ZXN0aGVhZGVyLWJvZ3VzLXZhbHVlLmh0bQppbmRleCAxNWZiYjM5MDUyNTI2ZGYwNTJhZjg5
NDBjYjhkYjcxNDkzMDJhZmM0Li5jYmEzNDFjNWRjNjg5MzM2NjI5ZjUyNWNmZTY3MjRmZjAwMmU4
MzhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3VzLXZhbHVlLmh0bQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJv
Z3VzLXZhbHVlLmh0bQpAQCAtMTQsNyArMTQsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAg
ICBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIpOwotICAgICAgICAgIGFzc2VydF90aHJvd3MoIlN5
bnRheEVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3Qi
LCB2YWx1ZSkgfSwgJyBnaXZlbiB2YWx1ZSAnICsgdmFsdWUrJywgJyk7CisgICAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oIlN5bnRheEVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKCJ4LXRlc3QiLCB2YWx1ZSkgfSwgJyBnaXZlbiB2YWx1ZSAnICsgdmFsdWUrJywg
Jyk7CiAgICAgICAgIH0pOwogICAgICAgfQogICAgICAgdHJ5X3ZhbHVlKCJ0XHgwMHQiKTsKQEAg
LTIzLDEzICsyMywxMyBAQAogICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNs
aWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICBjbGllbnQub3BlbigiR0VUIiwg
Ii4uLiIpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24o
KSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCAi776D7729776EIikgfSwgJyBn
aXZlbiB2YWx1ZSDvvoPvvb3vvoQsJyk7CisgICAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVy
cm9yLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICLvvoPv
vb3vvoQiKSB9LCAnIGdpdmVuIHZhbHVlIO++g++9ve++hCwnKTsKICAgICAgIH0pOwogCiAgICAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1
ZXN0KCkKICAgICAgICAgY2xpZW50Lm9wZW4oIkdFVCIsICIuLi4iKQotICAgICAgICBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVh
ZGVyKCJ4LXRlc3QiKSB9KQorICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiKSB9KQogICAgICAgfSwg
J09taXR0ZWQgdmFsdWUgYXJndW1lbnQnKQogICAgIDwvc2NyaXB0PgogICA8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlwZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlwZS5o
dG0KaW5kZXggODYwOGM1OTY3ZDZiMjliYTRmOWQwOWFlN2JmMzk1YTZiMjY4NzZjMi4uMDcyMzgz
OTFlYjVjYzg2MzllZGJlOTk2MjA4YTE4YjZkOWQyNmIwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1j
b250ZW50LXR5cGUuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXItY29udGVudC10eXBlLmh0bQpAQCAtMjE1LDI0
ICsyMTUsNiBAQAogICAgICAgICAvLyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jYm9k
eWluaXQsIHNvIHRoZSB1c2VyJ3MgbXVzdCBiZSBjaGFuZ2VkIHRvIG1hdGNoIGl0CiAgICAgICAg
IC8vIGFzIHBlciBodHRwczovL3hoci5zcGVjLndoYXR3Zy5vcmcvI3RoZS1zZW5kJTI4JTI5LW1l
dGhvZCBzdGVwIDQuCiAgICAgICApCi0gICAgICByZXF1ZXN0KAotICAgICAgICBmdW5jdGlvbiBf
UmVhZGFibGVTdHJlYW0oKSB7IHJldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oKSB9LAotICAgICAg
ICB7IkNvbnRlbnQtVHlwZSI6ICIifSwKLSAgICAgICAgIiIsCi0gICAgICAgICdSZWFkYWJsZVN0
cmVhbSByZXF1ZXN0IHJlc3BlY3RzIHNldFJlcXVlc3RIZWFkZXIoIiIpJwotICAgICAgKQotICAg
ICAgcmVxdWVzdCgKLSAgICAgICAgZnVuY3Rpb24gX1JlYWRhYmxlU3RyZWFtKCkgeyByZXR1cm4g
bmV3IFJlYWRhYmxlU3RyZWFtKCkgfSwKLSAgICAgICAge30sCi0gICAgICAgIHVuZGVmaW5lZCwK
LSAgICAgICAgIlJlYWRhYmxlU3RyZWFtIHJlcXVlc3Qgd2l0aCB1bmRlciB0eXBlIHNlbmRzIG5v
IENvbnRlbnQtVHlwZSB3aXRob3V0IHNldFJlcXVlc3RIZWFkZXIoKSBjYWxsIgotICAgICAgKQot
ICAgICAgcmVxdWVzdCgKLSAgICAgICAgZnVuY3Rpb24gX1JlYWRhYmxlU3RyZWFtKCkgeyByZXR1
cm4gbmV3IFJlYWRhYmxlU3RyZWFtKCkgfSwKLSAgICAgICAgeyJDb250ZW50LVR5cGUiOiAiYXBw
bGljYXRpb24veG1sO2NoYXJzZXQ9QVNDSUkifSwKLSAgICAgICAgImFwcGxpY2F0aW9uL3htbDtj
aGFyc2V0PUFTQ0lJIiwKLSAgICAgICAgIlJlYWRhYmxlU3RyZWFtIHJlcXVlc3Qga2VlcHMgc2V0
UmVxdWVzdEhlYWRlcigpIENvbnRlbnQtVHlwZSBhbmQgY2hhcnNldCIKLSAgICAgICkKICAgICA8
L3NjcmlwdD4KICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvdGltZW91dC1zeW5jLmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3RpbWVvdXQtc3luYy5o
dG0KaW5kZXggOTgxNTUzMmM3MGZmMzQ3MTk5YTk5OGYwMmJmNGIxMWYxNWM3YmNlZS4uZDhiMmNj
NDhmMzY0N2QyMTZhMzgyNGUxMzkxY2QyNjEyNDE5YzFmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvdGltZW91dC1zeW5jLmh0bQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci90aW1l
b3V0LXN5bmMuaHRtCkBAIC0xMywxMiArMTMsMTIgQEAKICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICBjbGll
bnQub3BlbignR0VUJywgJ2ZvbGRlci50eHQnLCBmYWxzZSkKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC50aW1lb3V0ID0gMTAw
MCB9KQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVu
Y3Rpb24oKSB7IGNsaWVudC50aW1lb3V0ID0gMTAwMCB9KQogICAgICAgICB9LCAnc2V0dGluZyB0
aW1lb3V0IGF0dHJpYnV0ZSBvbiBzeW5jIHJlcXVlc3QnKQogICAgICAgdGVzdChmdW5jdGlvbigp
IHsKICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgIGNs
aWVudC50aW1lb3V0ID0gMTAwMAotICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkQWNjZXNz
RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9wZW4oJ0dFVCcsICdmb2xkZXIudHh0JywgZmFs
c2UpIH0pCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBm
dW5jdGlvbigpIHsgY2xpZW50Lm9wZW4oJ0dFVCcsICdmb2xkZXIudHh0JywgZmFsc2UpIH0pCiAg
ICAgICAgIH0sICdvcGVuKCkgd2l0aCBhc3luYyBmYWxzZSB3aGVuIHRpbWVvdXQgaXMgc2V0JykK
ICAgICA8L3NjcmlwdD4KICAgPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZwppbmRl
eCA2OGRlNzI2YzgyNWY3MTdhYWMzOWQ3MTUxNDk5ODllYTczZGZkMzJmLi40NWFmMzFhYTIwOWRi
OTFlOTQzYTc2NGM4ODEwMDI1ZDU4YmE1NDAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci93M2MtaW1wb3J0Lmxv
ZwpAQCAtODUsNiArODUsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FsbG93LWxpc3RzLXN0YXJ0aW5nLXdpdGgtY29t
bWEuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
YW5vbnltb3VzLW1vZGUtdW5zdXBwb3J0ZWQuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvY2xvc2Utd29ya2VyLXdpdGgteGhyLWluLXByb2dyZXNz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9j
b3JzLWV4cG9zZS1zdGFyLnN1Yi5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9kYXRhLXVyaS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1hYm9ydC5hbnkuanMKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5z
dWIuaHRtbApAQCAtMjIzLDcgKzIyNCw4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWJsb2IuaHRtCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRh
LWVzLW9iamVjdC5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWRhdGEtZm9ybWRhdGEuYW55LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFu
eS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29k
ZS5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLWRhdGEtdW5leHBlY3RlZC10b3N0cmluZy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LWJhc2ljLmh0bQog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50
aXR5LWJvZHktZG9jdW1lbnQtYm9ndXMuaHRtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC1uZXR3b3JrLWVy
cm9yLXN5bmMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIveG1saHR0cHJlcXVlc3QtbmV0d29yay1lcnJvci1zeW5jLmh0bQppbmRleCBjNGE4ODdh
MWViZWU3NjM5MGRlYTkyOGY4YzU2YTJjOGYzNGQ2YWQyLi5lZTM2N2ZiZTBlZTI0NWI5ZjhkZmJm
NmRlMTMyOTdlMmI2MjM5YmMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC1uZXR3b3JrLWVycm9yLXN5bmMu
aHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3htbGh0dHByZXF1ZXN0LW5ldHdvcmstZXJyb3Itc3luYy5odG0KQEAgLTIwLDcgKzIwLDcgQEAK
ICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0
cFJlcXVlc3QoKQogICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy9pbmZpbml0
ZS1yZWRpcmVjdHMucHkiLCBmYWxzZSkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vy
cm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0sICJzZW5kIikKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2Vu
ZChudWxsKSB9LCAic2VuZCIpCiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywg
MCwgInN0YXR1cyIpCiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1c1RleHQsICIi
LCAic3RhdHVzVGV4dCIpCiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LmdldEFsbFJlc3Bv
bnNlSGVhZGVycygpLCAiIiwgImdldEFsbFJlc3BvbnNlSGVhZGVycyIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVx
dWVzdC11bnNlbnQuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIveG1saHR0cHJlcXVlc3QtdW5zZW50Lmh0bQppbmRleCBlYjUyZDYzZWVmOTcxODk1
ZjY5ZjFiMDE1MWJhYTQ1NzI1MGRkNDUyLi44MjI4MmIwMTYzZTZhYjQ5M2RlNDA0OTIwYzY2YTYy
NmQ5NTRjMmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC11bnNlbnQuaHRtCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LXVuc2Vu
dC5odG0KQEAgLTIwLDggKzIwLDggQEAKICAgICA8c2NyaXB0PgogICAgICAgdGVzdChmdW5jdGlv
bigpIHsKICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCi0gICAgICAg
IGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5z
ZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCAidGVzdCIpIH0sICJzZXRSZXF1ZXN0SGVhZGVyIikK
LSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsg
Y2xpZW50LnNlbmQobnVsbCkgfSwgInNlbmQiKQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgi
SW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIo
IngtdGVzdCIsICJ0ZXN0IikgfSwgInNldFJlcXVlc3RIZWFkZXIiKQorICAgICAgICBhc3NlcnRf
dGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQo
bnVsbCkgfSwgInNlbmQiKQogICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDAs
ICJzdGF0dXMiKQogICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXNUZXh0LCAiIiwg
InN0YXR1c1RleHQiKQogICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRBbGxSZXNwb25z
ZUhlYWRlcnMoKSwgIiIsICJnZXRBbGxSZXNwb25zZUhlYWRlcnMiKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtZW50aXR5LWJvZHktZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJv
ZHktZW1wdHktZXhwZWN0ZWQudHh0CmluZGV4IDk3MzcyNDM1NWJhOTg3Y2YwYjk1OTlhYjViYWQy
OTQxODAxNDY5NTIuLjhmYWU3MjE4NTE0NmRiODcxYWRhNzQ3MDkxYWFlZjQzNGJjMWQ5ZmIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAK
IFBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkgZW50aXR5IGJvZHkgKFBPU1Qp
IAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0eSBlbnRpdHkgYm9keSAoUFVU
KSAKLUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkgZW50aXR5IGJvZHkgKEhF
QUQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJOTyIgYnV0IGdvdCAiMCIKK1BBU1MgWE1MSHR0
cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkgZW50aXR5IGJvZHkgKEhFQUQpIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1ub25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWVu
dGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0CmluZGV4IDUzZDQ2N2IxN2YzODk3NmM4OWJlMzM2
Zjg3YjQ3MWZhMTAxN2I0MmQuLmJjYTY5NDc3NzhhMWUwMzgzMTA1ZTcwNjc3M2RkYmNkNWY2ZTNh
YmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsOCBA
QAogCiBQQVNTIE5vIGNvbnRlbnQgdHlwZSAoUE9TVCkgCiBQQVNTIE5vIGNvbnRlbnQgdHlwZSAo
UFVUKSAKLUZBSUwgTm8gY29udGVudCB0eXBlIChIRUFEKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiTk8iIGJ1dCBnb3QgIjAiCitQQVNTIE5vIGNvbnRlbnQgdHlwZSAoSEVBRCkgCiBQQVNTIEV4
cGxpY2l0IGNvbnRlbnQgdHlwZSAoUE9TVCkgCiBQQVNTIEV4cGxpY2l0IGNvbnRlbnQgdHlwZSAo
UFVUKSAKLUZBSUwgRXhwbGljaXQgY29udGVudCB0eXBlIChIRUFEKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiTk8iIGJ1dCBnb3QgIjAiCitQQVNTIEV4cGxpY2l0IGNvbnRlbnQgdHlwZSAoSEVB
RCkgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403832</attachid>
            <date>2020-07-08 18:33:01 -0700</date>
            <delta_ts>2020-07-08 19:27:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214105-20200708183300.patch</filename>
            <type>text/plain</type>
            <size>170672</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTQyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTJlYzhkZjZlMDA3NjdhZTJmZjI5
NDQ0YWIxNmQ4ZWY0YzlkZjQzZC4uYmJjZWYwYjA3NGI4ZWQ3ZjNkYzcwYzFmMWM0NzM0ODJmZDM3
YmEzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA3LTA4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy94aHIg
ZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0MTA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYgR2FyZW4uCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktbm9u
ZS1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDctMDggIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFJlbW92ZSBzb21lIG1lbnRpb25zIG9mIG5vbi1l
eGlzdGFudCBmaWxlcyBpbiBleHBlY3RhdGlvbnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCA0ZjY2ZTc2NDMzODM2MTNkY2E5NDM2ZGEzNDBjMWI2ZDAwMmM4ZjQzLi5lZGE5OWUx
YTE0ZDQ2NWY3MWY0MDFjNWRkMDdmNWIyZThiMTlhZjQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNy0wOCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMveGhyIGZy
b20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNDEwNQorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAg
IFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMveGhyIGZyb20gdXBzdHJlYW0gY2VmOTNiNThlN2Nm
MzFmMWQ0N2NjLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3hoci8qOiBVcGRhdGVk
LgorCiAyMDIwLTA3LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVzeW5jIGFsbCByZW1haW5pbmcgd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwgdGVzdHMgZnJv
bSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvRm9ybURhdGEtYXBwZW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBlbmQuaHRtbAppbmRleCBh
MTAyNDRmYTIzZDQ3NWE2ZmM0Y2I2ZmUyYjE1Zjg2OWMzMDgxMjE4Li5jNjRiOTNjYmM3ZWY4MmMz
NmFiY2VkNGNjMWQ1YzFjZjYwZjFiMmY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBlbmQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1h
cHBlbmQuaHRtbApAQCAtODEsMTEgKzgxLDExIEBACiAgICAgfSwgJ3Rlc3RGb3JtRGF0YUFwcGVu
ZFRvRm9ybU51bGwyJyk7CiAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGZkID0g
bmV3IEZvcm1EYXRhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtIikpOwotICAgICAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4ge2ZkLmFwcGVuZCgnbmFtZScsICJz
dHJpbmciLCAnZmlsZW5hbWUnKX0pOworICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJv
ciwgKCkgPT4ge2ZkLmFwcGVuZCgnbmFtZScsICJzdHJpbmciLCAnZmlsZW5hbWUnKX0pOwogICAg
IH0sICd0ZXN0Rm9ybURhdGFBcHBlbmRUb0Zvcm1TdHJpbmcnKTsKICAgICB0ZXN0KGZ1bmN0aW9u
KCkgewogICAgICAgICB2YXIgZmQgPSBuZXcgRm9ybURhdGEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZvcm0iKSk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9
PiB7ZmQuYXBwZW5kKCduYW1lJywgbmV3IFVSTFNlYXJjaFBhcmFtcygpLCAnZmlsZW5hbWUnKX0p
OworICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4ge2ZkLmFwcGVuZCgn
bmFtZScsIG5ldyBVUkxTZWFyY2hQYXJhbXMoKSwgJ2ZpbGVuYW1lJyl9KTsKICAgICB9LCAndGVz
dEZvcm1EYXRhQXBwZW5kVG9Gb3JtV3JvbmdQbGF0Zm9ybU9iamVjdCcpOwogICAgIHRlc3QoZnVu
Y3Rpb24oKSB7CiAgICAgICAgIHZhciBiZWZvcmUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRp
bWUoKSAtIDIwMDApOyAvLyB0d28gc2Vjb25kcyBhZ28sIGluIGNhc2UgdGhlcmUncyBjbG9jayBk
cmlmdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvWE1MSHR0cFJlcXVlc3Qtd2l0aENyZWRlbnRpYWxzLmFueS5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL1hNTEh0dHBSZXF1ZXN0LXdp
dGhDcmVkZW50aWFscy5hbnkuanMKaW5kZXggOTZlOTVjOTBmYWYwNjQ1ZGZhZDA5YzI0YTgwZWQ0
YjhjZDVhNDg4MC4uMjdmZmE3MGQ1YjllY2I0Y2IxNGYxZTA5NzM0N2U2MWUzNDMwYWRiZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
WE1MSHR0cFJlcXVlc3Qtd2l0aENyZWRlbnRpYWxzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9YTUxIdHRwUmVxdWVzdC13aXRoQ3Jl
ZGVudGlhbHMuYW55LmpzCkBAIC0yMyw5ICsyMyw5IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7
CiAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICBjbGllbnQub3BlbigiR0VU
IiwgInJlc291cmNlcy9kZWxheS5weT9tcz0xMDAwIikKICAgY2xpZW50LnNlbmQoKQotICBhc3Nl
cnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQud2l0aENy
ZWRlbnRpYWxzID0gdHJ1ZSB9KQorICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJy
b3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUgfSkKICAgY2xp
ZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAg
IGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC53
aXRoQ3JlZGVudGlhbHMgPSB0cnVlIH0pCisgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRT
dGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlIH0p
CiAgICAgaWYgKGNsaWVudC5yZWFkeVN0YXRlID09PSA0KSB7CiAgICAgICB0aGlzLmRvbmUoKQog
ICAgIH0KQEAgLTM2LDUgKzM2LDUgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgdmFyIGNsaWVudCA9
IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2Rl
bGF5LnB5P21zPTEwMDAiLCBmYWxzZSkKICAgY2xpZW50LnNlbmQoKTsKLSAgYXNzZXJ0X3Rocm93
cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LndpdGhDcmVkZW50aWFs
cyA9IHRydWUgfSkKKyAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVu
Y3Rpb24oKSB7IGNsaWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlIH0pCiB9LCAic2V0dGluZyB3
aXRoQ3JlZGVudGlhbHMgd2hlbiBpbiBET05FIHN0YXRlIChzeW5jaHJvbm91cykiKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNj
ZXNzLWNvbnRyb2wtYmFzaWMtZGVuaWVkLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5odG0KaW5k
ZXggNTM1NzYyZDBlZGFmZTFkNTg1MTBmNDNmMTI5NmQxZDk2NjJjOGIyNC4uOTcwZTA5ZDBmNTdj
ZmY5NzFiYjQ0NjJiZDRlYmFlZDY5ZWI3OGFkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZGVu
aWVkLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1kZW5pZWQuaHRtCkBAIC0yMiw3ICsyMiw3IEBACiAg
ICAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CiAKICAgICAgIHhoci5vcGVuKCJH
RVQiLCBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgcGF0aCwgZmFsc2UpOwot
ICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoKSk7Cisg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoKSk7
CiAgICAgICBhc3NlcnRfZXF1YWxzKHhoci5zdGF0dXMsIDApOwogICAgIH0sICJDcm9zcy1vcmln
aW4gcmVxdWVzdCBkZW5pZWQiKTsKICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJh
c2ljLWdldC1mYWlsLW5vbi1zaW1wbGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZ2V0LWZhaWwtbm9uLXNp
bXBsZS5odG0KaW5kZXggYTRmZTIzNDYwZDEyZDdkM2NkOTA3NDY0MjU3ZGY5OGVkZDI5YWE5Zi4u
OTczNzBiZDY1MDI0MWUyZWZlNzk5ZGRlMzdkMTMwOTliZWU5NmNjMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRy
b2wtYmFzaWMtZ2V0LWZhaWwtbm9uLXNpbXBsZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZ2V0LWZh
aWwtbm9uLXNpbXBsZS5odG0KQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgIHhoci5zZXRSZXF1ZXN0
SGVhZGVyKCJ4LXRlc3QiLCAiZm9vYmFyIik7CiAKICAgICAgIC8vIFRoaXMgZmFpbHMgYmVjYXVz
ZSB0aGUgc2VydmVyLXNpZGUgc2NyaXB0IGlzIG5vdCBwcmVwYXJlZCBmb3IgYW4gT1BUSU9OUyBy
ZXF1ZXN0Ci0gICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2Vu
ZCgpKTsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIu
c2VuZCgpKTsKICAgICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywgMCk7CiAgICAgfSwgIlBy
ZWZsaWdodGVkIGNyb3NzLW9yaWdpbiByZXF1ZXN0IGRlbmllZCIpOwogICAgIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNj
ZXNzLWNvbnRyb2wtYmFzaWMtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtCmlu
ZGV4IDA2MmY4YjBiYjViNDY2YzI2NGI4MGY4Zjk4M2M5NGQ0OWNjMWI5YWEuLjBlMGU5NzFmZDRi
NWMxZjgxMzlmZTUyZTQxZGRmNzdjY2IzMDQ2NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLW5v
bi1jb3JzLXNhZmVsaXN0ZWQtY29udGVudC10eXBlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1ub24t
Y29ycy1zYWZlbGlzdGVkLWNvbnRlbnQtdHlwZS5odG0KQEAgLTIyLDcgKzIyLDcgQEAKICAgICAg
ICAgICAiL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHV0LWFsbG93LnB5Iiwg
ZmFsc2UpOwogICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsICJhcHBs
aWNhdGlvbi94bWwiKTsKIAotICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgKCkg
PT4geGhyLnNlbmQoIkZBSUw6IFBVVCBkYXRhIHJlY2VpdmVkIikpOworICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCJGQUlMOiBQVVQgZGF0YSBy
ZWNlaXZlZCIpKTsKICAgICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywgMCwgIkNyb3NzLWRv
bWFpbiBhY2Nlc3Mgd2FzIGRlbmllZCBpbiAnc2VuZCcuIik7CiAgICAgfSwgIkRlbnkgY3Jvc3Mt
b3JpZ2luIHJlcXVlc3Qgd2l0aCBub24tQ09SUy1zYWZlbGlzdGVkIGNvbnRlbnQgdHlwZSIpOwog
ICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcG9zdC13aXRoLW5vbi1jb3Jz
LXNhZmVsaXN0ZWQtY29udGVudC10eXBlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLXBvc3Qtd2l0aC1ub24t
Y29ycy1zYWZlbGlzdGVkLWNvbnRlbnQtdHlwZS5odG0KaW5kZXggMGE2ZGY5MzJhYTQ0ZTY0YjYw
MjViNDA1NTEzN2YyMTJkMTExZmUzMi4uZjYzZTZiYzkyNGUyNmU2YWFmZDEwZjIyMDMwMDYyOTMy
MGE2NWNmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcG9zdC13aXRoLW5vbi1jb3JzLXNhZmVs
aXN0ZWQtY29udGVudC10eXBlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1wb3N0LXdpdGgtbm9uLWNv
cnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtCkBAIC0yOSw3ICsyOSw3IEBACiAKICAgICAg
IHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veG1sIik7
CiAKLSAgICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCkp
OworICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5k
KCkpOwogICAgICAgYXNzZXJ0X2VxdWFscyh4aHIuc3RhdHVzLCAwLCAiQ3Jvc3MtZG9tYWluIGFj
Y2VzcyB3YXMgZGVuaWVkIGluICdzZW5kJy4iKTsKICAgICB9LCAiQ09SUyByZXF1ZXN0IHdpdGgg
bm9uLXNhZmVsaXN0ZWQgY29udGVudCB0eXBlIHNlbmRzIHByZWZsaWdodCBhbmQgZmFpbHMiKTsK
ICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLWhlYWRlci1k
ZW5pZWQuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtaGVhZGVyLWRlbmllZC5odG0KaW5kZXgg
Nzk0OGMxOGEyZWZjYzZjMDJkNzZmNjgzYTNkYmI1ZmEyNTU4YzhhZS4uODY5N2YxZWRlOTViMDE3
OGFhZWIwNTg0MDA0ZGZmZjZhZWNiNWM1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5
bmMtaGVhZGVyLWRlbmllZC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtaGVhZGVyLWRl
bmllZC5odG0KQEAgLTIyLDcgKzIyLDcgQEAgdGVzdCgoKSA9PiB7CiAgIHhoci5vcGVuKCJHRVQi
LCB1cmwgKyAiJmNvbW1hbmQ9aGVhZGVyIiwgZmFsc2UpOwogICB4aHIuc2V0UmVxdWVzdEhlYWRl
cigieC10ZXN0IiwgImZvbyIpOwogCi0gIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsICgp
ID0+IHhoci5zZW5kKCkpOworICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkg
PT4geGhyLnNlbmQoKSk7CiAKICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwogICB4aHIub3Bl
bigiR0VUIiwgdXJsICsgIiZjb21tYW5kPWNvbXBsZXRlIiwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNv
bnRyb2wtcHJlZmxpZ2h0LXN5bmMtbWV0aG9kLWRlbmllZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQt
c3luYy1tZXRob2QtZGVuaWVkLmh0bQppbmRleCBhNTRjMzA4ZDlmMTE5MGVhMjNhMGRmNDYwZjc4
ZmU3Njk2NGMwMThlLi4wY2E2YzVjZGY0YTA4YjkyNTI5OWFlYzA4Y2IxMTE0ZmVmY2FmMjg4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29u
dHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bQpAQCAtMjEsNyArMjEsNyBAQCB0
ZXN0KCgpID0+IHsKICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwogICB4aHIub3BlbigiREVM
RVRFIiwgdXJsICsgIiZjb21tYW5kPW1ldGhvZCIsIGZhbHNlKTsKIAotICBhc3NlcnRfdGhyb3dz
KCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgpKTsKKyAgYXNzZXJ0X3Rocm93c19kb20o
Ik5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCkpOwogCiAgIHhociA9IG5ldyBYTUxIdHRw
UmVxdWVzdDsKICAgeGhyLm9wZW4oIkdFVCIsIHVybCArICImY29tbWFuZD1jb21wbGV0ZSIsIGZh
bHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW5vdC1zdXBwb3J0ZWQuaHRt
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNz
LWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5odG0KaW5kZXggYmIwODI5NjMw
NGY5ZWY2MTllZjRiNTgxZmRmMTE2OTUzZjFmMzE2Ni4uZjVkZjRhMmQ0YjU3YTdiMmEzNWZlNmI5
MzZkYzM1NzIxNjMyY2Y5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1
cHBvcnRlZC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5odG0K
QEAgLTIxLDcgKzIxLDcgQEAgdGVzdCgoKSA9PiB7CiAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVz
dDsKICAgeGhyLm9wZW4oIlBVVCIsIHVybCwgZmFsc2UpOwogCi0gIGFzc2VydF90aHJvd3MoIk5l
dHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCIiKSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCJO
ZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgiIikpOwogCiAgIHhociA9IG5ldyBYTUxIdHRw
UmVxdWVzdDsKICAgeGhyLm9wZW4oIkdFVCIsIHVybCArICImY29tbWFuZD1jb21wbGV0ZSIsIGZh
bHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS5q
cwppbmRleCBjZTlhY2ZmOWE1NzA5NDJjMjRlYmEwNGM5NGZhYzU0OWY1MjVlYzgyLi45ZDg4MDQ2
ODA2Yzc2NGE0NjdiMGFkNTlmZWMzYzczZDlmMGZhMTRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1
Yi5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvY29ycy1leHBvc2Utc3Rhci5zdWIuYW55LmpzCkBAIC01LDcgKzUsNiBAQCBjb25zdCB1
cmwgPSAiaHR0cDovL3t7aG9zdH19Ont7cG9ydHNbaHR0cF1bMV19fSIgKyBkaXJuYW1lKGxvY2F0
aW9uLnBhdGhuYW1lKSArCiAKIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CiAgIGNvbnN0IGhlYWRl
cnMgPSAiaGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSIKLSAgICBjb25zb2xl
LmxvZyh1cmwpOwogICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgIGNsaWVu
dC5vcGVuKCJHRVQiLCB1cmwgKyBzaGFyZWRIZWFkZXJzICsgaGVhZGVycyk7CiAgIGNsaWVudC5z
ZW5kKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhw
b3NlLXN0YXIuc3ViLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViNTg1M2Nk
MzE1OTk4NDM3NzExMGNkN2Y1NGI1MjdhNDY1ZGY4YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1z
dGFyLnN1Yi5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBC
YXNpYyBBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVyczogKiBzdXBwb3J0IAorUEFTUyAqIGZv
ciBjcmVkZW50aWFsZWQgZmV0Y2hlcyBvbmx5IG1hdGNoZXMgbGl0ZXJhbGx5IAorUEFTUyAqIGNh
biBiZSBvbmUgb2Ygc2V2ZXJhbCB2YWx1ZXMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFu
eS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvY29ycy1l
eHBvc2Utc3Rhci5zdWIuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50
LWFib3J0LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2V2ZW50LWFib3J0LmFueS5qcwppbmRleCA5YjM4Y2NmOWM5ZTE5NzY1MTExYjk2ZGY1
OTVhYmY3ODBmNmJmZWI4Li41YjE3ZWNlMDA4NWFlZDhiYmUyNzIzYTQ3MTBkYmJmZDYzZjQ1NzNk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC1hYm9ydC5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtYWJvcnQuYW55LmpzCkBAIC0xMiw0ICsxMiw0IEBA
IHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CiAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKICAg
ICBhc3NlcnRfdW5yZWFjaGVkKCJvbmFib3J0IG5vdCBjYWxsZWQgYWZ0ZXIgNCBtcyIpOwogICB9
LCA0KTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJy
b3Itb3JkZXIuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWVycm9yLW9yZGVyLnN1Yi1leHBlY3RlZC50eHQKaW5k
ZXggZDY0MmE5ZDRhMzJmMzZmMzNlNjY0OWFlODMxNGZjOWE4ODVmZGExOC4uMDI2ZjExZWNiZmI3
ZmE3Mjg1M2IzNTQ4MmFjNTI2NDA2NmFmZjJmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Itb3JkZXIuc3ViLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNCBA
QAotQUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAogQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6ODgwMC8KLUFM
RVJUOiBsb2FkIGVuZGVkCi1BTEVSVDogZmluaXNoaW5nIHRlc3QKIAogUEFTUyBYTUxIdHRwUmVx
dWVzdDogZXZlbnQgLSBlcnJvciAob3JkZXIgb2YgZXZlbnRzKSAKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3It
b3JkZXIuc3ViLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbAppbmRleCA3MDMyM2FiMTE4ZWMyODkz
OTM0MTA3NDdiZDIxM2Q1NTM5YWY1OWFmLi5mMDM3MDdlYjk4ZDdmNTczN2M2YWVjNDRkMGRlNGMw
NDNkZWIzNzMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5z
dWIuaHRtbApAQCAtMTMsMjAgKzEzLDE2IEBACiAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CiAgICAgICAgIHZhciB0ZXN0ID0gYXN5bmNfdGVzdCgpOwotICAgICAgICBhbGVy
dCgidGVzdCBzdGFydGVkIik7CiAKICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkKICAgICAg
ICAgewotICAgICAgICAgICAgYWxlcnQoInRlc3Qgc3RlcHBlZCIpOwogICAgICAgICAgICAgdmFy
IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICAgICAgcHJlcGFyZV94aHJfZm9y
X2V2ZW50X29yZGVyX3Rlc3QoeGhyKTsKIAogICAgICAgICAgICAgeGhyLmFkZEV2ZW50TGlzdGVu
ZXIoImxvYWRlbmQiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBhbGVydCgibG9hZCBl
bmRlZCIpOwogICAgICAgICAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgICAgICAgICAgLy8gbm8gcHJvZ3Jlc3MgZXZlbnRzIGR1ZSB0byBDT1JTIGZhaWx1cmUKICAg
ICAgICAgICAgICAgICAgICAgYXNzZXJ0X3hocl9ldmVudF9vcmRlcl9tYXRjaGVzKFsxLCAibG9h
ZHN0YXJ0KDAsMCxmYWxzZSkiLCAidXBsb2FkLmxvYWRzdGFydCgwLDEyLHRydWUpIiwgNCwgInVw
bG9hZC5lcnJvcigwLDAsZmFsc2UpIiwgInVwbG9hZC5sb2FkZW5kKDAsMCxmYWxzZSkiLCAiZXJy
b3IoMCwwLGZhbHNlKSIsICJsb2FkZW5kKDAsMCxmYWxzZSkiXSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGFsZXJ0KCJmaW5pc2hpbmcgdGVzdCIpOwogICAgICAgICAgICAgICAgICAgICB0ZXN0LmRv
bmUoKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJy
b3Iuc3ViLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2V2ZW50LWVycm9yLnN1Yi5hbnkuanMKaW5kZXggZGY2M2RjMDViZmE0MWNjNGRhOTY3
OWQwMjBiNGNiZGJiNGU5MDZhNC4uNjJhMTU4Y2RjZmJjYzgwZmI2ZjZhN2RiNmY2ZmZkODhlNjA3
NGM1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvZXZlbnQtZXJyb3Iuc3ViLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci5zdWIuYW55LmpzCkBAIC0x
MCw0ICsxMCw0IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKIAogICBjbGllbnQub3Blbigi
R0VUIiwgImh0dHA6Ly9ub25leGlzdGVudC57e2hvc3R9fTp7e3BvcnRzW2h0dHBdWzBdfX0iKTsK
ICAgY2xpZW50LnNlbmQoIm51bGwiKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
K30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvZXZlbnQtbG9hZC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcwppbmRleCA3MmU0NmE1Y2VhODFl
YzA2YTk4MWQ5NzNjNTY0ZGI0YzdkOWYzY2I3Li5kY2I5MmNjOTgwZGM5ZWJjYWNhYzAzNWM3MjFm
OTg0M2UyMDM1MmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcwpAQCAtMTgs
NCArMTgsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB9KTsKICAgY2xpZW50Lm9wZW4o
IkdFVCIsICJyZXNvdXJjZXMvd2VsbC1mb3JtZWQueG1sIik7CiAgIGNsaWVudC5zZW5kKG51bGwp
OwotfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkZW5k
LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L2V2ZW50LWxvYWRlbmQuYW55LmpzCmluZGV4IDdiZDE4NDRiMzc4YzBmNjNkYTQ0YTg5NmUzOThl
OGIxZWRjZDljZjUuLjE2MDg3YjUyOTY3YzAxZjc3MzhhYTY1ODQwYWU0ZDE2MTc5ZTUyYmUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L2V2ZW50LWxvYWRlbmQuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRlbmQuYW55LmpzCkBAIC0xNiw0ICsxNiw0IEBA
IHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CiAgIH07CiAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVz
b3VyY2VzL3dlbGwtZm9ybWVkLnhtbCIpOwogICBjbGllbnQuc2VuZChudWxsKTsKLX0pOwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtbG9hZHN0YXJ0LXVwbG9hZC5h
bnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9l
dmVudC1sb2Fkc3RhcnQtdXBsb2FkLmFueS5qcwppbmRleCAwZjQxY2QxMjg2Yjc0YTdjMGYwZGVm
MmZjOWIxNmY0YTgxZGMzYzk3Li4zOTE4YWRiNjZhOTUzZGNkNzE2ZGZjMjUyZTI1MDIzNmRjZTg3
OTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC1sb2Fkc3RhcnQtdXBsb2FkLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2Fkc3RhcnQtdXBsb2Fk
LmFueS5qcwpAQCAtMTYsNCArMTYsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB9KTsK
ICAgY2xpZW50Lm9wZW4oIlBPU1QiLCAicmVzb3VyY2VzL3RyaWNrbGUucHk/bXM9NSZjb3VudD04
Iik7CiAgIGNsaWVudC5zZW5kKCdmb289YmFyJyk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRzdGFydC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2Fkc3RhcnQuYW55LmpzCmlu
ZGV4IDQ3Nzg0MDRhMDBlZjVmYTIzMDJkMGI5Mzc3NmUxYzUwMzlhMWE1YTEuLjU1YWY0YzMxNjMx
NTBmMDA3MWFkMGNmNjRlMmM1Y2IwZWFlNzkyMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRzdGFydC5hbnkuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZl
bnQtbG9hZHN0YXJ0LmFueS5qcwpAQCAtMTQsNCArMTQsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24g
KCkgewogICB9LCA1MDApOwogICBjbGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy93ZWxsLWZv
cm1lZC54bWwiKTsKICAgY2xpZW50LnNlbmQobnVsbCk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXByb2dyZXNzLmFueS5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXByb2dyZXNzLmFueS5qcwpp
bmRleCAwZTdjM2E0MmM3ZGY2ODcyZDllMjNhMzlmMjE2NGExODViZjI1MWZjLi4wOTRkMzYxODEx
NzFkNWE1Yzc5MDAzZjYxYTYzZmYxNTM2YmY3MDE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1wcm9ncmVzcy5hbnkuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZl
bnQtcHJvZ3Jlc3MuYW55LmpzCkBAIC0xNSw0ICsxNSw0IEBAIHRlc3Quc3RlcChmdW5jdGlvbiAo
KSB7CiAgIH0pOwogICBjbGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy90cmlja2xlLnB5P2Nv
dW50PTQmZGVsYXk9MTUwIik7CiAgIGNsaWVudC5zZW5kKG51bGwpOwotfSk7ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0YXRlLXN5bmMtb3Blbi5hbnku
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVu
dC1yZWFkeXN0YXRlLXN5bmMtb3Blbi5hbnkuanMKaW5kZXggMzIxNjM1ZTdkZWE0MGMyOGQ0MzQ5
MGM3ODQ2ZWJmZGY5Nzk5M2FmMi4uYThhNGZlN2Y5YTE5NmI2YWIwMWQ4NGJlZjFlOWYwYjliNjE4
NGQ1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvZXZlbnQtcmVhZHlzdGF0ZS1zeW5jLW9wZW4uYW55LmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5c3RhdGUt
c3luYy1vcGVuLmFueS5qcwpAQCAtMjAsNCArMjAsNCBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAg
fQogICBjbGllbnQub3BlbignR0VUJywgIi4uLiIsIHRydWUpCiAgIGFzc2VydF9hcnJheV9lcXVh
bHMoZXZlbnRzRmlyZWQsIFsxXSkKLX0sIHRpdGxlICsgJyAoYXN5bmMpJyk7ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorfSwgdGl0bGUgKyAnIChhc3luYyknKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5
c3RhdGVjaGFuZ2UtbG9hZGVkLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5c3RhdGVjaGFuZ2UtbG9hZGVkLmFueS5qcwpp
bmRleCAxZTQ0NjdhYWViZGFmOWJmMTkyYjE2ZDY3OWVlOWY5MjQ4OGRiYTI1Li5hMzNlNmY4OTIy
NzhlZjZkMzFhODcwYmQxZmUzNWVmNDJmMGQyOTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0YXRlY2hhbmdl
LWxvYWRlZC5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvZXZlbnQtcmVhZHlzdGF0ZWNoYW5nZS1sb2FkZWQuYW55LmpzCkBAIC0yMCw0
ICsyMCw0IEBAIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CiAKICAgICBjbGllbnQub3BlbigiR0VU
IiwgInJlc291cmNlcy90cmlja2xlLnB5P2NvdW50PTEwIik7IC8vIGRlZmF1bHQgdGltZW91dCBp
biB0cmlja2xlLnB5IGlzIDEvMiBzZWMsIHNvIHRoaXMgcmVxdWVzdCB3aWxsIHRha2UgNSBzZWNv
bmRzIHRvIGNvbXBsZXRlCiAgICAgY2xpZW50LnNlbmQobnVsbCk7Ci19KTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXRpbWVvdXQtb3JkZXIuYW55LmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGltZW91
dC1vcmRlci5hbnkuanMKaW5kZXggYjM1ZTkwOGE5ZDhjMTAyYWE5MDE5NjQ5ZmFkNmM1OTE3Nzlk
NjBjNi4uNTUzMTk4MTRhOTAwNjQ3ODZjNzI2YWJmNmQ3M2M3NWU2ZTRiNDVkMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQt
dGltZW91dC1vcmRlci5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGltZW91dC1vcmRlci5hbnkuanMKQEAgLTE4LDQgKzE4
LDQgQEAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9
PiB7CiAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm9udGltZW91dCBub3QgY2FsbGVkLiIpOwog
ICAgIH0sIDEwKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZl
bnQtdGltZW91dC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9ldmVudC10aW1lb3V0LmFueS5qcwppbmRleCBkMTE0YjA4YjNlMTI0ZWVmNTYw
YTNmZDdiY2UxMjQ3Y2Y0M2EzNDdlLi5kYThjYTExYmI4ZWExYThlZjY3M2JlMjBhZTJkZTg3MTVh
NGQxMTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9ldmVudC10aW1lb3V0LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC10aW1lb3V0LmFueS5qcwpAQCAtMTUs
NCArMTUsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB0ZXN0LnN0ZXBfdGltZW91dCgo
KSA9PiB7CiAgICAgYXNzZXJ0X3VucmVhY2hlZCgib250aW1lb3V0IG5vdCBjYWxsZWQuIik7CiAg
IH0sIDEwKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQt
dXBsb2FkLXByb2dyZXNzLWNyb3Nzb3JpZ2luLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXVwbG9hZC1wcm9ncmVzcy1jcm9zc29y
aWdpbi5hbnkuanMKaW5kZXggMTAzNmYyYjE0ZjBhMzk3NDRkNWI5MmVhOTVjNmYyYzViZjBjNjdi
Ny4uOWY0YzQ0YWFiZTc1ZTM3ZjY2Nzg4Y2Q5ZDdiODhmNTgyNzY4OWUyOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBs
b2FkLXByb2dyZXNzLWNyb3Nzb3JpZ2luLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MtY3Jvc3Nv
cmlnaW4uYW55LmpzCkBAIC0yMyw0ICsyMyw0IEBAIGNvbnN0IHJlbW90ZSA9IGdldF9ob3N0X2lu
Zm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyAiL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQuCiAg
ICAgY2xpZW50LnVwbG9hZC5vbmxvYWRzdGFydCA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoKTsgLy8g
cmVnaXN0ZXJlZCB0b28gbGF0ZQogICAgIGNsaWVudC51cGxvYWQub25wcm9ncmVzcyA9IHRlc3Qu
dW5yZWFjaGVkX2Z1bmMoKTsgLy8gcmVnaXN0ZXJlZCB0b28gbGF0ZQogICB9LCAiVXBsb2FkIGV2
ZW50cyByZWdpc3RlcmVkIHRvbyBsYXRlICgiICsgdXJsICsgIikiKTsKLX0pOwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBsb2FkLXByb2dyZXNzLmFueS5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXVw
bG9hZC1wcm9ncmVzcy5hbnkuanMKaW5kZXggNWQxNTQ2NzU3YmE0MjRjNmJjZTBjMTQ0MTJkZWI4
MTQ5NDE5OGU4YS4uODcyMjNjMTcyZDUwYmIwMTM3OWE4NjA3NWQzNTVlNWE0YmNiYmNmZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
ZXZlbnQtdXBsb2FkLXByb2dyZXNzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MuYW55LmpzCkBA
IC0yMyw0ICsyMyw0IEBAIGNvbnN0IHJlbW90ZSA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9U
RV9PUklHSU4gKyAiL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQuCiAgICAgY2xpZW50LnVwbG9h
ZC5vbmxvYWRzdGFydCA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoKTsgLy8gcmVnaXN0ZXJlZCB0b28g
bGF0ZQogICAgIGNsaWVudC51cGxvYWQub25wcm9ncmVzcyA9IHRlc3QudW5yZWFjaGVkX2Z1bmMo
KTsgLy8gcmVnaXN0ZXJlZCB0b28gbGF0ZQogICB9LCAiVXBsb2FkIGV2ZW50cyByZWdpc3RlcmVk
IHRvbyBsYXRlICgiICsgdXJsICsgIikiKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvZm9ybWRhdGEtYmxvYi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQppbmRleCA1ZWZlZjdiNjE1
YmJmYTdkYzU0ODkxZmU0MDQwNWMwZjYyZWI5OGUyLi45MmNlZTU1Y2QyZjgwZjE1ZGUyNjg0ZWJm
YzEyOWE1YTZiMWQzOGYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQpAQCAt
MzgsNyArMzgsNyBAQAogICAvLyBJZiAzcmQgYXJndW1lbnQgaXMgZ2l2ZW4gYW5kIDJuZCBpcyBu
b3QgYSBCbG9iLCBmb3JtZGF0YS5hcHBlbmQoKSBzaG91bGQgdGhyb3cKICAgdmFyIHRlc3QgPSBh
c3luY190ZXN0KCdmb3JtZGF0YS5hcHBlbmQoKSBzaG91bGQgdGhyb3cgaWYgdmFsdWUgaXMgc3Ry
aW5nIGFuZCBmaWxlIG5hbWUgaXMgZ2l2ZW4nKTsgLy8gbmVlZHMgdG8gYmUgYXN5bmMganVzdCBi
ZWNhdXNlIHRoZSBvdGhlcnMgYWJvdmUgYXJlCiAgIHRlc3Quc3RlcChmdW5jdGlvbigpewotICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpeworICAgIGFzc2VydF90
aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpewogICAgICAgY3JlYXRlX2Zvcm1kYXRhKCdh
JywgJ2InLCAnYycpOwogICAgIH0pOwogICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRh
LWV4cGVjdGVkLnR4dAppbmRleCBlMGFlNmFmMGNiZWQ1MTQ4ZTJlZWQ4MDhiNjk4Njk0MWZmNTcy
MzUzLi42NTZmNzhhNWM3ZTA2Y2EzNzIwNDUwZTZmMGU2ZGU3Y2NkNDdhMzk3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0
YS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvZm9ybWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQAogCiAKIAot
RkFJTCBDb25zdHJ1Y3RvcnMgc2hvdWxkIHRocm93IGEgdHlwZSBlcnJvciBhc3NlcnRfdGhyb3dz
OiBmdW5jdGlvbiAiKCkgPT4geyBuZXcgRm9ybURhdGEobnVsbCk7IH0iIGRpZCBub3QgdGhyb3cK
K0ZBSUwgQ29uc3RydWN0b3JzIHNob3VsZCB0aHJvdyBhIHR5cGUgZXJyb3IgYXNzZXJ0X3Rocm93
c19qczogZnVuY3Rpb24gIigpID0+IHsgbmV3IEZvcm1EYXRhKG51bGwpOyB9IiBkaWQgbm90IHRo
cm93CiBQQVNTIGVtcHR5IGZvcm1kYXRhIAogUEFTUyBmb3JtZGF0YSB3aXRoIHN0cmluZyAKIFBB
U1MgZm9ybWRhdGEgd2l0aCBuYW1lZCBzdHJpbmcgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1zZXQuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEtc2V0
Lmh0bQppbmRleCBlZTQzZTE1NjlmMTk1OGU1YzcxZjE0YTNiZDg5Yjc1NzU2ZDZhODVjLi5kNDZl
NDRhOTE2ZmQyMGNiOWJhOTRiMWFjNWMyNDgxNjU5ZWM3Y2RjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1zZXQuaHRt
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zv
cm1kYXRhLXNldC5odG0KQEAgLTgxLDExICs4MSwxMSBAQAogICAgIH0sICd0ZXN0Rm9ybURhdGFT
ZXRUb0Zvcm1OdWxsMicpOwogICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBmZCA9
IG5ldyBGb3JtRGF0YShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybSIpKTsKLSAgICAgICAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHtmZC5zZXQoJ25hbWUnLCAic3Ry
aW5nIiwgJ2ZpbGVuYW1lJyl9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3Is
ICgpID0+IHtmZC5zZXQoJ25hbWUnLCAic3RyaW5nIiwgJ2ZpbGVuYW1lJyl9KTsKICAgICB9LCAn
dGVzdEZvcm1EYXRhU2V0VG9Gb3JtU3RyaW5nJyk7CiAgICAgdGVzdChmdW5jdGlvbigpIHsKICAg
ICAgICAgdmFyIGZkID0gbmV3IEZvcm1EYXRhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3Jt
IikpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4ge2ZkLnNl
dCgnbmFtZScsIG5ldyBVUkxTZWFyY2hQYXJhbXMoKSwgJ2ZpbGVuYW1lJyl9KTsKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHtmZC5zZXQoJ25hbWUnLCBuZXcgVVJM
U2VhcmNoUGFyYW1zKCksICdmaWxlbmFtZScpfSk7CiAgICAgfSwgJ3Rlc3RGb3JtRGF0YVNldFRv
Rm9ybVdyb25nUGxhdGZvcm1PYmplY3QnKTsKICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAg
ICB2YXIgZmQgPSBuZXcgRm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLmh0bSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLmh0bQppbmRleCA2
OTljMTFhYjc4MzhhMzJhM2U2MjQ2MGYxM2EyYTQyN2Q4ZDgxNzA3Li42NzUyMDNjYjFhZjc2ZDcx
MjQyMzgxZDQ5ZWZjMTMzYTVkNTM4NGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS5odG0KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEuaHRtCkBAIC0z
OSw4ICszOSw4IEBACiAgIH0KIAogICB0ZXN0KCgpID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgKCkgPT4geyBuZXcgRm9ybURhdGEobnVsbCk7IH0pOwotICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7IG5ldyBGb3JtRGF0YSgic3RyaW5nIik7
IH0pOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7IG5ldyBGb3JtRGF0
YShudWxsKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsgbmV3
IEZvcm1EYXRhKCJzdHJpbmciKTsgfSk7CiAgIH0sICJDb25zdHJ1Y3RvcnMgc2hvdWxkIHRocm93
IGEgdHlwZSBlcnJvciIpOwogCiAgIGRvX3Rlc3QoImVtcHR5IGZvcm1kYXRhIiwgbmV3IEZvcm1E
YXRhKCksICdcbicpOwpAQCAtNzIsNyArNzIsNyBAQAogICAgIGxldCBjb3VudGVyID0gMDsKICAg
ICBmb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ2Zvcm1kYXRhJywgZSA9PiB7CiAgICAgICArK2NvdW50
ZXI7Ci0gICAgICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsgbmV3
IEZvcm1EYXRhKGUudGFyZ2V0KSB9KTsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlk
U3RhdGVFcnJvcicsICgpID0+IHsgbmV3IEZvcm1EYXRhKGUudGFyZ2V0KSB9KTsKICAgICB9KTsK
ICAgICBuZXcgRm9ybURhdGEoZm9ybSk7CiAgICAgYXNzZXJ0X2VxdWFscyhjb3VudGVyLCAxKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL2hlYWRlcnMtbm9ybWFsaXplLXJlc3BvbnNlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2hlYWRlcnMtbm9ybWFsaXplLXJlc3BvbnNlLmh0
bQppbmRleCA4NGYyZmM4NTgyMTI3YjlhOGUyNzE4ODdkNDIwYjNlYTdhODc2OTZhLi4zZDQ3MmY2
ODhjZjZkOTgzNmZhZDIwNDU3ODRmNTcwNWQ5ZjUzMmYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9oZWFkZXJzLW5vcm1hbGl6ZS1y
ZXNwb25zZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvaGVhZGVycy1ub3JtYWxpemUtcmVzcG9uc2UuaHRtCkBAIC05LDcgKzksNyBAQCBm
dW5jdGlvbiBlcnJvcih2YWwpIHsKICAgdGVzdCgoKSA9PiB7CiAgICAgY29uc3QgY2xpZW50ID0g
bmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgY2xpZW50Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMv
cGFyc2UtaGVhZGVycy5weT9teS1jdXN0b20taGVhZGVyPSIrZW5jb2RlVVJJQ29tcG9uZW50KHZh
bCksIGZhbHNlKTsKLSAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiBjbGll
bnQuc2VuZCgpKTsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4g
Y2xpZW50LnNlbmQoKSk7CiAgIH0sICJIZWFkZXIgdmFsdWU6ICIgKyB2YWwucmVwbGFjZSgiXDAi
LCAiXFwwIikpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9sb2Fkc3RhcnQtYW5kLXN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9sb2Fkc3RhcnQtYW5kLXN0YXRl
Lmh0bWwKaW5kZXggNDYwYjJiZmM5OTA4NWIxZDZiOTAwODYwZjMyNTBmMGY2YWM3MDI2Mi4uOGIz
NDRhNThmODFmNWQ2ZDcxZGU3MDFlYzQxNGQ1YjEyNDY3MzcyYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvbG9hZHN0YXJ0LWFuZC1z
dGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2xvYWRzdGFydC1hbmQtc3RhdGUuaHRtbApAQCAtNyw5ICs3LDkgQEAKIGFzeW5jX3Rl
c3QodCA9PiB7CiAgIGNvbnN0IGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdAogICBjbGllbnQu
b25sb2Fkc3RhcnQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cygiSW52
YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiR2VuZXJhbCIs
ICJPcmdhbmEiKSkKLSAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+
IGNsaWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlKQotICAgIGFzc2VydF90aHJvd3MoIkludmFs
aWRTdGF0ZUVycm9yIiwgKCkgPT4gY2xpZW50LnNlbmQoKSkKKyAgICBhc3NlcnRfdGhyb3dzX2Rv
bSgiSW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiR2Vu
ZXJhbCIsICJPcmdhbmEiKSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJy
b3IiLCAoKSA9PiBjbGllbnQud2l0aENyZWRlbnRpYWxzID0gdHJ1ZSkKKyAgICBhc3NlcnRfdGhy
b3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2VuZCgpKQogICAgIGNs
aWVudC5vbmxvYWRzdGFydCA9IG51bGwKICAgICBjbGllbnQub3BlbigiR0VUIiwgImRhdGE6LEJC
LTgiKQogICAgIGNsaWVudC5zZW5kKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWJvZ3VzLmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWJv
Z3VzLmh0bQppbmRleCAyNjNlN2I2ZGI3ZWIxNTgxMDI4YmFkMWM3NDI2MjdkNTk3ZTkwNTQwLi4x
M2JiMThiZjVjNGZhZTU2MzJkOWYwNzZmZTkzYmM2NTgxMWUxMjUwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1i
b2d1cy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvb3Blbi1tZXRob2QtYm9ndXMuaHRtCkBAIC0xMiw3ICsxMiw3IEBACiAgICAgICBmdW5j
dGlvbiBtZXRob2QobWV0aG9kKSB7CiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCi0gICAgICAgICAgYXNzZXJ0X3Ro
cm93cygiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9wZW4obWV0aG9kLCAiLi4u
IikgfSkKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCBmdW5jdGlv
bigpIHsgY2xpZW50Lm9wZW4obWV0aG9kLCAiLi4uIikgfSkKICAgICAgICAgfSwgZG9jdW1lbnQu
dGl0bGUgKyAiICgiICsgbWV0aG9kICsgIikiKQogICAgICAgfQogICAgICAgbWV0aG9kKCIiKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3Blbi1tZXRob2QtaW5zZWN1cmUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1tZXRob2QtaW5zZWN1cmUuaHRtCmluZGV4IDFhNzdm
ZjNlYzc5NzMwMDU5ODI1NDRkMTc4MTQ3MGEyY2Q3ZDBkZjEuLmE2YmY0NDIyNDgxZmVmZjI2Nzc1
NDdjN2FiNWM2NGI0YjIyNGI4MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWluc2VjdXJlLmh0bQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhv
ZC1pbnNlY3VyZS5odG0KQEAgLTEyLDcgKzEyLDcgQEAKICAgICAgIGZ1bmN0aW9uIG1ldGhvZCht
ZXRob2QpIHsKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgICB2YXIgY2xpZW50
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0
eUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKG1ldGhvZCwgIi4uLiIpIH0pCisgICAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xp
ZW50Lm9wZW4obWV0aG9kLCAiLi4uIikgfSkKICAgICAgICAgfSwgZG9jdW1lbnQudGl0bGUgKyAi
ICgiICsgbWV0aG9kICsgIikiKQogICAgICAgfQogICAgICAgbWV0aG9kKCJ0cmFjayIpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9v
cGVuLW1ldGhvZC1yZXNwb25zZXR5cGUtc2V0LXN5bmMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1tZXRob2QtcmVzcG9uc2V0eXBlLXNl
dC1zeW5jLmh0bQppbmRleCAwYjRkODE0MDQxYzUyNTI4NTk5OTE4NmE3YjNkNTA3NDIzNWUxZjdi
Li43ODU4YzkxNDA5ZTdlN2NiNTE2OTVmNmQyMzNkZTBkMDE1NTRhNjA0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhv
ZC1yZXNwb25zZXR5cGUtc2V0LXN5bmMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLXJlc3BvbnNldHlwZS1zZXQtc3lu
Yy5odG0KQEAgLTE5LDcgKzE5LDcgQEAKICAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoJ05v
IGV2ZW50cyBzaG91bGQgZmlyZSBoZXJlJykKICAgICAgICAgICB9KQogICAgICAgICAgIGNsaWVu
dC5yZXNwb25zZVR5cGUgPSB0eXBlCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZEFj
Y2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKCdHRVQnLCAiLi4uIiwgZmFsc2Up
IH0pCisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRBY2Nlc3NFcnJvciIsIGZ1
bmN0aW9uKCkgeyBjbGllbnQub3BlbignR0VUJywgIi4uLiIsIGZhbHNlKSB9KQogICAgICAgICB9
LCBkb2N1bWVudC50aXRsZSArICIgKCIgKyB0eXBlICsgIikiKQogICAgICAgfQogICAgICAgcmVx
dWVzdCgiYXJyYXlidWZmZXIiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTIuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVs
dGktd2luZG93LTIuaHRtCmluZGV4IGVkNGJhMDE1NzZiNTliMWNmMjVhNTgwYzA1YjNhNjM4M2Q1
ZDE2YzEuLjY0Y2M5NmI2MWIyNWRjNjY0N2QwZWI2NGJiNGQ5NDVhNTA3MmYxZDUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4t
dXJsLW11bHRpLXdpbmRvdy0yLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctMi5odG0KQEAgLTExLDEy
ICsxMSwxMyBAQAogICAgIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gaW5pdCgpeyAvLyBjYWxsZWQg
ZnJvbSBwYWdlIGluc2lkZSBJRlJBTUUKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAg
ICAgICB2YXIgY2xpZW50ID0gbmV3IHNlbGZbMF0uWE1MSHR0cFJlcXVlc3QoKQorICAgICAgICAg
IHZhciBjbGllbnQgPSBuZXcgc2VsZlswXS5YTUxIdHRwUmVxdWVzdCgpOworICAgICAgICAgIGxl
dCBleGNlcHRpb25DdG9yID0gc2VsZlswXS5ET01FeGNlcHRpb247CiAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1l
IilbMF0pCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3Ii
LCBleGNlcHRpb25DdG9yLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGNsaWVudC5vcGVuKCJH
RVQiLCAiZm9sZGVyLnR4dCIpCi0gICAgICAgICAgfSwgIm9wZW4oKSB3aGVuIGFzc29jaWF0ZWQg
ZG9jdW1lbnQncyBJRlJBTUUgaXMgcmVtb3ZlZCIpCi0gICAgICAgICAgfSkKKyAgICAgICAgICB9
LCAib3BlbigpIHdoZW4gYXNzb2NpYXRlZCBkb2N1bWVudCdzIElGUkFNRSBpcyByZW1vdmVkIik7
CisgICAgICAgIH0pOwogICAgICAgfQogICAgIDwvc2NyaXB0PgogICAgIDxpZnJhbWUgc3JjPSJy
ZXNvdXJjZXMvaW5pdC5odG0iPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMtZXhwZWN0ZWQudHh0CmluZGV4IDI4MWEyOTVl
NWMzZGE2MzhmODNkODFjNWUyNGRhYTFiMjk5ZDMzNDEuLjA4MDhmNjJhYWYxZDFjMzcxYzUzMjll
ODlhYzlkN2ZkZjk1YmZmODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy0zLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9v
cGVuLXVybC1tdWx0aS13aW5kb3ctMy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZB
SUwgWE1MSHR0cFJlcXVlc3Q6IG9wZW4oKSByZXNvbHZpbmcgVVJMcyAobXVsdGktV2luZG93OyAz
OyBldmlsKSBhc3NlcnRfdGhyb3dzOiBzZW5kKCkgd2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50J3Mg
SUZSQU1FIGlzIHJlbW92ZWQgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKK0ZBSUwgWE1MSHR0cFJl
cXVlc3Q6IG9wZW4oKSByZXNvbHZpbmcgVVJMcyAobXVsdGktV2luZG93OyAzOyBldmlsKSBhc3Nl
cnRfdGhyb3dzX2RvbTogc2VuZCgpIHdoZW4gYXNzb2NpYXRlZCBkb2N1bWVudCdzIElGUkFNRSBp
cyByZW1vdmVkIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBjbGllbnQuc2Vu
ZChudWxsKQogICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGkt
d2luZG93LTMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMuaHRtCmluZGV4IDM0NDQzNGIwZTdjNjk0Y2Ni
NTJiYzlhNjNhYjVlNWJlZjNmMjFmMjQuLmUxNTY4NTdmZTA1ZGFhNGUzYTQ3YTNjYTQxM2E5Yzlh
YmFhMDYyYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy0zLmh0bQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5k
b3ctMy5odG0KQEAgLTEwLDEyICsxMCwxMyBAQAogICAgIDxzY3JpcHQ+CiAgICAgICBmdW5jdGlv
biBpbml0KCkgewogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICAgIHZhciBjbGll
bnQgPSBuZXcgc2VsZlswXS5YTUxIdHRwUmVxdWVzdCgpCisgICAgICAgICAgdmFyIGNsaWVudCA9
IG5ldyBzZWxmWzBdLlhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgICAgbGV0IGV4Y2VwdGlvbkN0
b3IgPSBzZWxmWzBdLkRPTUV4Y2VwdGlvbjsKICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwg
ImZvbGRlci50eHQiKQogICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKQotICAgICAgICAgIGFzc2VydF90
aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZXhjZXB0aW9uQ3RvciwgZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgICBjbGllbnQuc2VuZChudWxsKQotICAgICAgICAgIH0sICJzZW5kKCkg
d2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50J3MgSUZSQU1FIGlzIHJlbW92ZWQiKQorICAgICAgICAg
IH0sICJzZW5kKCkgd2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50J3MgSUZSQU1FIGlzIHJlbW92ZWQi
KTsKICAgICAgICAgfSkKICAgICAgIH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRp
LXdpbmRvdy01Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy01Lmh0bQppbmRleCBhMjdkMmIzNjZjMDY4MGQy
YTMwY2JiMTA3YzM0OTZhYmIwMjY0OTA4Li4zMmM0NjdhNDk1NmM0YjQ3NjE0YjgzMmJiZTcxMTFl
ZmM3YzQxMzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctNS5odG0KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2lu
ZG93LTUuaHRtCkBAIC0xMSwxNSArMTEsMTcgQEAKICAgICA8c2NyaXB0PgogICAgICAgdmFyIHRl
c3QgPSBhc3luY190ZXN0KCksCiAgICAgICAgICAgY2xpZW50LAotICAgICAgICAgIGNvdW50ID0g
MAorICAgICAgICAgIGV4Y2VwdGlvbkN0b3IsCisgICAgICAgICAgY291bnQgPSAwOwogICAgICAg
ZnVuY3Rpb24gaW5pdCgpIHsKICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAg
ICAgIGlmKDAgPT0gY291bnQpIHsKLSAgICAgICAgICAgIGNsaWVudCA9IG5ldyBzZWxmWzBdLlhN
TEh0dHBSZXF1ZXN0KCkKKyAgICAgICAgICAgIGNsaWVudCA9IG5ldyBzZWxmWzBdLlhNTEh0dHBS
ZXF1ZXN0KCk7CisgICAgICAgICAgICBleGNlcHRpb25DdG9yID0gc2VsZlswXS5ET01FeGNlcHRp
b247CiAgICAgICAgICAgICBjb3VudCsrCiAgICAgICAgICAgICBzZWxmWzBdLmxvY2F0aW9uLnJl
bG9hZCgpCiAgICAgICAgICAgfSBlbHNlIGlmKDEgPT0gY291bnQpIHsKLSAgICAgICAgICAgIGFz
c2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVu
KCJHRVQiLCAiLi4uIikgfSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlk
U3RhdGVFcnJvciIsIGV4Y2VwdGlvbkN0b3IsIGZ1bmN0aW9uKCkge2NsaWVudC5vcGVuKCJHRVQi
LCAiLi4uIikgfSk7CiAgICAgICAgICAgICB0ZXN0LmRvbmUoKQogICAgICAgICAgIH0KICAgICAg
ICAgfSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdp
bmRvdy02LWV4cGVjdGVkLnR4dAppbmRleCA1YTQ1NzkyNzM3NjI4NWQ5ODM5NmRiNTE0NGY1YzQ2
NzdiZDMyMjYwLi45ZWYzYTE4MzhiNGEyNWYwZjdiODdkYWNjMmVhODgwNTgzODUzNWYyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9v
cGVuLXVybC1tdWx0aS13aW5kb3ctNi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTYt
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIFhNTEh0dHBSZXF1ZXN0OiBvcGVu
KCkgaW4gZG9jdW1lbnQgdGhhdCBpcyBub3QgZnVsbHkgYWN0aXZlIChidXQgbWF5IGJlIGFjdGl2
ZSkgc2hvdWxkIHRocm93IAorRkFJTCBYTUxIdHRwUmVxdWVzdDogb3BlbigpIGluIGRvY3VtZW50
IHRoYXQgaXMgbm90IGZ1bGx5IGFjdGl2ZSAoYnV0IG1heSBiZSBhY3RpdmUpIHNob3VsZCB0aHJv
dyBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgY2xpZW50Lm9wZW4o
IkdFVCIsICIuLi4iKSB9IiB0aHJldyBhbiBleGNlcHRpb24gZnJvbSB0aGUgd3JvbmcgZ2xvYmFs
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02Lmh0bQpp
bmRleCA5OTI3OTYzOTkyMWQ5YTU5NGMxNTAxNGY1YzQyOWVlNmFlN2EyMTVkLi5kODM0YTA0OGE1
MWQxODNiYjgyYmRkNDMyNzY3NDBhNGY4OTRjZWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ct
Ni5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTYuaHRtCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBkb2MuYm9keS5hcHBlbmRDaGlsZChpZnIpOwogICAgICAgICAg
IH0gZWxzZSBpZigxID09IGNvdW50KSB7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZh
bGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIpIH0p
CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5j
dGlvbigpIHsgY2xpZW50Lm9wZW4oIkdFVCIsICIuLi4iKSB9KQogICAgICAgICAgICAgdGVzdC5k
b25lKCkKICAgICAgICAgICB9CiAgICAgICAgIH0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWRvbmUt
c3RhdGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvb3ZlcnJpZGVtaW1ldHlwZS1kb25lLXN0YXRlLmFueS5qcwppbmRleCBiZGY0OWUxY2E1
MmU3NmVmZjZiMDdjMTJlMTBhMDMyMDQxNzIzNmEwLi41ZTcwNDkyNDM2NTdkNDVhYzlkYTQyZjIz
NDMyODczM2ViNWNmYzEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWRvbmUtc3RhdGUuYW55LmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJy
aWRlbWltZXR5cGUtZG9uZS1zdGF0ZS5hbnkuanMKQEAgLTksNyArOSw3IEBAIGNsaWVudC5vbnJl
YWR5c3RhdGVjaGFuZ2UgPSB0ZXN0LnN0ZXBfZnVuYyggZnVuY3Rpb24oKSB7CiAgIGlmIChjbGll
bnQucmVhZHlTdGF0ZSAhPT0gNCkgcmV0dXJuOwogICB2YXIgdGV4dCA9IGNsaWVudC5yZXNwb25z
ZVRleHQ7CiAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQsICIiKTsKLSAgYXNzZXJ0X3Rocm93cygi
SW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm92ZXJyaWRlTWltZVR5cGUo
J2FwcGxpY2F0aW9uL3htbDtjaGFyc2V0PVNoaWZ0LUpJUycpOyB9KTsKKyAgYXNzZXJ0X3Rocm93
c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vdmVycmlkZU1p
bWVUeXBlKCdhcHBsaWNhdGlvbi94bWw7Y2hhcnNldD1TaGlmdC1KSVMnKTsgfSk7CiAgIGlmIChH
TE9CQUwuaXNXaW5kb3coKSkgewogICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnJlc3BvbnNlWE1M
LCBudWxsKTsKICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvb3ZlcnJpZGVtaW1ldHlwZS1sb2FkaW5nLXN0YXRlLmh0bSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJyaWRlbWlt
ZXR5cGUtbG9hZGluZy1zdGF0ZS5odG0KaW5kZXggY2NlM2ZhNDllZjc1MmM2ZTY2YmExMDUwMGIz
NTA1MzMxNmRlNmMxMy4uMDZlNGQ1ZmVjMWVmMWJhMGNiZjg4NWZkMzU4NTg4OTg4MWNhNWM2NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3ZlcnJpZGVtaW1ldHlwZS1sb2FkaW5nLXN0YXRlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWxvYWRp
bmctc3RhdGUuaHRtCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHRl
c3Quc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewogICAgICAgICAgIGlmIChjbGllbnQucmVhZHlTdGF0
ZSA9PT0gMyl7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIs
IGZ1bmN0aW9uKCl7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRl
RXJyb3IiLCBmdW5jdGlvbigpewogICAgICAgICAgICAgICBjbGllbnQub3ZlcnJpZGVNaW1lVHlw
ZSgnYXBwbGljYXRpb24veG1sO2NoYXJzZXQ9U2hpZnQtSklTJyk7CiAgICAgICAgICAgICB9KTsK
ICAgICAgICAgICB9ZWxzZSBpZihjbGllbnQucmVhZHlTdGF0ZT09PTQpewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcHJvZ3Jlc3Nl
dmVudC1pbnRlcmZhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Byb2dyZXNzZXZlbnQtaW50ZXJmYWNlLmh0bWwKaW5kZXggODUwZDFiMjNk
Y2ZhMjY2MmIyZmZjZTNjMTk2OGQxZjkyZWFhZjE4OC4uNzU1MmZmNzNkM2Y0NDk5NzcyMzY3NGRh
MDQwN2JmNTlhYjNmOTFjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcHJvZ3Jlc3NldmVudC1pbnRlcmZhY2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9wcm9ncmVzc2V2
ZW50LWludGVyZmFjZS5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAg
IGFzc2VydF9lcXVhbHMoZGVzYy53cml0YWJsZSwgZmFsc2UpCiAgIGFzc2VydF9lcXVhbHMoZGVz
Yy5lbnVtZXJhYmxlLCBmYWxzZSkKICAgYXNzZXJ0X2VxdWFscyhkZXNjLmNvbmZpZ3VyYWJsZSwg
ZmFsc2UpCi0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsKKyAg
YXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICJ1c2Ugc3RyaWN0
IjsKICAgICBkZWxldGUgUHJvZ3Jlc3NFdmVudC5wcm90b3R5cGU7CiAgIH0pCkBAIC0zMSw3ICsz
MSw3IEBAIGF0dHJpYnV0ZXMuZm9yRWFjaChmdW5jdGlvbihhKSB7CiAgICAgdmFyIGRlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb2dyZXNzRXZlbnQucHJvdG90eXBlLCBh
WzFdKQogICAgIGFzc2VydF9lcXVhbHMoZGVzYy5lbnVtZXJhYmxlLCB0cnVlKQogICAgIGFzc2Vy
dF9lcXVhbHMoZGVzYy5jb25maWd1cmFibGUsIHRydWUpCi0gICAgYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKICAgICAgIFByb2dyZXNzRXZlbnQucHJvdG90eXBlW2FbMV1dCiAgICAg
fSkKICAgfSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2NlcHQtbGFuZ3VhZ2UucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXB0LWxhbmd1
YWdlLnB5CmluZGV4IGRkMDBmNGIyZWU3M2Q3NGNjNjBkZTQ5ZjgxOTljNGVhNjlmZmU1OTMuLmI2
OGNmMzU1MDM4Y2E5ZjlmOTM4YTVjM2IyZjVjNzVlYmZkMDU0ODcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nl
cHQtbGFuZ3VhZ2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC1sYW5ndWFnZS5weQpAQCAtMSwzICsxLDMgQEAK
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXR1cm4gWygiQ29udGVudC1UeXBl
IiwgInRleHQvcGxhaW4iKSwKLSAgICAgICAgICAgIHJlcXVlc3QuaGVhZGVycy5nZXQoIkFjY2Vw
dC1MYW5ndWFnZSIsICJOTyIpXQorICAgIHJldHVybiBbKGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0
L3BsYWluIiksCisgICAgICAgICAgICByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQWNjZXB0LUxhbmd1
YWdlIiwgYiJOTyIpXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2NlcHQucHkKaW5kZXgg
YTAzM2ViZWM2NDY3NzQ3NzQ0YTMyMzZhZDM4ODg2ZmI5YjJkZDhlNS4uODQyZGY4MGNkYTAwNjcw
ODU1MDYyMTE0YjZjZjA2MzEzOWQwMzVhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC5weQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
YWNjZXB0LnB5CkBAIC0xLDIgKzEsMiBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgot
ICAgIHJldHVybiBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpXSwgcmVxdWVzdC5oZWFk
ZXJzLmdldCgiYWNjZXB0IiwgIk5PIikKKyAgICByZXR1cm4gWyhiIkNvbnRlbnQtVHlwZSIsIGIi
dGV4dC9wbGFpbiIpXSwgcmVxdWVzdC5oZWFkZXJzLmdldChiImFjY2VwdCIsIGIiTk8iKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWFsbG93LWxpc3RzLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9s
LWFsbG93LWxpc3RzLnB5CmluZGV4IDUyNmQzNjViMzExMWQ0NmNlNzIzZTkyZjczNzY3M2FmYWEz
MDA5NzcuLjMyYzExYTBjMzliYWE0NjVmMzIxNGMzN2U5YTYzZmEzNWEzYTM4NjIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9hY2Nlc3MtY29udHJvbC1hbGxvdy1saXN0cy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wt
YWxsb3ctbGlzdHMucHkKQEAgLTEsMjAgKzEsMjYgQEAKIGltcG9ydCBqc29uCiAKK2Zyb20gd3B0
c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlCisKIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKLSAgICBpZiAib3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3Qu
R0VUWyJvcmlnaW4iXSkKLSAgICBlbGlmICJvcmlnaW5zIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAg
ICAgZm9yIG9yaWdpbiBpbiByZXF1ZXN0LkdFVFsib3JpZ2lucyJdLnNwbGl0KCcsJyk6Ci0gICAg
ICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
IiwgcmVxdWVzdC5HRVRbIm9yaWdpbiJdKQorICAgIGlmIGIib3JpZ2luIiBpbiByZXF1ZXN0LkdF
VDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCByZXF1ZXN0LkdFVFtiIm9yaWdpbiJdKQorICAgIGVsaWYgYiJvcmlnaW5zIiBpbiBy
ZXF1ZXN0LkdFVDoKKyAgICAgICAgZm9yIG9yaWdpbiBpbiByZXF1ZXN0LkdFVFtiIm9yaWdpbnMi
XS5zcGxpdChiJywnKToKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVRbYiJvcmlnaW4iXSkKIAotICAgIGlm
ICJoZWFkZXJzIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdFVFsiaGVhZGVycyJdKQot
ICAgIGlmICJtZXRob2RzIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCByZXF1ZXN0LkdFVFsibWV0aG9k
cyJdKQorICAgIGlmIGIiaGVhZGVycyIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIHJlcXVlc3QuR0VU
W2IiaGVhZGVycyJdKQorICAgIGlmIGIibWV0aG9kcyIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIHJl
cXVlc3QuR0VUW2IibWV0aG9kcyJdKQogCiAgICAgaGVhZGVycyA9IGRpY3QocmVxdWVzdC5oZWFk
ZXJzKQogCiAgICAgZm9yIGhlYWRlciBpbiBoZWFkZXJzOgogICAgICAgICBoZWFkZXJzW2hlYWRl
cl0gPSBoZWFkZXJzW2hlYWRlcl1bMF0KIAotICAgIHJldHVybiBqc29uLmR1bXBzKGhlYWRlcnMp
CisgICAgc3RyX2hlYWRlcnMgPSB7fQorICAgIGZvciBrZXksIHZhbCBpbiBoZWFkZXJzLml0ZW1z
KCk6CisgICAgICAgIHN0cl9oZWFkZXJzW2lzb21vcnBoaWNfZGVjb2RlKGtleSldID0gaXNvbW9y
cGhpY19kZWNvZGUodmFsKQorCisgICAgcmV0dXJuIGpzb24uZHVtcHMoc3RyX2hlYWRlcnMpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctd2l0aC1ib2R5LnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1j
b250cm9sLWFsbG93LXdpdGgtYm9keS5weQppbmRleCA3YzdmNDVjNjkwMTNiOTBkOGRiMGZkZWVi
ZTllMTQ5NjRjMGUyNGZlLi4xODU2NGUyZDQ0ZTdmNDM4NzQ4N2EyMjdjYjVlMzc5M2Q5YTQ2MzNh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctd2l0aC1ib2R5LnB5CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9h
Y2Nlc3MtY29udHJvbC1hbGxvdy13aXRoLWJvZHkucHkKQEAgLTEsMTUgKzEsMTUgQEAKIGRlZiBt
YWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBoZWFkZXJzID0gewotICAgICAgICAiQ2FjaGUt
Q29udHJvbCI6ICJuby1zdG9yZSIsCi0gICAgICAgICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFk
ZXJzIjogIlgtUmVxdWVzdGVkLVdpdGgiLAotICAgICAgICAiQWNjZXNzLUNvbnRyb2wtTWF4LUFn
ZSI6IDAsCi0gICAgICAgICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOiAiKiIsCi0gICAg
ICAgICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIjogIioiLAotICAgICAgICAiVmFyeSI6
ICJBY2NlcHQtRW5jb2RpbmciLAotICAgICAgICAiQ29udGVudC1UeXBlIjogInRleHQvcGxhaW4i
CisgICAgICAgIGIiQ2FjaGUtQ29udHJvbCI6IGIibm8tc3RvcmUiLAorICAgICAgICBiIkFjY2Vz
cy1Db250cm9sLUFsbG93LUhlYWRlcnMiOiBiIlgtUmVxdWVzdGVkLVdpdGgiLAorICAgICAgICBi
IkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiOiAwLAorICAgICAgICBiIkFjY2Vzcy1Db250cm9sLUFs
bG93LU9yaWdpbiI6IGIiKiIsCisgICAgICAgIGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9k
cyI6IGIiKiIsCisgICAgICAgIGIiVmFyeSI6IGIiQWNjZXB0LUVuY29kaW5nIiwKKyAgICAgICAg
YiJDb250ZW50LVR5cGUiOiBiInRleHQvcGxhaW4iCiAgICAgfQogCiAgICAgZm9yIChuYW1lLCB2
YWx1ZSkgaW4gaGVhZGVycy5pdGVtcygpOgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChu
YW1lLCB2YWx1ZSkKIAotICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUyIKKyAgICByZXNwb25z
ZS5jb250ZW50ID0gYiJQQVNTIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWF1dGgtYmFz
aWMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQppbmRleCBhZjMyYWFiOTdjZDVj
ZTY2NGExZjFiNmZlZTFiODY0YWZjNDRlMzUxLi5kMWM1NTc5Y2UyNDJjNjc0NjQ1NjBlZTNlNDc5
NzBjOTIzNWRmYzFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvYWNjZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQpAQCAtMSwxNyArMSwxNyBAQAogZGVm
IG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNo
ZS1Db250cm9sIiwgIm5vLXN0b3JlIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0g
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxz
IiwgInRydWUiKQotICAgIHVpZCA9IHJlcXVlc3QuR0VULmZpcnN0KCJ1aWQiLCBOb25lKQorICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tc3RvcmUiKQorICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVx
dWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHVpZCA9IHJl
cXVlc3QuR0VULmZpcnN0KGIidWlkIiwgTm9uZSkKIAotICAgIGlmIHJlcXVlc3QubWV0aG9kID09
ICJPUFRJT05TIjoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9s
LUFsbG93LU1ldGhvZHMiLCAiUFVUIikKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElP
TlMiOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93
LU1ldGhvZHMiLCBiIlBVVCIpCiAgICAgZWxzZToKICAgICAgICAgdXNlcm5hbWUgPSByZXF1ZXN0
LmF1dGgudXNlcm5hbWUKICAgICAgICAgcGFzc3dvcmQgPSByZXF1ZXN0LmF1dGgucGFzc3dvcmQK
ICAgICAgICAgaWYgKG5vdCB1c2VybmFtZSkgb3IgKHVzZXJuYW1lICE9IHVpZCk6Ci0gICAgICAg
ICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiV1dXLUF1dGhlbnRpY2F0ZSIsICJCYXNpYyByZWFs
bT0nVGVzdCBSZWFsbS9Dcm9zcyBPcmlnaW4nIikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KGIiV1dXLUF1dGhlbnRpY2F0ZSIsIGIiQmFzaWMgcmVhbG09J1Rlc3QgUmVhbG0vQ3Jv
c3MgT3JpZ2luJyIpCiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDEKLSAgICAgICAg
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiQXV0aGVudGljYXRpb24gY2FuY2VsbGVkIgorICAgICAg
ICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiQXV0aGVudGljYXRpb24gY2FuY2VsbGVkIgogICAg
ICAgICBlbHNlOgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJVc2VyOiAiICsgdXNl
cm5hbWUgKyAiLCBQYXNzd29yZDogIiArIHBhc3N3b3JkCisgICAgICAgICAgICByZXNwb25zZS5j
b250ZW50ID0gYiJVc2VyOiAiICsgdXNlcm5hbWUgKyBiIiwgUGFzc3dvcmQ6ICIgKyBwYXNzd29y
ZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LW5vLWNyZWRlbnRpYWxz
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LW5vLWNyZWRlbnRpYWxzLnB5CmluZGV4
IDEyZjg2NjBkMWZjMjYzNmIwMTBhOGNkNDMwYzAyOGM3NTBmODE0YmEuLjFiOGJjZGI4YWU5ODE0
ZmFiMjg0NDk1ODJmNTU2NGM3ZDZkYWNlNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1i
YXNpYy1hbGxvdy1uby1jcmVkZW50aWFscy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMt
YWxsb3ctbm8tY3JlZGVudGlhbHMucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBw
eXRob24KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJv
cmlnaW4iKSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4
dC9wbGFpbiIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCiAKLSAgICByZXNwb25z
ZS5jb250ZW50ID0gIlBBU1M6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCisgICAgcmVz
cG9uc2UuY29udGVudCA9IGIiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1zdGFyLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1j
b250cm9sLWJhc2ljLWFsbG93LXN0YXIucHkKaW5kZXggNDU1N2MwNmIwZTNhNTU0NGIzZjcwYzBj
ODBkZjhjMDA5YjQyMzE4OC4uOGQ0NjQyZDA5OGNhYzNjNjM4NTM2MWQ5NzI3NGExNGE5NmRlODE1
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXN0YXIucHkKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXN0YXIucHkKQEAgLTEsNiArMSw2IEBACiAjIS91
c3IvYmluL2VudiBweXRob24KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCisgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgYiIq
IikKIAotICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBh
bGxvd2VkLiIKKyAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBDcm9zcy1kb21haW4gYWNj
ZXNzIGFsbG93ZWQuIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LnB5CmluZGV4IDIzMjU5MjUxNTdjMWU1ZTI2
ZDM2ZDc3YWNmZGM1ZjYxNTUxOTlmNTMuLjYwNTFiYzJjZGM0ZjY4ZTdlYTEwOWZhNmQ5MjE2YjQw
ZmY4NjZlZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy5weQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3cucHkKQEAgLTEsNyArMSw3IEBACiAjIS91c3Iv
YmluL2VudiBweXRob24KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikK
LSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwg
cmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
YiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5o
ZWFkZXJzLmdldChiIm9yaWdpbiIpKQogCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBD
cm9zcy1kb21haW4gYWNjZXNzIGFsbG93ZWQuIgorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBB
U1M6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNv
bnRyb2wtYmFzaWMtY29ycy1zYWZlbGlzdGVkLXJlcXVlc3QtaGVhZGVycy5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3Mt
Y29udHJvbC1iYXNpYy1jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CmluZGV4IGVi
YTBlN2Q0YzVjYWZjODY2NGMwNjQzYjhhZDI0NzEzNzM3NGJlZjIuLjQ2NTIzYTkwNWE5ZjcwMTgz
ZDBhNWU5NmNmZjJkNzZhZDllNmQ1NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNp
Yy1jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJv
bC1iYXNpYy1jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CkBAIC0xLDE0ICsxLDE2
IEBACitmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2RlY29kZQorCiBkZWYg
bWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNhY2hl
LUNvbnRyb2wiLCAibm8tc3RvcmUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUt
Q29udHJvbCIsIGIibm8tc3RvcmUiKQogCiAgICAgIyBUaGlzIHNob3VsZCBiZSBhIHNpbXBsZSBy
ZXF1ZXN0OyBkZW55IHByZWZsaWdodAotICAgIGlmIHJlcXVlc3QubWV0aG9kICE9ICJQT1NUIjoK
KyAgICBpZiByZXF1ZXN0Lm1ldGhvZCAhPSB1IlBPU1QiOgogICAgICAgICByZXNwb25zZS5zdGF0
dXMgPSA0MDAKICAgICAgICAgcmV0dXJuCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5n
ZXQoIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdp
biIpKQogCi0gICAgZm9yIGhlYWRlciBpbiBbIkFjY2VwdCIsICJBY2NlcHQtTGFuZ3VhZ2UiLCAi
Q29udGVudC1MYW5ndWFnZSIsICJDb250ZW50LVR5cGUiXToKKyAgICBmb3IgaGVhZGVyIGluIFti
IkFjY2VwdCIsIGIiQWNjZXB0LUxhbmd1YWdlIiwgYiJDb250ZW50LUxhbmd1YWdlIiwgYiJDb250
ZW50LVR5cGUiXToKICAgICAgICAgdmFsdWUgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KGhlYWRlcikK
LSAgICAgICAgcmVzcG9uc2UuY29udGVudCArPSBoZWFkZXIgKyAiOiAiICsgKHZhbHVlIGlmIHZh
bHVlIGVsc2UgIjxOb25lPiIpICsgJ1xuJworICAgICAgICByZXNwb25zZS5jb250ZW50ICs9IGlz
b21vcnBoaWNfZGVjb2RlKGhlYWRlcikgKyB1IjogIiArIChpc29tb3JwaGljX2RlY29kZSh2YWx1
ZSkgaWYgdmFsdWUgZWxzZSB1IjxOb25lPiIpICsgdSdcbicKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3Mt
Y29udHJvbC1iYXNpYy1kZW5pZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZGVuaWVkLnB5
CmluZGV4IDlmODY4Nzg1NDU5OGMxNmEyYjg5M2NhZGE5OTkxZGNhMmIwMjMxM2QuLjBkMzk2NGNi
MTE1N2Y3NWJiYzU5ZDJmYTc1YzE2YWE5ODk1MWE1OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29u
dHJvbC1iYXNpYy1kZW5pZWQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5w
eQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQ2FjaGUtQ29udHJvbCIsICJuby1zdG9yZSIpCi0gICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIikKKyAgICByZXNwb25z
ZS5oZWFkZXJzLnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25z
ZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCiAKLSAgICByZXNw
b25zZS50ZXh0ID0gIkZBSUw6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCisgICAgcmVz
cG9uc2UudGV4dCA9IGIiRkFJTDogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1vcHRpb25zLW5vdC1zdXBwb3J0ZWQucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtYmFzaWMtb3B0aW9ucy1ub3Qtc3VwcG9ydGVkLnB5CmluZGV4IDc3YjI3
NGU5NTdjYTg3MjcwOTI2YWQ0NjIyZDJjNzllYzk2MDBmZWQuLmJiM2Y2M2UzMTFmNjQ0NTVhNzg5
ZjJhMzE2ZTI4YTgyYWE1MjU3YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1v
cHRpb25zLW5vdC1zdXBwb3J0ZWQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLW9wdGlv
bnMtbm90LXN1cHBvcnRlZC5weQpAQCAtMSwxMSArMSwxMSBAQAogZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9sIiwgIm5v
LXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5v
LXN0b3JlIikKIAogICAgICMgQWxsb3cgc2ltcGxlIHJlcXVlc3RzLCBidXQgZGVueSBwcmVmbGln
aHQKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCAhPSAiT1BUSU9OUyI6Ci0gICAgICAgIGlmICJvcmln
aW4iIGluIHJlcXVlc3QuaGVhZGVyczoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikKLSAgICAgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1
ZXN0LmhlYWRlcnNbIm9yaWdpbiJdKQorICAgIGlmIHJlcXVlc3QubWV0aG9kICE9IHUiT1BUSU9O
UyI6CisgICAgICAgIGlmIGIib3JpZ2luIiBpbiByZXF1ZXN0LmhlYWRlcnM6CisgICAgICAgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxz
IiwgYiJ0cnVlIikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzW2Iib3JpZ2luIl0pCiAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA1MDAKICAgICBlbHNlOgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS1pbnZhbGlkYXRp
b24ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlv
bi5weQppbmRleCA2ZGM4YTJhMTUwNzkzYjYyNDRmZDVmYTcxMWJkNzNjNzQwZDU5YTFlLi5mNGY1
OTJkYWM3OTIyNGY1MWQxMzBhMzIwMjc4YzVjMDM4NjM5MjM5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlvbi5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNj
ZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlvbi5weQpAQCAtMSw0
NiArMSw0OCBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNvZGUK
KwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGRlZiBmYWlsKG1lc3NhZ2UpOgot
ICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUwgIiArIHJlcXVlc3QubWV0aG9kICsgIjog
IiArIHN0cihtZXNzYWdlKQorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJGQUlMICIgKyBp
c29tb3JwaGljX2VuY29kZShyZXF1ZXN0Lm1ldGhvZCkgKyBiIjogIiArIG1lc3NhZ2UKIAogICAg
IGRlZiBnZXRTdGF0ZSh0b2tlbik6CiAgICAgICAgIHNlcnZlcl9zdGF0ZSA9IHJlcXVlc3Quc2Vy
dmVyLnN0YXNoLnRha2UodG9rZW4pCiAgICAgICAgIGlmIG5vdCBzZXJ2ZXJfc3RhdGU6Ci0gICAg
ICAgICAgICByZXR1cm4gIlVuaW5pdGlhbGl6ZWQiCisgICAgICAgICAgICByZXR1cm4gYiJVbmlu
aXRpYWxpemVkIgogICAgICAgICByZXR1cm4gc2VydmVyX3N0YXRlCiAKICAgICBkZWYgc2V0U3Rh
dGUoc3RhdGUsIHRva2VuKToKICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2Vu
LCBzdGF0ZSkKIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKLSAgICByZXNwb25zZS5o
ZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0g
ICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFk
ZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHRva2VuID0gcmVxdWVzdC5H
RVQuZmlyc3QoYiJ0b2tlbiIsIE5vbmUpCiAgICAgc3RhdGUgPSBnZXRTdGF0ZSh0b2tlbikKIAot
ICAgIGlmIHN0YXRlID09ICJVbmluaXRpYWxpemVkIjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRo
b2QgPT0gIk9QVElPTlMiOgotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vz
cy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiUFVUIikKLSAgICAgICAgICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMTApCi0gICAgICAgICAgICBzZXRT
dGF0ZSgiT1BUSU9OU1NlbnQiLCB0b2tlbikKKyAgICBpZiBzdGF0ZSA9PSBiIlVuaW5pdGlhbGl6
ZWQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwg
YiJQVVQiKQorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJv
bC1NYXgtQWdlIiwgMTApCisgICAgICAgICAgICBzZXRTdGF0ZShiIk9QVElPTlNTZW50IiwgdG9r
ZW4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3Rh
dGUgPT0gIk9QVElPTlNTZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6
Ci0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0
LiIKLSAgICAgICAgICAgIHNldFN0YXRlKCJGaXJzdFBVVFNlbnQiLCB0b2tlbikKKyAgICBlbGlm
IHN0YXRlID09IGIiT1BUSU9OU1NlbnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1
IlBVVCI6CisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBGaXJzdCBQVVQg
cmVxdWVzdC4iCisgICAgICAgICAgICBzZXRTdGF0ZShiIkZpcnN0UFVUU2VudCIsIHRva2VuKQog
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgZmFpbChzdGF0ZSkKLSAgICBlbGlmIHN0YXRlID09
ICJGaXJzdFBVVFNlbnQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6
Ci0gICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ct
TWV0aG9kcyIsICJQVVQsIFhNRVRIT0QiKQotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAieC10ZXN0IikKLSAgICAgICAgICAg
IHNldFN0YXRlKCJTZWNvbmRPUFRJT05TU2VudCIsIHRva2VuKQotICAgICAgICBlbGlmIHJlcXVl
c3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgZmFpbCgiU2Vjb25kIFBVVCByZXF1ZXN0
IHNlbnQgd2l0aG91dCBwcmVmbGlnaHQiKQorICAgIGVsaWYgc3RhdGUgPT0gYiJGaXJzdFBVVFNl
bnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwg
YiJQVVQsIFhNRVRIT0QiKQorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4LXRlc3QiKQorICAgICAgICAgICAgc2V0U3Rh
dGUoYiJTZWNvbmRPUFRJT05TU2VudCIsIHRva2VuKQorICAgICAgICBlbGlmIHJlcXVlc3QubWV0
aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIGZhaWwoYiJTZWNvbmQgUFVUIHJlcXVlc3Qgc2Vu
dCB3aXRob3V0IHByZWZsaWdodCIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0
YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIlNlY29uZE9QVElPTlNTZW50IjoKLSAgICAgICAgaWYg
cmVxdWVzdC5tZXRob2QgPT0gIlBVVCIgb3IgcmVxdWVzdC5tZXRob2QgPT0gIlhNRVRIT0QiOgot
ICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBTZWNvbmQgT1BUSU9OUyByZXF1
ZXN0IHdhcyBzZW50LiIKKyAgICBlbGlmIHN0YXRlID09IGIiU2Vjb25kT1BUSU9OU1NlbnQiOgor
ICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IlBVVCIgb3IgcmVxdWVzdC5tZXRob2QgPT0g
dSJYTUVUSE9EIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IFNlY29u
ZCBPUFRJT05TIHJlcXVlc3Qgd2FzIHNlbnQuIgogICAgICAgICBlbHNlOgogICAgICAgICAgICAg
ZmFpbChzdGF0ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2lj
LXByZWZsaWdodC1jYWNoZS10aW1lb3V0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZs
aWdodC1jYWNoZS10aW1lb3V0LnB5CmluZGV4IGE3NjdkOGE0YTU2ZDM2ZTI4OWYxNjk4MWVkYmEz
ODA1NGQ5MGFkYjEuLjAwYzMxOWYwODJhZjcwMGQ2YzU2MTZlNDg5YWY0ZjY4NGRmNjUzNWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUtdGltZW91dC5w
eQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLXRpbWVvdXQucHkK
QEAgLTEsNDcgKzEsNDkgQEAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNf
ZW5jb2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBkZWYgZmFpbChtZXNz
YWdlKToKLSAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJGQUlMICIgKyByZXF1ZXN0Lm1ldGhv
ZCArICI6ICIgKyBzdHIobWVzc2FnZSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJ
TCAiICsgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2QpICsgYiI6ICIgKyBtZXNzYWdl
CiAKICAgICBkZWYgZ2V0U3RhdGUodG9rZW4pOgogICAgICAgICBzZXJ2ZXJfc3RhdGUgPSByZXF1
ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQogICAgICAgICBpZiBub3Qgc2VydmVyX3N0YXRl
OgotICAgICAgICAgICAgcmV0dXJuICJVbmluaXRpYWxpemVkIgorICAgICAgICAgICAgcmV0dXJu
IGIiVW5pbml0aWFsaXplZCIKICAgICAgICAgcmV0dXJuIHNlcnZlcl9zdGF0ZQogCiAgICAgZGVm
IHNldFN0YXRlKHN0YXRlLCB0b2tlbik6CiAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1
dCh0b2tlbiwgc3RhdGUpCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgInRy
dWUiKQotICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVl
c3QuaGVhZGVycy5nZXQoYiJvcmlnaW4iKSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFj
Y2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgYiJ0cnVlIikKKyAgICB0b2tlbiA9IHJl
cXVlc3QuR0VULmZpcnN0KGIidG9rZW4iLCBOb25lKQogICAgIHN0YXRlID0gZ2V0U3RhdGUodG9r
ZW4pCiAKLSAgICBpZiBzdGF0ZSA9PSAiVW5pbml0aWFsaXplZCI6Ci0gICAgICAgIGlmIHJlcXVl
c3QubWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCIpCi0gICAgICAgICAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4LXRlc3Qi
KQotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1B
Z2UiLCAxKQotICAgICAgICAgICAgc2V0U3RhdGUoIk9QVElPTlNTZW50IiwgdG9rZW4pCisgICAg
aWYgc3RhdGUgPT0gYiJVbmluaXRpYWxpemVkIjoKKyAgICAgICAgaWYgcmVxdWVzdC5tZXRob2Qg
PT0gdSJPUFRJT05TIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiUFVUIikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIGIieC10ZXN0IikKKyAg
ICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIs
IDEpCisgICAgICAgICAgICBzZXRTdGF0ZShiIk9QVElPTlNTZW50IiwgdG9rZW4pCiAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIk9QVElP
TlNTZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAgICAg
ICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0LiIKLSAgICAgICAg
ICAgIHNldFN0YXRlKCJGaXJzdFBVVFNlbnQiLCB0b2tlbikKKyAgICBlbGlmIHN0YXRlID09IGIi
T1BUSU9OU1NlbnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IlBVVCI6CisgICAg
ICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBGaXJzdCBQVVQgcmVxdWVzdC4iCisg
ICAgICAgICAgICBzZXRTdGF0ZShiIkZpcnN0UFVUU2VudCIsIHRva2VuKQogICAgICAgICBlbHNl
OgogICAgICAgICAgICAgZmFpbChzdGF0ZSkKLSAgICBlbGlmIHN0YXRlID09ICJGaXJzdFBVVFNl
bnQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJQ
VVQiKQotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFs
bG93LUhlYWRlcnMiLCAieC10ZXN0IikKLSAgICAgICAgICAgIHNldFN0YXRlKCJTZWNvbmRPUFRJ
T05TU2VudCIsIHRva2VuKQotICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgot
ICAgICAgICAgICAgZmFpbCgiU2Vjb25kIFBVVCByZXF1ZXN0IHNlbnQgd2l0aG91dCBwcmVmbGln
aHQiKQorICAgIGVsaWYgc3RhdGUgPT0gYiJGaXJzdFBVVFNlbnQiOgorICAgICAgICBpZiByZXF1
ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQVVQiKQorICAgICAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4
LXRlc3QiKQorICAgICAgICAgICAgc2V0U3RhdGUoYiJTZWNvbmRPUFRJT05TU2VudCIsIHRva2Vu
KQorICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIGZh
aWwoYiJTZWNvbmQgUFVUIHJlcXVlc3Qgc2VudCB3aXRob3V0IHByZWZsaWdodCIpCiAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIlNlY29u
ZE9QVElPTlNTZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAg
ICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IFNlY29uZCBPUFRJT05TIHJlcXVlc3Qg
d2FzIHNlbnQuIgorICAgIGVsaWYgc3RhdGUgPT0gYiJTZWNvbmRPUFRJT05TU2VudCI6CisgICAg
ICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNv
bnRlbnQgPSBiIlBBU1M6IFNlY29uZCBPUFRJT05TIHJlcXVlc3Qgd2FzIHNlbnQuIgogICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgZmFpbChzdGF0ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS5weSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJv
bC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUucHkKaW5kZXggNTY4OTJmYjZiMTJjMWM5YjJmOTljNTc5
Mzk4MDZmNGE4NGI3MjlkMS4uN2E2YmI2MGMwMWE3MGNhOGVmZDRiMjBkMWY4ZmNjZDQ3YmE0MjI4
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLnB5CkBAIC0xLDQ2ICsx
LDQ5IEBACisKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisK
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBkZWYgZmFpbChtZXNzYWdlKToKLSAg
ICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJGQUlMICIgKyByZXF1ZXN0Lm1ldGhvZCArICI6ICIg
KyBzdHIobWVzc2FnZSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTCAiICsgaXNv
bW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2QpICsgYiI6ICIgKyBtZXNzYWdlCiAgICAgICAg
IHJlc3BvbnNlLnN0YXR1cyA9IDQwMAogCiAgICAgZGVmIGdldFN0YXRlKHRva2VuKToKICAgICAg
ICAgc2VydmVyX3N0YXRlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKICAgICAg
ICAgaWYgbm90IHNlcnZlcl9zdGF0ZToKLSAgICAgICAgICAgIHJldHVybiAiVW5pbml0aWFsaXpl
ZCIKKyAgICAgICAgICAgIHJldHVybiBiIlVuaW5pdGlhbGl6ZWQiCiAgICAgICAgIHJldHVybiBz
ZXJ2ZXJfc3RhdGUKIAogICAgIGRlZiBzZXRTdGF0ZShzdGF0ZSwgdG9rZW4pOgogICAgICAgICBy
ZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIHN0YXRlKQogCi0gICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5n
ZXQoIm9yaWdpbiIpKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikKLSAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0
KCJ0b2tlbiIsIE5vbmUpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCisgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIi
dHJ1ZSIpCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdChiInRva2VuIiwgTm9uZSkKICAg
ICBzdGF0ZSA9IGdldFN0YXRlKHRva2VuKQogCi0gICAgaWYgc3RhdGUgPT0gIlVuaW5pdGlhbGl6
ZWQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJQ
VVQiKQotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1h
eC1BZ2UiLCAxMCkKLSAgICAgICAgICAgIHNldFN0YXRlKCJPUFRJT05TU2VudCIsIHRva2VuKQor
ICAgIGlmIHN0YXRlID09IGIiVW5pbml0aWFsaXplZCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0
aG9kID09IHUiT1BUSU9OUyI6CisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFj
Y2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCBiIlBVVCIpCisgICAgICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxMCkKKyAgICAgICAgICAg
IHNldFN0YXRlKGIiT1BUSU9OU1NlbnQiLCB0b2tlbikKICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgIGZhaWwoc3RhdGUpCi0gICAgZWxpZiBzdGF0ZSA9PSAiT1BUSU9OU1NlbnQiOgotICAgICAg
ICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiUFVUIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRl
bnQgPSAiUEFTUzogRmlyc3QgUFVUIHJlcXVlc3QuIgotICAgICAgICAgICAgc2V0U3RhdGUoIkZp
cnN0UFVUU2VudCIsIHRva2VuKQorICAgIGVsaWYgc3RhdGUgPT0gYiJPUFRJT05TU2VudCI6Cisg
ICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNl
LmNvbnRlbnQgPSBiIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0LiIKKyAgICAgICAgICAgIHNldFN0
YXRlKGIiRmlyc3RQVVRTZW50IiwgdG9rZW4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBm
YWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIkZpcnN0UFVUU2VudCI6Ci0gICAgICAgIGlm
IHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9
ICJQQVNTOiBTZWNvbmQgUFVUIHJlcXVlc3QuIFByZWZsaWdodCB3b3JrZWQuIgotICAgICAgICBl
bGlmIHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCIpCi0gICAgICAg
ICAgICBzZXRTdGF0ZSgiRkFJTFNlY29uZE9QVElPTlNTZW50IiwgdG9rZW4pCisgICAgZWxpZiBz
dGF0ZSA9PSBiIkZpcnN0UFVUU2VudCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUi
UFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IFNlY29uZCBQVVQg
cmVxdWVzdC4gUHJlZmxpZ2h0IHdvcmtlZC4iCisgICAgICAgIGVsaWYgcmVxdWVzdC5tZXRob2Qg
PT0gdSJPUFRJT05TIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiUFVUIikKKyAgICAgICAgICAgIHNldFN0YXRlKGIi
RkFJTFNlY29uZE9QVElPTlNTZW50IiwgdG9rZW4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAg
ICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIkZBSUxTZWNvbmRPUFRJT05TU2VudCI6
Ci0gICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgZmFpbCgi
U2Vjb25kIE9QVElPTlMgcmVxdWVzdCB3YXMgc2VudC4gUHJlZmxpZ2h0IGZhaWxlZC4iKQorICAg
IGVsaWYgc3RhdGUgPT0gYiJGQUlMU2Vjb25kT1BUSU9OU1NlbnQiOgorICAgICAgICBpZiByZXF1
ZXN0Lm1ldGhvZCA9PSB1IlBVVCI6CisgICAgICAgICAgICBmYWlsKGIiU2Vjb25kIE9QVElPTlMg
cmVxdWVzdCB3YXMgc2VudC4gUHJlZmxpZ2h0IGZhaWxlZC4iKQogICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgZmFpbChzdGF0ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250
cm9sLWJhc2ljLXB1dC1hbGxvdy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wdXQtYWxsb3cu
cHkKaW5kZXggNjVmNjQ2NmY1OTcyZDI4NDc4Njg3OTM5ZjZlZWE5Y2I0MjhkNDhjNC4uOWIzNDdi
Y2E0MjM0ZTVkY2NiZjVmNzFjMzY1N2IxYTAyZDVjN2FjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1j
b250cm9sLWJhc2ljLXB1dC1hbGxvdy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHV0
LWFsbG93LnB5CkBAIC0xLDIwICsxLDIyIEBACitmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBp
c29tb3JwaGljX2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaWYg
cmVxdWVzdC5tZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBV
VCIpCi0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKKyAgICBpZiByZXF1ZXN0Lm1l
dGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRl
bnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgICAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCBiIlBVVCIp
CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3Jp
Z2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQogCi0gICAgZWxpZiByZXF1ZXN0
Lm1ldGhvZCA9PSAiUFVUIjoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQt
VHlwZSIsICJ0ZXh0L3BsYWluIikKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vz
cy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUiKQotICAgICAgICByZXNwb25zZS5o
ZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJz
LmdldCgib3JpZ2luIikpCi0gICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogQ3Jvc3Mt
ZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKKyAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVU
IjoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQv
cGxhaW4iKQorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFs
bG93LUNyZWRlbnRpYWxzIiwgYiJ0cnVlIikKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
YiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3Jp
Z2luIikpCisgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IENyb3NzLWRvbWFpbiBh
Y2Nlc3MgYWxsb3dlZC4iCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRl
bnQgKz0gIlxuIiArIHJlcXVlc3QuYm9keQorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCAr
PSBiIlxuIiArIHJlcXVlc3QuYm9keQogICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICByZXNw
b25zZS5jb250ZW50ICs9ICJDb3VsZCBub3QgcmVhZCBpbiBjb250ZW50LiIKKyAgICAgICAgICAg
IHJlc3BvbnNlLmNvbnRlbnQgKz0gYiJDb3VsZCBub3QgcmVhZCBpbiBjb250ZW50LiIKIAogICAg
IGVsc2U6Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4
dC9wbGFpbiIpCi0gICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiV3JvbmcgbWV0aG9kOiAiICsg
cmVxdWVzdC5tZXRob2QKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5
cGUiLCBiInRleHQvcGxhaW4iKQorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJXcm9uZyBt
ZXRob2Q6ICIgKyBpc29tb3JwaGljX2VuY29kZShyZXF1ZXN0Lm1ldGhvZCkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1iYXNpYy13aGl0ZWxpc3QtcmVzcG9uc2UtaGVhZGVycy5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9h
Y2Nlc3MtY29udHJvbC1iYXNpYy13aGl0ZWxpc3QtcmVzcG9uc2UtaGVhZGVycy5weQppbmRleCA0
ZGFjNzUzMzE5NzZlZDgzNDMyODU5YmJlYWNlYjJhNWE2NDhkNDgxLi4zNDZiNmI5MTk2NTZiMjNm
YjkxMTU4N2Q0NDc3NTY3MTFhNTkyMzFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFz
aWMtd2hpdGVsaXN0LXJlc3BvbnNlLWhlYWRlcnMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJh
c2ljLXdoaXRlbGlzdC1yZXNwb25zZS1oZWFkZXJzLnB5CkBAIC0xLDE5ICsxLDE5IEBACiBkZWYg
bWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgaGVhZGVycyA9IHsKICAgICAgICAgIyBDT1JT
LXNhZmVsaXN0ZWQKLSAgICAgICAgImNvbnRlbnQtdHlwZSI6ICJ0ZXh0L3BsYWluIiwKLSAgICAg
ICAgImNhY2hlLWNvbnRyb2wiOiAibm8gY2FjaGUiLAotICAgICAgICAiY29udGVudC1sYW5ndWFn
ZSI6ICJlbiIsCi0gICAgICAgICJleHBpcmVzIjogIkZyaSwgMzAgT2N0IDE5OTggMTQ6MTk6NDEg
R01UIiwKLSAgICAgICAgImxhc3QtbW9kaWZpZWQiOiAiVHVlLCAxNSBOb3YgMTk5NCAxMjo0NToy
NiBHTVQiLAotICAgICAgICAicHJhZ21hIjogIm5vLWNhY2hlIiwKKyAgICAgICAgYiJjb250ZW50
LXR5cGUiOiBiInRleHQvcGxhaW4iLAorICAgICAgICBiImNhY2hlLWNvbnRyb2wiOiBiIm5vIGNh
Y2hlIiwKKyAgICAgICAgYiJjb250ZW50LWxhbmd1YWdlIjogYiJlbiIsCisgICAgICAgIGIiZXhw
aXJlcyI6IGIiRnJpLCAzMCBPY3QgMTk5OCAxNDoxOTo0MSBHTVQiLAorICAgICAgICBiImxhc3Qt
bW9kaWZpZWQiOiBiIlR1ZSwgMTUgTm92IDE5OTQgMTI6NDU6MjYgR01UIiwKKyAgICAgICAgYiJw
cmFnbWEiOiBiIm5vLWNhY2hlIiwKIAogICAgICAgICAjIE5vbi1DT1JTLXNhZmVsaXN0ZWQKLSAg
ICAgICAgIngtdGVzdCI6ICJmb29iYXIiLAorICAgICAgICBiIngtdGVzdCI6IGIiZm9vYmFyIiwK
IAotICAgICAgICAiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIjogIioiCisgICAgICAgIGIi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIjogYiIqIgogICAgIH0KICAgICBmb3IgaGVhZGVy
IGluIGhlYWRlcnM6CiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGhlYWRlciwgaGVhZGVy
c1toZWFkZXJdKQogCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBDcm9zcy1kb21haW4g
YWNjZXNzIGFsbG93ZWQuIgorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IENyb3NzLWRv
bWFpbiBhY2Nlc3MgYWxsb3dlZC4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtY29va2ll
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2Vzcy1jb250cm9sLWNvb2tpZS5weQppbmRleCAxZTBkNDFkMjJlYWE4ODUyMWYx
ZDIxYzkyZjY1OGYwZTg1MjJiOWIxLi44YzI2NDc1YzM4N2E3ZGU3NDU4MDYwZjE4YWRlYWIzYjY0
MjkzNjFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtY29va2llLnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nl
c3MtY29udHJvbC1jb29raWUucHkKQEAgLTEsMTYgKzEsMTYgQEAKIGltcG9ydCBkYXRldGltZQog
CiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgY29va2llX25hbWUgPSByZXF1ZXN0
LkdFVC5maXJzdCgiY29va2llX25hbWUiLCAiIikKKyAgICBjb29raWVfbmFtZSA9IHJlcXVlc3Qu
R0VULmZpcnN0KGIiY29va2llX25hbWUiLCBiIiIpCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgiQ2FjaGUtQ29udHJvbCIsICJuby1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdp
biIpKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVk
ZW50aWFscyIsICJ0cnVlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNhY2hlLUNvbnRy
b2wiLCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250
cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJvcmlnaW4iKSkKKyAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwg
YiJ0cnVlIikKIAogICAgIGZvciBjb29raWUgaW4gcmVxdWVzdC5jb29raWVzOgogICAgICAgICAj
IFNldCBjb29raWUgdG8gZXhwaXJlIHllc3RlcmRheQotICAgICAgICByZXNwb25zZS5zZXRfY29v
a2llKGNvb2tpZSwgImRlbGV0ZWQiLCBleHBpcmVzPS1kYXRldGltZS50aW1lZGVsdGEoZGF5cz0x
KSkKKyAgICAgICAgcmVzcG9uc2Uuc2V0X2Nvb2tpZShjb29raWUsIGIiZGVsZXRlZCIsIGV4cGly
ZXM9LWRhdGV0aW1lLnRpbWVkZWx0YShkYXlzPTEpKQogCiAgICAgaWYgY29va2llX25hbWU6CiAg
ICAgICAgICMgU2V0IGNvb2tpZSB0byBleHBpcmUgdG9tb3Jyb3cKLSAgICAgICAgcmVzcG9uc2Uu
c2V0X2Nvb2tpZShjb29raWVfbmFtZSwgIkNPT0tJRSIsIGV4cGlyZXM9ZGF0ZXRpbWUudGltZWRl
bHRhKGRheXM9MSkpCisgICAgICAgIHJlc3BvbnNlLnNldF9jb29raWUoY29va2llX25hbWUsIGIi
Q09PS0lFIiwgZXhwaXJlcz1kYXRldGltZS50aW1lZGVsdGEoZGF5cz0xKSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1vcmlnaW4taGVhZGVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLW9yaWdp
bi1oZWFkZXIucHkKaW5kZXggZjUxMjg3NzZkMmI2MGM3ZDgzOTA3MjUzYzYzMDViZjQ3ZWQyMTE3
Zi4uZTI4MmZlNDQyNTAwNGNkMWNjODJlYmQ2NDg4ZjcwYmVjNGY0YTk1ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L2FjY2Vzcy1jb250cm9sLW9yaWdpbi1oZWFkZXIucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLW9y
aWdpbi1oZWFkZXIucHkKQEAgLTEsOSArMSw5IEBACiAjIS91c3IvYmluL2VudiBweXRob24KIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29u
dGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNo
ZS1Db250cm9sIiwgIm5vLWNhY2hlLCBuby1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUV4dGVybmFsIiwgInRydWUiKQotICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCisgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tY2FjaGUsIG5vLXN0b3Jl
IikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUV4dGVy
bmFsIiwgYiJ0cnVlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiIsIGIiKiIpCiAKLSAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IENy
b3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC5cbiIKLSAgICByZXNwb25zZS5jb250ZW50ICs9ICJI
VFRQX09SSUdJTjogIiArIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdpbiIpCisgICAgcmVzcG9u
c2UuY29udGVudCA9IGIiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLlxuIgorICAg
IHJlc3BvbnNlLmNvbnRlbnQgKz0gYiJIVFRQX09SSUdJTjogIiArIHJlcXVlc3QuaGVhZGVycy5n
ZXQoYiJvcmlnaW4iKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5p
ZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC5weQppbmRleCA4ODllZTZi
MGVjYTZjYTY4ZTdiODM0NWZhMmExMDMxMTAzYTg4ODZjLi4xZWMzMDM3ZjM2Yjg4NDAyZTVmNTli
MzdiMzg0MmQxOWRmMTBmYTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0
LWRlbmllZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC5weQpAQCAt
MSw0OSArMSw0OSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGRlZiBmYWls
KG1lc3NhZ2UpOgotICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUw6ICIgKyBzdHIobWVz
c2FnZSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTDogIiArIG1lc3NhZ2UKICAg
ICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCiAKICAgICBkZWYgZ2V0U3RhdGUodG9rZW4pOgog
ICAgICAgICBzZXJ2ZXJfc3RhdGUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQog
ICAgICAgICBpZiBub3Qgc2VydmVyX3N0YXRlOgotICAgICAgICAgICAgcmV0dXJuICJVbmluaXRp
YWxpemVkIgorICAgICAgICAgICAgcmV0dXJuIGIiVW5pbml0aWFsaXplZCIKICAgICAgICAgcmV0
dXJuIHNlcnZlcl9zdGF0ZQogCiAgICAgZGVmIHNldFN0YXRlKHRva2VuLCBzdGF0ZSk6CiAgICAg
ICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgc3RhdGUpCiAKICAgICBkZWYgcmVz
ZXRTdGF0ZSh0b2tlbik6Ci0gICAgICAgIHNldFN0YXRlKHRva2VuLCAiIikKKyAgICAgICAgc2V0
U3RhdGUodG9rZW4sIGIiIikKIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250
cm9sIiwgIm5vLXN0b3JlIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxKQotICAgIHRva2Vu
ID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQo
YiJvcmlnaW4iKSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLU1h
eC1BZ2UiLCAxKQorICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJ0b2tlbiIsIE5vbmUp
CiAgICAgc3RhdGUgPSBnZXRTdGF0ZSh0b2tlbikKLSAgICBjb21tYW5kID0gcmVxdWVzdC5HRVQu
Zmlyc3QoImNvbW1hbmQiLCBOb25lKQorICAgIGNvbW1hbmQgPSByZXF1ZXN0LkdFVC5maXJzdChi
ImNvbW1hbmQiLCBOb25lKQogCi0gICAgaWYgY29tbWFuZCA9PSAicmVzZXQiOgotICAgICAgICBp
ZiByZXF1ZXN0Lm1ldGhvZCA9PSAiR0VUIjoKKyAgICBpZiBjb21tYW5kID09IGIicmVzZXQiOgor
ICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IkdFVCI6CiAgICAgICAgICAgICByZXNldFN0
YXRlKHRva2VuKQotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJTZXJ2ZXIgc3RhdGUg
cmVzZXQiCisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJTZXJ2ZXIgc3RhdGUgcmVz
ZXQiCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmYWlsKCJJbnZhbGlkIE1ldGhvZC4iKQot
ICAgIGVsaWYgc3RhdGUgPT0gIlVuaW5pdGlhbGl6ZWQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1l
dGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlRoaXMg
cmVxdWVzdCBzaG91bGQgbm90IGJlIGRpc3BsYXllZC4iCi0gICAgICAgICAgICBzZXRTdGF0ZSh0
b2tlbiwgIkRlbmllZCIpCisgICAgICAgICAgICBmYWlsKGIiSW52YWxpZCBNZXRob2QuIikKKyAg
ICBlbGlmIHN0YXRlID09IGIiVW5pbml0aWFsaXplZCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0
aG9kID09IHUiT1BUSU9OUyI6CisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJUaGlz
IHJlcXVlc3Qgc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQuIgorICAgICAgICAgICAgc2V0U3RhdGUo
dG9rZW4sIGIiRGVuaWVkIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZhaWwoc3RhdGUp
Ci0gICAgZWxpZiBzdGF0ZSA9PSAiRGVuaWVkIjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2Qg
PT0gIkdFVCIgYW5kIGNvbW1hbmQgPT0gImNvbXBsZXRlIjoKKyAgICBlbGlmIHN0YXRlID09IGIi
RGVuaWVkIjoKKyAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJHRVQiIGFuZCBjb21tYW5k
ID09IGIiY29tcGxldGUiOgogICAgICAgICAgICAgcmVzZXRTdGF0ZSh0b2tlbikKLSAgICAgICAg
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUmVxdWVzdCBzdWNjZXNzZnVsbHkgYmxvY2tlZC4iCisg
ICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJSZXF1ZXN0IHN1Y2Nlc3NmdWxseSBibG9j
a2VkLiIKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNldFN0YXRlKCJEZW55IElnbm9yZWQi
KQotICAgICAgICAgICAgZmFpbCgiVGhlIHJlcXVlc3Qgd2FzIG5vdCBkZW5pZWQuIikKLSAgICBl
bGlmIHN0YXRlID09ICJEZW55IElnbm9yZWQiOgorICAgICAgICAgICAgc2V0U3RhdGUodG9rZW4s
IGIiRGVueSBJZ25vcmVkIikKKyAgICAgICAgICAgIGZhaWwoYiJUaGUgcmVxdWVzdCB3YXMgbm90
IGRlbmllZC4iKQorICAgIGVsaWYgc3RhdGUgPT0gYiJEZW55IElnbm9yZWQiOgogICAgICAgICBy
ZXNldFN0YXRlKHRva2VuKQogICAgICAgICBmYWlsKHN0YXRlKQogICAgIGVsc2U6CiAgICAgICAg
IHJlc2V0U3RhdGUodG9rZW4pCi0gICAgICAgIGZhaWwoIlVua25vd24gRXJyb3IuIikKKyAgICAg
ICAgZmFpbChiIlVua25vd24gRXJyb3IuIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1w
cmVmbGlnaHQtcmVxdWVzdC1oZWFkZXItbG93ZXJjYXNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXBy
ZWZsaWdodC1yZXF1ZXN0LWhlYWRlci1sb3dlcmNhc2UucHkKaW5kZXggZDM1Yjg5YjlmOThhNjY5
YTM5NDY2NjFiZDgyYTUxOTkyNDAwYzI4Ny4uZTc3ZmM5YTdkMmVlYWExZGJlYjcwM2M3NjBjMDZj
M2RlZjQyZGU4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1yZXF1ZXN0
LWhlYWRlci1sb3dlcmNhc2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1yZXF1
ZXN0LWhlYWRlci1sb3dlcmNhc2UucHkKQEAgLTEsMTYgKzEsMTYgQEAKIGRlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ2FjaGUtQ29udHJvbCIs
ICJuby1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFs
bG93LU9yaWdpbiIsICIqIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRy
b2wtTWF4LUFnZSIsIDApCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDYWNoZS1Db250cm9s
IiwgYiJuby1zdG9yZSIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLCBiIioiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtTWF4LUFnZSIsIDApCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9O
UyI6Ci0gICAgICAgIGlmICJ4LXRlc3QiIGluIFtoZWFkZXIuc3RyaXAoIiAiKSBmb3IgaGVhZGVy
IGluCi0gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJBY2Nlc3Mt
Q29udHJvbC1SZXF1ZXN0LUhlYWRlcnMiKS5zcGxpdCgiLCIpXToKLSAgICAgICAgICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgIlgtVGVzdCIp
CisgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAgICAgaWYgYiJ4LXRl
c3QiIGluIFtoZWFkZXIuc3RyaXAoYiIgIikgZm9yIGhlYWRlciBpbgorICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LUhl
YWRlcnMiKS5zcGxpdChiIiwiKV06CisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChi
IkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCBiIlgtVGVzdCIpCiAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDAKLSAgICBlbGlmIHJlcXVlc3QubWV0
aG9kID09ICJHRVQiOgotICAgICAgICBpZiByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJYLVRlc3QiKToK
LSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUyIKKyAgICBlbGlmIHJlcXVlc3Qu
bWV0aG9kID09IHUiR0VUIjoKKyAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldChiIlgtVGVz
dCIpOgorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUyIKICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDQwMApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2NvcnNl
bmFibGVkLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2NvcnNlbmFibGVkLnB5CmluZGV4IDRhM2UxMjcwYjY1ZjQxYWNlYTFjNmYy
ZGY0ZDNmMWVjOWI5NWVjYTcuLmFhZTE5ZjE4ZjNjOTI1NWQwMDJhMmQ2MzVmMjJlNzMzZjNmMWIz
NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9jb3JzZW5hYmxlZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQucHkKQEAg
LTEsMjMgKzEsMjUgQEAKIGltcG9ydCB0aW1lCiAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0
IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBo
ZWFkZXJzID0gWygiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKSwKLSAgICAgICAg
ICAgICAgICgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpLAotICAg
ICAgICAgICAgICAgKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIkdFVCwgUE9TVCwg
UFVULCBGT08iKSwKLSAgICAgICAgICAgICAgICgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVy
cyIsICJ4LXRlc3QsIHgtZm9vIiksCi0gICAgICAgICAgICAgICAoIkFjY2Vzcy1Db250cm9sLUV4
cG9zZS1IZWFkZXJzIiwgIngtcmVxdWVzdC1tZXRob2QsIHgtcmVxdWVzdC1jb250ZW50LXR5cGUs
IHgtcmVxdWVzdC1xdWVyeSwgeC1yZXF1ZXN0LWNvbnRlbnQtbGVuZ3RoLCB4LXJlcXVlc3QtZGF0
YSIpXQorICAgIGhlYWRlcnMgPSBbKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgYiIq
IiksCisgICAgICAgICAgICAgICAoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIs
IGIidHJ1ZSIpLAorICAgICAgICAgICAgICAgKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9k
cyIsIGIiR0VULCBQT1NULCBQVVQsIEZPTyIpLAorICAgICAgICAgICAgICAgKGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctSGVhZGVycyIsIGIieC10ZXN0LCB4LWZvbyIpLAorICAgICAgICAgICAgICAg
KGIiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLCBiIngtcmVxdWVzdC1tZXRob2QsIHgt
cmVxdWVzdC1jb250ZW50LXR5cGUsIHgtcmVxdWVzdC1xdWVyeSwgeC1yZXF1ZXN0LWNvbnRlbnQt
bGVuZ3RoLCB4LXJlcXVlc3QtZGF0YSIpXQogCi0gICAgaWYgImRlbGF5IiBpbiByZXF1ZXN0LkdF
VDoKLSAgICAgICAgZGVsYXkgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoImRlbGF5IikpCisgICAg
aWYgYiJkZWxheSIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIGRlbGF5ID0gaW50KHJlcXVlc3Qu
R0VULmZpcnN0KGIiZGVsYXkiKSkKICAgICAgICAgdGltZS5zbGVlcChkZWxheSkKIAotICAgIGlm
ICJzYWZlbGlzdF9jb250ZW50X3R5cGUiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICBoZWFkZXJz
LmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAiY29udGVudC10eXBlIikp
CisgICAgaWYgYiJzYWZlbGlzdF9jb250ZW50X3R5cGUiIGluIHJlcXVlc3QuR0VUOgorICAgICAg
ICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJjb250
ZW50LXR5cGUiKSkKIAotICAgIGhlYWRlcnMuYXBwZW5kKCgiWC1SZXF1ZXN0LU1ldGhvZCIsIHJl
cXVlc3QubWV0aG9kKSkKLSAgICBoZWFkZXJzLmFwcGVuZCgoIlgtUmVxdWVzdC1RdWVyeSIsIHJl
cXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGlmIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgIk5P
IikpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgiLCByZXF1
ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LUxlbmd0aCIsICJOTyIpKSkKLSAgICBoZWFkZXJzLmFw
cGVuZCgoIlgtUmVxdWVzdC1Db250ZW50LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb250
ZW50LVR5cGUiLCAiTk8iKSkpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJYLVJlcXVlc3QtRGF0YSIs
IHJlcXVlc3QuYm9keSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1SZXF1ZXN0LU1ldGhvZCIs
IGlzb21vcnBoaWNfZW5jb2RlKHJlcXVlc3QubWV0aG9kKSkpCisgICAgaGVhZGVycy5hcHBlbmQo
KGIiWC1SZXF1ZXN0LVF1ZXJ5IiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC51cmxfcGFydHMu
cXVlcnkpIGlmIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgYiJOTyIpKQorICAgIGhlYWRl
cnMuYXBwZW5kKChiIlgtUmVxdWVzdC1Db250ZW50LUxlbmd0aCIsIHJlcXVlc3QuaGVhZGVycy5n
ZXQoYiJDb250ZW50LUxlbmd0aCIsIGIiTk8iKSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1S
ZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJDb250ZW50LVR5cGUi
LCBiIk5PIikpKQorICAgIGhlYWRlcnMuYXBwZW5kKChiIlgtUmVxdWVzdC1EYXRhIiwgcmVxdWVz
dC5ib2R5KSkKIAotICAgIHJldHVybiBoZWFkZXJzLCAiVGVzdCIKKyAgICByZXR1cm4gaGVhZGVy
cywgYiJUZXN0IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2RlbGF5LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2RlbGF5LnB5CmluZGV4IDhmOTdk
YjZmNGZjOTkwYzY1NGUyZTI2ZDJlNTJkNzE5MGRkMmFmN2IuLjYxYTBlZDI2ODg0NDg0MWZmMGU2
YTgwYmQxODA4YzYxZDE0NGQ3OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9kZWxheS5weQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZGVsYXku
cHkKQEAgLTEsNyArMSw3IEBACiBpbXBvcnQgdGltZQogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6Ci0gICAgZGVsYXkgPSBmbG9hdChyZXF1ZXN0LkdFVC5maXJzdCgibXMiLCA1MDApKQor
ICAgIGRlbGF5ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoYiJtcyIsIDUwMCkpCiAgICAgdGlt
ZS5zbGVlcChkZWxheSAvIDFFMykKIAotICAgIHJldHVybiBbKCJBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4iLCAiKiIpLCAoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiWU8iKSwg
KCJDb250ZW50LXR5cGUiLCAidGV4dC9wbGFpbiIpXSwgIlRFU1RfREVMQVkiCisgICAgcmV0dXJu
IFsoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKSwgKGIiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctTWV0aG9kcyIsIGIiWU8iKSwgKGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWlu
IildLCBiIlRFU1RfREVMQVkiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNoby1oZWFkZXJzLnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VjaG8t
aGVhZGVycy5weQppbmRleCA4ZjIzZDNkYjAxOWU3Y2MzMTFiYjU4Y2FlN2Q2NzA0Y2E5NDAyMTIx
Li4xYzViZDQ2NzA5ZDRkNzgxZmY2ZGE4NmM5YmEwNGEwMTczNTY4NTNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
ZWNoby1oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9lY2hvLWhlYWRlcnMucHkKQEAgLTEsNiArMSw2IEBACiBk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX3N0
YXR1cygyMDApCi0gICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiQ29udGVudC1UeXBl
IiwgInRleHQvcGxhaW4iKQorICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoYiJDb250
ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQogICAgIHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVy
cygpCiAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlKHN0cihyZXF1ZXN0LnJhd19oZWFkZXJzKSkK
ICAgICByZXNwb25zZS5jbG9zZV9jb25uZWN0aW9uID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VjaG8t
bWV0aG9kLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2VjaG8tbWV0aG9kLnB5CmluZGV4IGNjYjQ2YjZiMmViNGQ0YjRjMjgxNzIw
ZTBhMTYxNDJmMDQ4ZGRiYzMuLjc4OTljMTg0Yjc2OGNmYmE4YzUwYzlkNjgxNGZmMDA1OGQ1OTRj
YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9lY2hvLW1ldGhvZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNoby1tZXRob2QucHkKQEAg
LTksNyArOSw3IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBjb250ZW50ID0g
cmVxdWVzdC5tZXRob2QKIAogICAgIHJlc3BvbnNlLmFkZF9yZXF1aXJlZF9oZWFkZXJzID0gRmFs
c2UKLSAgICByZXNwb25zZS53cml0ZXIud3JpdGUoJycnSFRUUC8xLjEgMjAwIE9LCisgICAgcmVz
cG9uc2Uud3JpdGVyLndyaXRlKHUnJydIVFRQLzEuMSAyMDAgT0sKIENvbnRlbnQtdHlwZTogdGV4
dC9wbGFpbgogQ29udGVudC1MZW5ndGg6IHt9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9lbXB0eS1kaXYtdXRm
OC1odG1sLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2VtcHR5LWRpdi11dGY4LWh0bWwucHkKaW5kZXggMjZkNTRiOWQxNDk2YWY1
ZmM3MmExYmExZDJhMmVjODNjMTgyMmY1MC4uNWQ0YzkzNjU5MGMyMDg2ODcyOTY5ZDE2NTI4ZTlk
MGMxMzE0ZmFkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VtcHR5LWRpdi11dGY4LWh0bWwucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Vt
cHR5LWRpdi11dGY4LWh0bWwucHkKQEAgLTEsNSArMSw1IEBACiBkZWYgbWFpbihyZXF1ZXN0LCBy
ZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7Y2hh
cnNldD11dGYtOCIpXQotICAgIGNvbnRlbnQgPSAiPCFET0NUWVBFIGh0bWw+PGRpdj48L2Rpdj4i
CisgICAgaGVhZGVycyA9IFsoYiJDb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDtjaGFyc2V0PXV0
Zi04IildCisgICAgY29udGVudCA9IGIiPCFET0NUWVBFIGh0bWw+PGRpdj48L2Rpdj4iCiAKICAg
ICByZXR1cm4gaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Zvcm0ucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZm9ybS5w
eQppbmRleCA2YjFjNDlhOTkzYmZhMjViYTZjMzkzMDM4ODBlODg2MGZiM2UxNDg5Li5jNTkyOTQz
Yjc5NTU5NmM0ZWJiZDA2YzZkZGZjNzllZDBmYWQyZWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZm9ybS5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvZm9ybS5weQpAQCAtMSwyICsxLDIgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKLSAgICByZXR1cm4gImlkOiVzO3ZhbHVlOiVzOyIgJSAocmVxdWVzdC5QT1NULmZpcnN0KCJp
ZCIpLCByZXF1ZXN0LlBPU1QuZmlyc3QoInZhbHVlIikpCisgICAgcmV0dXJuIGIiaWQ6JXM7dmFs
dWU6JXM7IiAlIChyZXF1ZXN0LlBPU1QuZmlyc3QoYiJpZCIpLCByZXF1ZXN0LlBPU1QuZmlyc3Qo
YiJ2YWx1ZSIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2d6aXAucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQppbmRleCBmMTdmOTJl
NGNjMTc3OTJkN2I1NThkMWNkNGUxZTFkNzYzNTBkZDI3Li4xN2YxNDJjNDQwNWY4ZTEyMWEyNDY4
ZmZjMzgwYTlkNTZlZjA4MjJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQpA
QCAtMSwyMyArMSwyNCBAQAogaW1wb3J0IGd6aXAgYXMgZ3ppcF9tb2R1bGUKLWZyb20gY1N0cmlu
Z0lPIGltcG9ydCBTdHJpbmdJTworCitmcm9tIHNpeCBpbXBvcnQgQnl0ZXNJTwogCiBkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaWYgImNvbnRlbnQiIGluIHJlcXVlc3QuR0VUOgot
ICAgICAgICBvdXRwdXQgPSByZXF1ZXN0LkdFVFsiY29udGVudCJdCisgICAgaWYgYiJjb250ZW50
IiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgb3V0cHV0ID0gcmVxdWVzdC5HRVRbYiJjb250ZW50
Il0KICAgICBlbHNlOgogICAgICAgICBvdXRwdXQgPSByZXF1ZXN0LmJvZHkKIAotICAgIG91dCA9
IFN0cmluZ0lPKCkKKyAgICBvdXQgPSBCeXRlc0lPKCkKICAgICB3aXRoIGd6aXBfbW9kdWxlLkd6
aXBGaWxlKGZpbGVvYmo9b3V0LCBtb2RlPSJ3IikgYXMgZjoKICAgICAgICAgZi53cml0ZShvdXRw
dXQpCiAgICAgb3V0cHV0ID0gb3V0LmdldHZhbHVlKCkKIAotICAgIGhlYWRlcnMgPSBbKCJDb250
ZW50LXR5cGUiLCAidGV4dC9wbGFpbiIpLAotICAgICAgICAgICAgICAgKCJDb250ZW50LUVuY29k
aW5nIiwgImd6aXAiKSwKLSAgICAgICAgICAgICAgICgiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVl
c3QubWV0aG9kKSwKLSAgICAgICAgICAgICAgICgiWC1SZXF1ZXN0LVF1ZXJ5IiwgcmVxdWVzdC51
cmxfcGFydHMucXVlcnkgaWYgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgZWxzZSAiTk8iKSwKLSAg
ICAgICAgICAgICAgICgiWC1SZXF1ZXN0LUNvbnRlbnQtTGVuZ3RoIiwgcmVxdWVzdC5oZWFkZXJz
LmdldCgiQ29udGVudC1MZW5ndGgiLCAiTk8iKSksCi0gICAgICAgICAgICAgICAoIlgtUmVxdWVz
dC1Db250ZW50LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiLCAiTk8i
KSksCi0gICAgICAgICAgICAgICAoIkNvbnRlbnQtTGVuZ3RoIiwgbGVuKG91dHB1dCkpXQorICAg
IGhlYWRlcnMgPSBbKGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWluIiksCisgICAgICAgICAg
ICAgICAoYiJDb250ZW50LUVuY29kaW5nIiwgYiJnemlwIiksCisgICAgICAgICAgICAgICAoYiJY
LVJlcXVlc3QtTWV0aG9kIiwgcmVxdWVzdC5tZXRob2QpLAorICAgICAgICAgICAgICAgKGIiWC1S
ZXF1ZXN0LVF1ZXJ5IiwgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgaWYgcmVxdWVzdC51cmxfcGFy
dHMucXVlcnkgZWxzZSBiIk5PIiksCisgICAgICAgICAgICAgICAoYiJYLVJlcXVlc3QtQ29udGVu
dC1MZW5ndGgiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQ29udGVudC1MZW5ndGgiLCBiIk5PIikp
LAorICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVh
ZGVycy5nZXQoYiJDb250ZW50LVR5cGUiLCBiIk5PIikpLAorICAgICAgICAgICAgICAgKGIiQ29u
dGVudC1MZW5ndGgiLCBsZW4ob3V0cHV0KSldCiAKICAgICByZXR1cm4gaGVhZGVycywgb3V0cHV0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvaGVhZGVyLXVzZXItYWdlbnQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaGVhZGVyLXVzZXItYWdlbnQu
cHkKaW5kZXggNDc3OGRlNDAyNjhiZDNjYTAwNDE5NWZjNTJmYjY5YWY2NDkyNmMzZS4uYWM2YWYx
M2FmZTBmZDZkOGQ0NGRmNTE5OThmODQxMDBjZjZmMzQxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2hlYWRlci11
c2VyLWFnZW50LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9oZWFkZXItdXNlci1hZ2VudC5weQpAQCAtMSwxNSArMSwxNSBA
QAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCi0gICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAwKQotICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJywgIngtdGVzdCIpCisgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKQorICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDApCisgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJywgYiJ4
LXRlc3QiKQogCi0gICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICBp
ZiBub3QgcmVxdWVzdC5oZWFkZXJzLmdldCgiVXNlci1BZ2VudCIpOgotICAgICAgICAgICAgcmVz
cG9uc2UuY29udGVudCA9ICJGQUlMOiBVc2VyLUFnZW50IGhlYWRlciBtaXNzaW5nIGluIHByZWZs
aWdodCByZXF1ZXN0LiIKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAg
ICAgICBpZiBub3QgcmVxdWVzdC5oZWFkZXJzLmdldChiIlVzZXItQWdlbnQiKToKKyAgICAgICAg
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIkZBSUw6IFVzZXItQWdlbnQgaGVhZGVyIG1pc3Npbmcg
aW4gcHJlZmxpZ2h0IHJlcXVlc3QuIgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAw
CiAgICAgZWxzZToKLSAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldCgiVXNlci1BZ2VudCIp
OgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTIgorICAgICAgICBpZiByZXF1
ZXN0LmhlYWRlcnMuZ2V0KGIiVXNlci1BZ2VudCIpOgorICAgICAgICAgICAgcmVzcG9uc2UuY29u
dGVudCA9IGIiUEFTUyIKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRl
bnQgPSAiRkFJTDogVXNlci1BZ2VudCBoZWFkZXIgbWlzc2luZyBpbiByZXF1ZXN0IgorICAgICAg
ICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTDogVXNlci1BZ2VudCBoZWFkZXIgbWlzc2lu
ZyBpbiByZXF1ZXN0IgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvaGVhZGVycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9oZWFkZXJzLnB5CmluZGV4IDYwMmRiMzVhM2NiMWU2Mjk0YTFj
ODA1MmQ4NGM5MGE4NjQyZDhmZGEuLjAwYjM3YzYyYWJjN2Q3YzM0ZWQ5ODNmNmRhZGFjOTEwYmIw
ZmY5ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9oZWFkZXJzLnB5CkBAIC0xLDEy
ICsxLDEyIEBACiAjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQogCiBkZWYgbWFpbihyZXF1ZXN0LCBy
ZXNwb25zZSk6Ci0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0
L3BsYWluIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiWC1DdXN0b20tSGVhZGVyIiwgInRl
c3QiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJTZXQtQ29va2llIiwgInRlc3QiKQotICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJTZXQtQ29va2llMiIsICJ0ZXN0IikKLSAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiWC1DdXN0b20tSGVhZGVyLUVtcHR5IiwgIiIpCi0gICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIlgtQ3VzdG9tLUhlYWRlci1Db21tYSIsICIxIikKLSAgICByZXNwb25zZS5o
ZWFkZXJzLmFwcGVuZCgiWC1DdXN0b20tSGVhZGVyLUNvbW1hIiwgIjIiKQotICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJYLUN1c3RvbS1IZWFkZXItQnl0ZXMiLCAi4oCmIikKLSAgICByZXR1cm4g
IlRFU1QiCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQv
cGxhaW4iKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyIiwgYiJ0
ZXN0IikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIlNldC1Db29raWUiLCBiInRlc3QiKQor
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiU2V0LUNvb2tpZTIiLCBiInRlc3QiKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyLUVtcHR5IiwgYiIiKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyLUNvbW1hIiwgYiIxIikKKyAgICBy
ZXNwb25zZS5oZWFkZXJzLmFwcGVuZChiIlgtQ3VzdG9tLUhlYWRlci1Db21tYSIsIGIiMiIpCisg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJYLUN1c3RvbS1IZWFkZXItQnl0ZXMiLCB1IuKApiIu
ZW5jb2RlKCJ1dGYtOCIpKQorICAgIHJldHVybiBiIlRFU1QiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaW1nLXV0
ZjgtaHRtbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9pbWctdXRmOC1odG1sLnB5CmluZGV4IDA4NTg2N2Y5NTEwZTQ4ZmM5MjY2
NTBiM2U2ZmJiZTYyNTQ3YWZiYzYuLjMwNTc2NzRjYjYwMzZhMTViNzA2MWQ2NWFhMmFhNzc1NGJi
NmY4ZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9pbWctdXRmOC1odG1sLnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbWctdXRmOC1odG1s
LnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGhl
YWRlcnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgiKV0KLSAg
ICBjb250ZW50ID0gIjxpbWc+Zm9vIgorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVudC10eXBlIiwg
YiJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIpXQorICAgIGNvbnRlbnQgPSBiIjxpbWc+Zm9vIgog
CiAgICAgcmV0dXJuIGhlYWRlcnMsIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbmZpbml0ZS1yZWRp
cmVjdHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvaW5maW5pdGUtcmVkaXJlY3RzLnB5CmluZGV4IGE4NWM0MTAyMThlZjNjOWNj
Zjc2MjU5NDJmMWJjNGFjOWI1N2Q4NWMuLmE2MDk0MmRkOWE2ZDFkNjc3ZWViNjRiNTFjNTQxZDNk
ZTRiOTQ0NjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVjdHMucHkKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2luZmlu
aXRlLXJlZGlyZWN0cy5weQpAQCAtMSwyMiArMSwyNCBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBp
bXBvcnQgaXNvbW9ycGhpY19lbmNvZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgot
ICAgIGxvY2F0aW9uID0gIiVzOi8vJXMlcyIgJSAocmVxdWVzdC51cmxfcGFydHMuc2NoZW1lLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmxfcGFydHMubmV0bG9jLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmxfcGFydHMucGF0aCkKLSAg
ICBwYWdlID0gImFsdGVybmF0ZSIKKyAgICBsb2NhdGlvbiA9IHUiJXM6Ly8lcyVzIiAlIChyZXF1
ZXN0LnVybF9wYXJ0cy5zY2hlbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVx
dWVzdC51cmxfcGFydHMubmV0bG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
cXVlc3QudXJsX3BhcnRzLnBhdGgpCisgICAgcGFnZSA9IHUiYWx0ZXJuYXRlIgogICAgIHR5cGUg
PSAzMDIKICAgICBtaXggPSAwCi0gICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoInBhZ2UiLCBOb25l
KSA9PSAiYWx0ZXJuYXRlIjoKLSAgICAgICAgcGFnZSA9ICJkZWZhdWx0IgorICAgIGlmIHJlcXVl
c3QuR0VULmZpcnN0KGIicGFnZSIsIE5vbmUpID09IGIiYWx0ZXJuYXRlIjoKKyAgICAgICAgcGFn
ZSA9IHUiZGVmYXVsdCIKIAotICAgIGlmIHJlcXVlc3QuR0VULmZpcnN0KCJ0eXBlIiwgTm9uZSkg
PT0gIjMwMSI6CisgICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoYiJ0eXBlIiwgTm9uZSkgPT0gYiIz
MDEiOgogICAgICAgICB0eXBlID0gMzAxCiAKLSAgICBpZiByZXF1ZXN0LkdFVC5maXJzdCgibWl4
IiwgTm9uZSkgPT0gIjEiOgorICAgIGlmIHJlcXVlc3QuR0VULmZpcnN0KGIibWl4IiwgTm9uZSkg
PT0gYiIxIjoKICAgICAgICAgbWl4ID0gMQogICAgICAgICB0eXBlID0gMzAyIGlmIHR5cGUgPT0g
MzAxIGVsc2UgMzAxCiAKLSAgICBuZXdfbG9jYXRpb24gPSAiJXM/cGFnZT0lcyZ0eXBlPSVzJm1p
eD0lcyIgJSAobG9jYXRpb24sIHBhZ2UsIHR5cGUsIG1peCkKLSAgICBoZWFkZXJzID0gWygiQ2Fj
aGUtQ29udHJvbCIsICJuby1jYWNoZSIpLAotICAgICAgICAgICAgICAgKCJQcmFnbWEiLCAibm8t
Y2FjaGUiKSwKLSAgICAgICAgICAgICAgICgiTG9jYXRpb24iLCBuZXdfbG9jYXRpb24pXQotICAg
IHJldHVybiAzMDEsIGhlYWRlcnMsICJIZWxsbyBndWVzdC4gWW91IGhhdmUgYmVlbiByZWRpcmVj
dGVkIHRvICIgKyBuZXdfbG9jYXRpb24KKyAgICBuZXdfbG9jYXRpb24gPSB1IiVzP3BhZ2U9JXMm
dHlwZT0lcyZtaXg9JXMiICUgKGxvY2F0aW9uLCBwYWdlLCB0eXBlLCBtaXgpCisgICAgaGVhZGVy
cyA9IFsoYiJDYWNoZS1Db250cm9sIiwgYiJuby1jYWNoZSIpLAorICAgICAgICAgICAgICAgKGIi
UHJhZ21hIiwgYiJuby1jYWNoZSIpLAorICAgICAgICAgICAgICAgKGIiTG9jYXRpb24iLCBpc29t
b3JwaGljX2VuY29kZShuZXdfbG9jYXRpb24pKV0KKyAgICByZXR1cm4gMzAxLCBoZWFkZXJzLCB1
IkhlbGxvIGd1ZXN0LiBZb3UgaGF2ZSBiZWVuIHJlZGlyZWN0ZWQgdG8gIiArIG5ld19sb2NhdGlv
bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2luc3BlY3QtaGVhZGVycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbnNwZWN0LWhlYWRlcnMucHkK
aW5kZXggZTcxZjY3MWNlZDM0ZmYzZDQ0NzQ2N2VhNDA5OGU2ZTAwMGZmZDhmNy4uNjhjZWNlNDUy
YzljOGYzNTIzNDMxOTI3MjFkZDc5ODc5Y2IzN2M1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2luc3BlY3QtaGVh
ZGVycy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5CkBAIC0xLDMzICsxLDUwIEBACitmcm9t
IHNpeCBpbXBvcnQgUFkzCisKIGRlZiBnZXRfcmVzcG9uc2UocmF3X2hlYWRlcnMsIGZpbHRlcl92
YWx1ZSwgZmlsdGVyX25hbWUpOgotICAgIHJlc3VsdCA9ICIiCi0gICAgZm9yIGxpbmUgaW4gcmF3
X2hlYWRlcnMuaGVhZGVyczoKLSAgICAgICAgaWYgbGluZVstMjpdICE9ICdcclxuJzoKLSAgICAg
ICAgICAgIHJldHVybiAiU3ludGF4IGVycm9yOiBtaXNzaW5nIENSTEY6ICIgKyBsaW5lCisgICAg
cmVzdWx0ID0gYiIiCisgICAgIyBUeXBlIG9mIHJhd19oZWFkZXJzIGlzIDxodHRwbGliLkhUVFBN
ZXNzYWdlPiBpbiBQeXRob24gMiBhbmQgPGh0dHAuY2xpZW50LkhUVFBNZXNzYWdlPiBpbgorICAg
ICMgUHl0aG9uIDMuIDxodHRwLmNsaWVudC5IVFRQTWVzc2FnZT4gZG9lc24ndCBoYXZlICdoZWFk
ZXJzIiBhdHRyaWJ1dGUgb3IgZXF1aXZhbGVudAorICAgICMgW2h0dHBzOi8vYnVncy5weXRob24u
b3JnL2lzc3VlNDc3M10uCisgICAgIyBJbiBQeXRob24gMiwgdmFyaWFibGUgcmF3X2hlYWRlcnMu
aGVhZGVycyByZXR1cm5zIGEgY29tcGxldGVseSB1bmludGVycHJldGVkIGxpc3Qgb2YgbGluZXMK
KyAgICAjIGNvbnRhaW5lZCBpbiB0aGUgaGVhZGVyLiBJbiBQeXRob24gMywgcmF3X2hlYWRlcnMu
YXNfc3RyaW5nKCkgcmV0dXJucyBlbnRpcmUgZm9ybWF0dGVkCisgICAgIyBtZXNzYWdlIGFzIGEg
c3RyaW5nLiBIZXJlIGlzIHRvIGNvbnN0cnVjdCBhbiBlcXVpdmFsZW50ICJoZWFkZXJzIiB2YXJp
YWJsZSB0byBzdXBwb3J0IHRlc3RzCisgICAgIyBpbiBQeXRob24gMy4KKyAgICBpZiBQWTM6Cisg
ICAgICAgIGhlYWRlcl9saXN0ID0gWworICAgICAgICAgICAgKHMgKyB1J1xyXG4nKS5lbmNvZGUo
Imlzby04ODU5LTEiKSBmb3IgcyBpbiByYXdfaGVhZGVycy5hc19zdHJpbmcoKS5zcGxpdGxpbmVz
KCkgaWYgcworICAgICAgICBdCisgICAgZWxzZToKKyAgICAgICAgaGVhZGVyX2xpc3QgPSByYXdf
aGVhZGVycy5oZWFkZXJzCisgICAgZm9yIGxpbmUgaW4gaGVhZGVyX2xpc3Q6CisgICAgICAgIGlm
IGxpbmVbLTI6XSAhPSBiJ1xyXG4nOgorICAgICAgICAgICAgcmV0dXJuIGIiU3ludGF4IGVycm9y
OiBtaXNzaW5nIENSTEY6ICIgKyBsaW5lCiAgICAgICAgIGxpbmUgPSBsaW5lWzotMl0KIAotICAg
ICAgICBpZiAnOiAnIG5vdCBpbiBsaW5lOgotICAgICAgICAgICAgcmV0dXJuICJTeW50YXggZXJy
b3I6IG5vIGNvbG9uIGFuZCBzcGFjZSBmb3VuZDogIiArIGxpbmUKLSAgICAgICAgbmFtZSwgdmFs
dWUgPSBsaW5lLnNwbGl0KCc6ICcsIDEpCisgICAgICAgIGlmIGInOiAnIG5vdCBpbiBsaW5lOgor
ICAgICAgICAgICAgcmV0dXJuIGIiU3ludGF4IGVycm9yOiBubyBjb2xvbiBhbmQgc3BhY2UgZm91
bmQ6ICIgKyBsaW5lCisgICAgICAgIG5hbWUsIHZhbHVlID0gbGluZS5zcGxpdChiJzogJywgMSkK
IAogICAgICAgICBpZiBmaWx0ZXJfdmFsdWU6CiAgICAgICAgICAgICBpZiB2YWx1ZSA9PSBmaWx0
ZXJfdmFsdWU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ICs9IG5hbWUgKyAiLCIKKyAgICAgICAg
ICAgICAgICByZXN1bHQgKz0gbmFtZSArIGIiLCIKICAgICAgICAgZWxpZiBuYW1lLmxvd2VyKCkg
PT0gZmlsdGVyX25hbWU6Ci0gICAgICAgICAgICByZXN1bHQgKz0gbmFtZSArICI6ICIgKyB2YWx1
ZSArICJcbiIKKyAgICAgICAgICAgIHJlc3VsdCArPSBuYW1lICsgYiI6ICIgKyB2YWx1ZSArIGIi
XG4iCiAgICAgcmV0dXJuIHJlc3VsdAogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAg
ICAgaGVhZGVycyA9IFtdCiAgICAgaWYgImNvcnMiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICBo
ZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsICIqIikpCi0gICAg
ICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAi
dHJ1ZSIpKQotICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1l
dGhvZHMiLCAiR0VULCBQT1NULCBQVVQsIEZPTyIpKQotICAgICAgICBoZWFkZXJzLmFwcGVuZCgo
IkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAieC10ZXN0LCB4LWZvbyIpKQotICAgICAg
ICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIiwgIngtcmVx
dWVzdC1tZXRob2QsIHgtcmVxdWVzdC1jb250ZW50LXR5cGUsIHgtcmVxdWVzdC1xdWVyeSwgeC1y
ZXF1ZXN0LWNvbnRlbnQtbGVuZ3RoIikpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJjb250ZW50LXR5
cGUiLCAidGV4dC9wbGFpbiIpKQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKSkKKyAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKSkKKyAgICAgICAgaGVhZGVy
cy5hcHBlbmQoKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiR0VULCBQT1NULCBQ
VVQsIEZPTyIpKQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxv
dy1IZWFkZXJzIiwgYiJ4LXRlc3QsIHgtZm9vIikpCisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgK
KyAgICAgICAgICAgIGIiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLAorICAgICAgICAg
ICAgYiJ4LXJlcXVlc3QtbWV0aG9kLCB4LXJlcXVlc3QtY29udGVudC10eXBlLCB4LXJlcXVlc3Qt
cXVlcnksIHgtcmVxdWVzdC1jb250ZW50LWxlbmd0aCIpKQorICAgIGhlYWRlcnMuYXBwZW5kKChi
ImNvbnRlbnQtdHlwZSIsIGIidGV4dC9wbGFpbiIpKQogCi0gICAgZmlsdGVyX3ZhbHVlID0gcmVx
dWVzdC5HRVQuZmlyc3QoImZpbHRlcl92YWx1ZSIsICIiKQotICAgIGZpbHRlcl9uYW1lID0gcmVx
dWVzdC5HRVQuZmlyc3QoImZpbHRlcl9uYW1lIiwgIiIpLmxvd2VyKCkKKyAgICBmaWx0ZXJfdmFs
dWUgPSByZXF1ZXN0LkdFVC5maXJzdChiImZpbHRlcl92YWx1ZSIsIGIiIikKKyAgICBmaWx0ZXJf
bmFtZSA9IHJlcXVlc3QuR0VULmZpcnN0KGIiZmlsdGVyX25hbWUiLCBiIiIpLmxvd2VyKCkKICAg
ICByZXN1bHQgPSBnZXRfcmVzcG9uc2UocmVxdWVzdC5yYXdfaGVhZGVycywgZmlsdGVyX3ZhbHVl
LCBmaWx0ZXJfbmFtZSkKIAogICAgIHJldHVybiBoZWFkZXJzLCByZXN1bHQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9pbnZhbGlkLXV0ZjgtaHRtbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbnZhbGlkLXV0ZjgtaHRtbC5weQppbmRleCA3MmJl
NDFhNDVlODZjM2U0NWFhYmQwODFkMjA0N2YxZGU5MzQ0ZmFmLi5jMTVkMTcxNTFhMTM2OTc0ZmEw
ODM4Y2MzYjMzMTFmZGUyYTc4ZmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaW52YWxpZC11dGY4LWh0bWwucHkK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2ludmFsaWQtdXRmOC1odG1sLnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVx
dWVzdCwgcmVzcG9uc2UpOgotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4dC9o
dG1sO2NoYXJzZXQ9dXRmLTgiKV0KKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtdHlwZSIsIGIi
dGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgiKV0KICAgICBjb250ZW50ID0gY2hyKDB4ZmYpCiAKICAg
ICByZXR1cm4gaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvbGFzdC1tb2RpZmllZC5weQppbmRleCBlZjA1YTYzNDNjMTZhNTNlYWFkMGUwZTE3ZGFmNjVh
Y2RkN2Y2NDg3Li45ZDY5NDgxN2JmMTFmMTYzNzI5MWUyMTc4NjAzMjYzYTQ3NjlkYTU4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5weQpAQCAtMSw3
ICsxLDkgQEAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlLCBp
c29tb3JwaGljX2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgaW1w
b3J0IGRhdGV0aW1lLCBvcwotICAgIHNyY3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJu
YW1lKF9fZmlsZV9fKSwgIndlbGwtZm9ybWVkLnhtbCIpCisgICAgc3JjcGF0aCA9IG9zLnBhdGgu
am9pbihvcy5wYXRoLmRpcm5hbWUoaXNvbW9ycGhpY19kZWNvZGUoX19maWxlX18pKSwgdSJ3ZWxs
LWZvcm1lZC54bWwiKQogICAgIHNyY21vZGR0ID0gZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVz
dGFtcChvcy5wYXRoLmdldG10aW1lKHNyY3BhdGgpKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJMYXN0LU1vZGlmaWVkIiwgc3JjbW9kZHQuc3RyZnRpbWUoIiVhLCAlZCAlYiAlWSAlSDolTTol
UyBHTVQiKSkKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgImFwcGxp
Y2F0aW9uL3htbCIpCi0gICAgcmV0dXJuIG9wZW4oc3JjcGF0aCwgInIiKS5yZWFkKCkKKyAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkxhc3QtTW9kaWZpZWQiLCBpc29tb3JwaGljX2VuY29kZShz
cmNtb2RkdC5zdHJmdGltZSh1IiVhLCAlZCAlYiAlWSAlSDolTTolUyBHTVQiKSkpCisgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiImFwcGxpY2F0aW9uL3htbCIpCisg
ICAgcmV0dXJuIG9wZW4oc3JjcGF0aCwgdSJyIikucmVhZCgpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbm8tY3Vz
dG9tLWhlYWRlci1vbi1wcmVmbGlnaHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbm8tY3VzdG9tLWhlYWRlci1vbi1wcmVmbGln
aHQucHkKaW5kZXggZjQ5ZjlmMzExZmI3MmE3NTY1YjViYmY0YTkwNDljMGFlNDU0NThhYS4uODM1
YzEyODEzZGNhZjA0NjFhYjY1ZjA1MjhmY2IzOThkMTYyYmYyNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL25vLWN1
c3RvbS1oZWFkZXItb24tcHJlZmxpZ2h0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9uby1jdXN0b20taGVhZGVyLW9uLXBy
ZWZsaWdodC5weQpAQCAtMiwyNiArMiwyNiBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6
CiAgICAgZGVmIGdldFN0YXRlKHRva2VuKToKICAgICAgICAgc2VydmVyX3N0YXRlID0gcmVxdWVz
dC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKICAgICAgICAgaWYgbm90IHNlcnZlcl9zdGF0ZToK
LSAgICAgICAgICAgIHJldHVybiAiVW5pbml0aWFsaXplZCIKKyAgICAgICAgICAgIHJldHVybiBi
IlVuaW5pdGlhbGl6ZWQiCiAgICAgICAgIHJldHVybiBzZXJ2ZXJfc3RhdGUKIAogICAgIGRlZiBz
ZXRTdGF0ZShzdGF0ZSwgdG9rZW4pOgogICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQo
dG9rZW4sIHN0YXRlKQogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiIsICIqIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4LXRlc3QiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMCkKLSAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZp
cnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIGIieC10ZXN0IikKKyAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAwKQorICAgIHRva2VuID0gcmVxdWVz
dC5HRVQuZmlyc3QoYiJ0b2tlbiIsIE5vbmUpCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAi
T1BUSU9OUyI6Ci0gICAgICAgIGlmIHJlcXVlc3QuaGVhZGVycy5nZXQoIngtdGVzdCIpOgotICAg
ICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJGQUlMOiBJbnZhbGlkIGhlYWRlciBpbiBwcmVm
bGlnaHQgcmVxdWVzdC4iCisgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAg
ICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldChiIngtdGVzdCIpOgorICAgICAgICAgICAgcmVz
cG9uc2UuY29udGVudCA9IGIiRkFJTDogSW52YWxpZCBoZWFkZXIgaW4gcHJlZmxpZ2h0IHJlcXVl
c3QuIgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCiAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICBzZXRTdGF0ZSgiUEFTUyIsIHRva2VuKQorICAgICAgICAgICAgc2V0U3RhdGUo
YiJQQVNTIiwgdG9rZW4pCiAgICAgZWxzZToKLSAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdl
dCgieC10ZXN0Iik6CisgICAgICAgIGlmIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJ4LXRlc3QiKToK
ICAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBnZXRTdGF0ZSh0b2tlbikKICAgICAgICAg
ZWxzZToKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiRkFJTDogWC1UZXN0IGhlYWRl
ciBtaXNzaW5nIGluIHJlcXVlc3QiCisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJG
QUlMOiBYLVRlc3QgaGVhZGVyIG1pc3NpbmcgaW4gcmVxdWVzdCIKICAgICAgICAgICAgIHJlc3Bv
bnNlLnN0YXR1cyA9IDQwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3BhcnNlLWhlYWRlcnMucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcGFyc2Ut
aGVhZGVycy5weQppbmRleCBmZGM2MjY1MzllODQyZjY2NjBmNTMzYTM2ODRkYTcyZTcxOWNlZjA5
Li44NTIwYmFhZDg4MGZjMGU2Y2Y3Y2YzYzhlODE5NGMxOGZjZmVlMzA5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
cGFyc2UtaGVhZGVycy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcGFyc2UtaGVhZGVycy5weQpAQCAtMSwxMCArMSw2IEBA
Ci1pbXBvcnQganNvbgotCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0KLSAgICBjb250
ZW50ID0gIiIKLSAgICBpZiAibXktY3VzdG9tLWhlYWRlciIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAg
ICAgIHZhbCA9IHJlcXVlc3QuR0VULmZpcnN0KCJteS1jdXN0b20taGVhZGVyIikKLSAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoIk15LUN1c3RvbS1IZWFkZXIiLCB2YWwpCi0KKyAgICBjb250
ZW50ID0gdSIiCisgICAgaWYgYiJteS1jdXN0b20taGVhZGVyIiBpbiByZXF1ZXN0LkdFVDoKKyAg
ICAgICAgdmFsID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJteS1jdXN0b20taGVhZGVyIikKKyAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJNeS1DdXN0b20tSGVhZGVyIiwgdmFsKQogICAgIHJl
dHVybiBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC1j
b3JzLnB5CmluZGV4IDI3NjA5YjhiZGIyMDgyODM0NmY5NzhkNmQzNTRjYTBjZjM2YWQzYmMuLjVk
MDMwYTYyMjc3YzE1OWMzN2EyOTZmNGIxYmRjZmQ0MGI0MjhiZTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRp
cmVjdC1jb3JzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5CkBAIC0xLDIwICsxLDIwIEBACiBk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5m
aXJzdCgibG9jYXRpb24iKQorICAgIGxvY2F0aW9uID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJsb2Nh
dGlvbiIpCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgIGlm
ICJyZWRpcmVjdF9wcmVmbGlnaHQiIGluIHJlcXVlc3QuR0VUOgorICAgIGlmIHJlcXVlc3QubWV0
aG9kID09IHUiT1BUSU9OUyI6CisgICAgICAgIGlmIGIicmVkaXJlY3RfcHJlZmxpZ2h0IiBpbiBy
ZXF1ZXN0LkdFVDoKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDMwMgotICAgICAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkxvY2F0aW9uIiwgbG9jYXRpb24pCisgICAgICAgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCiAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSAyMDAKLSAgICAgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiR0VUIikKLSAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxKQotICAg
IGVsaWYgcmVxdWVzdC5tZXRob2QgPT0gIkdFVCI6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiR0VUIikKKyAgICAgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMSkKKyAgICBlbGlm
IHJlcXVlc3QubWV0aG9kID09IHUiR0VUIjoKICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gMzAy
Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJMb2NhdGlvbiIsIGxvY2F0aW9uKQorICAg
ICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCiAKLSAgICBp
ZiAiYWxsb3dfb3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQo
Im9yaWdpbiIpKQorICAgIGlmIGIiYWxsb3dfb3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBy
ZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCiAKLSAgICBpZiAiYWxsb3dfaGVhZGVyIiBp
biByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250
cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdFVC5maXJzdCgiYWxsb3dfaGVhZGVyIikpCisg
ICAgaWYgYiJhbGxvd19oZWFkZXIiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdFVC5m
aXJzdChiImFsbG93X2hlYWRlciIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3JlZGly
ZWN0LnB5CmluZGV4IDJhZjlmMmVlOGE5NGM0YWExMDg0MTZjZGVkN2M5M2IwOGE3YmY4YTIuLjlk
OWJiMzMyYTcwOThlNWY3YTE0NWUzOGU5YTVkNDk2MmNiYTlkMmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRp
cmVjdC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvcmVkaXJlY3QucHkKQEAgLTEsMTQgKzEsMTYgQEAKIGltcG9ydCB0aW1l
CiAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBt
YWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZpcnN0
KCJjb2RlIiwgMzAyKSkKLSAgICBsb2NhdGlvbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJsb2NhdGlv
biIsIHJlcXVlc3QudXJsX3BhcnRzLnBhdGggKyAiP2ZvbGxvd2VkIikKKyAgICBjb2RlID0gaW50
KHJlcXVlc3QuR0VULmZpcnN0KGIiY29kZSIsIDMwMikpCisgICAgbG9jYXRpb24gPSByZXF1ZXN0
LkdFVC5maXJzdChiImxvY2F0aW9uIiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC51cmxfcGFy
dHMucGF0aCArIHUiP2ZvbGxvd2VkIikpCiAKLSAgICBpZiAiZGVsYXkiIGluIHJlcXVlc3QuR0VU
OgotICAgICAgICBkZWxheSA9IGZsb2F0KHJlcXVlc3QuR0VULmZpcnN0KCJkZWxheSIpKQorICAg
IGlmIGIiZGVsYXkiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBkZWxheSA9IGZsb2F0KHJlcXVl
c3QuR0VULmZpcnN0KGIiZGVsYXkiKSkKICAgICAgICAgdGltZS5zbGVlcChkZWxheSAvIDFFMykK
IAotICAgIGlmICJmb2xsb3dlZCIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIHJldHVybiBbKCJD
b250ZW50OlR5cGUiLCAidGV4dC9wbGFpbiIpXSwgIk1BR0lDIEhBUFBFTkVEIgorICAgIGlmIGIi
Zm9sbG93ZWQiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXR1cm4gWyhiIkNvbnRlbnQ6VHlw
ZSIsIGIidGV4dC9wbGFpbiIpXSwgYiJNQUdJQyBIQVBQRU5FRCIKICAgICBlbHNlOgotICAgICAg
ICByZXR1cm4gKGNvZGUsICJXRUJTUlQgTUFSS0VUSU5HIiksIFsoIkxvY2F0aW9uIiwgbG9jYXRp
b24pXSwgIlRFU1QiCisgICAgICAgIHJldHVybiAoY29kZSwgdSJXRUJTUlQgTUFSS0VUSU5HIiks
IFsoYiJMb2NhdGlvbiIsIGxvY2F0aW9uKV0sIGIiVEVTVCIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZXF1cmku
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvcmVxdXJpLnB5CmluZGV4IGEzZjdiZmRhMzUxNzgyZTQ5NDFmMzk1NWMxYzdiNWYzMmJl
MDdiYTQuLmM3ZjczMzBmMTFjYzBhY2MyOWIwZjBiNzQ2ODM1MmJkNzkzOWNjNzcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9yZXF1cmkucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL3JlcXVyaS5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBpZiAiZnVsbCIgaW4gcmVxdWVzdC5HRVQ6CisgICAg
aWYgYiJmdWxsIiBpbiByZXF1ZXN0LkdFVDoKICAgICAgICAgcmV0dXJuIHJlcXVlc3QudXJsCiAg
ICAgZWxzZToKICAgICAgICAgcmV0dXJuIHJlcXVlc3QucmVxdWVzdF9wYXRoCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvcmVzZXQtdG9rZW4ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvcmVzZXQtdG9rZW4ucHkKaW5kZXggNWM5YTU3N2I0NGNlMjJj
YWNjNmZkOWFkNDFjZDQ0MTUzOGYwMzczZC4uMjU3YzJhYWU4MGM2OTA2NTJlZjY3NjJiMTNkMTc4
NWRjZGM5NGQ3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3Jlc2V0LXRva2VuLnB5CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZXNldC10b2tl
bi5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVz
dC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgdG9rZW4gPSByZXF1ZXN0LkdFVFsidG9rZW4i
XQotICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgIiIpCi0gICAgcmVzcG9uc2Uu
Y29udGVudCA9ICJQQVNTIgorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHRv
a2VuID0gcmVxdWVzdC5HRVRbYiJ0b2tlbiJdCisgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0
KHRva2VuLCBiIiIpCisgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9zZW5kLWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy0yLmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5k
LWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy0yLmh0bQppbmRleCAwNzMyNjhj
MjFjN2U4NGZiY2JlNTM5YTZhNDU0NzZkYzc1N2QwNTY0Li5jZDlmMGM2YmI3MDQ0ZjU2OWRiMWY4
N2MxYWJiOWVjOTliMWFiMzJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0aW5nLWRvY3Vt
ZW50LWRvbWFpbi13aW5kb3ctMi5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1kb2N1bWVu
dC1kb21haW4td2luZG93LTIuaHRtCkBAIC0xMSw3ICsxMSw3IEBACiAgICAgICAgIGRvY3VtZW50
LmRvbWFpbiA9IGRvY3VtZW50LmRvbWFpbi5yZXBsYWNlKC9eXHcrXC4vLCAiIik7CiAgICAgICAg
IHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgY2xpZW50Lm9wZW4o
IkdFVCIsIGxvY2F0aW9uLnByb3RvY29sICsgIi8vIiArIGRvY3VtZW50LmRvbWFpbiArIGxvY2F0
aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1teXC9dKiQvLCAiIikgKyAic3RhdHVzLnB5P2NvbnRlbnQ9
aGVsbG8zIiwgZmFsc2UpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1
bmN0aW9uKCkgewogICAgICAgICAgIGNsaWVudC5zZW5kKG51bGwpOwogICAgICAgICB9KTsKICAg
ICAgIH0sICJsb2FkaW5nIGRvY3VtZW50cyBmcm9tIHRoZSBvcmlnaW4gZG9jdW1lbnQuZG9tYWlu
IHdhcyBzZXQgdG8gc2hvdWxkIHRocm93Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0
aW5nLWRvY3VtZW50LWRvbWFpbi13aW5kb3ctaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGlu
Zy1kb2N1bWVudC1kb21haW4td2luZG93LWhlbHBlci5qcwppbmRleCBmNWM3NjJiMDQyYjcwYTI3
NzM0MTU3ZTBjYTdkNGQ4NjhmMjUxNDdiLi4wYzIzOWNmZGJjZDVhNDQ1MzNlMzY3MzExZGQ0MTNi
NWU2NmRhMGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0aW5nLWRvY3VtZW50LWRvbWFp
bi13aW5kb3ctaGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5kLWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9t
YWluLXdpbmRvdy1oZWxwZXIuanMKQEAgLTQsMTAgKzQsMTMgQEAgZnVuY3Rpb24gYXNzZXJ0X2Vx
dWFscyh2YWx1ZSwgZXhwZWN0ZWQpIHsKICAgfQogfQogCi1mdW5jdGlvbiBhc3NlcnRfdGhyb3dz
KGV4cGVjdGVkX2V4YywgZnVuYykgeworZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19kb20oZXhwZWN0
ZWRfZXhjLCBmdW5jKSB7CiAgIHRyeSB7CiAgICAgZnVuYy5jYWxsKHRoaXMpOwogICB9IGNhdGNo
KGUpIHsKKyAgICBpZiAoZS5jb25zdHJ1Y3Rvci5uYW1lICE9ICJET01FeGNlcHRpb24iKSB7Cisg
ICAgICB0aHJvdyBgRXhjZXB0aW9uICR7ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICJ1bmtub3duIn0g
dGhhdCB3YXMgbm90IGEgRE9NRXhjZXB0aW9uIHdhcyB0aHJvd25gOworICAgIH0KICAgICB2YXIg
YWN0dWFsID0gZS5uYW1lIHx8IGUudHlwZTsKICAgICBpZiAoYWN0dWFsICE9IGV4cGVjdGVkX2V4
YykgewogICAgICAgdGhyb3cgIkdvdCB3cm9uZyBleGNlcHRpb24uXG5FeHBlY3RlZCAnIiArIGV4
cGVjdGVkX2V4YyArICInLFxuZ290ICciICsgYWN0dWFsICsgIicuIjsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9z
aGlmdC1qaXMtaHRtbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9zaGlmdC1qaXMtaHRtbC5weQppbmRleCBmYWI3OGMwYjNhYzgz
MTVjNjVkZjM4MjRjZmNiZWZkNzBmNzZkY2JmLi40N2M2N2Q4YWUzOWU5NmJhY2Q5N2Q3Y2IxNGM1
OTE1MTA2MGUyNjgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2hpZnQtamlzLWh0bWwucHkKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NoaWZ0
LWppcy1odG1sLnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1sO2NoYXJzZXQ9c2hp
ZnQtamlzIildCisgICAgaGVhZGVycyA9IFsoYiJDb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDtj
aGFyc2V0PXNoaWZ0LWppcyIpXQogICAgICMgU2hpZnQtSklTIGJ5dGVzIGZvciBrYXRha2FuYSBU
RSBTVSBUTyAoJ3Rlc3QnKQogICAgIGNvbnRlbnQgPSBjaHIoMHg4MykgKyBjaHIoMHg2NSkgKyBj
aHIoMHg4MykgKyBjaHIoMHg1OCkgKyBjaHIoMHg4MykgKyBjaHIoMHg2NykKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL3N0YXR1cy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9zdGF0dXMucHkKaW5kZXggNWQ3MmUxMGIyNGJmZDVhMzZkNzE5OTQw
Mzg4YmI1NWQ0NDQzMzU0Ni4uMDVhNTlkNWE2MzdlZGRlOGZiMDQ5NjI3ZmRjZThhM2EwZTgzNjcx
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL3N0YXR1cy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc3RhdHVzLnB5CkBAIC0xLDkgKzEsMTEg
QEAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBt
YWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZpcnN0
KCJjb2RlIiwgMjAwKSkKLSAgICB0ZXh0ID0gcmVxdWVzdC5HRVQuZmlyc3QoInRleHQiLCAiT01H
IikKLSAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoImNvbnRlbnQiLCAiIikKLSAgICB0
eXBlID0gcmVxdWVzdC5HRVQuZmlyc3QoInR5cGUiLCAiIikKKyAgICBjb2RlID0gaW50KHJlcXVl
c3QuR0VULmZpcnN0KGIiY29kZSIsIDIwMCkpCisgICAgdGV4dCA9IHJlcXVlc3QuR0VULmZpcnN0
KGIidGV4dCIsIGIiT01HIikKKyAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJjb250
ZW50IiwgYiIiKQorICAgIHR5cGUgPSByZXF1ZXN0LkdFVC5maXJzdChiInR5cGUiLCBiIiIpCiAg
ICAgc3RhdHVzID0gKGNvZGUsIHRleHQpCi0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIs
IHR5cGUpLAotICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtTWV0aG9kIiwgcmVxdWVzdC5tZXRo
b2QpXQorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVudC1UeXBlIiwgdHlwZSksCisgICAgICAgICAg
ICAgICAoYiJYLVJlcXVlc3QtTWV0aG9kIiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRo
b2QpKV0KICAgICByZXR1cm4gc3RhdHVzLCBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
dHJpY2tsZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy90cmlja2xlLnB5CmluZGV4IDQxOGUyNDU5OTIxNzQzYjc2OWZhYjMyMDQx
ZTk1YjAwZTdjMDkxYmIuLjRhNmJiZDdmNGYyNzVlZmFhOGYzNjcxZjc1ZGI3ODc0MjAwYjk0MDIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy90cmlja2xlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy90cmlja2xlLnB5CkBAIC0xLDE1ICsxLDE3
IEBACiBpbXBvcnQgdGltZQogCitmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKKwogZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGNodW5rID0gIlRFU1RfVFJJQ0tMRVxuIgotICAg
IGRlbGF5ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoIm1zIiwgNTAwKSkgLyAxRTMKLSAgICBj
b3VudCA9IGludChyZXF1ZXN0LkdFVC5maXJzdCgiY291bnQiLCA1MCkpCi0gICAgaWYgInNwZWNp
ZnlsZW5ndGgiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgi
Q29udGVudC1MZW5ndGgiLCBjb3VudCAqIGxlbihjaHVuaykpCisgICAgY2h1bmsgPSBiIlRFU1Rf
VFJJQ0tMRVxuIgorICAgIGRlbGF5ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoYiJtcyIsIDUw
MCkpIC8gMUUzCisgICAgY291bnQgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoYiJjb3VudCIsIDUw
KSkKKyAgICBpZiBiInNwZWNpZnlsZW5ndGgiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtTGVuZ3RoIiwgY291bnQgKiBsZW4oY2h1bmspKQog
ICAgIHRpbWUuc2xlZXAoZGVsYXkpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQt
dHlwZSIsICJ0ZXh0L3BsYWluIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQt
dHlwZSIsIGIidGV4dC9wbGFpbiIpCiAgICAgcmVzcG9uc2Uud3JpdGVfc3RhdHVzX2hlYWRlcnMo
KQogICAgIHRpbWUuc2xlZXAoZGVsYXkpCi0gICAgZm9yIGkgaW4geHJhbmdlKGNvdW50KToKKyAg
ICBmb3IgaSBpbiByYW5nZShjb3VudCk6CiAgICAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9j
b250ZW50KGNodW5rKQogICAgICAgICB0aW1lLnNsZWVwKGRlbGF5KQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3Vw
bG9hZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy91cGxvYWQucHkKaW5kZXggMzA0YmVhOWU1ZWY5MDZlZTI4NzRjMjc3OTk3OGRh
NzZhNjMyMTUwZC4uZTM1ZTQ2ZWRjZjk2YWQ5YTlhMTEyYTViZDZhMjZmMGQ5YjRlOWZiMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL3VwbG9hZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdXBsb2FkLnB5CkBAIC0xLDE1ICsxLDE3IEBACitm
cm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2VuY29kZQorCiBkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgY29udGVudCA9IFtdCiAKLSAgICBmb3Iga2V5LCB2YWx1
ZXMgaW4gc29ydGVkKGl0ZW0gZm9yIGl0ZW0gaW4gcmVxdWVzdC5QT1NULml0ZW1zKCkgaWYgbm90
IGhhc2F0dHIoaXRlbVsxXVswXSwgImZpbGVuYW1lIikpOgotICAgICAgICBjb250ZW50LmFwcGVu
ZCgiJXM9JXMsIiAlIChrZXksIHZhbHVlc1swXSkpCi0gICAgY29udGVudC5hcHBlbmQoIlxuIikK
KyAgICBmb3Iga2V5LCB2YWx1ZXMgaW4gc29ydGVkKGl0ZW0gZm9yIGl0ZW0gaW4gcmVxdWVzdC5Q
T1NULml0ZW1zKCkgaWYgbm90IGhhc2F0dHIoaXRlbVsxXVswXSwgdSJmaWxlbmFtZSIpKToKKyAg
ICAgICAgY29udGVudC5hcHBlbmQoYiIlcz0lcywiICUgKGtleSwgdmFsdWVzWzBdKSkKKyAgICBj
b250ZW50LmFwcGVuZChiIlxuIikKIAotICAgIGZvciBrZXksIHZhbHVlcyBpbiBzb3J0ZWQoaXRl
bSBmb3IgaXRlbSBpbiByZXF1ZXN0LlBPU1QuaXRlbXMoKSBpZiBoYXNhdHRyKGl0ZW1bMV1bMF0s
ICJmaWxlbmFtZSIpKToKKyAgICBmb3Iga2V5LCB2YWx1ZXMgaW4gc29ydGVkKGl0ZW0gZm9yIGl0
ZW0gaW4gcmVxdWVzdC5QT1NULml0ZW1zKCkgaWYgaGFzYXR0cihpdGVtWzFdWzBdLCB1ImZpbGVu
YW1lIikpOgogICAgICAgICB2YWx1ZSA9IHZhbHVlc1swXQotICAgICAgICBjb250ZW50LmFwcGVu
ZCgiJXM9JXM6JXM6JXMsIiAlIChrZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZhbHVlLmZpbGVuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2YWx1ZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKHZhbHVlLmZpbGUucmVhZCgpKSkpCisgICAg
ICAgIGNvbnRlbnQuYXBwZW5kKGIiJXM9JXM6JXM6JWQsIiAlIChrZXksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc29tb3JwaGljX2VuY29kZSh2YWx1ZS5maWxl
bmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc29tb3Jw
aGljX2VuY29kZSh2YWx1ZS5oZWFkZXJzW3UiQ29udGVudC1UeXBlIl0pIGlmIHZhbHVlLmhlYWRl
cnNbdSJDb250ZW50LVR5cGUiXSBpcyBub3QgTm9uZSBlbHNlIGIiTm9uZSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4odmFsdWUuZmlsZS5yZWFkKCkpKSkK
IAotICAgIHJldHVybiAiIi5qb2luKGNvbnRlbnQpCisgICAgcmV0dXJuIGIiIi5qb2luKGNvbnRl
bnQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXgg
NjU1OWQ4MTcyYWE3NTYwYjM4OTVmMmE1NzNlYTJlOTcwNjdkYzAwNi4uMmYwODYwNGQzMzAwMmU3
MmRmMzdiMTk1OGYwMzE4OGM2YzBkNTJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtODMsNiArODMsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9z
ZW5kLWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy1oZWxwZXIuanMKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2hp
ZnQtamlzLWh0bWwucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvc3RhdHVzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3RvcC50eHQKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdHJpY2tsZS5weQogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy91
cGxvYWQucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvdXRmMTYtYm9tLmpzb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93aW4tMTI1Mi1odG1sLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL3dpbi0xMjUyLWh0bWwucHkKaW5kZXggYTRkNzJkNWUyNzU0Y2UyMTc4Y2YxZjNjNGVkOWQz
OWM4ZjY4YmIxNS4uMGVmNTI4M2Y3ZDUxNDY1NmVkNzc1OWMwZjliNzAzNmQxZmE4OGFjZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL3dpbi0xMjUyLWh0bWwucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3dpbi0xMjUyLWh0bWwucHkKQEAgLTEs
NSArMSw1IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9IFso
IkNvbnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7Y2hhcnNldD13aW5kb3dzLTEyNTIiKV0KKyAgICBo
ZWFkZXJzID0gWyhiIkNvbnRlbnQtdHlwZSIsIGIidGV4dC9odG1sO2NoYXJzZXQ9d2luZG93cy0x
MjUyIildCiAgICAgY29udGVudCA9IGNocigweGZmKQogCiAgICAgcmV0dXJuIGhlYWRlcnMsIGNv
bnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy93aW4tMTI1Mi14bWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvd2luLTEyNTIteG1sLnB5Cmlu
ZGV4IDA5YzMyZTQ1NzRiODg5OTc0MTUzYWJlY2IyYjk5ZWViNzljMTMxZmEuLmQ4ODA4NmU5MzZl
YTE3Zjc1ZjMwYzE4ZjRlOWJkNDI0YmE2MDlmZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93aW4tMTI1Mi14bWwu
cHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL3dpbi0xMjUyLXhtbC5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKLSAgICBoZWFkZXJzID0gWygiQ29udGVudC10eXBlIiwgImFwcGxpY2F0
aW9uL3htbDtjaGFyc2V0PXdpbmRvd3MtMTI1MiIpXQorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVu
dC10eXBlIiwgYiJhcHBsaWNhdGlvbi94bWw7Y2hhcnNldD13aW5kb3dzLTEyNTIiKV0KICAgICBj
b250ZW50ID0gJzwnICsgY2hyKDB4ZmYpICsgJy8+JwogCiAgICAgcmV0dXJuIGhlYWRlcnMsIGNv
bnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy96bGliLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKaW5kZXggNDllZDY5ZGU3OTM5
ODgyOGFmMTI4MzdlOGQ4N2VkOGQxYTNhN2EzZS4uNjM4ODEzOTk5Y2UwN2I4ZjYzMDhmMGRjNWMw
Mzg4ZWM4MjA5MTA2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKQEAgLTEs
MTkgKzEsMTkgQEAKIGltcG9ydCB6bGliCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToK
LSAgICBpZiAiY29udGVudCIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIG91dHB1dCA9IHJlcXVl
c3QuR0VUWyJjb250ZW50Il0KKyAgICBpZiBiImNvbnRlbnQiIGluIHJlcXVlc3QuR0VUOgorICAg
ICAgICBvdXRwdXQgPSByZXF1ZXN0LkdFVFtiImNvbnRlbnQiXQogICAgIGVsc2U6CiAgICAgICAg
IG91dHB1dCA9IHJlcXVlc3QuYm9keQogCiAgICAgb3V0cHV0ID0gemxpYi5jb21wcmVzcyhvdXRw
dXQsIDkpCiAKLSAgICBoZWFkZXJzID0gWygiQ29udGVudC10eXBlIiwgInRleHQvcGxhaW4iKSwK
LSAgICAgICAgICAgICAgICgiQ29udGVudC1FbmNvZGluZyIsICJkZWZsYXRlIiksCi0gICAgICAg
ICAgICAgICAoIlgtUmVxdWVzdC1NZXRob2QiLCByZXF1ZXN0Lm1ldGhvZCksCi0gICAgICAgICAg
ICAgICAoIlgtUmVxdWVzdC1RdWVyeSIsIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGlmIHJlcXVl
c3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgIk5PIiksCi0gICAgICAgICAgICAgICAoIlgtUmVxdWVz
dC1Db250ZW50LUxlbmd0aCIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvbnRlbnQtTGVuZ3RoIiwg
Ik5PIikpLAotICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtQ29udGVudC1UeXBlIiwgcmVxdWVz
dC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIiwgIk5PIikpLAotICAgICAgICAgICAgICAgKCJD
b250ZW50LUxlbmd0aCIsIGxlbihvdXRwdXQpKV0KKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQt
dHlwZSIsIGIidGV4dC9wbGFpbiIpLAorICAgICAgICAgICAgICAgKGIiQ29udGVudC1FbmNvZGlu
ZyIsIGIiZGVmbGF0ZSIpLAorICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LU1ldGhvZCIsIHJl
cXVlc3QubWV0aG9kKSwKKyAgICAgICAgICAgICAgIChiIlgtUmVxdWVzdC1RdWVyeSIsIHJlcXVl
c3QudXJsX3BhcnRzLnF1ZXJ5IGlmIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgYiJOTyIp
LAorICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LUNvbnRlbnQtTGVuZ3RoIiwgcmVxdWVzdC5o
ZWFkZXJzLmdldChiIkNvbnRlbnQtTGVuZ3RoIiwgYiJOTyIpKSwKKyAgICAgICAgICAgICAgIChi
IlgtUmVxdWVzdC1Db250ZW50LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQ29udGVudC1U
eXBlIiwgYiJOTyIpKSwKKyAgICAgICAgICAgICAgIChiIkNvbnRlbnQtTGVuZ3RoIiwgbGVuKG91
dHB1dCkpXQogCiAgICAgcmV0dXJuIGhlYWRlcnMsIG91dHB1dApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V0eXBlLmFu
eS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c3BvbnNldHlwZS5hbnkuanMKaW5kZXggODhiZDkxODllYmVkMDMxNzkwNGZhZDQyNDA4ODhhMjNj
Y2EyNzJjZS4uNDQ0YzNlM2QxNjlhMGEyNjgwYmQwNTAxYjg4NTliN2NhOTdiNDI1MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
cG9uc2V0eXBlLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNwb25zZXR5cGUuYW55LmpzCkBAIC02OSw3ICs2OSw3IEBAIHR5cGVz
LmZvckVhY2goZnVuY3Rpb24odHlwZSkgewogICAgICAgICBpZiAoaXNJZ25vcmVkVHlwZSh0eXBl
KSkgewogICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICB4aHIucmVzcG9uc2VUeXBlID0gdHlwZTsKICAgICAgICAg
ICB9KTsKICAgICAgICAgfQpAQCAtOTAsNyArOTAsNyBAQCB0eXBlcy5mb3JFYWNoKGZ1bmN0aW9u
KHR5cGUpIHsKICAgICAgICAgaWYgKGlzSWdub3JlZFR5cGUodHlwZSkpIHsKICAgICAgICAgICB4
aHIucmVzcG9uc2VUeXBlID0gdHlwZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFz
c2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAg
ICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9IHR5cGU7CiAgICAgICAgICAgfSk7CiAgICAgICAgIH0K
QEAgLTExMiw3ICsxMTIsNyBAQCB0eXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUpIHsKICAgICAg
IHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgYXNzZXJ0X2VxdWFscyh4aHIucmVzcG9u
c2VUeXBlLCBleHBlY3RlZFR5cGUodHlwZSkpOwogICAgIH0gZWxzZSB7Ci0gICAgICBhc3NlcnRf
dGhyb3dzKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgeGhy
LnJlc3BvbnNlVHlwZSA9IHR5cGU7CiAgICAgICB9KTsKICAgICB9CkBAIC0xMjYsNyArMTI2LDcg
QEAgdHlwZXMuZm9yRWFjaChmdW5jdGlvbih0eXBlKSB7CiAgICAgaWYgKGlzSWdub3JlZFR5cGUo
dHlwZSkpIHsKICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgIH0gZWxzZSB7Ci0g
ICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAg
ICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAg
ICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgfSk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
cG9uc2V4bWwtbm9uLWRvY3VtZW50LXR5cGVzLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc3BvbnNleG1sLW5vbi1kb2N1bWVudC10eXBlcy5o
dG0KaW5kZXggODRkOTBhOGQzNWFlMWQzZGEzNDk0Y2QyNjgxZWQxZWY4YjdkZWJjNi4uNmQ3ZmVl
YTc1MzBlZWY3Mjg1YjY2MjViN2IxZDY4NzA1OWZlMDAzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V4bWwtbm9uLWRv
Y3VtZW50LXR5cGVzLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNwb25zZXhtbC1ub24tZG9jdW1lbnQtdHlwZXMuaHRtCkBAIC0yMCwx
MiArMjAsMTIgQEAKICAgICAgICAgICBjbGllbnQub25sb2FkID0gZnVuY3Rpb24oKXsKICAgICAg
ICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgIGlmKHR5cGUgIT09
ICdkb2N1bWVudCcpewotICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0
YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3Nf
ZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAg
ICB2YXIgeCA9IGNsaWVudC5yZXNwb25zZVhNTDsKICAgICAgICAgICAgICAgICAgIH0sICdyZXNw
b25zZVhNTCB0aHJvdyBmb3IgJyt0eXBlKQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICBpZih0eXBlICE9PSAndGV4dCcpewotICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93
cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgIGFz
c2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAg
ICAgICAgICAgICAgICB2YXIgeCA9IGNsaWVudC5yZXNwb25zZVRleHQ7CiAgICAgICAgICAgICAg
ICAgICB9LCAncmVzcG9uc2VUZXh0IHRocm93cyBmb3IgJyt0eXBlKQogICAgICAgICAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRp
Y2F0aW9uLWJhc2ljLWNvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDdmZmY3ZWQ0ZDg1YTdmNDYxNDMw
ZWM1ZjVlNmU4MGRlZWE3NjhkMjQuLjgwNmI2ZTYwMzBiZTcyZDFjODJhY2Y1YjY3MzJiN2VmMjRm
ZGNjMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1h
dXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDQgQEAKLUFM
RVJUOiB0ZXN0IHN0YXJ0ZWQKLUFMRVJUOiB0ZXN0IHN0ZXBwZWQKIEJsb2NrZWQgYWNjZXNzIHRv
IGV4dGVybmFsIFVSTCBodHRwOi8vd3d3MS5sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL2F1
dGgxL2NvcnNlbmFibGVkLnB5Ci1BTEVSVDogcmVhZHkgc3RhdGUgY2hhbmdlZCB0byA0Ci1BTEVS
VDogZmluaXNoaW5nIHRlc3QKIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgpIC0gIkJhc2lj
IiBhdXRoZW50aWNhdGVkIENPUlMgcmVxdWVzdHMgd2l0aCB1c2VyIG5hbWUgYW5kIHBhc3N3b3Jk
IHBhc3NlZCB0byBvcGVuKCkgKGFzc2VydHMgZmFpbHVyZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGlj
YXRpb24tYmFzaWMtY29ycy1ub3QtZW5hYmxlZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMt
bm90LWVuYWJsZWQuaHRtCmluZGV4IDY4YWQ1ZTk1ZWQ4NzBmOWIwOTQwMWU4NDE3ZGY3MDExNmMw
MzM2YWYuLjJlN2NiYWYwMzQwNDhkM2I3M2M5MDUwNDhiMDkwNTQ2YmVlNDNjYTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
YXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1ub3QtZW5hYmxlZC5odG0KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlv
bi1iYXNpYy1jb3JzLW5vdC1lbmFibGVkLmh0bQpAQCAtMTgsNyArMTgsNyBAQAogICAgICAgICB1
c2VyID0gdG9rZW4oKQogICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgbG9jYXRpb24ucHJvdG9j
b2wrJy8vJyt1cmxzdGFydCArICJyZXNvdXJjZXMvYXV0aDEwL2F1dGgucHkiLCBmYWxzZSwgdXNl
ciwgJ3Bhc3MnKQogICAgICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC11c2VyIiwgdXNl
cikKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKXsgY2xp
ZW50LnNlbmQobnVsbCkgfSkKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJv
ciIsIGZ1bmN0aW9uKCl7IGNsaWVudC5zZW5kKG51bGwpIH0pCiAgICAgICAgIGFzc2VydF9lcXVh
bHMoY2xpZW50LnJlc3BvbnNlVGV4dCwgJycpCiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50
LnN0YXR1cywgMCkKICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQuZ2V0UmVzcG9uc2VIZWFk
ZXIoJ3gtY2hhbGxlbmdlJyksIG51bGwpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNv
cnMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLmh0bQppbmRleCAxZDVmMTdlYjc0N2VjMGRj
ZTQxODM1OTZkMDU2YmFlNmJmMGY4MDE2Li5mY2FjZGQ1ZmVjNGQ5OTFlMGRlZTdhYjFmZTE5NTdj
MjcyNWY1OTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMuaHRtCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVu
dGljYXRpb24tYmFzaWMtY29ycy5odG0KQEAgLTExLDkgKzExLDcgQEAKICAgICA8ZGl2IGlkPSJs
b2ciPjwvZGl2PgogICAgIDxzY3JpcHQ+CiAgICAgICB2YXIgdGVzdCA9IGFzeW5jX3Rlc3QoKQot
ICAgICAgYWxlcnQoInRlc3Qgc3RhcnRlZCIpOwogICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkg
ewotICAgICAgICBhbGVydCgidGVzdCBzdGVwcGVkIik7CiAgICAgICAgIHZhciBjbGllbnQgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKSwKICAgICAgICAgICB1cmxzdGFydCA9ICd3d3cxLicrbG9jYXRp
b24uaG9zdCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wvW15cL10qJC8sICcvJykKICAg
ICAgICAgY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUKQEAgLTIyLDEyICsyMCwxMCBAQAog
ICAgICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC1wYXNzIiwgJ3Bhc3MnKQogICAgICAg
ICBjbGllbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKXsKICAgICAgICAgICBpZiAo
Y2xpZW50LnJlYWR5U3RhdGUgPT09IDQpIHsKLSAgICAgICAgICAgIGFsZXJ0KCJyZWFkeSBzdGF0
ZSBjaGFuZ2VkIHRvIDQiKTsKICAgICAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpewogICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVRleHQsICcnKQogICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDApCiAgICAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoY2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCd4LWNoYWxsZW5nZScpLCBudWxs
KQotICAgICAgICAgICAgICBhbGVydCgiZmluaXNoaW5nIHRlc3QiKTsKICAgICAgICAgICAgICAg
dGVzdC5kb25lKCkKICAgICAgICAgICAgIH0pCiAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVz
LW9iamVjdC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnktZXhwZWN0ZWQudHh0Cmlu
ZGV4IDNhMmZjMzNmNjU2YmI1YWZkOTBiOTlmMGNmYzBlNmRiNzJmNmVkMmQuLjNkOTU1ODA1MTIy
OGE3YjkwNmIwNjgwYWU3NDkyMzhiZTI1NjNiNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS1leHBlY3RlZC50eHQKQEAgLTIsNiAr
Miw3IEBACiBQQVNTIHNlbmRpbmcgYSBwbGFpbiBlbXB0eSBvYmplY3QgCiBQQVNTIHNlbmRpbmcg
dGhlIEVTIE1hdGggb2JqZWN0IAogUEFTUyBzZW5kaW5nIGEgbmV3IFhIUiBpbnN0YW5jZSAKK1BB
U1Mgc2VuZGluZyBhIG5ldyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZSAKIFBBU1Mgc2VuZGluZyBv
YmplY3QgdGhhdCBzdHJpbmdpZmllcyB0byB1bmRlZmluZWQgCiBQQVNTIHNlbmRpbmcgb2JqZWN0
IHRoYXQgc3RyaW5naWZpZXMgdG8gbnVsbCAKIFBBU1Mgb2JqZWN0IHRoYXQgc3RyaW5naWZpZXMg
dG8gcXVlcnkgc3RyaW5nIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnkuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2Jq
ZWN0LmFueS5qcwppbmRleCBkOThhNGNhNjVhYTZiMmYzZjQwNDNmMDk3NDIzNTRlNmIxMmZmODMz
Li45MjI4NmJjYTZkZDAwYjgyYjc4ZGUzOWZjZjc5ODhiYTFjNDI0ZDA3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEt
ZXMtb2JqZWN0LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS5qcwpAQCAtMTAsNyArMTAsMTMg
QEAgZnVuY3Rpb24gZG9fdGVzdChvYmosIGV4cGVjdGVkLCBuYW1lKSB7CiAgICAgfSk7CiAgICAg
Y2xpZW50Lm9wZW4oJ1BPU1QnLCAncmVzb3VyY2VzL2NvbnRlbnQucHknKQogICAgIGlmIChleHBl
Y3RlZC5leGNlcHRpb24pIHsKLSAgICAgIGFzc2VydF90aHJvd3MoZXhwZWN0ZWQuZXhjZXB0aW9u
LCBmdW5jdGlvbigpe2NsaWVudC5zZW5kKG9iail9KQorICAgICAgaWYgKGV4cGVjdGVkLmV4Y2Vw
dGlvbi5pZGVudGl0eSkgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXhwZWN0ZWQu
ZXhjZXB0aW9uLmlkZW50aXR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKXtjbGllbnQuc2VuZChvYmopfSkKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGFzc2VydF90
aHJvd3NfanMoZXhwZWN0ZWQuZXhjZXB0aW9uLmN0b3IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKXtjbGllbnQuc2VuZChvYmopfSkKKyAgICAgIH0KICAgICAgIHRlc3QuZG9u
ZSgpCiAgICAgfSBlbHNlIHsKICAgICAgIGNsaWVudC5zZW5kKG9iaikKQEAgLTIxLDYgKzI3LDcg
QEAgZnVuY3Rpb24gZG9fdGVzdChvYmosIGV4cGVjdGVkLCBuYW1lKSB7CiBkb190ZXN0KHt9LCAn
W29iamVjdCBPYmplY3RdJywgJ3NlbmRpbmcgYSBwbGFpbiBlbXB0eSBvYmplY3QnKQogZG9fdGVz
dChNYXRoLCAnW29iamVjdCBNYXRoXScsICdzZW5kaW5nIHRoZSBFUyBNYXRoIG9iamVjdCcpCiBk
b190ZXN0KG5ldyBYTUxIdHRwUmVxdWVzdCwgJ1tvYmplY3QgWE1MSHR0cFJlcXVlc3RdJywgJ3Nl
bmRpbmcgYSBuZXcgWEhSIGluc3RhbmNlJykKK2RvX3Rlc3QobmV3IFJlYWRhYmxlU3RyZWFtLCAn
W29iamVjdCBSZWFkYWJsZVN0cmVhbV0nLCAnc2VuZGluZyBhIG5ldyBSZWFkYWJsZVN0cmVhbSBp
bnN0YW5jZScpCiBkb190ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe319LCAndW5kZWZpbmVkJywg
J3NlbmRpbmcgb2JqZWN0IHRoYXQgc3RyaW5naWZpZXMgdG8gdW5kZWZpbmVkJykKIGRvX3Rlc3Qo
e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSwgJ251bGwnLCAnc2VuZGluZyBvYmpl
Y3QgdGhhdCBzdHJpbmdpZmllcyB0byBudWxsJykKIHZhciBhbmNlc3RvciA9IHt0b1N0cmluZzog
ZnVuY3Rpb24oKXsKQEAgLTQzLDggKzUwLDkgQEAgdmFyIG15RmFrZURvYzEgPSB7dmFsdWVPZjpm
dW5jdGlvbigpe3JldHVybiBkb2N1bWVudH19CiBkb190ZXN0KG15RmFrZURvYzEsICdbb2JqZWN0
IE9iamVjdF0nLCAnb2JqZWN0IHdob3NlIHZhbHVlT2YoKSByZXR1cm5zIGEgZG9jdW1lbnQgLSBp
Z25vcmUgdmFsdWVPZigpLCBzdHJpbmdpZnknKQogCiB2YXIgbXlGYWtlRG9jMiA9IHt0b1N0cmlu
ZzpmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudH19Ci12YXIgZXhwZWN0ZWRFcnJvciA9IHNlbGYu
R0xPQkFMLmlzV29ya2VyKCkgPyBuZXcgUmVmZXJlbmNlRXJyb3IoKSA6IG5ldyBUeXBlRXJyb3Io
KTsKLWRvX3Rlc3QobXlGYWtlRG9jMiwge2V4Y2VwdGlvbjpleHBlY3RlZEVycm9yfSwgJ29iamVj
dCB3aG9zZSB0b1N0cmluZygpIHJldHVybnMgYSBkb2N1bWVudCwgZXhwZWN0ZWQgdG8gdGhyb3cn
KQordmFyIGV4cGVjdGVkRXJyb3IgPSBzZWxmLkdMT0JBTC5pc1dvcmtlcigpID8gUmVmZXJlbmNl
RXJyb3IgOiBUeXBlRXJyb3I7Citkb190ZXN0KG15RmFrZURvYzIsIHtleGNlcHRpb246IHsgY3Rv
cjogZXhwZWN0ZWRFcnJvciB9IH0sICdvYmplY3Qgd2hvc2UgdG9TdHJpbmcoKSByZXR1cm5zIGEg
ZG9jdW1lbnQsIGV4cGVjdGVkIHRvIHRocm93JykKIAotdmFyIG15VGhyb3dlciA9IHt0b1N0cmlu
ZzpmdW5jdGlvbigpe3Rocm93IHtuYW1lOidGb29FcnJvcicsIG1lc3NhZ2U6J2Jhcid9fX0KLWRv
X3Rlc3QobXlUaHJvd2VyLCB7ZXhjZXB0aW9uOntuYW1lOidGb29FcnJvcid9fSwgJ29iamVjdCB3
aG9zZSB0b1N0cmluZygpIHRocm93cywgZXhwZWN0ZWQgdG8gdGhyb3cnKQordmFyIGVyciA9IHtu
YW1lOidGb29FcnJvcicsIG1lc3NhZ2U6J2Jhcid9OwordmFyIG15VGhyb3dlciA9IHt0b1N0cmlu
ZzpmdW5jdGlvbigpe3Rocm93IGVycjt9fTsKK2RvX3Rlc3QobXlUaHJvd2VyLCB7ZXhjZXB0aW9u
OiB7IGlkZW50aXR5OiBlcnIgfX0sICdvYmplY3Qgd2hvc2UgdG9TdHJpbmcoKSB0aHJvd3MsIGV4
cGVjdGVkIHRvIHRocm93JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDNhMmZj
MzNmNjU2YmI1YWZkOTBiOTlmMGNmYzBlNmRiNzJmNmVkMmQuLjNkOTU1ODA1MTIyOGE3YjkwNmIw
NjgwYWU3NDkyMzhiZTI1NjNiNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
Miw2ICsyLDcgQEAKIFBBU1Mgc2VuZGluZyBhIHBsYWluIGVtcHR5IG9iamVjdCAKIFBBU1Mgc2Vu
ZGluZyB0aGUgRVMgTWF0aCBvYmplY3QgCiBQQVNTIHNlbmRpbmcgYSBuZXcgWEhSIGluc3RhbmNl
IAorUEFTUyBzZW5kaW5nIGEgbmV3IFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlIAogUEFTUyBzZW5k
aW5nIG9iamVjdCB0aGF0IHN0cmluZ2lmaWVzIHRvIHVuZGVmaW5lZCAKIFBBU1Mgc2VuZGluZyBv
YmplY3QgdGhhdCBzdHJpbmdpZmllcyB0byBudWxsIAogUEFTUyBvYmplY3QgdGhhdCBzdHJpbmdp
ZmllcyB0byBxdWVyeSBzdHJpbmcgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFibGVzdHJlYW0uYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3MWYwOWE5MGEwOWM2ODQyN2FmMWFjZDkxM2MxMDYxYWI0NjM0
NGU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFk
YWJsZXN0cmVhbS5hbnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci0KLUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNoIGdl
dFJlYWRlcigpIGlzIGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gY2xpZW50
LnNlbmQoc3RyZWFtKSIgZGlkIG5vdCB0aHJvdwotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgp
IHdpdGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGlzIGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiKCkgPT4gY2xpZW50LnNlbmQoc3RyZWFtKSIgZGlkIG5vdCB0aHJvdwotRkFJTCBY
TUxIdHRwUmVxdWVzdDogc2VuZCgpIHdpdGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGFuZCBy
ZWxlYXNlTG9jaygpIGFyZSBjYWxsZWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNs
aWVudC5zZW5kKHN0cmVhbSkiIGRpZCBub3QgdGhyb3cKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxl
c3RyZWFtLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJs
ZXN0cmVhbS5hbnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
ZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFibGVzdHJlYW0uYW55LmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2E2ZTc2YTA0MmNjOGE1YjU1ZTFlYWQzMDZkZGFm
OTQ2N2I4YzA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0
YS1yZWFkYWJsZXN0cmVhbS5hbnkuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0v
LyBNRVRBOiBnbG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixzaGFyZWR3b3JrZXIKLQotZnVu
Y3Rpb24gYXNzZXJ0X3hocihzdHJlYW0pIHsKLSAgY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0KCk7Ci0gIGNsaWVudC5vcGVuKCJQT1NUIiwgIi4uLiIpOwotICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gY2xpZW50LnNlbmQoc3RyZWFtKSk7Ci19Ci0KLXRlc3Qo
KCkgPT4gewotICBjb25zdCBzdHJlYW0gPSBuZXcgUmVhZGFibGVTdHJlYW0oKTsKLSAgc3RyZWFt
LmdldFJlYWRlcigpOwotICBhc3NlcnRfeGhyKHN0cmVhbSk7Ci19LCAiWE1MSHR0cFJlcXVlc3Q6
IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNoIGdldFJlYWRlcigpIGlzIGNhbGxlZCIpOwot
Ci10ZXN0KCgpID0+IHsKLSAgY29uc3Qgc3RyZWFtID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7Ci0g
IHN0cmVhbS5nZXRSZWFkZXIoKS5yZWFkKCk7Ci0gIGFzc2VydF94aHIoc3RyZWFtKTsKLX0sICJY
TUxIdHRwUmVxdWVzdDogc2VuZCgpIHdpdGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGlzIGNh
bGxlZCIpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICBjb25zdCBzdHJlYW0gPSBu
ZXcgUmVhZGFibGVTdHJlYW0oeyBwdWxsOiBjID0+IGMuZW5xdWV1ZShuZXcgVWludDhBcnJheSgp
KSB9KSwKLSAgICAgICAgcmVhZGVyID0gc3RyZWFtLmdldFJlYWRlcigpOwotICBhd2FpdCByZWFk
ZXIucmVhZCgpOwotICByZWFkZXIucmVsZWFzZUxvY2soKTsKLSAgYXNzZXJ0X3hocihzdHJlYW0p
OwotfSwgIlhNTEh0dHBSZXF1ZXN0OiBzZW5kKCkgd2l0aCBhIHN0cmVhbSBvbiB3aGljaCByZWFk
KCkgYW5kIHJlbGVhc2VMb2NrKCkgYXJlIGNhbGxlZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxl
c3RyZWFtLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWYwOWE5MGEw
OWM2ODQyN2FmMWFjZDkxM2MxMDYxYWI0NjM0NGU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotCi1GQUlMIFhNTEh0dHBSZXF1ZXN0
OiBzZW5kKCkgd2l0aCBhIHN0cmVhbSBvbiB3aGljaCBnZXRSZWFkZXIoKSBpcyBjYWxsZWQgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNsaWVudC5zZW5kKHN0cmVhbSkiIGRpZCBub3Qg
dGhyb3cKLUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNo
IHJlYWQoKSBpcyBjYWxsZWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNsaWVudC5z
ZW5kKHN0cmVhbSkiIGRpZCBub3QgdGhyb3cKLUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3
aXRoIGEgc3RyZWFtIG9uIHdoaWNoIHJlYWQoKSBhbmQgcmVsZWFzZUxvY2soKSBhcmUgY2FsbGVk
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBjbGllbnQuc2VuZChzdHJlYW0pIiBkaWQg
bm90IHRocm93Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkud29ya2VyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRh
dGEtcmVhZGFibGVzdHJlYW0uYW55Lndvcmtlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5h
bnkud29ya2VyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi08IS0tIFRoaXMgZmls
ZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0
ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRh
dGEtc2hhcmVkYXJyYXlidWZmZXIuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZl
ci5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMjJiMzUxODhlZGIyNTE0MTY1YmFkZGRl
MWI1MDhhZDQzOWMwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACisKK0ZBSUwgc2VuZGluZyBhIFNoYXJlZEFy
cmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAg
ICAgIHhoci5zZW5kKGJ1ZikKKyAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJ
bnQ4QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAg
ICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWludDhBcnJheSBiYWNrZWQgYnkg
YSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93
CitGQUlMIHNlbmRpbmcgYSBVaW50OENsYW1wZWRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJh
eUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRp
bmcgYSBJbnQxNkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJv
d3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIp
CisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQxNkFycmF5IGJh
Y2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIEludDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJy
YXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5k
aW5nIGEgVWludDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Ro
cm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFy
cikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgRmxvYXQzMkFycmF5
IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9u
ICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRp
ZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIEZsb2F0NjRBcnJheSBiYWNrZWQgYnkgYSBTaGFy
ZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlM
IHNlbmRpbmcgYSBEYXRhVmlldyBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRf
dGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQo
YXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJh
eWJ1ZmZlci5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4g
dGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjkxMmY2MjI2OTdkNTM4ZWRiYmMwMzhmN2VjNzZjMmU2M2VlNmZmYTAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55LmpzCkBAIC0wLDAgKzEs
MjYgQEAKKy8vIE1FVEE6IHRpdGxlPVhNTEh0dHBSZXF1ZXN0LnNlbmQoc2hhcmVkYXJyYXlidWZm
ZXIpCisKK3Rlc3QoKCkgPT4geworICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgp
OworICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzUzODAg
Zm9yIHdoeSBub3QgYG5ldyBTaGFyZWRBcnJheUJ1ZmZlcigpYAorICAgIGNvbnN0IGJ1ZiA9IG5l
dyBXZWJBc3NlbWJseS5NZW1vcnkoeyBzaGFyZWQ6dHJ1ZSwgaW5pdGlhbDoxLCBtYXhpbXVtOjEg
fSkuYnVmZmVyOworCisgICAgeGhyLm9wZW4oIlBPU1QiLCAiLi9yZXNvdXJjZXMvY29udGVudC5w
eSIsIHRydWUpOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgeGhyLnNlbmQoYnVmKQorICAgIH0pOworfSwgInNlbmRpbmcgYSBTaGFyZWRBcnJh
eUJ1ZmZlciIpOworCitbIkludDhBcnJheSIsICJVaW50OEFycmF5IiwgIlVpbnQ4Q2xhbXBlZEFy
cmF5IiwgIkludDE2QXJyYXkiLCAiVWludDE2QXJyYXkiLAorICJJbnQzMkFycmF5IiwgIlVpbnQz
MkFycmF5IiwgIkZsb2F0MzJBcnJheSIsICJGbG9hdDY0QXJyYXkiLCAiRGF0YVZpZXciXS5mb3JF
YWNoKCh0eXBlKSA9PiB7CisgICAgdGVzdCgoKSA9PiB7CisgICAgICAgIGNvbnN0IHhociA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3do
YXR3Zy9odG1sL2lzc3Vlcy81MzgwIGZvciB3aHkgbm90IGBuZXcgU2hhcmVkQXJyYXlCdWZmZXIo
KWAKKyAgICAgICAgY29uc3QgYXJyID0gbmV3IHNlbGZbdHlwZV0obmV3IFdlYkFzc2VtYmx5Lk1l
bW9yeSh7IHNoYXJlZDp0cnVlLCBpbml0aWFsOjEsIG1heGltdW06MSB9KS5idWZmZXIpOworCisg
ICAgICAgIHhoci5vcGVuKCJQT1NUIiwgIi4vcmVzb3VyY2VzL2NvbnRlbnQucHkiLCB0cnVlKTsK
KyAgICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9KTsKKyAgICB9LCBgc2VuZGluZyBhICR7dHlw
ZX0gYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXJgKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNo
YXJlZGFycmF5YnVmZmVyLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVm
ZmVyLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMjJiMzUxODhlZGIyNTE0
MTY1YmFkZGRlMWI1MDhhZDQzOWMwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXli
dWZmZXIuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorCitGQUlMIHNl
bmRpbmcgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeworICAgICAgICB4aHIuc2VuZChidWYpCisgICAgfSIgZGlkIG5vdCB0aHJvdwor
RkFJTCBzZW5kaW5nIGEgSW50OEFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFz
c2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIu
c2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQ4
QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAg
fSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWludDhDbGFtcGVkQXJyYXkgYmFja2Vk
IGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0
aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0
aHJvdworRkFJTCBzZW5kaW5nIGEgSW50MTZBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1
ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcg
YSBVaW50MTZBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dz
X2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQor
ICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJbnQzMkFycmF5IGJhY2tl
ZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3Qg
dGhyb3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQzMkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5
QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAg
ICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGlu
ZyBhIEZsb2F0MzJBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhy
b3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJy
KQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBGbG9hdDY0QXJyYXkg
YmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24g
ImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlk
IG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgRGF0YVZpZXcgYmFja2VkIGJ5IGEgU2hhcmVkQXJy
YXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5k
LWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVm
ZmVyLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYw
YTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFu
eS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFs
aWQtdW5pY29kZS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjAyYzUyM2NmZWM4YjkxMzc1ZDViMzU4NjA0ODM4
M2VjYmJhZDYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1BBU1MgaW52YWxpZCB1bmljb2RlICdc
dXtkODNkfScgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFT
UyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2Q4M2R9YWInIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxh
Y2VtZW50IGNoYXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdhXHV7ZDgzZH1iJyBzaG91
bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5p
Y29kZSAnYWJcdXtkODNkfScgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFj
dGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2RjOTR9JyBzaG91bGQgYmUgZml4ZWQgd2l0
aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnXHV7ZGM5NH1h
Yicgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZh
bGlkIHVuaWNvZGUgJ2FcdXtkYzk0fWInIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50
IGNoYXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdhYlx1e2RjOTR9JyBzaG91bGQgYmUg
Zml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIHZhbGlkIHVuaWNvZGUgc2hv
dWxkIGJlIHNlbnQgY29ycmVjdGx5IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5p
Y29kZS5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2RlLmFueS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuaHRtbApAQCAtMCwwICsxIEBACis8
IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUg
dG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWlu
dmFsaWQtdW5pY29kZS5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDlkYzVhNmJjZjhkZTUzNmFlMjExZDc5
NzU4OTFiZDhiYjUyZTNkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmlj
b2RlLmFueS5qcwpAQCAtMCwwICsxLDQ2IEBACisvLyBNRVRBOiB0aXRsZT1YTUxIdHRwUmVxdWVz
dC5zZW5kKGludmFsaWRVbmljb2RlU3RyaW5nKQorCitjb25zdCBMRUZUX1NVUlJPR0FURSA9ICdc
dWQ4M2QnOworY29uc3QgUklHSFRfU1VSUk9HQVRFID0gJ1x1ZGM5NCc7CisKKy8vIFVubWF0Y2hl
ZCBzdXJyb2dhdGVzIHNob3VsZCBiZSByZXBsYWNlZCB3aXRoIHRoZSB1bmljb2RlIHJlcGxhY2Vt
ZW50CisvLyBjaGFyYWN0ZXIsIDB4RkZGRC4gJyQnIGluIHRoZXNlIHRlbXBsYXRlcyBpcyByZXBs
YWNlZCB3aXRoIG9uZSBvZgorLy8gTEVGVF9TVVJST0dBVEUgb3IgUklHSFRfU1VSUk9HQVRFIGFj
Y29yZGluZyB0byB0aGUgdGVzdC4KK2NvbnN0IFRFTVBMQVRFUyA9IHsKKyAgJyQnOiBbMjM5LCAx
OTEsIDE4OV0sCisgICckYWInOiBbMjM5LCAxOTEsIDE4OSwgOTcsIDk4XSwKKyAgJ2EkYic6IFs5
NywgMjM5LCAxOTEsIDE4OSwgOThdLAorICAnYWIkJzogWzk3LCA5OCwgMjM5LCAxOTEsIDE4OV0s
Cit9OworCitmb3IgKGNvbnN0IHN1cnJvZ2F0ZSBvZiBbTEVGVF9TVVJST0dBVEUsIFJJR0hUX1NV
UlJPR0FURV0pIHsKKyAgZm9yIChjb25zdCBbdGVtcGxhdGUsIGV4cGVjdGVkXSBvZiBPYmplY3Qu
ZW50cmllcyhURU1QTEFURVMpKSB7CisgICAgY29uc3QgaW52YWxpZFN0cmluZyA9IHRlbXBsYXRl
LnJlcGxhY2UoJyQnLCBzdXJyb2dhdGUpOworICAgIGNvbnN0IHByaW50YWJsZVN0cmluZyA9IHRl
bXBsYXRlLnJlcGxhY2UoCisgICAgICAgICckJywgJ1xcdXsnICsgc3Vycm9nYXRlLmNoYXJDb2Rl
QXQoMCkudG9TdHJpbmcoMTYpICsgJ30nKTsKKyAgICBhc3luY190ZXN0KHQgPT4geworICAgICAg
eGhyU2VuZFN0cmluZ0FuZENoZWNrUmVzcG9uc2VCb2R5KHQsIGludmFsaWRTdHJpbmcsIGV4cGVj
dGVkKTsKKyAgICB9LCBgaW52YWxpZCB1bmljb2RlICcke3ByaW50YWJsZVN0cmluZ30nIHNob3Vs
ZCBiZSBmaXhlZCB3aXRoIGAgKworICAgICAgICAgICAgICAgYHJlcGxhY2VtZW50IGNoYXJhY3Rl
cmApOworICB9Cit9CisKKy8vIEZvciB0aGUgc2FrZSBvZiBjb21wbGV0ZW5lc3MsIHZlcmlmeSB0
aGF0IG1hdGNoZWQgc3Vycm9nYXRlcyB3b3JrLgorYXN5bmNfdGVzdCh0ID0+IHsKKyAgeGhyU2Vu
ZFN0cmluZ0FuZENoZWNrUmVzcG9uc2VCb2R5KHQsIExFRlRfU1VSUk9HQVRFICsgUklHSFRfU1VS
Uk9HQVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzI0MCwgMTU5LCAx
NDYsIDE0OF0pOworfSwgJ3ZhbGlkIHVuaWNvZGUgc2hvdWxkIGJlIHNlbnQgY29ycmVjdGx5Jyk7
CisKK2Z1bmN0aW9uIHhoclNlbmRTdHJpbmdBbmRDaGVja1Jlc3BvbnNlQm9keSh0LCBzdHJpbmcs
IGV4cGVjdGVkKSB7CisgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICB4aHIu
cmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKKyAgeGhyLm9ubG9hZCA9IHQuc3RlcF9mdW5j
KCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHhoci5zdGF0dXMsIDIwMCwgJ3N0YXR1cyBzaG91
bGQgYmUgMjAwJyk7CisgICAgY29uc3QgYWN0dWFsQm9keSA9IG5ldyBVaW50OEFycmF5KHhoci5y
ZXNwb25zZSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWxCb2R5LCBleHBlY3RlZCwg
J2NvbnRlbnQgc2hvdWxkIG1hdGNoJyk7CisgICAgdC5kb25lKCk7CisgIH0pOworICB4aHIub25l
cnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoJ25vIGVycm9yIHNob3VsZCBvY2N1cicpOworICB4aHIu
b3BlbignUE9TVCcsICdyZXNvdXJjZXMvY29udGVudC5weScsIHRydWUpOworICB4aHIuc2VuZChz
dHJpbmcpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kZjAyYzUyM2NmZWM4YjkxMzc1ZDViMzU4NjA0ODM4M2VjYmJh
ZDYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitQQVNTIGludmFsaWQgdW5pY29kZSAn
XHV7ZDgzZH0nIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BB
U1MgaW52YWxpZCB1bmljb2RlICdcdXtkODNkfWFiJyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBs
YWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnYVx1e2Q4M2R9Yicgc2hv
dWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVu
aWNvZGUgJ2FiXHV7ZDgzZH0nIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJh
Y3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdcdXtkYzk0fScgc2hvdWxkIGJlIGZpeGVkIHdp
dGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2RjOTR9
YWInIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1MgaW52
YWxpZCB1bmljb2RlICdhXHV7ZGM5NH1iJyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVu
dCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnYWJcdXtkYzk0fScgc2hvdWxkIGJl
IGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyB2YWxpZCB1bmljb2RlIHNo
b3VsZCBiZSBzZW50IGNvcnJlY3RseSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVu
aWNvZGUuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4
YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkud29ya2Vy
Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXVuZXhwZWN0ZWQtdG9zdHJpbmcu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1kYXRhLXVuZXhwZWN0ZWQtdG9zdHJpbmcuaHRtCmluZGV4IGI4YTNiNGFlNjkwMjM1N2NmZTM5
MmM0ODRlODQxM2JmZjE3MjkwNjEuLjI5MGFlMjA2NWZjMGZlOTEzOTUyNzY0OTZhM2RlZGZkMmNk
Nzg3MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NlbmQtZGF0YS11bmV4cGVjdGVkLXRvc3RyaW5nLmh0bQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtdW5leHBl
Y3RlZC10b3N0cmluZy5odG0KQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICAgIHRlc3QzLmRvbmUoKQog
ICAgIH0pCiAgICAgY2xpZW50Lm9wZW4oJ1BPU1QnLCAncmVzb3VyY2VzL2NvbnRlbnQucHknKQot
ICAgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywgZnVuY3Rpb24oKXsKKyAgICBh
c3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCBmdW5jdGlvbigpewogICAgICAg
Y2xpZW50LnNlbmQob2JqU2VuZHNPblN0cmluZ2lmaWNhdGlvbikKICAgICB9KQogICB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtZW50aXR5LWJvZHktZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBl
Y3RlZC50eHQKaW5kZXggOGZhZTcyMTg1MTQ2ZGI4NzFhZGE3NDcwOTFhYWVmNDM0YmMxZDlmYi4u
OTczNzI0MzU1YmE5ODdjZjBiOTU5OWFiNWJhZDI5NDE4MDE0Njk1MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHkt
Ym9keS1lbXB0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw1IEBACiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkg
ZW50aXR5IGJvZHkgKFBPU1QpIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0
eSBlbnRpdHkgYm9keSAoUFVUKSAKLVBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1w
dHkgZW50aXR5IGJvZHkgKEhFQUQpIAorRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBl
bXB0eSBlbnRpdHkgYm9keSAoSEVBRCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQg
Z290ICIwIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9k
eS1ub25lLWV4cGVjdGVkLnR4dAppbmRleCBmNjI2ZDIwNmY5NzkyNzJmNGM4M2ViN2Y1MGQzMGUx
YWMwMDE1NTFlLi41M2Q0NjdiMTdmMzg5NzZjODliZTMzNmY4N2I0NzFmYTEwMTdiNDJkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLWVudGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktbm9uZS1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1MgTm8gY29udGVudCB0eXBlIChQT1NUKSAK
IFBBU1MgTm8gY29udGVudCB0eXBlIChQVVQpIAotUEFTUyBObyBjb250ZW50IHR5cGUgKEhFQUQp
IAorRkFJTCBObyBjb250ZW50IHR5cGUgKEhFQUQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJO
TyIgYnV0IGdvdCAiMCIKIFBBU1MgRXhwbGljaXQgY29udGVudCB0eXBlIChQT1NUKSAKIFBBU1Mg
RXhwbGljaXQgY29udGVudCB0eXBlIChQVVQpIAogRkFJTCBFeHBsaWNpdCBjb250ZW50IHR5cGUg
KEhFQUQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJOTyIgYnV0IGdvdCAiMCIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
bmV0d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbmV0d29yay1lcnJvci1h
c3luYy1ldmVudHMuc3ViLWV4cGVjdGVkLnR4dAppbmRleCBlYjgxYmY2ODVmZjM0Y2VhOTQyNTNi
YmU2YzY5ODRkZWYwZWY0NjM0Li44MjEwOTYxOTVlZjFhNzNiYjNhOTM1MDNiNjkzZjgxYzVkZDE3
ZDI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3ItYXN5bmMtZXZlbnRzLnN1Yi1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEs
NCBAQAotQUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAogQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6ODgwMC8K
LUFMRVJUOiByZWFkeSBzdGF0ZSBpcyA0Ci1BTEVSVDogbG9hZCBlbmRlZAogCiBQQVNTIFhNTEh0
dHBSZXF1ZXN0OiBUaGUgc2VuZCgpIG1ldGhvZDogRmlyZSBhIHByb2dyZXNzIGV2ZW50IG5hbWVk
IGVycm9yIHdoZW4gTmV0d29yayBlcnJvciBoYXBwZW5zIChzeW5jaHJvbm91cyBmbGFnIGlzIHVu
c2V0KSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWIuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3Jr
LWVycm9yLWFzeW5jLWV2ZW50cy5zdWIuaHRtCmluZGV4IDMxZGNkZmY3MmM3ZjI4ZmNkYzkxMDg0
ZWZkYTc1OGM3ZjM5MzRlYmQuLmM1MWEwNWNkMjAxMDA2ZWQ3MDMyZWI3Y2YxOTNkZjIxNDkyMDNk
NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtbmV0d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmst
ZXJyb3ItYXN5bmMtZXZlbnRzLnN1Yi5odG0KQEAgLTE2LDI0ICsxNiwyMCBAQAogCiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICB2YXIgdGVzdCA9IGFzeW5jX3Rl
c3QoKTsKLSAgICAgICAgYWxlcnQoInRlc3Qgc3RhcnRlZCIpOwogCiAgICAgICAgIHRlc3Quc3Rl
cChmdW5jdGlvbigpewotICAgICAgICAgICAgYWxlcnQoInRlc3Qgc3RlcHBlZCIpOwogICAgICAg
ICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICAgICAgdmFyIGV4
cGVjdCA9ICBbImxvYWRzdGFydCIsICJ1cGxvYWQubG9hZHN0YXJ0IiwgNCwgInVwbG9hZC5lcnJv
ciIsICJ1cGxvYWQubG9hZGVuZCIsICJlcnJvciIsICJsb2FkZW5kIl07CiAgICAgICAgICAgICB2
YXIgYWN0dWFsID0gW107CiAKICAgICAgICAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSB0
ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CiAgICAgICAgICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRl
ID09IDQpIHsKLSAgICAgICAgICAgICAgICAgICAgYWxlcnQoInJlYWR5IHN0YXRlIGlzIDQiKTsK
ICAgICAgICAgICAgICAgICAgICAgYWN0dWFsLnB1c2goeGhyLnJlYWR5U3RhdGUpOwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAgICB4aHIub25sb2Fkc3Rh
cnQgICAgICAgID0gdGVzdC5zdGVwX2Z1bmMoZSA9PiB7IGFjdHVhbC5wdXNoKGUudHlwZSk7IH0p
CiAgICAgICAgICAgICB4aHIub25sb2FkZW5kICAgICAgICAgID0gdGVzdC5zdGVwX2Z1bmNfZG9u
ZShlID0+IHsKLSAgICAgICAgICAgICAgICBhbGVydCgibG9hZCBlbmRlZCIpOwogICAgICAgICAg
ICAgICAgIGFjdHVhbC5wdXNoKGUudHlwZSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhhY3R1YWwsIGV4cGVjdCk7CiAgICAgICAgICAgICB9KQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3Jr
LWVycm9yLXN5bmMtZXZlbnRzLnN1Yi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3luYy1ldmVudHMuc3ViLmh0
bQppbmRleCBiOWY0ZmRmOTlkZTdjYjZiOWU1ZGE4NmUxYjUxM2Q4ZGExZWI4YTZkLi4yMjY2ZWIz
NmUxZTM3OTFhNGZhMWI3MGVhMDg0Y2M2ZmNlYWQ5MjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3It
c3luYy1ldmVudHMuc3ViLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3luYy1ldmVudHMuc3ViLmh0bQpA
QCAtMTksNyArMTksNyBAQAogCiAgICAgICAgICAgICB4aHIub3BlbigiUE9TVCIsICJodHRwOi8v
bm9uZXhpc3RlbnQue3tob3N0fX06e3twb3J0c1todHRwXVswXX19IiwgZmFsc2UpOwogCi0gICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpCisgICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKQogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgIHhoci5zZW5kKCJUZXN0IE1lc3NhZ2UiKTsKICAgICAg
ICAgICAgIH0pOwpAQCAtMzMsNyArMzMsNyBAQAogCiAgICAgICAgICAgICB4aHIub3BlbigiR0VU
IiwgImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBUME5VV1ZCRklHaDBiV3cl
MkJEUW84IiwgZmFsc2UpOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJy
b3IiLCBmdW5jdGlvbigpCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vy
cm9yIiwgZnVuY3Rpb24oKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHhoci5zZW5k
KCJUZXN0IE1lc3NhZ2UiKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1ub24tc2FtZS1vcmln
aW4uaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1ub24tc2FtZS1vcmlnaW4uaHRtCmluZGV4IDZkYmJjYTc0NzdkMmZhMGViZDExMzJlMjNi
ZDFhMjU2NWQ1NTBlYTIuLmJiOWYzMmMxNzRmODg4M2FkOTI4ODU4YTFkMjY5NmRiMTFkMzMxMzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtbm9uLXNhbWUtb3JpZ2luLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5vbi1zYW1lLW9yaWdpbi5odG0KQEAgLTE4
LDcgKzE4LDcgQEAKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgICB2YXIgY2xp
ZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwg
dXJsLCBmYWxzZSkKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5j
dGlvbigpIHsgY2xpZW50LnNlbmQoKSB9KQorICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJO
ZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQoKSB9KQogICAgICAgICB9LCBk
b2N1bWVudC50aXRsZSArICIgKCIgKyB1cmwgKyAiKSIpCiAgICAgICB9CiAgICAgICB1cmwoIm1h
aWx0bzp0ZXN0QGV4YW1wbGUub3JnIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtYm9ndXMtc3luYy5odG0g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJl
ZGlyZWN0LWJvZ3VzLXN5bmMuaHRtCmluZGV4IGE5ZGM3M2U1ZmQ3NTRmM2UyMTkzYmQxM2Q3MGVk
MGNjYTU5ODNjZDIuLjBmMDU5OGIxNjQ1NDUxYTVmYjBkYWRhNThlOGZhYjA2Nzg4NjhhZDcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtcmVkaXJlY3QtYm9ndXMtc3luYy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC1ib2d1cy1zeW5jLmh0bQpA
QCAtMTMsNyArMTMsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZh
ciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVuKCJH
RVQiLCAicmVzb3VyY2VzL3JlZGlyZWN0LnB5P2xvY2F0aW9uPSIgKyBsb2NhdGlvbiArICImY29k
ZT0iICsgY29kZSwgZmFsc2UpCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCisgICAgICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9
KQogICAgICAgICB9LCBkb2N1bWVudC50aXRsZSArICIgKCIgKyBjb2RlICsgIjogIiArIGxvY2F0
aW9uICsgIikiKQogICAgICAgfQogICAgICAgcmVkaXJlY3QoIjMwMSIsICJmb29iYXI6Ly9hYmNk
IikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtcmVkaXJlY3QtaW5maW5pdGUtc3luYy5odG0gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWluZmluaXRlLXN5
bmMuaHRtCmluZGV4IDZlOWU0N2U1NWZjOWY4NGQ0ODA2MjNmZjc1ZmUwZGMzYjUxZWFlYTAuLmNj
NmQ3YTI0YmY2MzE0NmRiZmU0MDU3ZjVlN2U5MjVkOTRiNWEzNmMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3Qt
aW5maW5pdGUtc3luYy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC1pbmZpbml0ZS1zeW5jLmh0bQpAQCAtMTUsNyAr
MTUsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBjbGllbnQg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVz
b3VyY2VzL2luZmluaXRlLXJlZGlyZWN0cy5weT90eXBlPSIrY29kZSwgZmFsc2UpCi0gICAgICAg
ICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5k
KG51bGwpIH0pCisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1
bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQogICAgICAgICB9LCBkb2N1bWVudC50aXRs
ZSArICIgKCIgKyBjb2RlICsgIikiKQogICAgICAgfQogICAgICAgcmVkaXJlY3QoIjMwMSIpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC10by1jb3JzLmh0bQppbmRleCAwNGEy
YTFmZmU4N2QyOGU0NDMzYmU2YjRhZGVkOTIxNWFjYWZkNDBmLi41NGQ3ZWI1NTBkZjc1MTBhNThj
MThiZjU3ZTZiMTYxNGU3NmUwMGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVk
aXJlY3QtdG8tY29ycy5odG0KQEAgLTEyLDExICsxMiwxMSBAQAogICAgICAgICBpZiAoYm9keSA9
PT0gbnVsbCkgewogICAgICAgICAgIHJldHVybiB7IGJvZHk6ICIiLCB0eXBlOiAiTk8iIH07CiAg
ICAgICAgIH0KLSAgICAgICAgaWYgKHR5cGVvZiBib2R5ID09ICJzdHJpbmciKSB7CisgICAgICAg
IGlmICh0eXBlb2YgYm9keSA9PT0gInN0cmluZyIpIHsKICAgICAgICAgICByZXR1cm4geyBib2R5
OiBib2R5LCB0eXBlOiAidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04IiB9OwogICAgICAgICB9CiAg
ICAgICAgIGlmIChib2R5IGluc3RhbmNlb2YgVWludDhBcnJheSkgewotICAgICAgICAgIHZhciBh
cnIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChib2R5KTsKKyAgICAgICAgICBjb25zdCBh
cnIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChib2R5KTsKICAgICAgICAgICByZXR1cm4g
eyBib2R5OiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGFyciksIHR5cGU6ICJOTyIg
fQogICAgICAgICB9CiAgICAgICAgIHJldHVybiB7IGJvZHk6ICJFWFRSQUNUIE5PVCBJTVBMRU1F
TlRFRCIsIHR5cGU6ICJFWFRSQUNUIE5PVCBJTVBMRU1FTlRFRCIgfQpAQCAtMjQsNDkgKzI0LDU0
IEBACiAKICAgICAgIGZ1bmN0aW9uIHJlZGlyZWN0KGNvZGUsIG5hbWUgPSBjb2RlLCBtZXRob2Qg
PSAiR0VUIiwgYm9keSA9IG51bGwsIGV4cGxpY2l0VHlwZSA9IG51bGwsIHNhZmVsaXN0Q29udGVu
dFR5cGUgPSBmYWxzZSkgewogICAgICAgICBhc3luY190ZXN0KHQgPT4gewotICAgICAgICAgIHZh
ciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQorICAgICAgICAgIGxldCB7IGJvZHk6IGV4
cGVjdGVkQm9keSwgdHlwZTogZXhwZWN0ZWRUeXBlIH0gPSBleHRyYWN0Qm9keShib2R5KTsKKyAg
ICAgICAgICBpZiAoZXhwbGljaXRUeXBlICE9PSBudWxsKSB7CisgICAgICAgICAgICBleHBlY3Rl
ZFR5cGUgPSBleHBsaWNpdFR5cGU7CisgICAgICAgICAgfQorICAgICAgICAgIGxldCBleHBlY3Rl
ZE1ldGhvZCA9IG1ldGhvZDsKKyAgICAgICAgICBpZiAoKChjb2RlID09PSAiMzAxIiB8fCBjb2Rl
ID09PSAiMzAyIikgJiYgbWV0aG9kID09PSAiUE9TVCIpIHx8IChjb2RlID09PSAiMzAzIiAmJiBt
ZXRob2QgIT09ICJHRVQiICYmIG1ldGhvZCAhPT0gIkhFQUQiKSkgeworICAgICAgICAgICAgZXhw
ZWN0ZWRNZXRob2QgPSAiR0VUIjsKKyAgICAgICAgICAgIGV4cGVjdGVkQm9keSA9ICIiOworICAg
ICAgICAgICAgZXhwZWN0ZWRUeXBlID0gIk5PIjsKKyAgICAgICAgICB9CisgICAgICAgICAgY29u
c3QgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgY2xpZW50Lm9ucmVh
ZHlzdGF0ZWNoYW5nZSA9IHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgICAgICAgIGlmIChjbGll
bnQucmVhZHlTdGF0ZSA9PSA0KSB7Ci0gICAgICAgICAgICAgIGlmIChleHBsaWNpdFR5cGUgIT09
ICJhcHBsaWNhdGlvbi94LXBvbnkiIHx8IHNhZmVsaXN0Q29udGVudFR5cGUpIHsKLSAgICAgICAg
ICAgICAgICB2YXIgeyBib2R5OiBleHBlY3RlZEJvZHksIHR5cGU6IGV4cGVjdGVkVHlwZSB9ID0g
ZXh0cmFjdEJvZHkoYm9keSk7Ci0gICAgICAgICAgICAgICAgaWYgKGV4cGxpY2l0VHlwZSAhPT0g
bnVsbCkgewotICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRUeXBlID0gZXhwbGljaXRUeXBlCi0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgoKGNvZGUgPT09ICIzMDEiIHx8
IGNvZGUgPT09ICIzMDIiKSAmJiBtZXRob2QgPT09ICJQT1NUIikgfHwgY29kZSA9PT0gIjMwMyIp
IHsKLSAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJHRVQiCi0gICAgICAgICAgICAgICAgICBl
eHBlY3RlZEJvZHkgPSAiIgotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjbGll
bnQucmVhZHlTdGF0ZSA9PT0gNCkgeworICAgICAgICAgICAgICBpZiAoKGV4cGVjdGVkTWV0aG9k
ID09PSAiR0VUIiAmJiBleHBlY3RlZFR5cGUgPT09ICJOTyIpIHx8IGV4cGxpY2l0VHlwZSAhPT0g
ImFwcGxpY2F0aW9uL3gtcG9ueSIgfHwgc2FmZWxpc3RDb250ZW50VHlwZSkgewogICAgICAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywgMjAwKTsKLSAgICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRlcigieC1yZXF1ZXN0LW1ldGhv
ZCIpLCBtZXRob2QpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LmdldFJl
c3BvbnNlSGVhZGVyKCJ4LXJlcXVlc3QtbWV0aG9kIiksIGV4cGVjdGVkTWV0aG9kKTsKICAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRlcigieC1yZXF1
ZXN0LWNvbnRlbnQtdHlwZSIpLCBleHBlY3RlZFR5cGUpOwogICAgICAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoY2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCJ4LXJlcXVlc3QtZGF0YSIpLCBleHBl
Y3RlZEJvZHkpOwogICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vICJh
cHBsaWNhdGlvbi94LXBvbnkiIGlzIG5vdCBzYWZlbGlzdGVkIGJ5IGNvcnNlbmFibGVkLnB5IC0+
IG5ldHdvcmsgZXJyb3IKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0
dXMsIDApCi0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQuc3RhdHVzVGV4dCwg
IiIpCi0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQucmVzcG9uc2VUZXh0LCAi
IikKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVhNTCwgbnVs
bCkKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDApOworICAg
ICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1c1RleHQsICIiKTsKKyAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVRleHQsICIiKTsKKyAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVhNTCwgbnVsbCk7CiAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgdC5kb25lKCk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgfSkKLSAgICAgICAgICBsZXQgc2FmZWxpc3QgPSAiIgorICAgICAgICAgIH0pOworICAg
ICAgICAgIGxldCBzYWZlbGlzdCA9ICIiOwogICAgICAgICAgIGlmIChzYWZlbGlzdENvbnRlbnRU
eXBlKSB7Ci0gICAgICAgICAgICBzYWZlbGlzdCA9ICI/c2FmZWxpc3RfY29udGVudF90eXBlIgor
ICAgICAgICAgICAgc2FmZWxpc3QgPSAiP3NhZmVsaXN0X2NvbnRlbnRfdHlwZSI7CiAgICAgICAg
ICAgfQotICAgICAgICAgIGNsaWVudC5vcGVuKG1ldGhvZCwgInJlc291cmNlcy9yZWRpcmVjdC5w
eT9sb2NhdGlvbj0iK2VuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3d3dzIuIitsb2NhdGlvbi5o
b3N0Kyhsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9bXlwvXSskLywgJycpKSsncmVzb3VyY2Vz
L2NvcnNlbmFibGVkLnB5Jykrc2FmZWxpc3QrIiZjb2RlPSIgKyBjb2RlKQorICAgICAgICAgIGNs
aWVudC5vcGVuKG1ldGhvZCwgInJlc291cmNlcy9yZWRpcmVjdC5weT9sb2NhdGlvbj0iK2VuY29k
ZVVSSUNvbXBvbmVudCgiaHR0cDovL3d3dzIuIitsb2NhdGlvbi5ob3N0Kyhsb2NhdGlvbi5wYXRo
bmFtZS5yZXBsYWNlKC9bXlwvXSskLywgJycpKSsncmVzb3VyY2VzL2NvcnNlbmFibGVkLnB5Jykr
c2FmZWxpc3QrIiZjb2RlPSIgKyBjb2RlKTsKICAgICAgICAgICBpZiAoZXhwbGljaXRUeXBlICE9
PSBudWxsKSB7Ci0gICAgICAgICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1U
eXBlIiwgZXhwbGljaXRUeXBlKQorICAgICAgICAgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIo
IkNvbnRlbnQtVHlwZSIsIGV4cGxpY2l0VHlwZSk7CiAgICAgICAgICAgfQotICAgICAgICAgIGNs
aWVudC5zZW5kKGJvZHkpCi0gICAgICAgIH0sIGRvY3VtZW50LnRpdGxlICsgIiAoIiArIG5hbWUg
KyAiKSIpCisgICAgICAgICAgY2xpZW50LnNlbmQoYm9keSk7CisgICAgICAgIH0sIGRvY3VtZW50
LnRpdGxlICsgIiAoIiArIG5hbWUgKyAiKSIpOwogICAgICAgfQorICAgICAgLy8gY29yc2VuYWJs
ZWQucHkgc2FmZWxpc3RzIG1ldGhvZHMgR0VULCBQT1NULCBQVVQsIGFuZCBGT08KICAgICAgIHJl
ZGlyZWN0KCIzMDEiKQogICAgICAgcmVkaXJlY3QoIjMwMSIsICIzMDEgR0VUIHdpdGggZXhwbGlj
aXQgQ29udGVudC1UeXBlIiwgIkdFVCIsIG51bGwsICJhcHBsaWNhdGlvbi94LXBvbnkiKQogICAg
ICAgcmVkaXJlY3QoIjMwMSIsICIzMDEgR0VUIHdpdGggZXhwbGljaXQgQ29udGVudC1UeXBlIHNh
ZmVsaXN0ZWQiLCAiR0VUIiwgbnVsbCwgImFwcGxpY2F0aW9uL3gtcG9ueSIsIHRydWUpCisgICAg
ICByZWRpcmVjdCgiMzAzIiwgIjMwMyBHRVQgd2l0aCBleHBsaWNpdCBDb250ZW50LVR5cGUgc2Fm
ZWxpc3RlZCIsICJHRVQiLCBudWxsLCAiYXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkKICAgICAg
IHJlZGlyZWN0KCIzMDIiKQogICAgICAgcmVkaXJlY3QoIjMwMyIpCi0gICAgICByZWRpcmVjdCgi
MzAzIiwgIjMwMyBMQUxBIHdpdGggc3RyaW5nIGFuZCBleHBsaWNpdCBDb250ZW50LVR5cGUgc2Fm
ZWxpc3RlZCIsICJMQUxBIiwgInRlc3QiLCAiYXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkKKyAg
ICAgIHJlZGlyZWN0KCIzMDIiLCAiMzAyIEZPTyB3aXRoIHN0cmluZyBhbmQgZXhwbGljaXQgQ29u
dGVudC1UeXBlIHNhZmVsaXN0ZWQiLCAiRk9PIiwgInRlc3QiLCAiYXBwbGljYXRpb24veC1wb255
IiwgdHJ1ZSkKKyAgICAgIHJlZGlyZWN0KCIzMDMiLCAiMzAzIEZPTyB3aXRoIHN0cmluZyBhbmQg
ZXhwbGljaXQgQ29udGVudC1UeXBlIHNhZmVsaXN0ZWQiLCAiRk9PIiwgInRlc3QiLCAiYXBwbGlj
YXRpb24veC1wb255IiwgdHJ1ZSkKICAgICAgIHJlZGlyZWN0KCIzMDciKQogICAgICAgcmVkaXJl
Y3QoIjMwNyIsICIzMDcgcG9zdCB3aXRoIG51bGwiLCAiUE9TVCIsIG51bGwpCiAgICAgICByZWRp
cmVjdCgiMzA3IiwgIjMwNyBwb3N0IHdpdGggc3RyaW5nIiwgIlBPU1QiLCAiaGVsbG8iKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1zZW5kLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NlbmQtc2VuZC5hbnkuanMKaW5kZXggMmJmZTQwNDM2ZjRhNmJhOGMzYWRjMTUy
YzE4NmE3YjZkMjcyYjExNC4uNjRiMTU1NDE4MDk3M2E0Mjk5MzY2MGFmNzkyNjg4OTU4ODk5NzE2
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1zZW5kLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXNlbmQuYW55LmpzCkBAIC0yLDYgKzIsNiBAQCB0ZXN0
KGZ1bmN0aW9uKCkgewogICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgY2xp
ZW50Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvd2VsbC1mb3JtZWQueG1sIikKICAgY2xpZW50LnNl
bmQobnVsbCkKLSAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigp
IHsgY2xpZW50LnNlbmQobnVsbCkgfSkKKyAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0
ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCiAgIGNsaWVudC5hYm9y
dCgpCiB9LCAiWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSAtIHNlbmQoKSIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVz
dGhlYWRlci1hZnRlci1zZW5kLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXItYWZ0ZXItc2VuZC5odG0KaW5kZXggN2Nj
ZGIzZTRjMzEwOTA5MTI4NmMwMmJiZWE3YTU4OTIyMTU3MTRmMC4uMTc0ZTllYzQxOTZjN2ViNGI1
ZmFlMDUwYTRjZTliMDFhNTBlZTg0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1hZnRlci1zZW5kLmh0
bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZXRyZXF1ZXN0aGVhZGVyLWFmdGVyLXNlbmQuaHRtCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAg
IGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2RlbGF5LnB5P21zPTAiKQogICAgICAgICBj
bGllbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdGVzdC5z
dGVwKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRl
RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0
ZXN0IikgfSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJv
ciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC10ZXN0IiwgInRlc3Qi
KSB9KQogICAgICAgICAgICAgaWYoY2xpZW50LnJlYWR5U3RhdGUgPT0gNCkKICAgICAgICAgICAg
ICAgdGVzdC5kb25lKCkKICAgICAgICAgICB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1iZWZvcmUt
b3Blbi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZXRyZXF1ZXN0aGVhZGVyLWJlZm9yZS1vcGVuLmh0bQppbmRleCBjYmU0YjI5OWM5ZGFjMTgx
NTQzNDA0OTMwNzNlNzQxOWIwNzczY2I4Li41YzM3N2ZiYzEwMDc2YTJkOThiYjRiZGM0NmNlMmVj
OGMxOGFjNmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJlZm9yZS1vcGVuLmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVh
ZGVyLWJlZm9yZS1vcGVuLmh0bQpAQCAtMTEsNyArMTEsNyBAQAogICAgIDxzY3JpcHQ+CiAgICAg
ICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1
ZXN0KCkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlv
bigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0ZXN0IikgfSkKKyAgICAg
ICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNs
aWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCAidGVzdCIpIH0pCiAgICAgICAgIH0sICdz
ZXRSZXF1ZXN0SGVhZGVyIGludm9rZWQgYmVmb3JlIG9wZW4oKScpCiAgICAgPC9zY3JpcHQ+CiAg
IDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXItYm9ndXMtbmFtZS5odG0gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJv
Z3VzLW5hbWUuaHRtCmluZGV4IDg2ZTU1ZjMzYTAwNjQ5Y2YyNWMwNWIwNDkxNGZiNzc1NmVmNmJj
YjkuLmNlMjMwOGNjNjdkZWJiNTI4MDAxNTNhMDg0YWY2MTQ4MjNmNTk5MTMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NldHJlcXVl
c3RoZWFkZXItYm9ndXMtbmFtZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1ib2d1cy1uYW1lLmh0bQpAQCAt
MjcsMTQgKzI3LDE0IEBACiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdmFy
IGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgICAgY2xpZW50Lm9wZW4oIkdF
VCIsICIuLi4iKQotICAgICAgICAgIGFzc2VydF90aHJvd3MoIlN5bnRheEVycm9yIiwgZnVuY3Rp
b24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkKKyAgICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50
LnNldFJlcXVlc3RIZWFkZXIobmFtZSwgJ3gtdmFsdWUnKSB9KQogICAgICAgICB9LCAic2V0UmVx
dWVzdEhlYWRlciBzaG91bGQgdGhyb3cgd2l0aCBoZWFkZXIgbmFtZSAiICsgZm9ybWF0X3ZhbHVl
KGludmFsaWRfaGVhZGVyc1tpXSkgKyAiLiIpCiAgICAgICB9CiAgICAgICBmdW5jdGlvbiB0cnlf
Ynl0ZV9zdHJpbmcobmFtZSkgewogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAg
IHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVu
KCJHRVQiLCAiLi4uIikKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkK
KyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IGNsaWVu
dC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkKICAgICAgICAgfSwgInNldFJl
cXVlc3RIZWFkZXIgc2hvdWxkIHRocm93IHdpdGggaGVhZGVyIG5hbWUgIiArIGZvcm1hdF92YWx1
ZShpbnZhbGlkX2J5dGVfc3RyaW5nc1tpXSkgKyAiLiIpCiAgICAgICB9CiAgICAgICB2YXIgaW52
YWxpZF9oZWFkZXJzID0gWyIoIiwgIikiLCAiPCIsICI+IiwgIkAiLCAiLCIsICI7IiwgIjoiLCAi
XFwiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1ib2d1cy12YWx1ZS5odG0gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3Vz
LXZhbHVlLmh0bQppbmRleCAxNWZiYjM5MDUyNTI2ZGYwNTJhZjg5NDBjYjhkYjcxNDkzMDJhZmM0
Li5jYmEzNDFjNWRjNjg5MzM2NjI5ZjUyNWNmZTY3MjRmZjAwMmU4MzhlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0
aGVhZGVyLWJvZ3VzLXZhbHVlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3VzLXZhbHVlLmh0bQpAQCAt
MTQsNyArMTQsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBj
bGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgICBjbGllbnQub3BlbigiR0VU
IiwgIi4uLiIpOwotICAgICAgICAgIGFzc2VydF90aHJvd3MoIlN5bnRheEVycm9yIiwgZnVuY3Rp
b24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCB2YWx1ZSkgfSwgJyBnaXZl
biB2YWx1ZSAnICsgdmFsdWUrJywgJyk7CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlN5
bnRheEVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3Qi
LCB2YWx1ZSkgfSwgJyBnaXZlbiB2YWx1ZSAnICsgdmFsdWUrJywgJyk7CiAgICAgICAgIH0pOwog
ICAgICAgfQogICAgICAgdHJ5X3ZhbHVlKCJ0XHgwMHQiKTsKQEAgLTIzLDEzICsyMywxMyBAQAog
ICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpOwogICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIpOwotICAgICAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKCJ4LXRlc3QiLCAi776D7729776EIikgfSwgJyBnaXZlbiB2YWx1ZSDvvoPvvb3v
voQsJyk7CisgICAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsg
Y2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICLvvoPvvb3vvoQiKSB9LCAnIGdpdmVu
IHZhbHVlIO++g++9ve++hCwnKTsKICAgICAgIH0pOwogCiAgICAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICAgICAgY2xp
ZW50Lm9wZW4oIkdFVCIsICIuLi4iKQotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiKSB9KQor
ICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IGNsaWVudC5z
ZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiKSB9KQogICAgICAgfSwgJ09taXR0ZWQgdmFsdWUgYXJn
dW1lbnQnKQogICAgIDwvc2NyaXB0PgogICA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWNv
bnRlbnQtdHlwZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlwZS5odG0KaW5kZXggODYwOGM1OTY3
ZDZiMjliYTRmOWQwOWFlN2JmMzk1YTZiMjY4NzZjMi4uMDcyMzgzOTFlYjVjYzg2MzllZGJlOTk2
MjA4YTE4YjZkOWQyNmIwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1jb250ZW50LXR5cGUuaHRtCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NldHJl
cXVlc3RoZWFkZXItY29udGVudC10eXBlLmh0bQpAQCAtMjE1LDI0ICsyMTUsNiBAQAogICAgICAg
ICAvLyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jYm9keWluaXQsIHNvIHRoZSB1c2Vy
J3MgbXVzdCBiZSBjaGFuZ2VkIHRvIG1hdGNoIGl0CiAgICAgICAgIC8vIGFzIHBlciBodHRwczov
L3hoci5zcGVjLndoYXR3Zy5vcmcvI3RoZS1zZW5kJTI4JTI5LW1ldGhvZCBzdGVwIDQuCiAgICAg
ICApCi0gICAgICByZXF1ZXN0KAotICAgICAgICBmdW5jdGlvbiBfUmVhZGFibGVTdHJlYW0oKSB7
IHJldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oKSB9LAotICAgICAgICB7IkNvbnRlbnQtVHlwZSI6
ICIifSwKLSAgICAgICAgIiIsCi0gICAgICAgICdSZWFkYWJsZVN0cmVhbSByZXF1ZXN0IHJlc3Bl
Y3RzIHNldFJlcXVlc3RIZWFkZXIoIiIpJwotICAgICAgKQotICAgICAgcmVxdWVzdCgKLSAgICAg
ICAgZnVuY3Rpb24gX1JlYWRhYmxlU3RyZWFtKCkgeyByZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFt
KCkgfSwKLSAgICAgICAge30sCi0gICAgICAgIHVuZGVmaW5lZCwKLSAgICAgICAgIlJlYWRhYmxl
U3RyZWFtIHJlcXVlc3Qgd2l0aCB1bmRlciB0eXBlIHNlbmRzIG5vIENvbnRlbnQtVHlwZSB3aXRo
b3V0IHNldFJlcXVlc3RIZWFkZXIoKSBjYWxsIgotICAgICAgKQotICAgICAgcmVxdWVzdCgKLSAg
ICAgICAgZnVuY3Rpb24gX1JlYWRhYmxlU3RyZWFtKCkgeyByZXR1cm4gbmV3IFJlYWRhYmxlU3Ry
ZWFtKCkgfSwKLSAgICAgICAgeyJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24veG1sO2NoYXJz
ZXQ9QVNDSUkifSwKLSAgICAgICAgImFwcGxpY2F0aW9uL3htbDtjaGFyc2V0PUFTQ0lJIiwKLSAg
ICAgICAgIlJlYWRhYmxlU3RyZWFtIHJlcXVlc3Qga2VlcHMgc2V0UmVxdWVzdEhlYWRlcigpIENv
bnRlbnQtVHlwZSBhbmQgY2hhcnNldCIKLSAgICAgICkKICAgICA8L3NjcmlwdD4KICAgPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvdGltZW91dC1zeW5jLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3RpbWVvdXQtc3luYy5odG0KaW5kZXggOTgxNTUzMmM3
MGZmMzQ3MTk5YTk5OGYwMmJmNGIxMWYxNWM3YmNlZS4uZDhiMmNjNDhmMzY0N2QyMTZhMzgyNGUx
MzkxY2QyNjEyNDE5YzFmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvdGltZW91dC1zeW5jLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci90aW1lb3V0LXN5bmMuaHRtCkBAIC0x
MywxMiArMTMsMTIgQEAKICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBjbGll
bnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICBjbGllbnQub3BlbignR0VUJywgJ2Zv
bGRlci50eHQnLCBmYWxzZSkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZEFjY2Vzc0Vy
cm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC50aW1lb3V0ID0gMTAwMCB9KQorICAgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC50
aW1lb3V0ID0gMTAwMCB9KQogICAgICAgICB9LCAnc2V0dGluZyB0aW1lb3V0IGF0dHJpYnV0ZSBv
biBzeW5jIHJlcXVlc3QnKQogICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNs
aWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgIGNsaWVudC50aW1lb3V0ID0gMTAw
MAotICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigp
IHsgY2xpZW50Lm9wZW4oJ0dFVCcsICdmb2xkZXIudHh0JywgZmFsc2UpIH0pCisgICAgICAgIGFz
c2VydF90aHJvd3NfZG9tKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50
Lm9wZW4oJ0dFVCcsICdmb2xkZXIudHh0JywgZmFsc2UpIH0pCiAgICAgICAgIH0sICdvcGVuKCkg
d2l0aCBhc3luYyBmYWxzZSB3aGVuIHRpbWVvdXQgaXMgc2V0JykKICAgICA8L3NjcmlwdD4KICAg
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZwppbmRleCA2OGRlNzI2YzgyNWY3MTdh
YWMzOWQ3MTUxNDk5ODllYTczZGZkMzJmLi40NWFmMzFhYTIwOWRiOTFlOTQzYTc2NGM4ODEwMDI1
ZDU4YmE1NDAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZwpAQCAtODUsNiArODUsNyBA
QCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2FsbG93LWxpc3RzLXN0YXJ0aW5nLXdpdGgtY29tbWEuaHRtCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYW5vbnltb3VzLW1vZGUtdW5z
dXBwb3J0ZWQuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvY2xvc2Utd29ya2VyLXdpdGgteGhyLWluLXByb2dyZXNzLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1
Yi5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9kYXRhLXVyaS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC1hYm9ydC5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbApAQCAtMjIzLDcg
KzIyNCw4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWJsb2IuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnkuanMK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRh
dGEtZm9ybWRhdGEuYW55LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJh
eWJ1ZmZlci5hbnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtdW5leHBl
Y3RlZC10b3N0cmluZy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LWJhc2ljLmh0bQogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktZG9jdW1lbnQt
Ym9ndXMuaHRtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC1uZXR3b3JrLWVycm9yLXN5bmMuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIveG1saHR0cHJlcXVl
c3QtbmV0d29yay1lcnJvci1zeW5jLmh0bQppbmRleCBjNGE4ODdhMWViZWU3NjM5MGRlYTkyOGY4
YzU2YTJjOGYzNGQ2YWQyLi5lZTM2N2ZiZTBlZTI0NWI5ZjhkZmJmNmRlMTMyOTdlMmI2MjM5YmMw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci94bWxodHRwcmVxdWVzdC1uZXR3b3JrLWVycm9yLXN5bmMuaHRtCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LW5l
dHdvcmstZXJyb3Itc3luYy5odG0KQEAgLTIwLDcgKzIwLDcgQEAKICAgICAgIHRlc3QoZnVuY3Rp
b24oKSB7CiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAg
ICBjbGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVjdHMucHkiLCBm
YWxzZSkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7
IGNsaWVudC5zZW5kKG51bGwpIH0sICJzZW5kIikKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
Ik5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9LCAic2VuZCIp
CiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywgMCwgInN0YXR1cyIpCiAgICAg
ICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1c1RleHQsICIiLCAic3RhdHVzVGV4dCIpCiAg
ICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LmdldEFsbFJlc3BvbnNlSGVhZGVycygpLCAiIiwg
ImdldEFsbFJlc3BvbnNlSGVhZGVycyIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC11bnNlbnQuaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIveG1saHR0cHJl
cXVlc3QtdW5zZW50Lmh0bQppbmRleCBlYjUyZDYzZWVmOTcxODk1ZjY5ZjFiMDE1MWJhYTQ1NzI1
MGRkNDUyLi44MjI4MmIwMTYzZTZhYjQ5M2RlNDA0OTIwYzY2YTYyNmQ5NTRjMmZlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxo
dHRwcmVxdWVzdC11bnNlbnQuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LXVuc2VudC5odG0KQEAgLTIwLDggKzIw
LDggQEAKICAgICA8c2NyaXB0PgogICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFy
IGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCi0gICAgICAgIGFzc2VydF90aHJvd3MoIklu
dmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4
LXRlc3QiLCAidGVzdCIpIH0sICJzZXRSZXF1ZXN0SGVhZGVyIikKLSAgICAgICAgYXNzZXJ0X3Ro
cm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkg
fSwgInNlbmQiKQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3Ii
LCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0ZXN0Iikg
fSwgInNldFJlcXVlc3RIZWFkZXIiKQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxp
ZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSwgInNlbmQiKQog
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDAsICJzdGF0dXMiKQogICAgICAg
ICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXNUZXh0LCAiIiwgInN0YXR1c1RleHQiKQogICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSwgIiIsICJn
ZXRBbGxSZXNwb25zZUhlYWRlcnMiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1v
cmRlci5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWItZXhw
ZWN0ZWQudHh0CmluZGV4IGIzMzBiYjMwOWY2MzgyODlkOWFjOWNjNGZkMmVlZGRlNmIxOTZmZDku
LjVkM2Y4MTVkNjU3YzVmMmExZmFkZjE0MTFiNzk3ZDE3Yzk5ODhiMjUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvZXZlbnQtZXJyb3Itb3JkZXIuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2
ZW50LWVycm9yLW9yZGVyLnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwzIEBACi1BTEVSVDog
dGVzdCBzdGFydGVkCi1BTEVSVDogdGVzdCBzdGVwcGVkCi1BTEVSVDogbG9hZCBlbmRlZAotQUxF
UlQ6IGZpbmlzaGluZyB0ZXN0CiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IGV2ZW50IC0gZXJyb3Ig
KG9yZGVyIG9mIGV2ZW50cykgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNh
dGlvbi1iYXNpYy1jb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlv
bi1iYXNpYy1jb3JzLWV4cGVjdGVkLnR4dAppbmRleCBkNDE3NWEyODFmYTBmZjBhZmRmMTFiYTA4
NWNkZTdiOTc4MWQ2ODBjLi4zNzIzYmMyOWM5ZTc0ODZmODA1NDZkMjVkOWYwYzFjMzhjMGVjNDA2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAotQUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRl
c3Qgc3RlcHBlZAotQUxFUlQ6IHJlYWR5IHN0YXRlIGNoYW5nZWQgdG8gNAotQUxFUlQ6IGZpbmlz
aGluZyB0ZXN0CiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSAtICJCYXNpYyIgYXV0aGVu
dGljYXRlZCBDT1JTIHJlcXVlc3RzIHdpdGggdXNlciBuYW1lIGFuZCBwYXNzd29yZCBwYXNzZWQg
dG8gb3BlbigpIChhc3NlcnRzIGZhaWx1cmUpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
bmV0d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IDFiNGNh
MzVhNTU2YzBmMzY1ZWMwMDY3MTBlOWRiZjhlZmMwMTYwOGQuLjJhMTQ1OGU0MWE1NmU5NDA4OGVj
N2RkZDI4ZDVlYzczYmFhZWIzZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVy
cm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3
b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAot
QUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAotQUxFUlQ6IHJlYWR5IHN0
YXRlIGlzIDQKLUFMRVJUOiBsb2FkIGVuZGVkCiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IFRoZSBz
ZW5kKCkgbWV0aG9kOiBGaXJlIGEgcHJvZ3Jlc3MgZXZlbnQgbmFtZWQgZXJyb3Igd2hlbiBOZXR3
b3JrIGVycm9yIGhhcHBlbnMgKHN5bmNocm9ub3VzIGZsYWcgaXMgdW5zZXQpIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1l
bnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQKaW5kZXggOTczNzI0MzU1YmE5ODdjZjBiOTU5
OWFiNWJhZDI5NDE4MDE0Njk1Mi4uOGZhZTcyMTg1MTQ2ZGI4NzFhZGE3NDcwOTFhYWVmNDM0YmMx
ZDlmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktZW1wdHktZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LWVtcHR5LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDUgQEAKIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0eSBlbnRpdHkgYm9k
eSAoUE9TVCkgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0OiBzZW5kKCIiKSAtIGVtcHR5IGVudGl0eSBi
b2R5IChQVVQpIAotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0eSBlbnRpdHkg
Ym9keSAoSEVBRCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQgZ290ICIwIgorUEFT
UyBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0eSBlbnRpdHkgYm9keSAoSEVBRCkgCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtZW50aXR5LWJvZHktbm9uZS1leHBlY3RlZC50eHQKaW5kZXggNTNkNDY3YjE3ZjM4OTc2
Yzg5YmUzMzZmODdiNDcxZmExMDE3YjQyZC4uYmNhNjk0Nzc3OGExZTAzODMxMDVlNzA2NzczZGRi
Y2Q1ZjZlM2FiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktbm9uZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktbm9uZS1leHBlY3RlZC50eHQKQEAgLTEs
OCArMSw4IEBACiAKIFBBU1MgTm8gY29udGVudCB0eXBlIChQT1NUKSAKIFBBU1MgTm8gY29udGVu
dCB0eXBlIChQVVQpIAotRkFJTCBObyBjb250ZW50IHR5cGUgKEhFQUQpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJOTyIgYnV0IGdvdCAiMCIKK1BBU1MgTm8gY29udGVudCB0eXBlIChIRUFEKSAK
IFBBU1MgRXhwbGljaXQgY29udGVudCB0eXBlIChQT1NUKSAKIFBBU1MgRXhwbGljaXQgY29udGVu
dCB0eXBlIChQVVQpIAotRkFJTCBFeHBsaWNpdCBjb250ZW50IHR5cGUgKEhFQUQpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJOTyIgYnV0IGdvdCAiMCIKK1BBU1MgRXhwbGljaXQgY29udGVudCB0
eXBlIChIRUFEKSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403835</attachid>
            <date>2020-07-08 19:27:14 -0700</date>
            <delta_ts>2020-07-09 08:44:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214105-20200708192713.patch</filename>
            <type>text/plain</type>
            <size>169662</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTQyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA0ZjY2ZTc2NDMzODM2MTNkY2E5NDM2ZGEzNDBjMWI2ZDAwMmM4ZjQzLi5lZGE5OWUxYTE0
ZDQ2NWY3MWY0MDFjNWRkMDdmNWIyZThiMTlhZjQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNy0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMveGhyIGZyb20g
dXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNDEwNQorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgIFJl
c3luYyB3ZWItcGxhdGZvcm0tdGVzdHMveGhyIGZyb20gdXBzdHJlYW0gY2VmOTNiNThlN2NmMzFm
MWQ0N2NjLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3hoci8qOiBVcGRhdGVkLgor
CiAyMDIwLTA3LTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVzeW5jIGFsbCByZW1haW5pbmcgd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwgdGVzdHMgZnJvbSB1
cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvRm9ybURhdGEtYXBwZW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBlbmQuaHRtbAppbmRleCBhMTAy
NDRmYTIzZDQ3NWE2ZmM0Y2I2ZmUyYjE1Zjg2OWMzMDgxMjE4Li5jNjRiOTNjYmM3ZWY4MmMzNmFi
Y2VkNGNjMWQ1YzFjZjYwZjFiMmY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBlbmQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBl
bmQuaHRtbApAQCAtODEsMTEgKzgxLDExIEBACiAgICAgfSwgJ3Rlc3RGb3JtRGF0YUFwcGVuZFRv
Rm9ybU51bGwyJyk7CiAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGZkID0gbmV3
IEZvcm1EYXRhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtIikpOwotICAgICAgICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4ge2ZkLmFwcGVuZCgnbmFtZScsICJzdHJp
bmciLCAnZmlsZW5hbWUnKX0pOworICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwg
KCkgPT4ge2ZkLmFwcGVuZCgnbmFtZScsICJzdHJpbmciLCAnZmlsZW5hbWUnKX0pOwogICAgIH0s
ICd0ZXN0Rm9ybURhdGFBcHBlbmRUb0Zvcm1TdHJpbmcnKTsKICAgICB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgICAgICB2YXIgZmQgPSBuZXcgRm9ybURhdGEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZvcm0iKSk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7
ZmQuYXBwZW5kKCduYW1lJywgbmV3IFVSTFNlYXJjaFBhcmFtcygpLCAnZmlsZW5hbWUnKX0pOwor
ICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4ge2ZkLmFwcGVuZCgnbmFt
ZScsIG5ldyBVUkxTZWFyY2hQYXJhbXMoKSwgJ2ZpbGVuYW1lJyl9KTsKICAgICB9LCAndGVzdEZv
cm1EYXRhQXBwZW5kVG9Gb3JtV3JvbmdQbGF0Zm9ybU9iamVjdCcpOwogICAgIHRlc3QoZnVuY3Rp
b24oKSB7CiAgICAgICAgIHZhciBiZWZvcmUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUo
KSAtIDIwMDApOyAvLyB0d28gc2Vjb25kcyBhZ28sIGluIGNhc2UgdGhlcmUncyBjbG9jayBkcmlm
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvWE1MSHR0cFJlcXVlc3Qtd2l0aENyZWRlbnRpYWxzLmFueS5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL1hNTEh0dHBSZXF1ZXN0LXdpdGhD
cmVkZW50aWFscy5hbnkuanMKaW5kZXggOTZlOTVjOTBmYWYwNjQ1ZGZhZDA5YzI0YTgwZWQ0Yjhj
ZDVhNDg4MC4uMjdmZmE3MGQ1YjllY2I0Y2IxNGYxZTA5NzM0N2U2MWUzNDMwYWRiZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvWE1M
SHR0cFJlcXVlc3Qtd2l0aENyZWRlbnRpYWxzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9YTUxIdHRwUmVxdWVzdC13aXRoQ3JlZGVu
dGlhbHMuYW55LmpzCkBAIC0yMyw5ICsyMyw5IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CiAg
IHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICBjbGllbnQub3BlbigiR0VUIiwg
InJlc291cmNlcy9kZWxheS5weT9tcz0xMDAwIikKICAgY2xpZW50LnNlbmQoKQotICBhc3NlcnRf
dGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQud2l0aENyZWRl
bnRpYWxzID0gdHJ1ZSB9KQorICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3Ii
LCBmdW5jdGlvbigpIHsgY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUgfSkKICAgY2xpZW50
Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgIGFz
c2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC53aXRo
Q3JlZGVudGlhbHMgPSB0cnVlIH0pCisgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0
ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlIH0pCiAg
ICAgaWYgKGNsaWVudC5yZWFkeVN0YXRlID09PSA0KSB7CiAgICAgICB0aGlzLmRvbmUoKQogICAg
IH0KQEAgLTM2LDUgKzM2LDUgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgdmFyIGNsaWVudCA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpCiAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2RlbGF5
LnB5P21zPTEwMDAiLCBmYWxzZSkKICAgY2xpZW50LnNlbmQoKTsKLSAgYXNzZXJ0X3Rocm93cygi
SW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LndpdGhDcmVkZW50aWFscyA9
IHRydWUgfSkKKyAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rp
b24oKSB7IGNsaWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlIH0pCiB9LCAic2V0dGluZyB3aXRo
Q3JlZGVudGlhbHMgd2hlbiBpbiBET05FIHN0YXRlIChzeW5jaHJvbm91cykiKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtZGVuaWVkLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5odG0KaW5kZXgg
NTM1NzYyZDBlZGFmZTFkNTg1MTBmNDNmMTI5NmQxZDk2NjJjOGIyNC4uOTcwZTA5ZDBmNTdjZmY5
NzFiYjQ0NjJiZDRlYmFlZDY5ZWI3OGFkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZGVuaWVk
Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9hY2Nlc3MtY29udHJvbC1iYXNpYy1kZW5pZWQuaHRtCkBAIC0yMiw3ICsyMiw3IEBACiAgICAg
ICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CiAKICAgICAgIHhoci5vcGVuKCJHRVQi
LCBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgcGF0aCwgZmFsc2UpOwotICAg
ICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoKSk7CisgICAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoKSk7CiAg
ICAgICBhc3NlcnRfZXF1YWxzKHhoci5zdGF0dXMsIDApOwogICAgIH0sICJDcm9zcy1vcmlnaW4g
cmVxdWVzdCBkZW5pZWQiKTsKICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2lj
LWdldC1mYWlsLW5vbi1zaW1wbGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZ2V0LWZhaWwtbm9uLXNpbXBs
ZS5odG0KaW5kZXggYTRmZTIzNDYwZDEyZDdkM2NkOTA3NDY0MjU3ZGY5OGVkZDI5YWE5Zi4uOTcz
NzBiZDY1MDI0MWUyZWZlNzk5ZGRlMzdkMTMwOTliZWU5NmNjMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wt
YmFzaWMtZ2V0LWZhaWwtbm9uLXNpbXBsZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZ2V0LWZhaWwt
bm9uLXNpbXBsZS5odG0KQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgIHhoci5zZXRSZXF1ZXN0SGVh
ZGVyKCJ4LXRlc3QiLCAiZm9vYmFyIik7CiAKICAgICAgIC8vIFRoaXMgZmFpbHMgYmVjYXVzZSB0
aGUgc2VydmVyLXNpZGUgc2NyaXB0IGlzIG5vdCBwcmVwYXJlZCBmb3IgYW4gT1BUSU9OUyByZXF1
ZXN0Ci0gICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgp
KTsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2Vu
ZCgpKTsKICAgICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywgMCk7CiAgICAgfSwgIlByZWZs
aWdodGVkIGNyb3NzLW9yaWdpbiByZXF1ZXN0IGRlbmllZCIpOwogICAgIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
YWNjZXNzLWNvbnRyb2wtYmFzaWMtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRt
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtCmluZGV4
IDA2MmY4YjBiYjViNDY2YzI2NGI4MGY4Zjk4M2M5NGQ0OWNjMWI5YWEuLjBlMGU5NzFmZDRiNWMx
ZjgxMzlmZTUyZTQxZGRmNzdjY2IzMDQ2NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLW5vbi1j
b3JzLXNhZmVsaXN0ZWQtY29udGVudC10eXBlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1ub24tY29y
cy1zYWZlbGlzdGVkLWNvbnRlbnQtdHlwZS5odG0KQEAgLTIyLDcgKzIyLDcgQEAKICAgICAgICAg
ICAiL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHV0LWFsbG93LnB5IiwgZmFs
c2UpOwogICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNh
dGlvbi94bWwiKTsKIAotICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgKCkgPT4g
eGhyLnNlbmQoIkZBSUw6IFBVVCBkYXRhIHJlY2VpdmVkIikpOworICAgICAgYXNzZXJ0X3Rocm93
c19kb20oIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCJGQUlMOiBQVVQgZGF0YSByZWNl
aXZlZCIpKTsKICAgICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywgMCwgIkNyb3NzLWRvbWFp
biBhY2Nlc3Mgd2FzIGRlbmllZCBpbiAnc2VuZCcuIik7CiAgICAgfSwgIkRlbnkgY3Jvc3Mtb3Jp
Z2luIHJlcXVlc3Qgd2l0aCBub24tQ09SUy1zYWZlbGlzdGVkIGNvbnRlbnQgdHlwZSIpOwogICAg
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcG9zdC13aXRoLW5vbi1jb3JzLXNh
ZmVsaXN0ZWQtY29udGVudC10eXBlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLXBvc3Qtd2l0aC1ub24tY29y
cy1zYWZlbGlzdGVkLWNvbnRlbnQtdHlwZS5odG0KaW5kZXggMGE2ZGY5MzJhYTQ0ZTY0YjYwMjVi
NDA1NTEzN2YyMTJkMTExZmUzMi4uZjYzZTZiYzkyNGUyNmU2YWFmZDEwZjIyMDMwMDYyOTMyMGE2
NWNmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcG9zdC13aXRoLW5vbi1jb3JzLXNhZmVsaXN0
ZWQtY29udGVudC10eXBlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1wb3N0LXdpdGgtbm9uLWNvcnMt
c2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtCkBAIC0yOSw3ICsyOSw3IEBACiAKICAgICAgIHho
ci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veG1sIik7CiAK
LSAgICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCkpOwor
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCkp
OwogICAgICAgYXNzZXJ0X2VxdWFscyh4aHIuc3RhdHVzLCAwLCAiQ3Jvc3MtZG9tYWluIGFjY2Vz
cyB3YXMgZGVuaWVkIGluICdzZW5kJy4iKTsKICAgICB9LCAiQ09SUyByZXF1ZXN0IHdpdGggbm9u
LXNhZmVsaXN0ZWQgY29udGVudCB0eXBlIHNlbmRzIHByZWZsaWdodCBhbmQgZmFpbHMiKTsKICAg
ICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLWhlYWRlci1kZW5p
ZWQuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
YWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtaGVhZGVyLWRlbmllZC5odG0KaW5kZXggNzk0
OGMxOGEyZWZjYzZjMDJkNzZmNjgzYTNkYmI1ZmEyNTU4YzhhZS4uODY5N2YxZWRlOTViMDE3OGFh
ZWIwNTg0MDA0ZGZmZjZhZWNiNWM1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMt
aGVhZGVyLWRlbmllZC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtaGVhZGVyLWRlbmll
ZC5odG0KQEAgLTIyLDcgKzIyLDcgQEAgdGVzdCgoKSA9PiB7CiAgIHhoci5vcGVuKCJHRVQiLCB1
cmwgKyAiJmNvbW1hbmQ9aGVhZGVyIiwgZmFsc2UpOwogICB4aHIuc2V0UmVxdWVzdEhlYWRlcigi
eC10ZXN0IiwgImZvbyIpOwogCi0gIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsICgpID0+
IHhoci5zZW5kKCkpOworICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4g
eGhyLnNlbmQoKSk7CiAKICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwogICB4aHIub3Blbigi
R0VUIiwgdXJsICsgIiZjb21tYW5kPWNvbXBsZXRlIiwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRy
b2wtcHJlZmxpZ2h0LXN5bmMtbWV0aG9kLWRlbmllZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3lu
Yy1tZXRob2QtZGVuaWVkLmh0bQppbmRleCBhNTRjMzA4ZDlmMTE5MGVhMjNhMGRmNDYwZjc4ZmU3
Njk2NGMwMThlLi4wY2E2YzVjZGY0YTA4YjkyNTI5OWFlYzA4Y2IxMTE0ZmVmY2FmMjg4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9h
Y2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJv
bC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bQpAQCAtMjEsNyArMjEsNyBAQCB0ZXN0
KCgpID0+IHsKICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwogICB4aHIub3BlbigiREVMRVRF
IiwgdXJsICsgIiZjb21tYW5kPW1ldGhvZCIsIGZhbHNlKTsKIAotICBhc3NlcnRfdGhyb3dzKCJO
ZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgpKTsKKyAgYXNzZXJ0X3Rocm93c19kb20oIk5l
dHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCkpOwogCiAgIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdDsKICAgeGhyLm9wZW4oIkdFVCIsIHVybCArICImY29tbWFuZD1jb21wbGV0ZSIsIGZhbHNl
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW5vdC1zdXBwb3J0ZWQuaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNv
bnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5odG0KaW5kZXggYmIwODI5NjMwNGY5
ZWY2MTllZjRiNTgxZmRmMTE2OTUzZjFmMzE2Ni4uZjVkZjRhMmQ0YjU3YTdiMmEzNWZlNmI5MzZk
YzM1NzIxNjMyY2Y5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBv
cnRlZC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5odG0KQEAg
LTIxLDcgKzIxLDcgQEAgdGVzdCgoKSA9PiB7CiAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsK
ICAgeGhyLm9wZW4oIlBVVCIsIHVybCwgZmFsc2UpOwogCi0gIGFzc2VydF90aHJvd3MoIk5ldHdv
cmtFcnJvciIsICgpID0+IHhoci5zZW5kKCIiKSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3
b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgiIikpOwogCiAgIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdDsKICAgeGhyLm9wZW4oIkdFVCIsIHVybCArICImY29tbWFuZD1jb21wbGV0ZSIsIGZhbHNl
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS5qcwpp
bmRleCBjZTlhY2ZmOWE1NzA5NDJjMjRlYmEwNGM5NGZhYzU0OWY1MjVlYzgyLi45ZDg4MDQ2ODA2
Yzc2NGE0NjdiMGFkNTlmZWMzYzczZDlmMGZhMTRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5h
bnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvY29ycy1leHBvc2Utc3Rhci5zdWIuYW55LmpzCkBAIC01LDcgKzUsNiBAQCBjb25zdCB1cmwg
PSAiaHR0cDovL3t7aG9zdH19Ont7cG9ydHNbaHR0cF1bMV19fSIgKyBkaXJuYW1lKGxvY2F0aW9u
LnBhdGhuYW1lKSArCiAKIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CiAgIGNvbnN0IGhlYWRlcnMg
PSAiaGVhZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSIKLSAgICBjb25zb2xlLmxv
Zyh1cmwpOwogICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgIGNsaWVudC5v
cGVuKCJHRVQiLCB1cmwgKyBzaGFyZWRIZWFkZXJzICsgaGVhZGVycyk7CiAgIGNsaWVudC5zZW5k
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3Nl
LXN0YXIuc3ViLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViNTg1M2NkMzE1
OTk4NDM3NzExMGNkN2Y1NGI1MjdhNDY1ZGY4YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFy
LnN1Yi5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBCYXNp
YyBBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVyczogKiBzdXBwb3J0IAorUEFTUyAqIGZvciBj
cmVkZW50aWFsZWQgZmV0Y2hlcyBvbmx5IG1hdGNoZXMgbGl0ZXJhbGx5IAorUEFTUyAqIGNhbiBi
ZSBvbmUgb2Ygc2V2ZXJhbCB2YWx1ZXMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS53
b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgy
OTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvY29ycy1leHBv
c2Utc3Rhci5zdWIuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRl
bXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWFi
b3J0LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL2V2ZW50LWFib3J0LmFueS5qcwppbmRleCA5YjM4Y2NmOWM5ZTE5NzY1MTExYjk2ZGY1OTVh
YmY3ODBmNmJmZWI4Li41YjE3ZWNlMDA4NWFlZDhiYmUyNzIzYTQ3MTBkYmJmZDYzZjQ1NzNkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9ldmVudC1hYm9ydC5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtYWJvcnQuYW55LmpzCkBAIC0xMiw0ICsxMiw0IEBAIHRl
c3Quc3RlcChmdW5jdGlvbiAoKSB7CiAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKICAgICBh
c3NlcnRfdW5yZWFjaGVkKCJvbmFib3J0IG5vdCBjYWxsZWQgYWZ0ZXIgNCBtcyIpOwogICB9LCA0
KTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3It
b3JkZXIuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2V2ZW50LWVycm9yLW9yZGVyLnN1Yi1leHBlY3RlZC50eHQKaW5kZXgg
ZDY0MmE5ZDRhMzJmMzZmMzNlNjY0OWFlODMxNGZjOWE4ODVmZGExOC4uMDI2ZjExZWNiZmI3ZmE3
Mjg1M2IzNTQ4MmFjNTI2NDA2NmFmZjJmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Itb3JkZXIuc3ViLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC1lcnJvci1vcmRlci5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNCBAQAot
QUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAogQmxvY2tlZCBhY2Nlc3Mg
dG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6ODgwMC8KLUFMRVJU
OiBsb2FkIGVuZGVkCi1BTEVSVDogZmluaXNoaW5nIHRlc3QKIAogUEFTUyBYTUxIdHRwUmVxdWVz
dDogZXZlbnQgLSBlcnJvciAob3JkZXIgb2YgZXZlbnRzKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Itb3Jk
ZXIuc3ViLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbAppbmRleCA3MDMyM2FiMTE4ZWMyODkzOTM0
MTA3NDdiZDIxM2Q1NTM5YWY1OWFmLi5mMDM3MDdlYjk4ZDdmNTczN2M2YWVjNDRkMGRlNGMwNDNk
ZWIzNzMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIu
aHRtbApAQCAtMTMsMjAgKzEzLDE2IEBACiAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CiAgICAgICAgIHZhciB0ZXN0ID0gYXN5bmNfdGVzdCgpOwotICAgICAgICBhbGVydCgi
dGVzdCBzdGFydGVkIik7CiAKICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkKICAgICAgICAg
ewotICAgICAgICAgICAgYWxlcnQoInRlc3Qgc3RlcHBlZCIpOwogICAgICAgICAgICAgdmFyIHho
ciA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICAgICAgcHJlcGFyZV94aHJfZm9yX2V2
ZW50X29yZGVyX3Rlc3QoeGhyKTsKIAogICAgICAgICAgICAgeGhyLmFkZEV2ZW50TGlzdGVuZXIo
ImxvYWRlbmQiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBhbGVydCgibG9hZCBlbmRl
ZCIpOwogICAgICAgICAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAgICAg
ICAgICAgICAgLy8gbm8gcHJvZ3Jlc3MgZXZlbnRzIGR1ZSB0byBDT1JTIGZhaWx1cmUKICAgICAg
ICAgICAgICAgICAgICAgYXNzZXJ0X3hocl9ldmVudF9vcmRlcl9tYXRjaGVzKFsxLCAibG9hZHN0
YXJ0KDAsMCxmYWxzZSkiLCAidXBsb2FkLmxvYWRzdGFydCgwLDEyLHRydWUpIiwgNCwgInVwbG9h
ZC5lcnJvcigwLDAsZmFsc2UpIiwgInVwbG9hZC5sb2FkZW5kKDAsMCxmYWxzZSkiLCAiZXJyb3Io
MCwwLGZhbHNlKSIsICJsb2FkZW5kKDAsMCxmYWxzZSkiXSk7Ci0gICAgICAgICAgICAgICAgICAg
IGFsZXJ0KCJmaW5pc2hpbmcgdGVzdCIpOwogICAgICAgICAgICAgICAgICAgICB0ZXN0LmRvbmUo
KTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Iu
c3ViLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL2V2ZW50LWVycm9yLnN1Yi5hbnkuanMKaW5kZXggZGY2M2RjMDViZmE0MWNjNGRhOTY3OWQw
MjBiNGNiZGJiNGU5MDZhNC4uNjJhMTU4Y2RjZmJjYzgwZmI2ZjZhN2RiNmY2ZmZkODhlNjA3NGM1
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvZXZlbnQtZXJyb3Iuc3ViLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci5zdWIuYW55LmpzCkBAIC0xMCw0
ICsxMCw0IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKIAogICBjbGllbnQub3BlbigiR0VU
IiwgImh0dHA6Ly9ub25leGlzdGVudC57e2hvc3R9fTp7e3BvcnRzW2h0dHBdWzBdfX0iKTsKICAg
Y2xpZW50LnNlbmQoIm51bGwiKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvZXZlbnQtbG9hZC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcwppbmRleCA3MmU0NmE1Y2VhODFlYzA2
YTk4MWQ5NzNjNTY0ZGI0YzdkOWYzY2I3Li5kY2I5MmNjOTgwZGM5ZWJjYWNhYzAzNWM3MjFmOTg0
M2UyMDM1MmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcwpAQCAtMTgsNCAr
MTgsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB9KTsKICAgY2xpZW50Lm9wZW4oIkdF
VCIsICJyZXNvdXJjZXMvd2VsbC1mb3JtZWQueG1sIik7CiAgIGNsaWVudC5zZW5kKG51bGwpOwot
fSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkZW5kLmFu
eS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2
ZW50LWxvYWRlbmQuYW55LmpzCmluZGV4IDdiZDE4NDRiMzc4YzBmNjNkYTQ0YTg5NmUzOThlOGIx
ZWRjZDljZjUuLjE2MDg3YjUyOTY3YzAxZjc3MzhhYTY1ODQwYWU0ZDE2MTc5ZTUyYmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2
ZW50LWxvYWRlbmQuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRlbmQuYW55LmpzCkBAIC0xNiw0ICsxNiw0IEBAIHRl
c3Quc3RlcChmdW5jdGlvbiAoKSB7CiAgIH07CiAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3Vy
Y2VzL3dlbGwtZm9ybWVkLnhtbCIpOwogICBjbGllbnQuc2VuZChudWxsKTsKLX0pOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtbG9hZHN0YXJ0LXVwbG9hZC5hbnku
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVu
dC1sb2Fkc3RhcnQtdXBsb2FkLmFueS5qcwppbmRleCAwZjQxY2QxMjg2Yjc0YTdjMGYwZGVmMmZj
OWIxNmY0YTgxZGMzYzk3Li4zOTE4YWRiNjZhOTUzZGNkNzE2ZGZjMjUyZTI1MDIzNmRjZTg3OTU5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC1sb2Fkc3RhcnQtdXBsb2FkLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2Fkc3RhcnQtdXBsb2FkLmFu
eS5qcwpAQCAtMTYsNCArMTYsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB9KTsKICAg
Y2xpZW50Lm9wZW4oIlBPU1QiLCAicmVzb3VyY2VzL3RyaWNrbGUucHk/bXM9NSZjb3VudD04Iik7
CiAgIGNsaWVudC5zZW5kKCdmb289YmFyJyk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL2V2ZW50LWxvYWRzdGFydC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2Fkc3RhcnQuYW55LmpzCmluZGV4
IDQ3Nzg0MDRhMDBlZjVmYTIzMDJkMGI5Mzc3NmUxYzUwMzlhMWE1YTEuLjU1YWY0YzMxNjMxNTBm
MDA3MWFkMGNmNjRlMmM1Y2IwZWFlNzkyMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRzdGFydC5hbnkuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQt
bG9hZHN0YXJ0LmFueS5qcwpAQCAtMTQsNCArMTQsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkg
ewogICB9LCA1MDApOwogICBjbGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy93ZWxsLWZvcm1l
ZC54bWwiKTsKICAgY2xpZW50LnNlbmQobnVsbCk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2V2ZW50LXByb2dyZXNzLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXByb2dyZXNzLmFueS5qcwppbmRl
eCAwZTdjM2E0MmM3ZGY2ODcyZDllMjNhMzlmMjE2NGExODViZjI1MWZjLi4wOTRkMzYxODExNzFk
NWE1Yzc5MDAzZjYxYTYzZmYxNTM2YmY3MDE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1wcm9ncmVzcy5hbnkuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQt
cHJvZ3Jlc3MuYW55LmpzCkBAIC0xNSw0ICsxNSw0IEBAIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7
CiAgIH0pOwogICBjbGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy90cmlja2xlLnB5P2NvdW50
PTQmZGVsYXk9MTUwIik7CiAgIGNsaWVudC5zZW5kKG51bGwpOwotfSk7ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0YXRlLXN5bmMtb3Blbi5hbnkuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1y
ZWFkeXN0YXRlLXN5bmMtb3Blbi5hbnkuanMKaW5kZXggMzIxNjM1ZTdkZWE0MGMyOGQ0MzQ5MGM3
ODQ2ZWJmZGY5Nzk5M2FmMi4uYThhNGZlN2Y5YTE5NmI2YWIwMWQ4NGJlZjFlOWYwYjliNjE4NGQ1
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvZXZlbnQtcmVhZHlzdGF0ZS1zeW5jLW9wZW4uYW55LmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5c3RhdGUtc3lu
Yy1vcGVuLmFueS5qcwpAQCAtMjAsNCArMjAsNCBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgfQog
ICBjbGllbnQub3BlbignR0VUJywgIi4uLiIsIHRydWUpCiAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZXZlbnRzRmlyZWQsIFsxXSkKLX0sIHRpdGxlICsgJyAoYXN5bmMpJyk7ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorfSwgdGl0bGUgKyAnIChhc3luYyknKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5c3Rh
dGVjaGFuZ2UtbG9hZGVkLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5c3RhdGVjaGFuZ2UtbG9hZGVkLmFueS5qcwppbmRl
eCAxZTQ0NjdhYWViZGFmOWJmMTkyYjE2ZDY3OWVlOWY5MjQ4OGRiYTI1Li5hMzNlNmY4OTIyNzhl
ZjZkMzFhODcwYmQxZmUzNWVmNDJmMGQyOTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0YXRlY2hhbmdlLWxv
YWRlZC5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvZXZlbnQtcmVhZHlzdGF0ZWNoYW5nZS1sb2FkZWQuYW55LmpzCkBAIC0yMCw0ICsy
MCw0IEBAIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CiAKICAgICBjbGllbnQub3BlbigiR0VUIiwg
InJlc291cmNlcy90cmlja2xlLnB5P2NvdW50PTEwIik7IC8vIGRlZmF1bHQgdGltZW91dCBpbiB0
cmlja2xlLnB5IGlzIDEvMiBzZWMsIHNvIHRoaXMgcmVxdWVzdCB3aWxsIHRha2UgNSBzZWNvbmRz
IHRvIGNvbXBsZXRlCiAgICAgY2xpZW50LnNlbmQobnVsbCk7Ci19KTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXRpbWVvdXQtb3JkZXIuYW55LmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGltZW91dC1v
cmRlci5hbnkuanMKaW5kZXggYjM1ZTkwOGE5ZDhjMTAyYWE5MDE5NjQ5ZmFkNmM1OTE3NzlkNjBj
Ni4uNTUzMTk4MTRhOTAwNjQ3ODZjNzI2YWJmNmQ3M2M3NWU2ZTRiNDVkMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGlt
ZW91dC1vcmRlci5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGltZW91dC1vcmRlci5hbnkuanMKQEAgLTE4LDQgKzE4LDQg
QEAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7
CiAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm9udGltZW91dCBub3QgY2FsbGVkLiIpOwogICAg
IH0sIDEwKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQt
dGltZW91dC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC10aW1lb3V0LmFueS5qcwppbmRleCBkMTE0YjA4YjNlMTI0ZWVmNTYwYTNm
ZDdiY2UxMjQ3Y2Y0M2EzNDdlLi5kYThjYTExYmI4ZWExYThlZjY3M2JlMjBhZTJkZTg3MTVhNGQx
MTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC10aW1lb3V0LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC10aW1lb3V0LmFueS5qcwpAQCAtMTUsNCAr
MTUsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9
PiB7CiAgICAgYXNzZXJ0X3VucmVhY2hlZCgib250aW1lb3V0IG5vdCBjYWxsZWQuIik7CiAgIH0s
IDEwKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBs
b2FkLXByb2dyZXNzLWNyb3Nzb3JpZ2luLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXVwbG9hZC1wcm9ncmVzcy1jcm9zc29yaWdp
bi5hbnkuanMKaW5kZXggMTAzNmYyYjE0ZjBhMzk3NDRkNWI5MmVhOTVjNmYyYzViZjBjNjdiNy4u
OWY0YzQ0YWFiZTc1ZTM3ZjY2Nzg4Y2Q5ZDdiODhmNTgyNzY4OWUyOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBsb2Fk
LXByb2dyZXNzLWNyb3Nzb3JpZ2luLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MtY3Jvc3Nvcmln
aW4uYW55LmpzCkBAIC0yMyw0ICsyMyw0IEBAIGNvbnN0IHJlbW90ZSA9IGdldF9ob3N0X2luZm8o
KS5IVFRQX1JFTU9URV9PUklHSU4gKyAiL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQuCiAgICAg
Y2xpZW50LnVwbG9hZC5vbmxvYWRzdGFydCA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoKTsgLy8gcmVn
aXN0ZXJlZCB0b28gbGF0ZQogICAgIGNsaWVudC51cGxvYWQub25wcm9ncmVzcyA9IHRlc3QudW5y
ZWFjaGVkX2Z1bmMoKTsgLy8gcmVnaXN0ZXJlZCB0b28gbGF0ZQogICB9LCAiVXBsb2FkIGV2ZW50
cyByZWdpc3RlcmVkIHRvbyBsYXRlICgiICsgdXJsICsgIikiKTsKLX0pOwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBsb2FkLXByb2dyZXNzLmFueS5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXVwbG9h
ZC1wcm9ncmVzcy5hbnkuanMKaW5kZXggNWQxNTQ2NzU3YmE0MjRjNmJjZTBjMTQ0MTJkZWI4MTQ5
NDE5OGU4YS4uODcyMjNjMTcyZDUwYmIwMTM3OWE4NjA3NWQzNTVlNWE0YmNiYmNmZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZl
bnQtdXBsb2FkLXByb2dyZXNzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MuYW55LmpzCkBAIC0y
Myw0ICsyMyw0IEBAIGNvbnN0IHJlbW90ZSA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9P
UklHSU4gKyAiL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQuCiAgICAgY2xpZW50LnVwbG9hZC5v
bmxvYWRzdGFydCA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoKTsgLy8gcmVnaXN0ZXJlZCB0b28gbGF0
ZQogICAgIGNsaWVudC51cGxvYWQub25wcm9ncmVzcyA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoKTsg
Ly8gcmVnaXN0ZXJlZCB0b28gbGF0ZQogICB9LCAiVXBsb2FkIGV2ZW50cyByZWdpc3RlcmVkIHRv
byBsYXRlICgiICsgdXJsICsgIikiKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
K30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvZm9ybWRhdGEtYmxvYi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQppbmRleCA1ZWZlZjdiNjE1YmJm
YTdkYzU0ODkxZmU0MDQwNWMwZjYyZWI5OGUyLi45MmNlZTU1Y2QyZjgwZjE1ZGUyNjg0ZWJmYzEy
OWE1YTZiMWQzOGYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQpAQCAtMzgs
NyArMzgsNyBAQAogICAvLyBJZiAzcmQgYXJndW1lbnQgaXMgZ2l2ZW4gYW5kIDJuZCBpcyBub3Qg
YSBCbG9iLCBmb3JtZGF0YS5hcHBlbmQoKSBzaG91bGQgdGhyb3cKICAgdmFyIHRlc3QgPSBhc3lu
Y190ZXN0KCdmb3JtZGF0YS5hcHBlbmQoKSBzaG91bGQgdGhyb3cgaWYgdmFsdWUgaXMgc3RyaW5n
IGFuZCBmaWxlIG5hbWUgaXMgZ2l2ZW4nKTsgLy8gbmVlZHMgdG8gYmUgYXN5bmMganVzdCBiZWNh
dXNlIHRoZSBvdGhlcnMgYWJvdmUgYXJlCiAgIHRlc3Quc3RlcChmdW5jdGlvbigpewotICAgIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpeworICAgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpewogICAgICAgY3JlYXRlX2Zvcm1kYXRhKCdhJywg
J2InLCAnYycpOwogICAgIH0pOwogICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLWV4
cGVjdGVkLnR4dAppbmRleCBlMGFlNmFmMGNiZWQ1MTQ4ZTJlZWQ4MDhiNjk4Njk0MWZmNTcyMzUz
Li42NTZmNzhhNWM3ZTA2Y2EzNzIwNDUwZTZmMGU2ZGU3Y2NkNDdhMzk3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvZm9ybWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQAogCiAKIAotRkFJ
TCBDb25zdHJ1Y3RvcnMgc2hvdWxkIHRocm93IGEgdHlwZSBlcnJvciBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiKCkgPT4geyBuZXcgRm9ybURhdGEobnVsbCk7IH0iIGRpZCBub3QgdGhyb3cKK0ZB
SUwgQ29uc3RydWN0b3JzIHNob3VsZCB0aHJvdyBhIHR5cGUgZXJyb3IgYXNzZXJ0X3Rocm93c19q
czogZnVuY3Rpb24gIigpID0+IHsgbmV3IEZvcm1EYXRhKG51bGwpOyB9IiBkaWQgbm90IHRocm93
CiBQQVNTIGVtcHR5IGZvcm1kYXRhIAogUEFTUyBmb3JtZGF0YSB3aXRoIHN0cmluZyAKIFBBU1Mg
Zm9ybWRhdGEgd2l0aCBuYW1lZCBzdHJpbmcgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1zZXQuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEtc2V0Lmh0
bQppbmRleCBlZTQzZTE1NjlmMTk1OGU1YzcxZjE0YTNiZDg5Yjc1NzU2ZDZhODVjLi5kNDZlNDRh
OTE2ZmQyMGNiOWJhOTRiMWFjNWMyNDgxNjU5ZWM3Y2RjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1zZXQuaHRtCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1k
YXRhLXNldC5odG0KQEAgLTgxLDExICs4MSwxMSBAQAogICAgIH0sICd0ZXN0Rm9ybURhdGFTZXRU
b0Zvcm1OdWxsMicpOwogICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBmZCA9IG5l
dyBGb3JtRGF0YShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybSIpKTsKLSAgICAgICAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHtmZC5zZXQoJ25hbWUnLCAic3RyaW5n
IiwgJ2ZpbGVuYW1lJyl9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgp
ID0+IHtmZC5zZXQoJ25hbWUnLCAic3RyaW5nIiwgJ2ZpbGVuYW1lJyl9KTsKICAgICB9LCAndGVz
dEZvcm1EYXRhU2V0VG9Gb3JtU3RyaW5nJyk7CiAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAg
ICAgdmFyIGZkID0gbmV3IEZvcm1EYXRhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtIikp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4ge2ZkLnNldCgn
bmFtZScsIG5ldyBVUkxTZWFyY2hQYXJhbXMoKSwgJ2ZpbGVuYW1lJyl9KTsKKyAgICAgICAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHtmZC5zZXQoJ25hbWUnLCBuZXcgVVJMU2Vh
cmNoUGFyYW1zKCksICdmaWxlbmFtZScpfSk7CiAgICAgfSwgJ3Rlc3RGb3JtRGF0YVNldFRvRm9y
bVdyb25nUGxhdGZvcm1PYmplY3QnKTsKICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICB2
YXIgZmQgPSBuZXcgRm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLmh0bSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLmh0bQppbmRleCA2OTlj
MTFhYjc4MzhhMzJhM2U2MjQ2MGYxM2EyYTQyN2Q4ZDgxNzA3Li42NzUyMDNjYjFhZjc2ZDcxMjQy
MzgxZDQ5ZWZjMTMzYTVkNTM4NGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS5odG0KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEuaHRtCkBAIC0zOSw4
ICszOSw4IEBACiAgIH0KIAogICB0ZXN0KCgpID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgKCkgPT4geyBuZXcgRm9ybURhdGEobnVsbCk7IH0pOwotICAgIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7IG5ldyBGb3JtRGF0YSgic3RyaW5nIik7IH0p
OworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7IG5ldyBGb3JtRGF0YShu
dWxsKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsgbmV3IEZv
cm1EYXRhKCJzdHJpbmciKTsgfSk7CiAgIH0sICJDb25zdHJ1Y3RvcnMgc2hvdWxkIHRocm93IGEg
dHlwZSBlcnJvciIpOwogCiAgIGRvX3Rlc3QoImVtcHR5IGZvcm1kYXRhIiwgbmV3IEZvcm1EYXRh
KCksICdcbicpOwpAQCAtNzIsNyArNzIsNyBAQAogICAgIGxldCBjb3VudGVyID0gMDsKICAgICBm
b3JtLmFkZEV2ZW50TGlzdGVuZXIoJ2Zvcm1kYXRhJywgZSA9PiB7CiAgICAgICArK2NvdW50ZXI7
Ci0gICAgICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsgbmV3IEZv
cm1EYXRhKGUudGFyZ2V0KSB9KTsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3Rh
dGVFcnJvcicsICgpID0+IHsgbmV3IEZvcm1EYXRhKGUudGFyZ2V0KSB9KTsKICAgICB9KTsKICAg
ICBuZXcgRm9ybURhdGEoZm9ybSk7CiAgICAgYXNzZXJ0X2VxdWFscyhjb3VudGVyLCAxKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L2hlYWRlcnMtbm9ybWFsaXplLXJlc3BvbnNlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2hlYWRlcnMtbm9ybWFsaXplLXJlc3BvbnNlLmh0bQpp
bmRleCA4NGYyZmM4NTgyMTI3YjlhOGUyNzE4ODdkNDIwYjNlYTdhODc2OTZhLi4zZDQ3MmY2ODhj
ZjZkOTgzNmZhZDIwNDU3ODRmNTcwNWQ5ZjUzMmYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9oZWFkZXJzLW5vcm1hbGl6ZS1yZXNw
b25zZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvaGVhZGVycy1ub3JtYWxpemUtcmVzcG9uc2UuaHRtCkBAIC05LDcgKzksNyBAQCBmdW5j
dGlvbiBlcnJvcih2YWwpIHsKICAgdGVzdCgoKSA9PiB7CiAgICAgY29uc3QgY2xpZW50ID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgY2xpZW50Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcGFy
c2UtaGVhZGVycy5weT9teS1jdXN0b20taGVhZGVyPSIrZW5jb2RlVVJJQ29tcG9uZW50KHZhbCks
IGZhbHNlKTsKLSAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiBjbGllbnQu
c2VuZCgpKTsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4gY2xp
ZW50LnNlbmQoKSk7CiAgIH0sICJIZWFkZXIgdmFsdWU6ICIgKyB2YWwucmVwbGFjZSgiXDAiLCAi
XFwwIikpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9sb2Fkc3RhcnQtYW5kLXN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9sb2Fkc3RhcnQtYW5kLXN0YXRlLmh0
bWwKaW5kZXggNDYwYjJiZmM5OTA4NWIxZDZiOTAwODYwZjMyNTBmMGY2YWM3MDI2Mi4uOGIzNDRh
NThmODFmNWQ2ZDcxZGU3MDFlYzQxNGQ1YjEyNDY3MzcyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvbG9hZHN0YXJ0LWFuZC1zdGF0
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL2xvYWRzdGFydC1hbmQtc3RhdGUuaHRtbApAQCAtNyw5ICs3LDkgQEAKIGFzeW5jX3Rlc3Qo
dCA9PiB7CiAgIGNvbnN0IGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdAogICBjbGllbnQub25s
b2Fkc3RhcnQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cygiSW52YWxp
ZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiR2VuZXJhbCIsICJP
cmdhbmEiKSkKLSAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+IGNs
aWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlKQotICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRT
dGF0ZUVycm9yIiwgKCkgPT4gY2xpZW50LnNlbmQoKSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgi
SW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiR2VuZXJh
bCIsICJPcmdhbmEiKSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3Ii
LCAoKSA9PiBjbGllbnQud2l0aENyZWRlbnRpYWxzID0gdHJ1ZSkKKyAgICBhc3NlcnRfdGhyb3dz
X2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2VuZCgpKQogICAgIGNsaWVu
dC5vbmxvYWRzdGFydCA9IG51bGwKICAgICBjbGllbnQub3BlbigiR0VUIiwgImRhdGE6LEJCLTgi
KQogICAgIGNsaWVudC5zZW5kKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWJvZ3VzLmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWJvZ3Vz
Lmh0bQppbmRleCAyNjNlN2I2ZGI3ZWIxNTgxMDI4YmFkMWM3NDI2MjdkNTk3ZTkwNTQwLi4xM2Ji
MThiZjVjNGZhZTU2MzJkOWYwNzZmZTkzYmM2NTgxMWUxMjUwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1ib2d1
cy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3Blbi1tZXRob2QtYm9ndXMuaHRtCkBAIC0xMiw3ICsxMiw3IEBACiAgICAgICBmdW5jdGlv
biBtZXRob2QobWV0aG9kKSB7CiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
dmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCi0gICAgICAgICAgYXNzZXJ0X3Rocm93
cygiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9wZW4obWV0aG9kLCAiLi4uIikg
fSkKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigp
IHsgY2xpZW50Lm9wZW4obWV0aG9kLCAiLi4uIikgfSkKICAgICAgICAgfSwgZG9jdW1lbnQudGl0
bGUgKyAiICgiICsgbWV0aG9kICsgIikiKQogICAgICAgfQogICAgICAgbWV0aG9kKCIiKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
b3Blbi1tZXRob2QtaW5zZWN1cmUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1tZXRob2QtaW5zZWN1cmUuaHRtCmluZGV4IDFhNzdmZjNl
Yzc5NzMwMDU5ODI1NDRkMTc4MTQ3MGEyY2Q3ZDBkZjEuLmE2YmY0NDIyNDgxZmVmZjI2Nzc1NDdj
N2FiNWM2NGI0YjIyNGI4MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWluc2VjdXJlLmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1p
bnNlY3VyZS5odG0KQEAgLTEyLDcgKzEyLDcgQEAKICAgICAgIGZ1bmN0aW9uIG1ldGhvZChtZXRo
b2QpIHsKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgICB2YXIgY2xpZW50ID0g
bmV3IFhNTEh0dHBSZXF1ZXN0KCkKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVy
cm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKG1ldGhvZCwgIi4uLiIpIH0pCisgICAgICAg
ICAgYXNzZXJ0X3Rocm93c19kb20oIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50
Lm9wZW4obWV0aG9kLCAiLi4uIikgfSkKICAgICAgICAgfSwgZG9jdW1lbnQudGl0bGUgKyAiICgi
ICsgbWV0aG9kICsgIikiKQogICAgICAgfQogICAgICAgbWV0aG9kKCJ0cmFjayIpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVu
LW1ldGhvZC1yZXNwb25zZXR5cGUtc2V0LXN5bmMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1tZXRob2QtcmVzcG9uc2V0eXBlLXNldC1z
eW5jLmh0bQppbmRleCAwYjRkODE0MDQxYzUyNTI4NTk5OTE4NmE3YjNkNTA3NDIzNWUxZjdiLi43
ODU4YzkxNDA5ZTdlN2NiNTE2OTVmNmQyMzNkZTBkMDE1NTRhNjA0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1y
ZXNwb25zZXR5cGUtc2V0LXN5bmMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLXJlc3BvbnNldHlwZS1zZXQtc3luYy5o
dG0KQEAgLTE5LDcgKzE5LDcgQEAKICAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoJ05vIGV2
ZW50cyBzaG91bGQgZmlyZSBoZXJlJykKICAgICAgICAgICB9KQogICAgICAgICAgIGNsaWVudC5y
ZXNwb25zZVR5cGUgPSB0eXBlCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZEFjY2Vz
c0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKCdHRVQnLCAiLi4uIiwgZmFsc2UpIH0p
CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRBY2Nlc3NFcnJvciIsIGZ1bmN0
aW9uKCkgeyBjbGllbnQub3BlbignR0VUJywgIi4uLiIsIGZhbHNlKSB9KQogICAgICAgICB9LCBk
b2N1bWVudC50aXRsZSArICIgKCIgKyB0eXBlICsgIikiKQogICAgICAgfQogICAgICAgcmVxdWVz
dCgiYXJyYXlidWZmZXIiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTIuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGkt
d2luZG93LTIuaHRtCmluZGV4IGVkNGJhMDE1NzZiNTliMWNmMjVhNTgwYzA1YjNhNjM4M2Q1ZDE2
YzEuLjY0Y2M5NmI2MWIyNWRjNjY0N2QwZWI2NGJiNGQ5NDVhNTA3MmYxZDUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJs
LW11bHRpLXdpbmRvdy0yLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctMi5odG0KQEAgLTExLDEyICsx
MSwxMyBAQAogICAgIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gaW5pdCgpeyAvLyBjYWxsZWQgZnJv
bSBwYWdlIGluc2lkZSBJRlJBTUUKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAg
ICB2YXIgY2xpZW50ID0gbmV3IHNlbGZbMF0uWE1MSHR0cFJlcXVlc3QoKQorICAgICAgICAgIHZh
ciBjbGllbnQgPSBuZXcgc2VsZlswXS5YTUxIdHRwUmVxdWVzdCgpOworICAgICAgICAgIGxldCBl
eGNlcHRpb25DdG9yID0gc2VsZlswXS5ET01FeGNlcHRpb247CiAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilb
MF0pCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBl
eGNlcHRpb25DdG9yLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQi
LCAiZm9sZGVyLnR4dCIpCi0gICAgICAgICAgfSwgIm9wZW4oKSB3aGVuIGFzc29jaWF0ZWQgZG9j
dW1lbnQncyBJRlJBTUUgaXMgcmVtb3ZlZCIpCi0gICAgICAgICAgfSkKKyAgICAgICAgICB9LCAi
b3BlbigpIHdoZW4gYXNzb2NpYXRlZCBkb2N1bWVudCdzIElGUkFNRSBpcyByZW1vdmVkIik7Cisg
ICAgICAgIH0pOwogICAgICAgfQogICAgIDwvc2NyaXB0PgogICAgIDxpZnJhbWUgc3JjPSJyZXNv
dXJjZXMvaW5pdC5odG0iPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMtZXhwZWN0ZWQudHh0CmluZGV4IDI4MWEyOTVlNWMz
ZGE2MzhmODNkODFjNWUyNGRhYTFiMjk5ZDMzNDEuLjA4MDhmNjJhYWYxZDFjMzcxYzUzMjllODlh
YzlkN2ZkZjk1YmZmODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy0zLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVu
LXVybC1tdWx0aS13aW5kb3ctMy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwg
WE1MSHR0cFJlcXVlc3Q6IG9wZW4oKSByZXNvbHZpbmcgVVJMcyAobXVsdGktV2luZG93OyAzOyBl
dmlsKSBhc3NlcnRfdGhyb3dzOiBzZW5kKCkgd2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50J3MgSUZS
QU1FIGlzIHJlbW92ZWQgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKK0ZBSUwgWE1MSHR0cFJlcXVl
c3Q6IG9wZW4oKSByZXNvbHZpbmcgVVJMcyAobXVsdGktV2luZG93OyAzOyBldmlsKSBhc3NlcnRf
dGhyb3dzX2RvbTogc2VuZCgpIHdoZW4gYXNzb2NpYXRlZCBkb2N1bWVudCdzIElGUkFNRSBpcyBy
ZW1vdmVkIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBjbGllbnQuc2VuZChu
dWxsKQogICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2lu
ZG93LTMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMuaHRtCmluZGV4IDM0NDQzNGIwZTdjNjk0Y2NiNTJi
YzlhNjNhYjVlNWJlZjNmMjFmMjQuLmUxNTY4NTdmZTA1ZGFhNGUzYTQ3YTNjYTQxM2E5YzlhYmFh
MDYyYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy0zLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ct
My5odG0KQEAgLTEwLDEyICsxMCwxMyBAQAogICAgIDxzY3JpcHQ+CiAgICAgICBmdW5jdGlvbiBp
bml0KCkgewogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICAgIHZhciBjbGllbnQg
PSBuZXcgc2VsZlswXS5YTUxIdHRwUmVxdWVzdCgpCisgICAgICAgICAgdmFyIGNsaWVudCA9IG5l
dyBzZWxmWzBdLlhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgICAgbGV0IGV4Y2VwdGlvbkN0b3Ig
PSBzZWxmWzBdLkRPTUV4Y2VwdGlvbjsKICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgImZv
bGRlci50eHQiKQogICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKQotICAgICAgICAgIGFzc2VydF90aHJv
d3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZXhjZXB0aW9uQ3RvciwgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICBjbGllbnQuc2VuZChudWxsKQotICAgICAgICAgIH0sICJzZW5kKCkgd2hl
biBhc3NvY2lhdGVkIGRvY3VtZW50J3MgSUZSQU1FIGlzIHJlbW92ZWQiKQorICAgICAgICAgIH0s
ICJzZW5kKCkgd2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50J3MgSUZSQU1FIGlzIHJlbW92ZWQiKTsK
ICAgICAgICAgfSkKICAgICAgIH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdp
bmRvdy01Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy01Lmh0bQppbmRleCBhMjdkMmIzNjZjMDY4MGQyYTMw
Y2JiMTA3YzM0OTZhYmIwMjY0OTA4Li4zMmM0NjdhNDk1NmM0YjQ3NjE0YjgzMmJiZTcxMTFlZmM3
YzQxMzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctNS5odG0KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93
LTUuaHRtCkBAIC0xMSwxNSArMTEsMTcgQEAKICAgICA8c2NyaXB0PgogICAgICAgdmFyIHRlc3Qg
PSBhc3luY190ZXN0KCksCiAgICAgICAgICAgY2xpZW50LAotICAgICAgICAgIGNvdW50ID0gMAor
ICAgICAgICAgIGV4Y2VwdGlvbkN0b3IsCisgICAgICAgICAgY291bnQgPSAwOwogICAgICAgZnVu
Y3Rpb24gaW5pdCgpIHsKICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAgICAg
IGlmKDAgPT0gY291bnQpIHsKLSAgICAgICAgICAgIGNsaWVudCA9IG5ldyBzZWxmWzBdLlhNTEh0
dHBSZXF1ZXN0KCkKKyAgICAgICAgICAgIGNsaWVudCA9IG5ldyBzZWxmWzBdLlhNTEh0dHBSZXF1
ZXN0KCk7CisgICAgICAgICAgICBleGNlcHRpb25DdG9yID0gc2VsZlswXS5ET01FeGNlcHRpb247
CiAgICAgICAgICAgICBjb3VudCsrCiAgICAgICAgICAgICBzZWxmWzBdLmxvY2F0aW9uLnJlbG9h
ZCgpCiAgICAgICAgICAgfSBlbHNlIGlmKDEgPT0gY291bnQpIHsKLSAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKCJH
RVQiLCAiLi4uIikgfSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3Rh
dGVFcnJvciIsIGV4Y2VwdGlvbkN0b3IsIGZ1bmN0aW9uKCkge2NsaWVudC5vcGVuKCJHRVQiLCAi
Li4uIikgfSk7CiAgICAgICAgICAgICB0ZXN0LmRvbmUoKQogICAgICAgICAgIH0KICAgICAgICAg
fSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRv
dy02LWV4cGVjdGVkLnR4dAppbmRleCA1YTQ1NzkyNzM3NjI4NWQ5ODM5NmRiNTE0NGY1YzQ2Nzdi
ZDMyMjYwLi45ZWYzYTE4MzhiNGEyNWYwZjdiODdkYWNjMmVhODgwNTgzODUzNWYyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVu
LXVybC1tdWx0aS13aW5kb3ctNi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTYtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIFhNTEh0dHBSZXF1ZXN0OiBvcGVuKCkg
aW4gZG9jdW1lbnQgdGhhdCBpcyBub3QgZnVsbHkgYWN0aXZlIChidXQgbWF5IGJlIGFjdGl2ZSkg
c2hvdWxkIHRocm93IAorRkFJTCBYTUxIdHRwUmVxdWVzdDogb3BlbigpIGluIGRvY3VtZW50IHRo
YXQgaXMgbm90IGZ1bGx5IGFjdGl2ZSAoYnV0IG1heSBiZSBhY3RpdmUpIHNob3VsZCB0aHJvdyBh
c3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgY2xpZW50Lm9wZW4oIkdF
VCIsICIuLi4iKSB9IiB0aHJldyBhbiBleGNlcHRpb24gZnJvbSB0aGUgd3JvbmcgZ2xvYmFsCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02Lmh0bQppbmRl
eCA5OTI3OTYzOTkyMWQ5YTU5NGMxNTAxNGY1YzQyOWVlNmFlN2EyMTVkLi5kODM0YTA0OGE1MWQx
ODNiYjgyYmRkNDMyNzY3NDBhNGY4OTRjZWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctNi5o
dG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
b3Blbi11cmwtbXVsdGktd2luZG93LTYuaHRtCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBkb2MuYm9keS5hcHBlbmRDaGlsZChpZnIpOwogICAgICAgICAgIH0g
ZWxzZSBpZigxID09IGNvdW50KSB7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlk
U3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIpIH0pCisg
ICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlv
bigpIHsgY2xpZW50Lm9wZW4oIkdFVCIsICIuLi4iKSB9KQogICAgICAgICAgICAgdGVzdC5kb25l
KCkKICAgICAgICAgICB9CiAgICAgICAgIH0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWRvbmUtc3Rh
dGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvb3ZlcnJpZGVtaW1ldHlwZS1kb25lLXN0YXRlLmFueS5qcwppbmRleCBiZGY0OWUxY2E1MmU3
NmVmZjZiMDdjMTJlMTBhMDMyMDQxNzIzNmEwLi41ZTcwNDkyNDM2NTdkNDVhYzlkYTQyZjIzNDMy
ODczM2ViNWNmYzEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWRvbmUtc3RhdGUuYW55LmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJyaWRl
bWltZXR5cGUtZG9uZS1zdGF0ZS5hbnkuanMKQEAgLTksNyArOSw3IEBAIGNsaWVudC5vbnJlYWR5
c3RhdGVjaGFuZ2UgPSB0ZXN0LnN0ZXBfZnVuYyggZnVuY3Rpb24oKSB7CiAgIGlmIChjbGllbnQu
cmVhZHlTdGF0ZSAhPT0gNCkgcmV0dXJuOwogICB2YXIgdGV4dCA9IGNsaWVudC5yZXNwb25zZVRl
eHQ7CiAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQsICIiKTsKLSAgYXNzZXJ0X3Rocm93cygiSW52
YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm92ZXJyaWRlTWltZVR5cGUoJ2Fw
cGxpY2F0aW9uL3htbDtjaGFyc2V0PVNoaWZ0LUpJUycpOyB9KTsKKyAgYXNzZXJ0X3Rocm93c19k
b20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vdmVycmlkZU1pbWVU
eXBlKCdhcHBsaWNhdGlvbi94bWw7Y2hhcnNldD1TaGlmdC1KSVMnKTsgfSk7CiAgIGlmIChHTE9C
QUwuaXNXaW5kb3coKSkgewogICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnJlc3BvbnNlWE1MLCBu
dWxsKTsKICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvb3ZlcnJpZGVtaW1ldHlwZS1sb2FkaW5nLXN0YXRlLmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJyaWRlbWltZXR5
cGUtbG9hZGluZy1zdGF0ZS5odG0KaW5kZXggY2NlM2ZhNDllZjc1MmM2ZTY2YmExMDUwMGIzNTA1
MzMxNmRlNmMxMy4uMDZlNGQ1ZmVjMWVmMWJhMGNiZjg4NWZkMzU4NTg4OTg4MWNhNWM2NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
b3ZlcnJpZGVtaW1ldHlwZS1sb2FkaW5nLXN0YXRlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWxvYWRpbmct
c3RhdGUuaHRtCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1M
SHR0cFJlcXVlc3QoKTsKICAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHRlc3Qu
c3RlcF9mdW5jKGZ1bmN0aW9uKCkgewogICAgICAgICAgIGlmIChjbGllbnQucmVhZHlTdGF0ZSA9
PT0gMyl7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1
bmN0aW9uKCl7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJy
b3IiLCBmdW5jdGlvbigpewogICAgICAgICAgICAgICBjbGllbnQub3ZlcnJpZGVNaW1lVHlwZSgn
YXBwbGljYXRpb24veG1sO2NoYXJzZXQ9U2hpZnQtSklTJyk7CiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICB9ZWxzZSBpZihjbGllbnQucmVhZHlTdGF0ZT09PTQpewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcHJvZ3Jlc3NldmVu
dC1pbnRlcmZhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Byb2dyZXNzZXZlbnQtaW50ZXJmYWNlLmh0bWwKaW5kZXggODUwZDFiMjNkY2Zh
MjY2MmIyZmZjZTNjMTk2OGQxZjkyZWFhZjE4OC4uNzU1MmZmNzNkM2Y0NDk5NzcyMzY3NGRhMDQw
N2JmNTlhYjNmOTFjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcHJvZ3Jlc3NldmVudC1pbnRlcmZhY2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9wcm9ncmVzc2V2ZW50
LWludGVyZmFjZS5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGFz
c2VydF9lcXVhbHMoZGVzYy53cml0YWJsZSwgZmFsc2UpCiAgIGFzc2VydF9lcXVhbHMoZGVzYy5l
bnVtZXJhYmxlLCBmYWxzZSkKICAgYXNzZXJ0X2VxdWFscyhkZXNjLmNvbmZpZ3VyYWJsZSwgZmFs
c2UpCi0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsKKyAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICJ1c2Ugc3RyaWN0IjsK
ICAgICBkZWxldGUgUHJvZ3Jlc3NFdmVudC5wcm90b3R5cGU7CiAgIH0pCkBAIC0zMSw3ICszMSw3
IEBAIGF0dHJpYnV0ZXMuZm9yRWFjaChmdW5jdGlvbihhKSB7CiAgICAgdmFyIGRlc2MgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb2dyZXNzRXZlbnQucHJvdG90eXBlLCBhWzFd
KQogICAgIGFzc2VydF9lcXVhbHMoZGVzYy5lbnVtZXJhYmxlLCB0cnVlKQogICAgIGFzc2VydF9l
cXVhbHMoZGVzYy5jb25maWd1cmFibGUsIHRydWUpCi0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksIGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKICAgICAgIFByb2dyZXNzRXZlbnQucHJvdG90eXBlW2FbMV1dCiAgICAgfSkK
ICAgfSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9hY2NlcHQtbGFuZ3VhZ2UucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXB0LWxhbmd1YWdl
LnB5CmluZGV4IGRkMDBmNGIyZWU3M2Q3NGNjNjBkZTQ5ZjgxOTljNGVhNjlmZmU1OTMuLmI2OGNm
MzU1MDM4Y2E5ZjlmOTM4YTVjM2IyZjVjNzVlYmZkMDU0ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2NlcHQt
bGFuZ3VhZ2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC1sYW5ndWFnZS5weQpAQCAtMSwzICsxLDMgQEAKIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXR1cm4gWygiQ29udGVudC1UeXBlIiwg
InRleHQvcGxhaW4iKSwKLSAgICAgICAgICAgIHJlcXVlc3QuaGVhZGVycy5nZXQoIkFjY2VwdC1M
YW5ndWFnZSIsICJOTyIpXQorICAgIHJldHVybiBbKGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0L3Bs
YWluIiksCisgICAgICAgICAgICByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQWNjZXB0LUxhbmd1YWdl
IiwgYiJOTyIpXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2NlcHQucHkKaW5kZXggYTAz
M2ViZWM2NDY3NzQ3NzQ0YTMyMzZhZDM4ODg2ZmI5YjJkZDhlNS4uODQyZGY4MGNkYTAwNjcwODU1
MDYyMTE0YjZjZjA2MzEzOWQwMzVhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNj
ZXB0LnB5CkBAIC0xLDIgKzEsMiBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAg
IHJldHVybiBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpXSwgcmVxdWVzdC5oZWFkZXJz
LmdldCgiYWNjZXB0IiwgIk5PIikKKyAgICByZXR1cm4gWyhiIkNvbnRlbnQtVHlwZSIsIGIidGV4
dC9wbGFpbiIpXSwgcmVxdWVzdC5oZWFkZXJzLmdldChiImFjY2VwdCIsIGIiTk8iKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2Vzcy1jb250cm9sLWFsbG93LWxpc3RzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWFs
bG93LWxpc3RzLnB5CmluZGV4IDUyNmQzNjViMzExMWQ0NmNlNzIzZTkyZjczNzY3M2FmYWEzMDA5
NzcuLjMyYzExYTBjMzliYWE0NjVmMzIxNGMzN2U5YTYzZmEzNWEzYTM4NjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1hbGxvdy1saXN0cy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYWxs
b3ctbGlzdHMucHkKQEAgLTEsMjAgKzEsMjYgQEAKIGltcG9ydCBqc29uCiAKK2Zyb20gd3B0c2Vy
dmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKLSAgICBpZiAib3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VU
WyJvcmlnaW4iXSkKLSAgICBlbGlmICJvcmlnaW5zIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAg
Zm9yIG9yaWdpbiBpbiByZXF1ZXN0LkdFVFsib3JpZ2lucyJdLnNwbGl0KCcsJyk6Ci0gICAgICAg
ICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwg
cmVxdWVzdC5HRVRbIm9yaWdpbiJdKQorICAgIGlmIGIib3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoK
KyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1Pcmln
aW4iLCByZXF1ZXN0LkdFVFtiIm9yaWdpbiJdKQorICAgIGVsaWYgYiJvcmlnaW5zIiBpbiByZXF1
ZXN0LkdFVDoKKyAgICAgICAgZm9yIG9yaWdpbiBpbiByZXF1ZXN0LkdFVFtiIm9yaWdpbnMiXS5z
cGxpdChiJywnKToKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVRbYiJvcmlnaW4iXSkKIAotICAgIGlmICJo
ZWFkZXJzIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFj
Y2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdFVFsiaGVhZGVycyJdKQotICAg
IGlmICJtZXRob2RzIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCByZXF1ZXN0LkdFVFsibWV0aG9kcyJd
KQorICAgIGlmIGIiaGVhZGVycyIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIHJlcXVlc3QuR0VUW2Ii
aGVhZGVycyJdKQorICAgIGlmIGIibWV0aG9kcyIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIHJlcXVl
c3QuR0VUW2IibWV0aG9kcyJdKQogCiAgICAgaGVhZGVycyA9IGRpY3QocmVxdWVzdC5oZWFkZXJz
KQogCiAgICAgZm9yIGhlYWRlciBpbiBoZWFkZXJzOgogICAgICAgICBoZWFkZXJzW2hlYWRlcl0g
PSBoZWFkZXJzW2hlYWRlcl1bMF0KIAotICAgIHJldHVybiBqc29uLmR1bXBzKGhlYWRlcnMpCisg
ICAgc3RyX2hlYWRlcnMgPSB7fQorICAgIGZvciBrZXksIHZhbCBpbiBoZWFkZXJzLml0ZW1zKCk6
CisgICAgICAgIHN0cl9oZWFkZXJzW2lzb21vcnBoaWNfZGVjb2RlKGtleSldID0gaXNvbW9ycGhp
Y19kZWNvZGUodmFsKQorCisgICAgcmV0dXJuIGpzb24uZHVtcHMoc3RyX2hlYWRlcnMpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctd2l0aC1ib2R5LnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250
cm9sLWFsbG93LXdpdGgtYm9keS5weQppbmRleCA3YzdmNDVjNjkwMTNiOTBkOGRiMGZkZWViZTll
MTQ5NjRjMGUyNGZlLi4xODU2NGUyZDQ0ZTdmNDM4NzQ4N2EyMjdjYjVlMzc5M2Q5YTQ2MzNhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctd2l0aC1ib2R5LnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nl
c3MtY29udHJvbC1hbGxvdy13aXRoLWJvZHkucHkKQEAgLTEsMTUgKzEsMTUgQEAKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBoZWFkZXJzID0gewotICAgICAgICAiQ2FjaGUtQ29u
dHJvbCI6ICJuby1zdG9yZSIsCi0gICAgICAgICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJz
IjogIlgtUmVxdWVzdGVkLVdpdGgiLAotICAgICAgICAiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSI6
IDAsCi0gICAgICAgICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOiAiKiIsCi0gICAgICAg
ICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIjogIioiLAotICAgICAgICAiVmFyeSI6ICJB
Y2NlcHQtRW5jb2RpbmciLAotICAgICAgICAiQ29udGVudC1UeXBlIjogInRleHQvcGxhaW4iCisg
ICAgICAgIGIiQ2FjaGUtQ29udHJvbCI6IGIibm8tc3RvcmUiLAorICAgICAgICBiIkFjY2Vzcy1D
b250cm9sLUFsbG93LUhlYWRlcnMiOiBiIlgtUmVxdWVzdGVkLVdpdGgiLAorICAgICAgICBiIkFj
Y2Vzcy1Db250cm9sLU1heC1BZ2UiOiAwLAorICAgICAgICBiIkFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbiI6IGIiKiIsCisgICAgICAgIGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyI6
IGIiKiIsCisgICAgICAgIGIiVmFyeSI6IGIiQWNjZXB0LUVuY29kaW5nIiwKKyAgICAgICAgYiJD
b250ZW50LVR5cGUiOiBiInRleHQvcGxhaW4iCiAgICAgfQogCiAgICAgZm9yIChuYW1lLCB2YWx1
ZSkgaW4gaGVhZGVycy5pdGVtcygpOgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChuYW1l
LCB2YWx1ZSkKIAotICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUyIKKyAgICByZXNwb25zZS5j
b250ZW50ID0gYiJQQVNTIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWF1dGgtYmFzaWMu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvYWNjZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQppbmRleCBhZjMyYWFiOTdjZDVjZTY2
NGExZjFiNmZlZTFiODY0YWZjNDRlMzUxLi5kMWM1NTc5Y2UyNDJjNjc0NjQ1NjBlZTNlNDc5NzBj
OTIzNWRmYzFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQpAQCAtMSwxNyArMSwxNyBAQAogZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1D
b250cm9sIiwgIm5vLXN0b3JlIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwg
InRydWUiKQotICAgIHVpZCA9IHJlcXVlc3QuR0VULmZpcnN0KCJ1aWQiLCBOb25lKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tc3RvcmUiKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVz
dC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHVpZCA9IHJlcXVl
c3QuR0VULmZpcnN0KGIidWlkIiwgTm9uZSkKIAotICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJP
UFRJT05TIjoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFs
bG93LU1ldGhvZHMiLCAiUFVUIikKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMi
OgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU1l
dGhvZHMiLCBiIlBVVCIpCiAgICAgZWxzZToKICAgICAgICAgdXNlcm5hbWUgPSByZXF1ZXN0LmF1
dGgudXNlcm5hbWUKICAgICAgICAgcGFzc3dvcmQgPSByZXF1ZXN0LmF1dGgucGFzc3dvcmQKICAg
ICAgICAgaWYgKG5vdCB1c2VybmFtZSkgb3IgKHVzZXJuYW1lICE9IHVpZCk6Ci0gICAgICAgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldCgiV1dXLUF1dGhlbnRpY2F0ZSIsICJCYXNpYyByZWFsbT0n
VGVzdCBSZWFsbS9Dcm9zcyBPcmlnaW4nIikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGIiV1dXLUF1dGhlbnRpY2F0ZSIsIGIiQmFzaWMgcmVhbG09J1Rlc3QgUmVhbG0vQ3Jvc3Mg
T3JpZ2luJyIpCiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDEKLSAgICAgICAgICAg
IHJlc3BvbnNlLmNvbnRlbnQgPSAiQXV0aGVudGljYXRpb24gY2FuY2VsbGVkIgorICAgICAgICAg
ICAgcmVzcG9uc2UuY29udGVudCA9IGIiQXV0aGVudGljYXRpb24gY2FuY2VsbGVkIgogICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJVc2VyOiAiICsgdXNlcm5h
bWUgKyAiLCBQYXNzd29yZDogIiArIHBhc3N3b3JkCisgICAgICAgICAgICByZXNwb25zZS5jb250
ZW50ID0gYiJVc2VyOiAiICsgdXNlcm5hbWUgKyBiIiwgUGFzc3dvcmQ6ICIgKyBwYXNzd29yZApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LW5vLWNyZWRlbnRpYWxzLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LW5vLWNyZWRlbnRpYWxzLnB5CmluZGV4IDEy
Zjg2NjBkMWZjMjYzNmIwMTBhOGNkNDMwYzAyOGM3NTBmODE0YmEuLjFiOGJjZGI4YWU5ODE0ZmFi
Mjg0NDk1ODJmNTU2NGM3ZDZkYWNlNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNp
Yy1hbGxvdy1uby1jcmVkZW50aWFscy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxs
b3ctbm8tY3JlZGVudGlhbHMucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBweXRo
b24KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmln
aW4iKSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9w
bGFpbiIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCiAKLSAgICByZXNwb25zZS5j
b250ZW50ID0gIlBBU1M6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCisgICAgcmVzcG9u
c2UuY29udGVudCA9IGIiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1zdGFyLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250
cm9sLWJhc2ljLWFsbG93LXN0YXIucHkKaW5kZXggNDU1N2MwNmIwZTNhNTU0NGIzZjcwYzBjODBk
ZjhjMDA5YjQyMzE4OC4uOGQ0NjQyZDA5OGNhYzNjNjM4NTM2MWQ5NzI3NGExNGE5NmRlODE1YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXN0YXIucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXN0YXIucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3Iv
YmluL2VudiBweXRob24KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCisgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgYiIqIikK
IAotICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxv
d2VkLiIKKyAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBDcm9zcy1kb21haW4gYWNjZXNz
IGFsbG93ZWQuIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LnB5CmluZGV4IDIzMjU5MjUxNTdjMWU1ZTI2ZDM2
ZDc3YWNmZGM1ZjYxNTUxOTlmNTMuLjYwNTFiYzJjZGM0ZjY4ZTdlYTEwOWZhNmQ5MjE2YjQwZmY4
NjZlZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy5weQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3cucHkKQEAgLTEsNyArMSw3IEBACiAjIS91c3IvYmlu
L2VudiBweXRob24KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5o
ZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikKLSAg
ICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVx
dWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJD
b250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFk
ZXJzLmdldChiIm9yaWdpbiIpKQogCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBDcm9z
cy1kb21haW4gYWNjZXNzIGFsbG93ZWQuIgorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6
IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRy
b2wtYmFzaWMtY29ycy1zYWZlbGlzdGVkLXJlcXVlc3QtaGVhZGVycy5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29u
dHJvbC1iYXNpYy1jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CmluZGV4IGViYTBl
N2Q0YzVjYWZjODY2NGMwNjQzYjhhZDI0NzEzNzM3NGJlZjIuLjQ2NTIzYTkwNWE5ZjcwMTgzZDBh
NWU5NmNmZjJkNzZhZDllNmQ1NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1j
b3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1i
YXNpYy1jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CkBAIC0xLDE0ICsxLDE2IEBA
Citmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2RlY29kZQorCiBkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNhY2hlLUNv
bnRyb2wiLCAibm8tc3RvcmUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29u
dHJvbCIsIGIibm8tc3RvcmUiKQogCiAgICAgIyBUaGlzIHNob3VsZCBiZSBhIHNpbXBsZSByZXF1
ZXN0OyBkZW55IHByZWZsaWdodAotICAgIGlmIHJlcXVlc3QubWV0aG9kICE9ICJQT1NUIjoKKyAg
ICBpZiByZXF1ZXN0Lm1ldGhvZCAhPSB1IlBPU1QiOgogICAgICAgICByZXNwb25zZS5zdGF0dXMg
PSA0MDAKICAgICAgICAgcmV0dXJuCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQo
Im9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxs
b3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIp
KQogCi0gICAgZm9yIGhlYWRlciBpbiBbIkFjY2VwdCIsICJBY2NlcHQtTGFuZ3VhZ2UiLCAiQ29u
dGVudC1MYW5ndWFnZSIsICJDb250ZW50LVR5cGUiXToKKyAgICBmb3IgaGVhZGVyIGluIFtiIkFj
Y2VwdCIsIGIiQWNjZXB0LUxhbmd1YWdlIiwgYiJDb250ZW50LUxhbmd1YWdlIiwgYiJDb250ZW50
LVR5cGUiXToKICAgICAgICAgdmFsdWUgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KGhlYWRlcikKLSAg
ICAgICAgcmVzcG9uc2UuY29udGVudCArPSBoZWFkZXIgKyAiOiAiICsgKHZhbHVlIGlmIHZhbHVl
IGVsc2UgIjxOb25lPiIpICsgJ1xuJworICAgICAgICByZXNwb25zZS5jb250ZW50ICs9IGlzb21v
cnBoaWNfZGVjb2RlKGhlYWRlcikgKyB1IjogIiArIChpc29tb3JwaGljX2RlY29kZSh2YWx1ZSkg
aWYgdmFsdWUgZWxzZSB1IjxOb25lPiIpICsgdSdcbicKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29u
dHJvbC1iYXNpYy1kZW5pZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZGVuaWVkLnB5Cmlu
ZGV4IDlmODY4Nzg1NDU5OGMxNmEyYjg5M2NhZGE5OTkxZGNhMmIwMjMxM2QuLjBkMzk2NGNiMTE1
N2Y3NWJiYzU5ZDJmYTc1YzE2YWE5ODk1MWE1OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJv
bC1iYXNpYy1kZW5pZWQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5weQpA
QCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiQ2FjaGUtQ29udHJvbCIsICJuby1zdG9yZSIpCi0gICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIikKKyAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCiAKLSAgICByZXNwb25z
ZS50ZXh0ID0gIkZBSUw6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCisgICAgcmVzcG9u
c2UudGV4dCA9IGIiRkFJTDogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1vcHRpb25zLW5vdC1zdXBwb3J0ZWQucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNj
ZXNzLWNvbnRyb2wtYmFzaWMtb3B0aW9ucy1ub3Qtc3VwcG9ydGVkLnB5CmluZGV4IDc3YjI3NGU5
NTdjYTg3MjcwOTI2YWQ0NjIyZDJjNzllYzk2MDBmZWQuLmJiM2Y2M2UzMTFmNjQ0NTVhNzg5ZjJh
MzE2ZTI4YTgyYWE1MjU3YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1vcHRp
b25zLW5vdC1zdXBwb3J0ZWQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLW9wdGlvbnMt
bm90LXN1cHBvcnRlZC5weQpAQCAtMSwxMSArMSwxMSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVz
cG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9sIiwgIm5vLXN0
b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLXN0
b3JlIikKIAogICAgICMgQWxsb3cgc2ltcGxlIHJlcXVlc3RzLCBidXQgZGVueSBwcmVmbGlnaHQK
LSAgICBpZiByZXF1ZXN0Lm1ldGhvZCAhPSAiT1BUSU9OUyI6Ci0gICAgICAgIGlmICJvcmlnaW4i
IGluIHJlcXVlc3QuaGVhZGVyczoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikKLSAgICAgICAgICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0
LmhlYWRlcnNbIm9yaWdpbiJdKQorICAgIGlmIHJlcXVlc3QubWV0aG9kICE9IHUiT1BUSU9OUyI6
CisgICAgICAgIGlmIGIib3JpZ2luIiBpbiByZXF1ZXN0LmhlYWRlcnM6CisgICAgICAgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwg
YiJ0cnVlIikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzW2Iib3JpZ2luIl0pCiAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA1MDAKICAgICBlbHNlOgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS1pbnZhbGlkYXRpb24u
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlvbi5w
eQppbmRleCA2ZGM4YTJhMTUwNzkzYjYyNDRmZDVmYTcxMWJkNzNjNzQwZDU5YTFlLi5mNGY1OTJk
YWM3OTIyNGY1MWQxMzBhMzIwMjc4YzVjMDM4NjM5MjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNv
bnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlvbi5weQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlvbi5weQpAQCAtMSw0NiAr
MSw0OCBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNvZGUKKwog
ZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGRlZiBmYWlsKG1lc3NhZ2UpOgotICAg
ICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUwgIiArIHJlcXVlc3QubWV0aG9kICsgIjogIiAr
IHN0cihtZXNzYWdlKQorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJGQUlMICIgKyBpc29t
b3JwaGljX2VuY29kZShyZXF1ZXN0Lm1ldGhvZCkgKyBiIjogIiArIG1lc3NhZ2UKIAogICAgIGRl
ZiBnZXRTdGF0ZSh0b2tlbik6CiAgICAgICAgIHNlcnZlcl9zdGF0ZSA9IHJlcXVlc3Quc2VydmVy
LnN0YXNoLnRha2UodG9rZW4pCiAgICAgICAgIGlmIG5vdCBzZXJ2ZXJfc3RhdGU6Ci0gICAgICAg
ICAgICByZXR1cm4gIlVuaW5pdGlhbGl6ZWQiCisgICAgICAgICAgICByZXR1cm4gYiJVbmluaXRp
YWxpemVkIgogICAgICAgICByZXR1cm4gc2VydmVyX3N0YXRlCiAKICAgICBkZWYgc2V0U3RhdGUo
c3RhdGUsIHRva2VuKToKICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBz
dGF0ZSkKIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKLSAgICByZXNwb25zZS5oZWFk
ZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAg
dG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJz
LmdldChiIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHRva2VuID0gcmVxdWVzdC5HRVQu
Zmlyc3QoYiJ0b2tlbiIsIE5vbmUpCiAgICAgc3RhdGUgPSBnZXRTdGF0ZSh0b2tlbikKIAotICAg
IGlmIHN0YXRlID09ICJVbmluaXRpYWxpemVkIjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2Qg
PT0gIk9QVElPTlMiOgotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1D
b250cm9sLUFsbG93LU1ldGhvZHMiLCAiUFVUIikKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMTApCi0gICAgICAgICAgICBzZXRTdGF0
ZSgiT1BUSU9OU1NlbnQiLCB0b2tlbikKKyAgICBpZiBzdGF0ZSA9PSBiIlVuaW5pdGlhbGl6ZWQi
OgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQ
VVQiKQorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1N
YXgtQWdlIiwgMTApCisgICAgICAgICAgICBzZXRTdGF0ZShiIk9QVElPTlNTZW50IiwgdG9rZW4p
CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUg
PT0gIk9QVElPTlNTZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0g
ICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0LiIK
LSAgICAgICAgICAgIHNldFN0YXRlKCJGaXJzdFBVVFNlbnQiLCB0b2tlbikKKyAgICBlbGlmIHN0
YXRlID09IGIiT1BUSU9OU1NlbnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IlBV
VCI6CisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBGaXJzdCBQVVQgcmVx
dWVzdC4iCisgICAgICAgICAgICBzZXRTdGF0ZShiIkZpcnN0UFVUU2VudCIsIHRva2VuKQogICAg
ICAgICBlbHNlOgogICAgICAgICAgICAgZmFpbChzdGF0ZSkKLSAgICBlbGlmIHN0YXRlID09ICJG
aXJzdFBVVFNlbnQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0g
ICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0
aG9kcyIsICJQVVQsIFhNRVRIT0QiKQotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAieC10ZXN0IikKLSAgICAgICAgICAgIHNl
dFN0YXRlKCJTZWNvbmRPUFRJT05TU2VudCIsIHRva2VuKQotICAgICAgICBlbGlmIHJlcXVlc3Qu
bWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgZmFpbCgiU2Vjb25kIFBVVCByZXF1ZXN0IHNl
bnQgd2l0aG91dCBwcmVmbGlnaHQiKQorICAgIGVsaWYgc3RhdGUgPT0gYiJGaXJzdFBVVFNlbnQi
OgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQ
VVQsIFhNRVRIT0QiKQorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4LXRlc3QiKQorICAgICAgICAgICAgc2V0U3RhdGUo
YiJTZWNvbmRPUFRJT05TU2VudCIsIHRva2VuKQorICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9k
ID09IHUiUFVUIjoKKyAgICAgICAgICAgIGZhaWwoYiJTZWNvbmQgUFVUIHJlcXVlc3Qgc2VudCB3
aXRob3V0IHByZWZsaWdodCIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRl
KQotICAgIGVsaWYgc3RhdGUgPT0gIlNlY29uZE9QVElPTlNTZW50IjoKLSAgICAgICAgaWYgcmVx
dWVzdC5tZXRob2QgPT0gIlBVVCIgb3IgcmVxdWVzdC5tZXRob2QgPT0gIlhNRVRIT0QiOgotICAg
ICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBTZWNvbmQgT1BUSU9OUyByZXF1ZXN0
IHdhcyBzZW50LiIKKyAgICBlbGlmIHN0YXRlID09IGIiU2Vjb25kT1BUSU9OU1NlbnQiOgorICAg
ICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IlBVVCIgb3IgcmVxdWVzdC5tZXRob2QgPT0gdSJY
TUVUSE9EIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IFNlY29uZCBP
UFRJT05TIHJlcXVlc3Qgd2FzIHNlbnQuIgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZmFp
bChzdGF0ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXBy
ZWZsaWdodC1jYWNoZS10aW1lb3V0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdo
dC1jYWNoZS10aW1lb3V0LnB5CmluZGV4IGE3NjdkOGE0YTU2ZDM2ZTI4OWYxNjk4MWVkYmEzODA1
NGQ5MGFkYjEuLjAwYzMxOWYwODJhZjcwMGQ2YzU2MTZlNDg5YWY0ZjY4NGRmNjUzNWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUtdGltZW91dC5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLXRpbWVvdXQucHkKQEAg
LTEsNDcgKzEsNDkgQEAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5j
b2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBkZWYgZmFpbChtZXNzYWdl
KToKLSAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJGQUlMICIgKyByZXF1ZXN0Lm1ldGhvZCAr
ICI6ICIgKyBzdHIobWVzc2FnZSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTCAi
ICsgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2QpICsgYiI6ICIgKyBtZXNzYWdlCiAK
ICAgICBkZWYgZ2V0U3RhdGUodG9rZW4pOgogICAgICAgICBzZXJ2ZXJfc3RhdGUgPSByZXF1ZXN0
LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQogICAgICAgICBpZiBub3Qgc2VydmVyX3N0YXRlOgot
ICAgICAgICAgICAgcmV0dXJuICJVbmluaXRpYWxpemVkIgorICAgICAgICAgICAgcmV0dXJuIGIi
VW5pbml0aWFsaXplZCIKICAgICAgICAgcmV0dXJuIHNlcnZlcl9zdGF0ZQogCiAgICAgZGVmIHNl
dFN0YXRlKHN0YXRlLCB0b2tlbik6CiAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0
b2tlbiwgc3RhdGUpCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUi
KQotICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3Qu
aGVhZGVycy5nZXQoYiJvcmlnaW4iKSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vz
cy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgYiJ0cnVlIikKKyAgICB0b2tlbiA9IHJlcXVl
c3QuR0VULmZpcnN0KGIidG9rZW4iLCBOb25lKQogICAgIHN0YXRlID0gZ2V0U3RhdGUodG9rZW4p
CiAKLSAgICBpZiBzdGF0ZSA9PSAiVW5pbml0aWFsaXplZCI6Ci0gICAgICAgIGlmIHJlcXVlc3Qu
bWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCIpCi0gICAgICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4LXRlc3QiKQot
ICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2Ui
LCAxKQotICAgICAgICAgICAgc2V0U3RhdGUoIk9QVElPTlNTZW50IiwgdG9rZW4pCisgICAgaWYg
c3RhdGUgPT0gYiJVbmluaXRpYWxpemVkIjoKKyAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0g
dSJPUFRJT05TIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiUFVUIikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIGIieC10ZXN0IikKKyAgICAg
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDEp
CisgICAgICAgICAgICBzZXRTdGF0ZShiIk9QVElPTlNTZW50IiwgdG9rZW4pCiAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIk9QVElPTlNT
ZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAgICAgICBy
ZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0LiIKLSAgICAgICAgICAg
IHNldFN0YXRlKCJGaXJzdFBVVFNlbnQiLCB0b2tlbikKKyAgICBlbGlmIHN0YXRlID09IGIiT1BU
SU9OU1NlbnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IlBVVCI6CisgICAgICAg
ICAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBGaXJzdCBQVVQgcmVxdWVzdC4iCisgICAg
ICAgICAgICBzZXRTdGF0ZShiIkZpcnN0UFVUU2VudCIsIHRva2VuKQogICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgZmFpbChzdGF0ZSkKLSAgICBlbGlmIHN0YXRlID09ICJGaXJzdFBVVFNlbnQi
OgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJQVVQi
KQotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93
LUhlYWRlcnMiLCAieC10ZXN0IikKLSAgICAgICAgICAgIHNldFN0YXRlKCJTZWNvbmRPUFRJT05T
U2VudCIsIHRva2VuKQotICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgotICAg
ICAgICAgICAgZmFpbCgiU2Vjb25kIFBVVCByZXF1ZXN0IHNlbnQgd2l0aG91dCBwcmVmbGlnaHQi
KQorICAgIGVsaWYgc3RhdGUgPT0gYiJGaXJzdFBVVFNlbnQiOgorICAgICAgICBpZiByZXF1ZXN0
Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
YiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQVVQiKQorICAgICAgICAgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4LXRl
c3QiKQorICAgICAgICAgICAgc2V0U3RhdGUoYiJTZWNvbmRPUFRJT05TU2VudCIsIHRva2VuKQor
ICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIGZhaWwo
YiJTZWNvbmQgUFVUIHJlcXVlc3Qgc2VudCB3aXRob3V0IHByZWZsaWdodCIpCiAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIlNlY29uZE9Q
VElPTlNTZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAg
ICAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IFNlY29uZCBPUFRJT05TIHJlcXVlc3Qgd2Fz
IHNlbnQuIgorICAgIGVsaWYgc3RhdGUgPT0gYiJTZWNvbmRPUFRJT05TU2VudCI6CisgICAgICAg
IGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRl
bnQgPSBiIlBBU1M6IFNlY29uZCBPUFRJT05TIHJlcXVlc3Qgd2FzIHNlbnQuIgogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgZmFpbChzdGF0ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1i
YXNpYy1wcmVmbGlnaHQtY2FjaGUucHkKaW5kZXggNTY4OTJmYjZiMTJjMWM5YjJmOTljNTc5Mzk4
MDZmNGE4NGI3MjlkMS4uN2E2YmI2MGMwMWE3MGNhOGVmZDRiMjBkMWY4ZmNjZDQ3YmE0MjI4YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS5weQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLnB5CkBAIC0xLDQ2ICsxLDQ5
IEBACisKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBkZWYgZmFpbChtZXNzYWdlKToKLSAgICAg
ICAgcmVzcG9uc2UuY29udGVudCA9ICJGQUlMICIgKyByZXF1ZXN0Lm1ldGhvZCArICI6ICIgKyBz
dHIobWVzc2FnZSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTCAiICsgaXNvbW9y
cGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2QpICsgYiI6ICIgKyBtZXNzYWdlCiAgICAgICAgIHJl
c3BvbnNlLnN0YXR1cyA9IDQwMAogCiAgICAgZGVmIGdldFN0YXRlKHRva2VuKToKICAgICAgICAg
c2VydmVyX3N0YXRlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKICAgICAgICAg
aWYgbm90IHNlcnZlcl9zdGF0ZToKLSAgICAgICAgICAgIHJldHVybiAiVW5pbml0aWFsaXplZCIK
KyAgICAgICAgICAgIHJldHVybiBiIlVuaW5pdGlhbGl6ZWQiCiAgICAgICAgIHJldHVybiBzZXJ2
ZXJfc3RhdGUKIAogICAgIGRlZiBzZXRTdGF0ZShzdGF0ZSwgdG9rZW4pOgogICAgICAgICByZXF1
ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIHN0YXRlKQogCi0gICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQo
Im9yaWdpbiIpKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxv
dy1DcmVkZW50aWFscyIsICJ0cnVlIikKLSAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0
b2tlbiIsIE5vbmUpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCisgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1
ZSIpCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdChiInRva2VuIiwgTm9uZSkKICAgICBz
dGF0ZSA9IGdldFN0YXRlKHRva2VuKQogCi0gICAgaWYgc3RhdGUgPT0gIlVuaW5pdGlhbGl6ZWQi
OgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJQVVQi
KQotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1B
Z2UiLCAxMCkKLSAgICAgICAgICAgIHNldFN0YXRlKCJPUFRJT05TU2VudCIsIHRva2VuKQorICAg
IGlmIHN0YXRlID09IGIiVW5pbml0aWFsaXplZCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9k
ID09IHUiT1BUSU9OUyI6CisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vz
cy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCBiIlBVVCIpCisgICAgICAgICAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxMCkKKyAgICAgICAgICAgIHNl
dFN0YXRlKGIiT1BUSU9OU1NlbnQiLCB0b2tlbikKICAgICAgICAgZWxzZToKICAgICAgICAgICAg
IGZhaWwoc3RhdGUpCi0gICAgZWxpZiBzdGF0ZSA9PSAiT1BUSU9OU1NlbnQiOgotICAgICAgICBp
ZiByZXF1ZXN0Lm1ldGhvZCA9PSAiUFVUIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQg
PSAiUEFTUzogRmlyc3QgUFVUIHJlcXVlc3QuIgotICAgICAgICAgICAgc2V0U3RhdGUoIkZpcnN0
UFVUU2VudCIsIHRva2VuKQorICAgIGVsaWYgc3RhdGUgPT0gYiJPUFRJT05TU2VudCI6CisgICAg
ICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNv
bnRlbnQgPSBiIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0LiIKKyAgICAgICAgICAgIHNldFN0YXRl
KGIiRmlyc3RQVVRTZW50IiwgdG9rZW4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWls
KHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIkZpcnN0UFVUU2VudCI6Ci0gICAgICAgIGlmIHJl
cXVlc3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQ
QVNTOiBTZWNvbmQgUFVUIHJlcXVlc3QuIFByZWZsaWdodCB3b3JrZWQuIgotICAgICAgICBlbGlm
IHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCIpCi0gICAgICAgICAg
ICBzZXRTdGF0ZSgiRkFJTFNlY29uZE9QVElPTlNTZW50IiwgdG9rZW4pCisgICAgZWxpZiBzdGF0
ZSA9PSBiIkZpcnN0UFVUU2VudCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVU
IjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IFNlY29uZCBQVVQgcmVx
dWVzdC4gUHJlZmxpZ2h0IHdvcmtlZC4iCisgICAgICAgIGVsaWYgcmVxdWVzdC5tZXRob2QgPT0g
dSJPUFRJT05TIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiUFVUIikKKyAgICAgICAgICAgIHNldFN0YXRlKGIiRkFJ
TFNlY29uZE9QVElPTlNTZW50IiwgdG9rZW4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBm
YWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIkZBSUxTZWNvbmRPUFRJT05TU2VudCI6Ci0g
ICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgZmFpbCgiU2Vj
b25kIE9QVElPTlMgcmVxdWVzdCB3YXMgc2VudC4gUHJlZmxpZ2h0IGZhaWxlZC4iKQorICAgIGVs
aWYgc3RhdGUgPT0gYiJGQUlMU2Vjb25kT1BUSU9OU1NlbnQiOgorICAgICAgICBpZiByZXF1ZXN0
Lm1ldGhvZCA9PSB1IlBVVCI6CisgICAgICAgICAgICBmYWlsKGIiU2Vjb25kIE9QVElPTlMgcmVx
dWVzdCB3YXMgc2VudC4gUHJlZmxpZ2h0IGZhaWxlZC4iKQogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgZmFpbChzdGF0ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9s
LWJhc2ljLXB1dC1hbGxvdy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wdXQtYWxsb3cucHkK
aW5kZXggNjVmNjQ2NmY1OTcyZDI4NDc4Njg3OTM5ZjZlZWE5Y2I0MjhkNDhjNC4uOWIzNDdiY2E0
MjM0ZTVkY2NiZjVmNzFjMzY1N2IxYTAyZDVjN2FjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250
cm9sLWJhc2ljLXB1dC1hbGxvdy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHV0LWFs
bG93LnB5CkBAIC0xLDIwICsxLDIyIEBACitmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29t
b3JwaGljX2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaWYgcmVx
dWVzdC5tZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgi
Q29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCIp
Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1Pcmln
aW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKKyAgICBpZiByZXF1ZXN0Lm1ldGhv
ZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQt
VHlwZSIsIGIidGV4dC9wbGFpbiIpCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCBiIlBVVCIpCisg
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
IiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQogCi0gICAgZWxpZiByZXF1ZXN0Lm1l
dGhvZCA9PSAiUFVUIjoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlw
ZSIsICJ0ZXh0L3BsYWluIikKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1D
b250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUiKQotICAgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdl
dCgib3JpZ2luIikpCi0gICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogQ3Jvc3MtZG9t
YWluIGFjY2VzcyBhbGxvd2VkLiIKKyAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoK
KyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxh
aW4iKQorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93
LUNyZWRlbnRpYWxzIiwgYiJ0cnVlIikKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2lu
IikpCisgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IENyb3NzLWRvbWFpbiBhY2Nl
c3MgYWxsb3dlZC4iCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQg
Kz0gIlxuIiArIHJlcXVlc3QuYm9keQorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCArPSBi
IlxuIiArIHJlcXVlc3QuYm9keQogICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICByZXNwb25z
ZS5jb250ZW50ICs9ICJDb3VsZCBub3QgcmVhZCBpbiBjb250ZW50LiIKKyAgICAgICAgICAgIHJl
c3BvbnNlLmNvbnRlbnQgKz0gYiJDb3VsZCBub3QgcmVhZCBpbiBjb250ZW50LiIKIAogICAgIGVs
c2U6Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9w
bGFpbiIpCi0gICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiV3JvbmcgbWV0aG9kOiAiICsgcmVx
dWVzdC5tZXRob2QKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUi
LCBiInRleHQvcGxhaW4iKQorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJXcm9uZyBtZXRo
b2Q6ICIgKyBpc29tb3JwaGljX2VuY29kZShyZXF1ZXN0Lm1ldGhvZCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9h
Y2Nlc3MtY29udHJvbC1iYXNpYy13aGl0ZWxpc3QtcmVzcG9uc2UtaGVhZGVycy5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nl
c3MtY29udHJvbC1iYXNpYy13aGl0ZWxpc3QtcmVzcG9uc2UtaGVhZGVycy5weQppbmRleCA0ZGFj
NzUzMzE5NzZlZDgzNDMyODU5YmJlYWNlYjJhNWE2NDhkNDgxLi4zNDZiNmI5MTk2NTZiMjNmYjkx
MTU4N2Q0NDc3NTY3MTFhNTkyMzFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMt
d2hpdGVsaXN0LXJlc3BvbnNlLWhlYWRlcnMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2lj
LXdoaXRlbGlzdC1yZXNwb25zZS1oZWFkZXJzLnB5CkBAIC0xLDE5ICsxLDE5IEBACiBkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgaGVhZGVycyA9IHsKICAgICAgICAgIyBDT1JTLXNh
ZmVsaXN0ZWQKLSAgICAgICAgImNvbnRlbnQtdHlwZSI6ICJ0ZXh0L3BsYWluIiwKLSAgICAgICAg
ImNhY2hlLWNvbnRyb2wiOiAibm8gY2FjaGUiLAotICAgICAgICAiY29udGVudC1sYW5ndWFnZSI6
ICJlbiIsCi0gICAgICAgICJleHBpcmVzIjogIkZyaSwgMzAgT2N0IDE5OTggMTQ6MTk6NDEgR01U
IiwKLSAgICAgICAgImxhc3QtbW9kaWZpZWQiOiAiVHVlLCAxNSBOb3YgMTk5NCAxMjo0NToyNiBH
TVQiLAotICAgICAgICAicHJhZ21hIjogIm5vLWNhY2hlIiwKKyAgICAgICAgYiJjb250ZW50LXR5
cGUiOiBiInRleHQvcGxhaW4iLAorICAgICAgICBiImNhY2hlLWNvbnRyb2wiOiBiIm5vIGNhY2hl
IiwKKyAgICAgICAgYiJjb250ZW50LWxhbmd1YWdlIjogYiJlbiIsCisgICAgICAgIGIiZXhwaXJl
cyI6IGIiRnJpLCAzMCBPY3QgMTk5OCAxNDoxOTo0MSBHTVQiLAorICAgICAgICBiImxhc3QtbW9k
aWZpZWQiOiBiIlR1ZSwgMTUgTm92IDE5OTQgMTI6NDU6MjYgR01UIiwKKyAgICAgICAgYiJwcmFn
bWEiOiBiIm5vLWNhY2hlIiwKIAogICAgICAgICAjIE5vbi1DT1JTLXNhZmVsaXN0ZWQKLSAgICAg
ICAgIngtdGVzdCI6ICJmb29iYXIiLAorICAgICAgICBiIngtdGVzdCI6IGIiZm9vYmFyIiwKIAot
ICAgICAgICAiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIjogIioiCisgICAgICAgIGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIjogYiIqIgogICAgIH0KICAgICBmb3IgaGVhZGVyIGlu
IGhlYWRlcnM6CiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGhlYWRlciwgaGVhZGVyc1to
ZWFkZXJdKQogCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBDcm9zcy1kb21haW4gYWNj
ZXNzIGFsbG93ZWQuIgorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IENyb3NzLWRvbWFp
biBhY2Nlc3MgYWxsb3dlZC4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtY29va2llLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLWNvb2tpZS5weQppbmRleCAxZTBkNDFkMjJlYWE4ODUyMWYxZDIx
YzkyZjY1OGYwZTg1MjJiOWIxLi44YzI2NDc1YzM4N2E3ZGU3NDU4MDYwZjE4YWRlYWIzYjY0Mjkz
NjFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtY29va2llLnB5CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3Mt
Y29udHJvbC1jb29raWUucHkKQEAgLTEsMTYgKzEsMTYgQEAKIGltcG9ydCBkYXRldGltZQogCiBk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgY29va2llX25hbWUgPSByZXF1ZXN0LkdF
VC5maXJzdCgiY29va2llX25hbWUiLCAiIikKKyAgICBjb29raWVfbmFtZSA9IHJlcXVlc3QuR0VU
LmZpcnN0KGIiY29va2llX25hbWUiLCBiIiIpCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgi
Q2FjaGUtQ29udHJvbCIsICJuby1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdpbiIp
KQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50
aWFscyIsICJ0cnVlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNhY2hlLUNvbnRyb2wi
LCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJvcmlnaW4iKSkKKyAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgYiJ0
cnVlIikKIAogICAgIGZvciBjb29raWUgaW4gcmVxdWVzdC5jb29raWVzOgogICAgICAgICAjIFNl
dCBjb29raWUgdG8gZXhwaXJlIHllc3RlcmRheQotICAgICAgICByZXNwb25zZS5zZXRfY29va2ll
KGNvb2tpZSwgImRlbGV0ZWQiLCBleHBpcmVzPS1kYXRldGltZS50aW1lZGVsdGEoZGF5cz0xKSkK
KyAgICAgICAgcmVzcG9uc2Uuc2V0X2Nvb2tpZShjb29raWUsIGIiZGVsZXRlZCIsIGV4cGlyZXM9
LWRhdGV0aW1lLnRpbWVkZWx0YShkYXlzPTEpKQogCiAgICAgaWYgY29va2llX25hbWU6CiAgICAg
ICAgICMgU2V0IGNvb2tpZSB0byBleHBpcmUgdG9tb3Jyb3cKLSAgICAgICAgcmVzcG9uc2Uuc2V0
X2Nvb2tpZShjb29raWVfbmFtZSwgIkNPT0tJRSIsIGV4cGlyZXM9ZGF0ZXRpbWUudGltZWRlbHRh
KGRheXM9MSkpCisgICAgICAgIHJlc3BvbnNlLnNldF9jb29raWUoY29va2llX25hbWUsIGIiQ09P
S0lFIiwgZXhwaXJlcz1kYXRldGltZS50aW1lZGVsdGEoZGF5cz0xKSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9h
Y2Nlc3MtY29udHJvbC1vcmlnaW4taGVhZGVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLW9yaWdpbi1o
ZWFkZXIucHkKaW5kZXggZjUxMjg3NzZkMmI2MGM3ZDgzOTA3MjUzYzYzMDViZjQ3ZWQyMTE3Zi4u
ZTI4MmZlNDQyNTAwNGNkMWNjODJlYmQ2NDg4ZjcwYmVjNGY0YTk1ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLW9yaWdpbi1oZWFkZXIucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLW9yaWdp
bi1oZWFkZXIucHkKQEAgLTEsOSArMSw5IEBACiAjIS91c3IvYmluL2VudiBweXRob24KIGRlZiBt
YWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVu
dC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1D
b250cm9sIiwgIm5vLWNhY2hlLCBuby1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkFjY2Vzcy1Db250cm9sLUFsbG93LUV4dGVybmFsIiwgInRydWUiKQotICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCisgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tY2FjaGUsIG5vLXN0b3JlIikK
KyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUV4dGVybmFs
IiwgYiJ0cnVlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFs
bG93LU9yaWdpbiIsIGIiKiIpCiAKLSAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IENyb3Nz
LWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC5cbiIKLSAgICByZXNwb25zZS5jb250ZW50ICs9ICJIVFRQ
X09SSUdJTjogIiArIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdpbiIpCisgICAgcmVzcG9uc2Uu
Y29udGVudCA9IGIiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLlxuIgorICAgIHJl
c3BvbnNlLmNvbnRlbnQgKz0gYiJIVFRQX09SSUdJTjogIiArIHJlcXVlc3QuaGVhZGVycy5nZXQo
YiJvcmlnaW4iKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC5weQppbmRleCA4ODllZTZiMGVj
YTZjYTY4ZTdiODM0NWZhMmExMDMxMTAzYTg4ODZjLi4xZWMzMDM3ZjM2Yjg4NDAyZTVmNTliMzdi
Mzg0MmQxOWRmMTBmYTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRl
bmllZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC5weQpAQCAtMSw0
OSArMSw0OSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGRlZiBmYWlsKG1l
c3NhZ2UpOgotICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUw6ICIgKyBzdHIobWVzc2Fn
ZSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTDogIiArIG1lc3NhZ2UKICAgICAg
ICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCiAKICAgICBkZWYgZ2V0U3RhdGUodG9rZW4pOgogICAg
ICAgICBzZXJ2ZXJfc3RhdGUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQogICAg
ICAgICBpZiBub3Qgc2VydmVyX3N0YXRlOgotICAgICAgICAgICAgcmV0dXJuICJVbmluaXRpYWxp
emVkIgorICAgICAgICAgICAgcmV0dXJuIGIiVW5pbml0aWFsaXplZCIKICAgICAgICAgcmV0dXJu
IHNlcnZlcl9zdGF0ZQogCiAgICAgZGVmIHNldFN0YXRlKHRva2VuLCBzdGF0ZSk6CiAgICAgICAg
IHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgc3RhdGUpCiAKICAgICBkZWYgcmVzZXRT
dGF0ZSh0b2tlbik6Ci0gICAgICAgIHNldFN0YXRlKHRva2VuLCAiIikKKyAgICAgICAgc2V0U3Rh
dGUodG9rZW4sIGIiIikKIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9s
IiwgIm5vLXN0b3JlIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxKQotICAgIHRva2VuID0g
cmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNl
dChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNl
dChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJv
cmlnaW4iKSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLU1heC1B
Z2UiLCAxKQorICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJ0b2tlbiIsIE5vbmUpCiAg
ICAgc3RhdGUgPSBnZXRTdGF0ZSh0b2tlbikKLSAgICBjb21tYW5kID0gcmVxdWVzdC5HRVQuZmly
c3QoImNvbW1hbmQiLCBOb25lKQorICAgIGNvbW1hbmQgPSByZXF1ZXN0LkdFVC5maXJzdChiImNv
bW1hbmQiLCBOb25lKQogCi0gICAgaWYgY29tbWFuZCA9PSAicmVzZXQiOgotICAgICAgICBpZiBy
ZXF1ZXN0Lm1ldGhvZCA9PSAiR0VUIjoKKyAgICBpZiBjb21tYW5kID09IGIicmVzZXQiOgorICAg
ICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IkdFVCI6CiAgICAgICAgICAgICByZXNldFN0YXRl
KHRva2VuKQotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJTZXJ2ZXIgc3RhdGUgcmVz
ZXQiCisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJTZXJ2ZXIgc3RhdGUgcmVzZXQi
CiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmYWlsKCJJbnZhbGlkIE1ldGhvZC4iKQotICAg
IGVsaWYgc3RhdGUgPT0gIlVuaW5pdGlhbGl6ZWQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhv
ZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlRoaXMgcmVx
dWVzdCBzaG91bGQgbm90IGJlIGRpc3BsYXllZC4iCi0gICAgICAgICAgICBzZXRTdGF0ZSh0b2tl
biwgIkRlbmllZCIpCisgICAgICAgICAgICBmYWlsKGIiSW52YWxpZCBNZXRob2QuIikKKyAgICBl
bGlmIHN0YXRlID09IGIiVW5pbml0aWFsaXplZCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9k
ID09IHUiT1BUSU9OUyI6CisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJUaGlzIHJl
cXVlc3Qgc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQuIgorICAgICAgICAgICAgc2V0U3RhdGUodG9r
ZW4sIGIiRGVuaWVkIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZhaWwoc3RhdGUpCi0g
ICAgZWxpZiBzdGF0ZSA9PSAiRGVuaWVkIjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0g
IkdFVCIgYW5kIGNvbW1hbmQgPT0gImNvbXBsZXRlIjoKKyAgICBlbGlmIHN0YXRlID09IGIiRGVu
aWVkIjoKKyAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJHRVQiIGFuZCBjb21tYW5kID09
IGIiY29tcGxldGUiOgogICAgICAgICAgICAgcmVzZXRTdGF0ZSh0b2tlbikKLSAgICAgICAgICAg
IHJlc3BvbnNlLmNvbnRlbnQgPSAiUmVxdWVzdCBzdWNjZXNzZnVsbHkgYmxvY2tlZC4iCisgICAg
ICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJSZXF1ZXN0IHN1Y2Nlc3NmdWxseSBibG9ja2Vk
LiIKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNldFN0YXRlKCJEZW55IElnbm9yZWQiKQot
ICAgICAgICAgICAgZmFpbCgiVGhlIHJlcXVlc3Qgd2FzIG5vdCBkZW5pZWQuIikKLSAgICBlbGlm
IHN0YXRlID09ICJEZW55IElnbm9yZWQiOgorICAgICAgICAgICAgc2V0U3RhdGUodG9rZW4sIGIi
RGVueSBJZ25vcmVkIikKKyAgICAgICAgICAgIGZhaWwoYiJUaGUgcmVxdWVzdCB3YXMgbm90IGRl
bmllZC4iKQorICAgIGVsaWYgc3RhdGUgPT0gYiJEZW55IElnbm9yZWQiOgogICAgICAgICByZXNl
dFN0YXRlKHRva2VuKQogICAgICAgICBmYWlsKHN0YXRlKQogICAgIGVsc2U6CiAgICAgICAgIHJl
c2V0U3RhdGUodG9rZW4pCi0gICAgICAgIGZhaWwoIlVua25vd24gRXJyb3IuIikKKyAgICAgICAg
ZmFpbChiIlVua25vd24gRXJyb3IuIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVm
bGlnaHQtcmVxdWVzdC1oZWFkZXItbG93ZXJjYXNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZs
aWdodC1yZXF1ZXN0LWhlYWRlci1sb3dlcmNhc2UucHkKaW5kZXggZDM1Yjg5YjlmOThhNjY5YTM5
NDY2NjFiZDgyYTUxOTkyNDAwYzI4Ny4uZTc3ZmM5YTdkMmVlYWExZGJlYjcwM2M3NjBjMDZjM2Rl
ZjQyZGU4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1yZXF1ZXN0LWhl
YWRlci1sb3dlcmNhc2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1yZXF1ZXN0
LWhlYWRlci1sb3dlcmNhc2UucHkKQEAgLTEsMTYgKzEsMTYgQEAKIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ2FjaGUtQ29udHJvbCIsICJu
by1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbiIsICIqIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wt
TWF4LUFnZSIsIDApCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDYWNoZS1Db250cm9sIiwg
YiJuby1zdG9yZSIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4iLCBiIioiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtTWF4LUFnZSIsIDApCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6
Ci0gICAgICAgIGlmICJ4LXRlc3QiIGluIFtoZWFkZXIuc3RyaXAoIiAiKSBmb3IgaGVhZGVyIGlu
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJBY2Nlc3MtQ29u
dHJvbC1SZXF1ZXN0LUhlYWRlcnMiKS5zcGxpdCgiLCIpXToKLSAgICAgICAgICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgIlgtVGVzdCIpCisg
ICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAgICAgaWYgYiJ4LXRlc3Qi
IGluIFtoZWFkZXIuc3RyaXAoYiIgIikgZm9yIGhlYWRlciBpbgorICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LUhlYWRl
cnMiKS5zcGxpdChiIiwiKV06CisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFj
Y2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCBiIlgtVGVzdCIpCiAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDAKLSAgICBlbGlmIHJlcXVlc3QubWV0aG9k
ID09ICJHRVQiOgotICAgICAgICBpZiByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJYLVRlc3QiKToKLSAg
ICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUyIKKyAgICBlbGlmIHJlcXVlc3QubWV0
aG9kID09IHUiR0VUIjoKKyAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldChiIlgtVGVzdCIp
OgorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUyIKICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDQwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2NvcnNlbmFi
bGVkLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL2NvcnNlbmFibGVkLnB5CmluZGV4IDRhM2UxMjcwYjY1ZjQxYWNlYTFjNmYyZGY0
ZDNmMWVjOWI5NWVjYTcuLmFhZTE5ZjE4ZjNjOTI1NWQwMDJhMmQ2MzVmMjJlNzMzZjNmMWIzNTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9jb3JzZW5hYmxlZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQucHkKQEAgLTEs
MjMgKzEsMjUgQEAKIGltcG9ydCB0aW1lCiAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlz
b21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBoZWFk
ZXJzID0gWygiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKSwKLSAgICAgICAgICAg
ICAgICgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpLAotICAgICAg
ICAgICAgICAgKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIkdFVCwgUE9TVCwgUFVU
LCBGT08iKSwKLSAgICAgICAgICAgICAgICgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIs
ICJ4LXRlc3QsIHgtZm9vIiksCi0gICAgICAgICAgICAgICAoIkFjY2Vzcy1Db250cm9sLUV4cG9z
ZS1IZWFkZXJzIiwgIngtcmVxdWVzdC1tZXRob2QsIHgtcmVxdWVzdC1jb250ZW50LXR5cGUsIHgt
cmVxdWVzdC1xdWVyeSwgeC1yZXF1ZXN0LWNvbnRlbnQtbGVuZ3RoLCB4LXJlcXVlc3QtZGF0YSIp
XQorICAgIGhlYWRlcnMgPSBbKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgYiIqIiks
CisgICAgICAgICAgICAgICAoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIi
dHJ1ZSIpLAorICAgICAgICAgICAgICAgKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIs
IGIiR0VULCBQT1NULCBQVVQsIEZPTyIpLAorICAgICAgICAgICAgICAgKGIiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctSGVhZGVycyIsIGIieC10ZXN0LCB4LWZvbyIpLAorICAgICAgICAgICAgICAgKGIi
QWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLCBiIngtcmVxdWVzdC1tZXRob2QsIHgtcmVx
dWVzdC1jb250ZW50LXR5cGUsIHgtcmVxdWVzdC1xdWVyeSwgeC1yZXF1ZXN0LWNvbnRlbnQtbGVu
Z3RoLCB4LXJlcXVlc3QtZGF0YSIpXQogCi0gICAgaWYgImRlbGF5IiBpbiByZXF1ZXN0LkdFVDoK
LSAgICAgICAgZGVsYXkgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoImRlbGF5IikpCisgICAgaWYg
YiJkZWxheSIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIGRlbGF5ID0gaW50KHJlcXVlc3QuR0VU
LmZpcnN0KGIiZGVsYXkiKSkKICAgICAgICAgdGltZS5zbGVlcChkZWxheSkKIAotICAgIGlmICJz
YWZlbGlzdF9jb250ZW50X3R5cGUiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICBoZWFkZXJzLmFw
cGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAiY29udGVudC10eXBlIikpCisg
ICAgaWYgYiJzYWZlbGlzdF9jb250ZW50X3R5cGUiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBo
ZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJjb250ZW50
LXR5cGUiKSkKIAotICAgIGhlYWRlcnMuYXBwZW5kKCgiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVl
c3QubWV0aG9kKSkKLSAgICBoZWFkZXJzLmFwcGVuZCgoIlgtUmVxdWVzdC1RdWVyeSIsIHJlcXVl
c3QudXJsX3BhcnRzLnF1ZXJ5IGlmIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgIk5PIikp
Ci0gICAgaGVhZGVycy5hcHBlbmQoKCJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgiLCByZXF1ZXN0
LmhlYWRlcnMuZ2V0KCJDb250ZW50LUxlbmd0aCIsICJOTyIpKSkKLSAgICBoZWFkZXJzLmFwcGVu
ZCgoIlgtUmVxdWVzdC1Db250ZW50LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50
LVR5cGUiLCAiTk8iKSkpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJYLVJlcXVlc3QtRGF0YSIsIHJl
cXVlc3QuYm9keSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1SZXF1ZXN0LU1ldGhvZCIsIGlz
b21vcnBoaWNfZW5jb2RlKHJlcXVlc3QubWV0aG9kKSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIi
WC1SZXF1ZXN0LVF1ZXJ5IiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC51cmxfcGFydHMucXVl
cnkpIGlmIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgYiJOTyIpKQorICAgIGhlYWRlcnMu
YXBwZW5kKChiIlgtUmVxdWVzdC1Db250ZW50LUxlbmd0aCIsIHJlcXVlc3QuaGVhZGVycy5nZXQo
YiJDb250ZW50LUxlbmd0aCIsIGIiTk8iKSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1SZXF1
ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJDb250ZW50LVR5cGUiLCBi
Ik5PIikpKQorICAgIGhlYWRlcnMuYXBwZW5kKChiIlgtUmVxdWVzdC1EYXRhIiwgcmVxdWVzdC5i
b2R5KSkKIAotICAgIHJldHVybiBoZWFkZXJzLCAiVGVzdCIKKyAgICByZXR1cm4gaGVhZGVycywg
YiJUZXN0IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2RlbGF5LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2RlbGF5LnB5CmluZGV4IDhmOTdkYjZm
NGZjOTkwYzY1NGUyZTI2ZDJlNTJkNzE5MGRkMmFmN2IuLjYxYTBlZDI2ODg0NDg0MWZmMGU2YTgw
YmQxODA4YzYxZDE0NGQ3OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9kZWxheS5weQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZGVsYXkucHkK
QEAgLTEsNyArMSw3IEBACiBpbXBvcnQgdGltZQogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25z
ZSk6Ci0gICAgZGVsYXkgPSBmbG9hdChyZXF1ZXN0LkdFVC5maXJzdCgibXMiLCA1MDApKQorICAg
IGRlbGF5ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoYiJtcyIsIDUwMCkpCiAgICAgdGltZS5z
bGVlcChkZWxheSAvIDFFMykKIAotICAgIHJldHVybiBbKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCAiKiIpLCAoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiWU8iKSwgKCJD
b250ZW50LXR5cGUiLCAidGV4dC9wbGFpbiIpXSwgIlRFU1RfREVMQVkiCisgICAgcmV0dXJuIFso
YiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKSwgKGIiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctTWV0aG9kcyIsIGIiWU8iKSwgKGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWluIild
LCBiIlRFU1RfREVMQVkiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNoby1oZWFkZXJzLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VjaG8taGVh
ZGVycy5weQppbmRleCA4ZjIzZDNkYjAxOWU3Y2MzMTFiYjU4Y2FlN2Q2NzA0Y2E5NDAyMTIxLi4x
YzViZDQ2NzA5ZDRkNzgxZmY2ZGE4NmM5YmEwNGEwMTczNTY4NTNjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNo
by1oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9lY2hvLWhlYWRlcnMucHkKQEAgLTEsNiArMSw2IEBACiBkZWYg
bWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX3N0YXR1
cygyMDApCi0gICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiQ29udGVudC1UeXBlIiwg
InRleHQvcGxhaW4iKQorICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoYiJDb250ZW50
LVR5cGUiLCBiInRleHQvcGxhaW4iKQogICAgIHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVycygp
CiAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlKHN0cihyZXF1ZXN0LnJhd19oZWFkZXJzKSkKICAg
ICByZXNwb25zZS5jbG9zZV9jb25uZWN0aW9uID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VjaG8tbWV0
aG9kLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL2VjaG8tbWV0aG9kLnB5CmluZGV4IGNjYjQ2YjZiMmViNGQ0YjRjMjgxNzIwZTBh
MTYxNDJmMDQ4ZGRiYzMuLjc4OTljMTg0Yjc2OGNmYmE4YzUwYzlkNjgxNGZmMDA1OGQ1OTRjYzgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9lY2hvLW1ldGhvZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNoby1tZXRob2QucHkKQEAgLTks
NyArOSw3IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBjb250ZW50ID0gcmVx
dWVzdC5tZXRob2QKIAogICAgIHJlc3BvbnNlLmFkZF9yZXF1aXJlZF9oZWFkZXJzID0gRmFsc2UK
LSAgICByZXNwb25zZS53cml0ZXIud3JpdGUoJycnSFRUUC8xLjEgMjAwIE9LCisgICAgcmVzcG9u
c2Uud3JpdGVyLndyaXRlKHUnJydIVFRQLzEuMSAyMDAgT0sKIENvbnRlbnQtdHlwZTogdGV4dC9w
bGFpbgogQ29udGVudC1MZW5ndGg6IHt9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9lbXB0eS1kaXYtdXRmOC1o
dG1sLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
cmVzb3VyY2VzL2VtcHR5LWRpdi11dGY4LWh0bWwucHkKaW5kZXggMjZkNTRiOWQxNDk2YWY1ZmM3
MmExYmExZDJhMmVjODNjMTgyMmY1MC4uNWQ0YzkzNjU5MGMyMDg2ODcyOTY5ZDE2NTI4ZTlkMGMx
MzE0ZmFkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2VtcHR5LWRpdi11dGY4LWh0bWwucHkKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VtcHR5
LWRpdi11dGY4LWh0bWwucHkKQEAgLTEsNSArMSw1IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7Y2hhcnNl
dD11dGYtOCIpXQotICAgIGNvbnRlbnQgPSAiPCFET0NUWVBFIGh0bWw+PGRpdj48L2Rpdj4iCisg
ICAgaGVhZGVycyA9IFsoYiJDb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDtjaGFyc2V0PXV0Zi04
IildCisgICAgY29udGVudCA9IGIiPCFET0NUWVBFIGh0bWw+PGRpdj48L2Rpdj4iCiAKICAgICBy
ZXR1cm4gaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Zvcm0ucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZm9ybS5weQpp
bmRleCA2YjFjNDlhOTkzYmZhMjViYTZjMzkzMDM4ODBlODg2MGZiM2UxNDg5Li5jNTkyOTQzYjc5
NTU5NmM0ZWJiZDA2YzZkZGZjNzllZDBmYWQyZWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZm9ybS5weQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvZm9ybS5weQpAQCAtMSwyICsxLDIgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToK
LSAgICByZXR1cm4gImlkOiVzO3ZhbHVlOiVzOyIgJSAocmVxdWVzdC5QT1NULmZpcnN0KCJpZCIp
LCByZXF1ZXN0LlBPU1QuZmlyc3QoInZhbHVlIikpCisgICAgcmV0dXJuIGIiaWQ6JXM7dmFsdWU6
JXM7IiAlIChyZXF1ZXN0LlBPU1QuZmlyc3QoYiJpZCIpLCByZXF1ZXN0LlBPU1QuZmlyc3QoYiJ2
YWx1ZSIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2d6aXAucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQppbmRleCBmMTdmOTJlNGNj
MTc3OTJkN2I1NThkMWNkNGUxZTFkNzYzNTBkZDI3Li4xN2YxNDJjNDQwNWY4ZTEyMWEyNDY4ZmZj
MzgwYTlkNTZlZjA4MjJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQpAQCAt
MSwyMyArMSwyNCBAQAogaW1wb3J0IGd6aXAgYXMgZ3ppcF9tb2R1bGUKLWZyb20gY1N0cmluZ0lP
IGltcG9ydCBTdHJpbmdJTworCitmcm9tIHNpeCBpbXBvcnQgQnl0ZXNJTwogCiBkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaWYgImNvbnRlbnQiIGluIHJlcXVlc3QuR0VUOgotICAg
ICAgICBvdXRwdXQgPSByZXF1ZXN0LkdFVFsiY29udGVudCJdCisgICAgaWYgYiJjb250ZW50IiBp
biByZXF1ZXN0LkdFVDoKKyAgICAgICAgb3V0cHV0ID0gcmVxdWVzdC5HRVRbYiJjb250ZW50Il0K
ICAgICBlbHNlOgogICAgICAgICBvdXRwdXQgPSByZXF1ZXN0LmJvZHkKIAotICAgIG91dCA9IFN0
cmluZ0lPKCkKKyAgICBvdXQgPSBCeXRlc0lPKCkKICAgICB3aXRoIGd6aXBfbW9kdWxlLkd6aXBG
aWxlKGZpbGVvYmo9b3V0LCBtb2RlPSJ3IikgYXMgZjoKICAgICAgICAgZi53cml0ZShvdXRwdXQp
CiAgICAgb3V0cHV0ID0gb3V0LmdldHZhbHVlKCkKIAotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50
LXR5cGUiLCAidGV4dC9wbGFpbiIpLAotICAgICAgICAgICAgICAgKCJDb250ZW50LUVuY29kaW5n
IiwgImd6aXAiKSwKLSAgICAgICAgICAgICAgICgiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVlc3Qu
bWV0aG9kKSwKLSAgICAgICAgICAgICAgICgiWC1SZXF1ZXN0LVF1ZXJ5IiwgcmVxdWVzdC51cmxf
cGFydHMucXVlcnkgaWYgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgZWxzZSAiTk8iKSwKLSAgICAg
ICAgICAgICAgICgiWC1SZXF1ZXN0LUNvbnRlbnQtTGVuZ3RoIiwgcmVxdWVzdC5oZWFkZXJzLmdl
dCgiQ29udGVudC1MZW5ndGgiLCAiTk8iKSksCi0gICAgICAgICAgICAgICAoIlgtUmVxdWVzdC1D
b250ZW50LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiLCAiTk8iKSks
Ci0gICAgICAgICAgICAgICAoIkNvbnRlbnQtTGVuZ3RoIiwgbGVuKG91dHB1dCkpXQorICAgIGhl
YWRlcnMgPSBbKGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWluIiksCisgICAgICAgICAgICAg
ICAoYiJDb250ZW50LUVuY29kaW5nIiwgYiJnemlwIiksCisgICAgICAgICAgICAgICAoYiJYLVJl
cXVlc3QtTWV0aG9kIiwgcmVxdWVzdC5tZXRob2QpLAorICAgICAgICAgICAgICAgKGIiWC1SZXF1
ZXN0LVF1ZXJ5IiwgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgaWYgcmVxdWVzdC51cmxfcGFydHMu
cXVlcnkgZWxzZSBiIk5PIiksCisgICAgICAgICAgICAgICAoYiJYLVJlcXVlc3QtQ29udGVudC1M
ZW5ndGgiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQ29udGVudC1MZW5ndGgiLCBiIk5PIikpLAor
ICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVy
cy5nZXQoYiJDb250ZW50LVR5cGUiLCBiIk5PIikpLAorICAgICAgICAgICAgICAgKGIiQ29udGVu
dC1MZW5ndGgiLCBsZW4ob3V0cHV0KSldCiAKICAgICByZXR1cm4gaGVhZGVycywgb3V0cHV0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvaGVhZGVyLXVzZXItYWdlbnQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaGVhZGVyLXVzZXItYWdlbnQucHkK
aW5kZXggNDc3OGRlNDAyNjhiZDNjYTAwNDE5NWZjNTJmYjY5YWY2NDkyNmMzZS4uYWM2YWYxM2Fm
ZTBmZDZkOGQ0NGRmNTE5OThmODQxMDBjZjZmMzQxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2hlYWRlci11c2Vy
LWFnZW50LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9oZWFkZXItdXNlci1hZ2VudC5weQpAQCAtMSwxNSArMSwxNSBAQAog
ZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAwKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJywgIngtdGVzdCIpCisgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDApCisgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJywgYiJ4LXRl
c3QiKQogCi0gICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICBpZiBu
b3QgcmVxdWVzdC5oZWFkZXJzLmdldCgiVXNlci1BZ2VudCIpOgotICAgICAgICAgICAgcmVzcG9u
c2UuY29udGVudCA9ICJGQUlMOiBVc2VyLUFnZW50IGhlYWRlciBtaXNzaW5nIGluIHByZWZsaWdo
dCByZXF1ZXN0LiIKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAg
ICBpZiBub3QgcmVxdWVzdC5oZWFkZXJzLmdldChiIlVzZXItQWdlbnQiKToKKyAgICAgICAgICAg
IHJlc3BvbnNlLmNvbnRlbnQgPSBiIkZBSUw6IFVzZXItQWdlbnQgaGVhZGVyIG1pc3NpbmcgaW4g
cHJlZmxpZ2h0IHJlcXVlc3QuIgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCiAg
ICAgZWxzZToKLSAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldCgiVXNlci1BZ2VudCIpOgot
ICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTIgorICAgICAgICBpZiByZXF1ZXN0
LmhlYWRlcnMuZ2V0KGIiVXNlci1BZ2VudCIpOgorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVu
dCA9IGIiUEFTUyIKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQg
PSAiRkFJTDogVXNlci1BZ2VudCBoZWFkZXIgbWlzc2luZyBpbiByZXF1ZXN0IgorICAgICAgICAg
ICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTDogVXNlci1BZ2VudCBoZWFkZXIgbWlzc2luZyBp
biByZXF1ZXN0IgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvaGVhZGVycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9oZWFkZXJzLnB5CmluZGV4IDYwMmRiMzVhM2NiMWU2Mjk0YTFjODA1
MmQ4NGM5MGE4NjQyZDhmZGEuLjAwYjM3YzYyYWJjN2Q3YzM0ZWQ5ODNmNmRhZGFjOTEwYmIwZmY5
ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9oZWFkZXJzLnB5CkBAIC0xLDEyICsx
LDEyIEBACiAjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6Ci0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3Bs
YWluIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiWC1DdXN0b20tSGVhZGVyIiwgInRlc3Qi
KQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJTZXQtQ29va2llIiwgInRlc3QiKQotICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KCJTZXQtQ29va2llMiIsICJ0ZXN0IikKLSAgICByZXNwb25zZS5o
ZWFkZXJzLnNldCgiWC1DdXN0b20tSGVhZGVyLUVtcHR5IiwgIiIpCi0gICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIlgtQ3VzdG9tLUhlYWRlci1Db21tYSIsICIxIikKLSAgICByZXNwb25zZS5oZWFk
ZXJzLmFwcGVuZCgiWC1DdXN0b20tSGVhZGVyLUNvbW1hIiwgIjIiKQotICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KCJYLUN1c3RvbS1IZWFkZXItQnl0ZXMiLCAi4oCmIikKLSAgICByZXR1cm4gIlRF
U1QiCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxh
aW4iKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyIiwgYiJ0ZXN0
IikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIlNldC1Db29raWUiLCBiInRlc3QiKQorICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiU2V0LUNvb2tpZTIiLCBiInRlc3QiKQorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyLUVtcHR5IiwgYiIiKQorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyLUNvbW1hIiwgYiIxIikKKyAgICByZXNw
b25zZS5oZWFkZXJzLmFwcGVuZChiIlgtQ3VzdG9tLUhlYWRlci1Db21tYSIsIGIiMiIpCisgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJYLUN1c3RvbS1IZWFkZXItQnl0ZXMiLCB1IuKApiIuZW5j
b2RlKCJ1dGYtOCIpKQorICAgIHJldHVybiBiIlRFU1QiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaW1nLXV0Zjgt
aHRtbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9pbWctdXRmOC1odG1sLnB5CmluZGV4IDA4NTg2N2Y5NTEwZTQ4ZmM5MjY2NTBi
M2U2ZmJiZTYyNTQ3YWZiYzYuLjMwNTc2NzRjYjYwMzZhMTViNzA2MWQ2NWFhMmFhNzc1NGJiNmY4
ZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9pbWctdXRmOC1odG1sLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbWctdXRmOC1odG1sLnB5
CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGhlYWRl
cnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgiKV0KLSAgICBj
b250ZW50ID0gIjxpbWc+Zm9vIgorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVudC10eXBlIiwgYiJ0
ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIpXQorICAgIGNvbnRlbnQgPSBiIjxpbWc+Zm9vIgogCiAg
ICAgcmV0dXJuIGhlYWRlcnMsIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVj
dHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvaW5maW5pdGUtcmVkaXJlY3RzLnB5CmluZGV4IGE4NWM0MTAyMThlZjNjOWNjZjc2
MjU5NDJmMWJjNGFjOWI1N2Q4NWMuLmE2MDk0MmRkOWE2ZDFkNjc3ZWViNjRiNTFjNTQxZDNkZTRi
OTQ0NjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3Jlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVjdHMucHkKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2luZmluaXRl
LXJlZGlyZWN0cy5weQpAQCAtMSwyMiArMSwyNCBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBv
cnQgaXNvbW9ycGhpY19lbmNvZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAg
IGxvY2F0aW9uID0gIiVzOi8vJXMlcyIgJSAocmVxdWVzdC51cmxfcGFydHMuc2NoZW1lLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmxfcGFydHMubmV0bG9jLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmxfcGFydHMucGF0aCkKLSAgICBw
YWdlID0gImFsdGVybmF0ZSIKKyAgICBsb2NhdGlvbiA9IHUiJXM6Ly8lcyVzIiAlIChyZXF1ZXN0
LnVybF9wYXJ0cy5zY2hlbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVz
dC51cmxfcGFydHMubmV0bG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVl
c3QudXJsX3BhcnRzLnBhdGgpCisgICAgcGFnZSA9IHUiYWx0ZXJuYXRlIgogICAgIHR5cGUgPSAz
MDIKICAgICBtaXggPSAwCi0gICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoInBhZ2UiLCBOb25lKSA9
PSAiYWx0ZXJuYXRlIjoKLSAgICAgICAgcGFnZSA9ICJkZWZhdWx0IgorICAgIGlmIHJlcXVlc3Qu
R0VULmZpcnN0KGIicGFnZSIsIE5vbmUpID09IGIiYWx0ZXJuYXRlIjoKKyAgICAgICAgcGFnZSA9
IHUiZGVmYXVsdCIKIAotICAgIGlmIHJlcXVlc3QuR0VULmZpcnN0KCJ0eXBlIiwgTm9uZSkgPT0g
IjMwMSI6CisgICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoYiJ0eXBlIiwgTm9uZSkgPT0gYiIzMDEi
OgogICAgICAgICB0eXBlID0gMzAxCiAKLSAgICBpZiByZXF1ZXN0LkdFVC5maXJzdCgibWl4Iiwg
Tm9uZSkgPT0gIjEiOgorICAgIGlmIHJlcXVlc3QuR0VULmZpcnN0KGIibWl4IiwgTm9uZSkgPT0g
YiIxIjoKICAgICAgICAgbWl4ID0gMQogICAgICAgICB0eXBlID0gMzAyIGlmIHR5cGUgPT0gMzAx
IGVsc2UgMzAxCiAKLSAgICBuZXdfbG9jYXRpb24gPSAiJXM/cGFnZT0lcyZ0eXBlPSVzJm1peD0l
cyIgJSAobG9jYXRpb24sIHBhZ2UsIHR5cGUsIG1peCkKLSAgICBoZWFkZXJzID0gWygiQ2FjaGUt
Q29udHJvbCIsICJuby1jYWNoZSIpLAotICAgICAgICAgICAgICAgKCJQcmFnbWEiLCAibm8tY2Fj
aGUiKSwKLSAgICAgICAgICAgICAgICgiTG9jYXRpb24iLCBuZXdfbG9jYXRpb24pXQotICAgIHJl
dHVybiAzMDEsIGhlYWRlcnMsICJIZWxsbyBndWVzdC4gWW91IGhhdmUgYmVlbiByZWRpcmVjdGVk
IHRvICIgKyBuZXdfbG9jYXRpb24KKyAgICBuZXdfbG9jYXRpb24gPSB1IiVzP3BhZ2U9JXMmdHlw
ZT0lcyZtaXg9JXMiICUgKGxvY2F0aW9uLCBwYWdlLCB0eXBlLCBtaXgpCisgICAgaGVhZGVycyA9
IFsoYiJDYWNoZS1Db250cm9sIiwgYiJuby1jYWNoZSIpLAorICAgICAgICAgICAgICAgKGIiUHJh
Z21hIiwgYiJuby1jYWNoZSIpLAorICAgICAgICAgICAgICAgKGIiTG9jYXRpb24iLCBpc29tb3Jw
aGljX2VuY29kZShuZXdfbG9jYXRpb24pKV0KKyAgICByZXR1cm4gMzAxLCBoZWFkZXJzLCB1Ikhl
bGxvIGd1ZXN0LiBZb3UgaGF2ZSBiZWVuIHJlZGlyZWN0ZWQgdG8gIiArIG5ld19sb2NhdGlvbgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2luc3BlY3QtaGVhZGVycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbnNwZWN0LWhlYWRlcnMucHkKaW5k
ZXggZTcxZjY3MWNlZDM0ZmYzZDQ0NzQ2N2VhNDA5OGU2ZTAwMGZmZDhmNy4uNjhjZWNlNDUyYzlj
OGYzNTIzNDMxOTI3MjFkZDc5ODc5Y2IzN2M1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2luc3BlY3QtaGVhZGVy
cy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5CkBAIC0xLDMzICsxLDUwIEBACitmcm9tIHNp
eCBpbXBvcnQgUFkzCisKIGRlZiBnZXRfcmVzcG9uc2UocmF3X2hlYWRlcnMsIGZpbHRlcl92YWx1
ZSwgZmlsdGVyX25hbWUpOgotICAgIHJlc3VsdCA9ICIiCi0gICAgZm9yIGxpbmUgaW4gcmF3X2hl
YWRlcnMuaGVhZGVyczoKLSAgICAgICAgaWYgbGluZVstMjpdICE9ICdcclxuJzoKLSAgICAgICAg
ICAgIHJldHVybiAiU3ludGF4IGVycm9yOiBtaXNzaW5nIENSTEY6ICIgKyBsaW5lCisgICAgcmVz
dWx0ID0gYiIiCisgICAgIyBUeXBlIG9mIHJhd19oZWFkZXJzIGlzIDxodHRwbGliLkhUVFBNZXNz
YWdlPiBpbiBQeXRob24gMiBhbmQgPGh0dHAuY2xpZW50LkhUVFBNZXNzYWdlPiBpbgorICAgICMg
UHl0aG9uIDMuIDxodHRwLmNsaWVudC5IVFRQTWVzc2FnZT4gZG9lc24ndCBoYXZlICdoZWFkZXJz
IiBhdHRyaWJ1dGUgb3IgZXF1aXZhbGVudAorICAgICMgW2h0dHBzOi8vYnVncy5weXRob24ub3Jn
L2lzc3VlNDc3M10uCisgICAgIyBJbiBQeXRob24gMiwgdmFyaWFibGUgcmF3X2hlYWRlcnMuaGVh
ZGVycyByZXR1cm5zIGEgY29tcGxldGVseSB1bmludGVycHJldGVkIGxpc3Qgb2YgbGluZXMKKyAg
ICAjIGNvbnRhaW5lZCBpbiB0aGUgaGVhZGVyLiBJbiBQeXRob24gMywgcmF3X2hlYWRlcnMuYXNf
c3RyaW5nKCkgcmV0dXJucyBlbnRpcmUgZm9ybWF0dGVkCisgICAgIyBtZXNzYWdlIGFzIGEgc3Ry
aW5nLiBIZXJlIGlzIHRvIGNvbnN0cnVjdCBhbiBlcXVpdmFsZW50ICJoZWFkZXJzIiB2YXJpYWJs
ZSB0byBzdXBwb3J0IHRlc3RzCisgICAgIyBpbiBQeXRob24gMy4KKyAgICBpZiBQWTM6CisgICAg
ICAgIGhlYWRlcl9saXN0ID0gWworICAgICAgICAgICAgKHMgKyB1J1xyXG4nKS5lbmNvZGUoImlz
by04ODU5LTEiKSBmb3IgcyBpbiByYXdfaGVhZGVycy5hc19zdHJpbmcoKS5zcGxpdGxpbmVzKCkg
aWYgcworICAgICAgICBdCisgICAgZWxzZToKKyAgICAgICAgaGVhZGVyX2xpc3QgPSByYXdfaGVh
ZGVycy5oZWFkZXJzCisgICAgZm9yIGxpbmUgaW4gaGVhZGVyX2xpc3Q6CisgICAgICAgIGlmIGxp
bmVbLTI6XSAhPSBiJ1xyXG4nOgorICAgICAgICAgICAgcmV0dXJuIGIiU3ludGF4IGVycm9yOiBt
aXNzaW5nIENSTEY6ICIgKyBsaW5lCiAgICAgICAgIGxpbmUgPSBsaW5lWzotMl0KIAotICAgICAg
ICBpZiAnOiAnIG5vdCBpbiBsaW5lOgotICAgICAgICAgICAgcmV0dXJuICJTeW50YXggZXJyb3I6
IG5vIGNvbG9uIGFuZCBzcGFjZSBmb3VuZDogIiArIGxpbmUKLSAgICAgICAgbmFtZSwgdmFsdWUg
PSBsaW5lLnNwbGl0KCc6ICcsIDEpCisgICAgICAgIGlmIGInOiAnIG5vdCBpbiBsaW5lOgorICAg
ICAgICAgICAgcmV0dXJuIGIiU3ludGF4IGVycm9yOiBubyBjb2xvbiBhbmQgc3BhY2UgZm91bmQ6
ICIgKyBsaW5lCisgICAgICAgIG5hbWUsIHZhbHVlID0gbGluZS5zcGxpdChiJzogJywgMSkKIAog
ICAgICAgICBpZiBmaWx0ZXJfdmFsdWU6CiAgICAgICAgICAgICBpZiB2YWx1ZSA9PSBmaWx0ZXJf
dmFsdWU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ICs9IG5hbWUgKyAiLCIKKyAgICAgICAgICAg
ICAgICByZXN1bHQgKz0gbmFtZSArIGIiLCIKICAgICAgICAgZWxpZiBuYW1lLmxvd2VyKCkgPT0g
ZmlsdGVyX25hbWU6Ci0gICAgICAgICAgICByZXN1bHQgKz0gbmFtZSArICI6ICIgKyB2YWx1ZSAr
ICJcbiIKKyAgICAgICAgICAgIHJlc3VsdCArPSBuYW1lICsgYiI6ICIgKyB2YWx1ZSArIGIiXG4i
CiAgICAgcmV0dXJuIHJlc3VsdAogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAg
aGVhZGVycyA9IFtdCiAgICAgaWYgImNvcnMiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICBoZWFk
ZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsICIqIikpCi0gICAgICAg
IGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1
ZSIpKQotICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhv
ZHMiLCAiR0VULCBQT1NULCBQVVQsIEZPTyIpKQotICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFj
Y2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAieC10ZXN0LCB4LWZvbyIpKQotICAgICAgICBo
ZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIiwgIngtcmVxdWVz
dC1tZXRob2QsIHgtcmVxdWVzdC1jb250ZW50LXR5cGUsIHgtcmVxdWVzdC1xdWVyeSwgeC1yZXF1
ZXN0LWNvbnRlbnQtbGVuZ3RoIikpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJjb250ZW50LXR5cGUi
LCAidGV4dC9wbGFpbiIpKQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLCBiIioiKSkKKyAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKSkKKyAgICAgICAgaGVhZGVycy5h
cHBlbmQoKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiR0VULCBQT1NULCBQVVQs
IEZPTyIpKQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1I
ZWFkZXJzIiwgYiJ4LXRlc3QsIHgtZm9vIikpCisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgKKyAg
ICAgICAgICAgIGIiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLAorICAgICAgICAgICAg
YiJ4LXJlcXVlc3QtbWV0aG9kLCB4LXJlcXVlc3QtY29udGVudC10eXBlLCB4LXJlcXVlc3QtcXVl
cnksIHgtcmVxdWVzdC1jb250ZW50LWxlbmd0aCIpKQorICAgIGhlYWRlcnMuYXBwZW5kKChiImNv
bnRlbnQtdHlwZSIsIGIidGV4dC9wbGFpbiIpKQogCi0gICAgZmlsdGVyX3ZhbHVlID0gcmVxdWVz
dC5HRVQuZmlyc3QoImZpbHRlcl92YWx1ZSIsICIiKQotICAgIGZpbHRlcl9uYW1lID0gcmVxdWVz
dC5HRVQuZmlyc3QoImZpbHRlcl9uYW1lIiwgIiIpLmxvd2VyKCkKKyAgICBmaWx0ZXJfdmFsdWUg
PSByZXF1ZXN0LkdFVC5maXJzdChiImZpbHRlcl92YWx1ZSIsIGIiIikKKyAgICBmaWx0ZXJfbmFt
ZSA9IHJlcXVlc3QuR0VULmZpcnN0KGIiZmlsdGVyX25hbWUiLCBiIiIpLmxvd2VyKCkKICAgICBy
ZXN1bHQgPSBnZXRfcmVzcG9uc2UocmVxdWVzdC5yYXdfaGVhZGVycywgZmlsdGVyX3ZhbHVlLCBm
aWx0ZXJfbmFtZSkKIAogICAgIHJldHVybiBoZWFkZXJzLCByZXN1bHQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9p
bnZhbGlkLXV0ZjgtaHRtbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbnZhbGlkLXV0ZjgtaHRtbC5weQppbmRleCA3MmJlNDFh
NDVlODZjM2U0NWFhYmQwODFkMjA0N2YxZGU5MzQ0ZmFmLi5jMTVkMTcxNTFhMTM2OTc0ZmEwODM4
Y2MzYjMzMTFmZGUyYTc4ZmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaW52YWxpZC11dGY4LWh0bWwucHkKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2ludmFsaWQtdXRmOC1odG1sLnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1s
O2NoYXJzZXQ9dXRmLTgiKV0KKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtdHlwZSIsIGIidGV4
dC9odG1sO2NoYXJzZXQ9dXRmLTgiKV0KICAgICBjb250ZW50ID0gY2hyKDB4ZmYpCiAKICAgICBy
ZXR1cm4gaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
bGFzdC1tb2RpZmllZC5weQppbmRleCBlZjA1YTYzNDNjMTZhNTNlYWFkMGUwZTE3ZGFmNjVhY2Rk
N2Y2NDg3Li45ZDY5NDgxN2JmMTFmMTYzNzI5MWUyMTc4NjAzMjYzYTQ3NjlkYTU4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvbGFzdC1tb2RpZmllZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5weQpAQCAtMSw3ICsx
LDkgQEAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlLCBpc29t
b3JwaGljX2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgaW1wb3J0
IGRhdGV0aW1lLCBvcwotICAgIHNyY3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1l
KF9fZmlsZV9fKSwgIndlbGwtZm9ybWVkLnhtbCIpCisgICAgc3JjcGF0aCA9IG9zLnBhdGguam9p
bihvcy5wYXRoLmRpcm5hbWUoaXNvbW9ycGhpY19kZWNvZGUoX19maWxlX18pKSwgdSJ3ZWxsLWZv
cm1lZC54bWwiKQogICAgIHNyY21vZGR0ID0gZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVzdGFt
cChvcy5wYXRoLmdldG10aW1lKHNyY3BhdGgpKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJM
YXN0LU1vZGlmaWVkIiwgc3JjbW9kZHQuc3RyZnRpbWUoIiVhLCAlZCAlYiAlWSAlSDolTTolUyBH
TVQiKSkKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0
aW9uL3htbCIpCi0gICAgcmV0dXJuIG9wZW4oc3JjcGF0aCwgInIiKS5yZWFkKCkKKyAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiIkxhc3QtTW9kaWZpZWQiLCBpc29tb3JwaGljX2VuY29kZShzcmNt
b2RkdC5zdHJmdGltZSh1IiVhLCAlZCAlYiAlWSAlSDolTTolUyBHTVQiKSkpCisgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiImFwcGxpY2F0aW9uL3htbCIpCisgICAg
cmV0dXJuIG9wZW4oc3JjcGF0aCwgdSJyIikucmVhZCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbm8tY3VzdG9t
LWhlYWRlci1vbi1wcmVmbGlnaHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbm8tY3VzdG9tLWhlYWRlci1vbi1wcmVmbGlnaHQu
cHkKaW5kZXggZjQ5ZjlmMzExZmI3MmE3NTY1YjViYmY0YTkwNDljMGFlNDU0NThhYS4uODM1YzEy
ODEzZGNhZjA0NjFhYjY1ZjA1MjhmY2IzOThkMTYyYmYyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL25vLWN1c3Rv
bS1oZWFkZXItb24tcHJlZmxpZ2h0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9uby1jdXN0b20taGVhZGVyLW9uLXByZWZs
aWdodC5weQpAQCAtMiwyNiArMiwyNiBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAg
ICAgZGVmIGdldFN0YXRlKHRva2VuKToKICAgICAgICAgc2VydmVyX3N0YXRlID0gcmVxdWVzdC5z
ZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKICAgICAgICAgaWYgbm90IHNlcnZlcl9zdGF0ZToKLSAg
ICAgICAgICAgIHJldHVybiAiVW5pbml0aWFsaXplZCIKKyAgICAgICAgICAgIHJldHVybiBiIlVu
aW5pdGlhbGl6ZWQiCiAgICAgICAgIHJldHVybiBzZXJ2ZXJfc3RhdGUKIAogICAgIGRlZiBzZXRT
dGF0ZShzdGF0ZSwgdG9rZW4pOgogICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9r
ZW4sIHN0YXRlKQogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFs
bG93LU9yaWdpbiIsICIqIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctSGVhZGVycyIsICJ4LXRlc3QiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMCkKLSAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0
KCJ0b2tlbiIsIE5vbmUpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLCBiIioiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIGIieC10ZXN0IikKKyAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAwKQorICAgIHRva2VuID0gcmVxdWVzdC5H
RVQuZmlyc3QoYiJ0b2tlbiIsIE5vbmUpCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BU
SU9OUyI6Ci0gICAgICAgIGlmIHJlcXVlc3QuaGVhZGVycy5nZXQoIngtdGVzdCIpOgotICAgICAg
ICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJGQUlMOiBJbnZhbGlkIGhlYWRlciBpbiBwcmVmbGln
aHQgcmVxdWVzdC4iCisgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAg
ICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldChiIngtdGVzdCIpOgorICAgICAgICAgICAgcmVzcG9u
c2UuY29udGVudCA9IGIiRkFJTDogSW52YWxpZCBoZWFkZXIgaW4gcHJlZmxpZ2h0IHJlcXVlc3Qu
IgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBzZXRTdGF0ZSgiUEFTUyIsIHRva2VuKQorICAgICAgICAgICAgc2V0U3RhdGUoYiJQ
QVNTIiwgdG9rZW4pCiAgICAgZWxzZToKLSAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldCgi
eC10ZXN0Iik6CisgICAgICAgIGlmIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJ4LXRlc3QiKToKICAg
ICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBnZXRTdGF0ZSh0b2tlbikKICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiRkFJTDogWC1UZXN0IGhlYWRlciBt
aXNzaW5nIGluIHJlcXVlc3QiCisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJGQUlM
OiBYLVRlc3QgaGVhZGVyIG1pc3NpbmcgaW4gcmVxdWVzdCIKICAgICAgICAgICAgIHJlc3BvbnNl
LnN0YXR1cyA9IDQwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3BhcnNlLWhlYWRlcnMucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcGFyc2UtaGVh
ZGVycy5weQppbmRleCBmZGM2MjY1MzllODQyZjY2NjBmNTMzYTM2ODRkYTcyZTcxOWNlZjA5Li44
NTIwYmFhZDg4MGZjMGU2Y2Y3Y2YzYzhlODE5NGMxOGZjZmVlMzA5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcGFy
c2UtaGVhZGVycy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvcGFyc2UtaGVhZGVycy5weQpAQCAtMSwxMCArMSw2IEBACi1p
bXBvcnQganNvbgotCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0KLSAgICBjb250ZW50
ID0gIiIKLSAgICBpZiAibXktY3VzdG9tLWhlYWRlciIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAg
IHZhbCA9IHJlcXVlc3QuR0VULmZpcnN0KCJteS1jdXN0b20taGVhZGVyIikKLSAgICAgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoIk15LUN1c3RvbS1IZWFkZXIiLCB2YWwpCi0KKyAgICBjb250ZW50
ID0gdSIiCisgICAgaWYgYiJteS1jdXN0b20taGVhZGVyIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAg
ICAgdmFsID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJteS1jdXN0b20taGVhZGVyIikKKyAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJNeS1DdXN0b20tSGVhZGVyIiwgdmFsKQogICAgIHJldHVy
biBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC1jb3Jz
LnB5CmluZGV4IDI3NjA5YjhiZGIyMDgyODM0NmY5NzhkNmQzNTRjYTBjZjM2YWQzYmMuLjVkMDMw
YTYyMjc3YzE1OWMzN2EyOTZmNGIxYmRjZmQ0MGI0MjhiZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVj
dC1jb3JzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5CkBAIC0xLDIwICsxLDIwIEBACiBkZWYg
bWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5maXJz
dCgibG9jYXRpb24iKQorICAgIGxvY2F0aW9uID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJsb2NhdGlv
biIpCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgIGlmICJy
ZWRpcmVjdF9wcmVmbGlnaHQiIGluIHJlcXVlc3QuR0VUOgorICAgIGlmIHJlcXVlc3QubWV0aG9k
ID09IHUiT1BUSU9OUyI6CisgICAgICAgIGlmIGIicmVkaXJlY3RfcHJlZmxpZ2h0IiBpbiByZXF1
ZXN0LkdFVDoKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDMwMgotICAgICAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoIkxvY2F0aW9uIiwgbG9jYXRpb24pCisgICAgICAgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCiAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSAyMDAKLSAgICAgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiR0VUIikKLSAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxKQotICAgIGVs
aWYgcmVxdWVzdC5tZXRob2QgPT0gIkdFVCI6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiR0VUIikKKyAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMSkKKyAgICBlbGlmIHJl
cXVlc3QubWV0aG9kID09IHUiR0VUIjoKICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gMzAyCi0g
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJMb2NhdGlvbiIsIGxvY2F0aW9uKQorICAgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCiAKLSAgICBpZiAi
YWxsb3dfb3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9y
aWdpbiIpKQorICAgIGlmIGIiYWxsb3dfb3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1
ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCiAKLSAgICBpZiAiYWxsb3dfaGVhZGVyIiBpbiBy
ZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9s
LUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdFVC5maXJzdCgiYWxsb3dfaGVhZGVyIikpCisgICAg
aWYgYiJhbGxvd19oZWFkZXIiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdFVC5maXJz
dChiImFsbG93X2hlYWRlciIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3JlZGlyZWN0
LnB5CmluZGV4IDJhZjlmMmVlOGE5NGM0YWExMDg0MTZjZGVkN2M5M2IwOGE3YmY4YTIuLjlkOWJi
MzMyYTcwOThlNWY3YTE0NWUzOGU5YTVkNDk2MmNiYTlkMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVj
dC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvcmVkaXJlY3QucHkKQEAgLTEsMTQgKzEsMTYgQEAKIGltcG9ydCB0aW1lCiAK
K2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZpcnN0KCJj
b2RlIiwgMzAyKSkKLSAgICBsb2NhdGlvbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJsb2NhdGlvbiIs
IHJlcXVlc3QudXJsX3BhcnRzLnBhdGggKyAiP2ZvbGxvd2VkIikKKyAgICBjb2RlID0gaW50KHJl
cXVlc3QuR0VULmZpcnN0KGIiY29kZSIsIDMwMikpCisgICAgbG9jYXRpb24gPSByZXF1ZXN0LkdF
VC5maXJzdChiImxvY2F0aW9uIiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC51cmxfcGFydHMu
cGF0aCArIHUiP2ZvbGxvd2VkIikpCiAKLSAgICBpZiAiZGVsYXkiIGluIHJlcXVlc3QuR0VUOgot
ICAgICAgICBkZWxheSA9IGZsb2F0KHJlcXVlc3QuR0VULmZpcnN0KCJkZWxheSIpKQorICAgIGlm
IGIiZGVsYXkiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBkZWxheSA9IGZsb2F0KHJlcXVlc3Qu
R0VULmZpcnN0KGIiZGVsYXkiKSkKICAgICAgICAgdGltZS5zbGVlcChkZWxheSAvIDFFMykKIAot
ICAgIGlmICJmb2xsb3dlZCIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIHJldHVybiBbKCJDb250
ZW50OlR5cGUiLCAidGV4dC9wbGFpbiIpXSwgIk1BR0lDIEhBUFBFTkVEIgorICAgIGlmIGIiZm9s
bG93ZWQiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXR1cm4gWyhiIkNvbnRlbnQ6VHlwZSIs
IGIidGV4dC9wbGFpbiIpXSwgYiJNQUdJQyBIQVBQRU5FRCIKICAgICBlbHNlOgotICAgICAgICBy
ZXR1cm4gKGNvZGUsICJXRUJTUlQgTUFSS0VUSU5HIiksIFsoIkxvY2F0aW9uIiwgbG9jYXRpb24p
XSwgIlRFU1QiCisgICAgICAgIHJldHVybiAoY29kZSwgdSJXRUJTUlQgTUFSS0VUSU5HIiksIFso
YiJMb2NhdGlvbiIsIGxvY2F0aW9uKV0sIGIiVEVTVCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZXF1cmkucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvcmVxdXJpLnB5CmluZGV4IGEzZjdiZmRhMzUxNzgyZTQ5NDFmMzk1NWMxYzdiNWYzMmJlMDdi
YTQuLmM3ZjczMzBmMTFjYzBhY2MyOWIwZjBiNzQ2ODM1MmJkNzkzOWNjNzcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9yZXF1cmkucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL3JlcXVyaS5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJl
cXVlc3QsIHJlc3BvbnNlKToKLSAgICBpZiAiZnVsbCIgaW4gcmVxdWVzdC5HRVQ6CisgICAgaWYg
YiJmdWxsIiBpbiByZXF1ZXN0LkdFVDoKICAgICAgICAgcmV0dXJuIHJlcXVlc3QudXJsCiAgICAg
ZWxzZToKICAgICAgICAgcmV0dXJuIHJlcXVlc3QucmVxdWVzdF9wYXRoCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
cmVzZXQtdG9rZW4ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvcmVzZXQtdG9rZW4ucHkKaW5kZXggNWM5YTU3N2I0NGNlMjJjYWNj
NmZkOWFkNDFjZDQ0MTUzOGYwMzczZC4uMjU3YzJhYWU4MGM2OTA2NTJlZjY3NjJiMTNkMTc4NWRj
ZGM5NGQ3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL3Jlc2V0LXRva2VuLnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZXNldC10b2tlbi5w
eQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5o
ZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgdG9rZW4gPSByZXF1ZXN0LkdFVFsidG9rZW4iXQot
ICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgIiIpCi0gICAgcmVzcG9uc2UuY29u
dGVudCA9ICJQQVNTIgorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHRva2Vu
ID0gcmVxdWVzdC5HRVRbYiJ0b2tlbiJdCisgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRv
a2VuLCBiIiIpCisgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUyIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9z
ZW5kLWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy0yLmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5kLWFm
dGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy0yLmh0bQppbmRleCAwNzMyNjhjMjFj
N2U4NGZiY2JlNTM5YTZhNDU0NzZkYzc1N2QwNTY0Li5jZDlmMGM2YmI3MDQ0ZjU2OWRiMWY4N2Mx
YWJiOWVjOTliMWFiMzJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0aW5nLWRvY3VtZW50
LWRvbWFpbi13aW5kb3ctMi5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1kb2N1bWVudC1k
b21haW4td2luZG93LTIuaHRtCkBAIC0xMSw3ICsxMSw3IEBACiAgICAgICAgIGRvY3VtZW50LmRv
bWFpbiA9IGRvY3VtZW50LmRvbWFpbi5yZXBsYWNlKC9eXHcrXC4vLCAiIik7CiAgICAgICAgIHZh
ciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgY2xpZW50Lm9wZW4oIkdF
VCIsIGxvY2F0aW9uLnByb3RvY29sICsgIi8vIiArIGRvY3VtZW50LmRvbWFpbiArIGxvY2F0aW9u
LnBhdGhuYW1lLnJlcGxhY2UoL1teXC9dKiQvLCAiIikgKyAic3RhdHVzLnB5P2NvbnRlbnQ9aGVs
bG8zIiwgZmFsc2UpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0
aW9uKCkgewogICAgICAgICAgIGNsaWVudC5zZW5kKG51bGwpOwogICAgICAgICB9KTsKICAgICAg
IH0sICJsb2FkaW5nIGRvY3VtZW50cyBmcm9tIHRoZSBvcmlnaW4gZG9jdW1lbnQuZG9tYWluIHdh
cyBzZXQgdG8gc2hvdWxkIHRocm93Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0aW5n
LWRvY3VtZW50LWRvbWFpbi13aW5kb3ctaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1k
b2N1bWVudC1kb21haW4td2luZG93LWhlbHBlci5qcwppbmRleCBmNWM3NjJiMDQyYjcwYTI3NzM0
MTU3ZTBjYTdkNGQ4NjhmMjUxNDdiLi4wYzIzOWNmZGJjZDVhNDQ1MzNlMzY3MzExZGQ0MTNiNWU2
NmRhMGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0aW5nLWRvY3VtZW50LWRvbWFpbi13
aW5kb3ctaGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5kLWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWlu
LXdpbmRvdy1oZWxwZXIuanMKQEAgLTQsMTAgKzQsMTMgQEAgZnVuY3Rpb24gYXNzZXJ0X2VxdWFs
cyh2YWx1ZSwgZXhwZWN0ZWQpIHsKICAgfQogfQogCi1mdW5jdGlvbiBhc3NlcnRfdGhyb3dzKGV4
cGVjdGVkX2V4YywgZnVuYykgeworZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19kb20oZXhwZWN0ZWRf
ZXhjLCBmdW5jKSB7CiAgIHRyeSB7CiAgICAgZnVuYy5jYWxsKHRoaXMpOwogICB9IGNhdGNoKGUp
IHsKKyAgICBpZiAoZS5jb25zdHJ1Y3Rvci5uYW1lICE9ICJET01FeGNlcHRpb24iKSB7CisgICAg
ICB0aHJvdyBgRXhjZXB0aW9uICR7ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICJ1bmtub3duIn0gdGhh
dCB3YXMgbm90IGEgRE9NRXhjZXB0aW9uIHdhcyB0aHJvd25gOworICAgIH0KICAgICB2YXIgYWN0
dWFsID0gZS5uYW1lIHx8IGUudHlwZTsKICAgICBpZiAoYWN0dWFsICE9IGV4cGVjdGVkX2V4Yykg
ewogICAgICAgdGhyb3cgIkdvdCB3cm9uZyBleGNlcHRpb24uXG5FeHBlY3RlZCAnIiArIGV4cGVj
dGVkX2V4YyArICInLFxuZ290ICciICsgYWN0dWFsICsgIicuIjsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zaGlm
dC1qaXMtaHRtbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9zaGlmdC1qaXMtaHRtbC5weQppbmRleCBmYWI3OGMwYjNhYzgzMTVj
NjVkZjM4MjRjZmNiZWZkNzBmNzZkY2JmLi40N2M2N2Q4YWUzOWU5NmJhY2Q5N2Q3Y2IxNGM1OTE1
MTA2MGUyNjgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2hpZnQtamlzLWh0bWwucHkKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NoaWZ0LWpp
cy1odG1sLnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgot
ICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1sO2NoYXJzZXQ9c2hpZnQt
amlzIildCisgICAgaGVhZGVycyA9IFsoYiJDb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDtjaGFy
c2V0PXNoaWZ0LWppcyIpXQogICAgICMgU2hpZnQtSklTIGJ5dGVzIGZvciBrYXRha2FuYSBURSBT
VSBUTyAoJ3Rlc3QnKQogICAgIGNvbnRlbnQgPSBjaHIoMHg4MykgKyBjaHIoMHg2NSkgKyBjaHIo
MHg4MykgKyBjaHIoMHg1OCkgKyBjaHIoMHg4MykgKyBjaHIoMHg2NykKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L3N0YXR1cy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9zdGF0dXMucHkKaW5kZXggNWQ3MmUxMGIyNGJmZDVhMzZkNzE5OTQwMzg4
YmI1NWQ0NDQzMzU0Ni4uMDVhNTlkNWE2MzdlZGRlOGZiMDQ5NjI3ZmRjZThhM2EwZTgzNjcxNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL3N0YXR1cy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc3RhdHVzLnB5CkBAIC0xLDkgKzEsMTEgQEAK
K2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZpcnN0KCJj
b2RlIiwgMjAwKSkKLSAgICB0ZXh0ID0gcmVxdWVzdC5HRVQuZmlyc3QoInRleHQiLCAiT01HIikK
LSAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoImNvbnRlbnQiLCAiIikKLSAgICB0eXBl
ID0gcmVxdWVzdC5HRVQuZmlyc3QoInR5cGUiLCAiIikKKyAgICBjb2RlID0gaW50KHJlcXVlc3Qu
R0VULmZpcnN0KGIiY29kZSIsIDIwMCkpCisgICAgdGV4dCA9IHJlcXVlc3QuR0VULmZpcnN0KGIi
dGV4dCIsIGIiT01HIikKKyAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJjb250ZW50
IiwgYiIiKQorICAgIHR5cGUgPSByZXF1ZXN0LkdFVC5maXJzdChiInR5cGUiLCBiIiIpCiAgICAg
c3RhdHVzID0gKGNvZGUsIHRleHQpCi0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsIHR5
cGUpLAotICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtTWV0aG9kIiwgcmVxdWVzdC5tZXRob2Qp
XQorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVudC1UeXBlIiwgdHlwZSksCisgICAgICAgICAgICAg
ICAoYiJYLVJlcXVlc3QtTWV0aG9kIiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2Qp
KV0KICAgICByZXR1cm4gc3RhdHVzLCBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdHJp
Y2tsZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy90cmlja2xlLnB5CmluZGV4IDQxOGUyNDU5OTIxNzQzYjc2OWZhYjMyMDQxZTk1
YjAwZTdjMDkxYmIuLjRhNmJiZDdmNGYyNzVlZmFhOGYzNjcxZjc1ZGI3ODc0MjAwYjk0MDIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy90cmlja2xlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy90cmlja2xlLnB5CkBAIC0xLDE1ICsxLDE3IEBA
CiBpbXBvcnQgdGltZQogCitmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKKwogZGVmIG1haW4o
cmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGNodW5rID0gIlRFU1RfVFJJQ0tMRVxuIgotICAgIGRl
bGF5ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoIm1zIiwgNTAwKSkgLyAxRTMKLSAgICBjb3Vu
dCA9IGludChyZXF1ZXN0LkdFVC5maXJzdCgiY291bnQiLCA1MCkpCi0gICAgaWYgInNwZWNpZnls
ZW5ndGgiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29u
dGVudC1MZW5ndGgiLCBjb3VudCAqIGxlbihjaHVuaykpCisgICAgY2h1bmsgPSBiIlRFU1RfVFJJ
Q0tMRVxuIgorICAgIGRlbGF5ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoYiJtcyIsIDUwMCkp
IC8gMUUzCisgICAgY291bnQgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoYiJjb3VudCIsIDUwKSkK
KyAgICBpZiBiInNwZWNpZnlsZW5ndGgiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtTGVuZ3RoIiwgY291bnQgKiBsZW4oY2h1bmspKQogICAg
IHRpbWUuc2xlZXAoZGVsYXkpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtdHlw
ZSIsICJ0ZXh0L3BsYWluIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtdHlw
ZSIsIGIidGV4dC9wbGFpbiIpCiAgICAgcmVzcG9uc2Uud3JpdGVfc3RhdHVzX2hlYWRlcnMoKQog
ICAgIHRpbWUuc2xlZXAoZGVsYXkpCi0gICAgZm9yIGkgaW4geHJhbmdlKGNvdW50KToKKyAgICBm
b3IgaSBpbiByYW5nZShjb3VudCk6CiAgICAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9jb250
ZW50KGNodW5rKQogICAgICAgICB0aW1lLnNsZWVwKGRlbGF5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3VwbG9h
ZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy91cGxvYWQucHkKaW5kZXggMzA0YmVhOWU1ZWY5MDZlZTI4NzRjMjc3OTk3OGRhNzZh
NjMyMTUwZC4uZTM1ZTQ2ZWRjZjk2YWQ5YTlhMTEyYTViZDZhMjZmMGQ5YjRlOWZiMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL3VwbG9hZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdXBsb2FkLnB5CkBAIC0xLDE1ICsxLDE3IEBACitmcm9t
IHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2VuY29kZQorCiBkZWYgbWFpbihyZXF1
ZXN0LCByZXNwb25zZSk6CiAgICAgY29udGVudCA9IFtdCiAKLSAgICBmb3Iga2V5LCB2YWx1ZXMg
aW4gc29ydGVkKGl0ZW0gZm9yIGl0ZW0gaW4gcmVxdWVzdC5QT1NULml0ZW1zKCkgaWYgbm90IGhh
c2F0dHIoaXRlbVsxXVswXSwgImZpbGVuYW1lIikpOgotICAgICAgICBjb250ZW50LmFwcGVuZCgi
JXM9JXMsIiAlIChrZXksIHZhbHVlc1swXSkpCi0gICAgY29udGVudC5hcHBlbmQoIlxuIikKKyAg
ICBmb3Iga2V5LCB2YWx1ZXMgaW4gc29ydGVkKGl0ZW0gZm9yIGl0ZW0gaW4gcmVxdWVzdC5QT1NU
Lml0ZW1zKCkgaWYgbm90IGhhc2F0dHIoaXRlbVsxXVswXSwgdSJmaWxlbmFtZSIpKToKKyAgICAg
ICAgY29udGVudC5hcHBlbmQoYiIlcz0lcywiICUgKGtleSwgdmFsdWVzWzBdKSkKKyAgICBjb250
ZW50LmFwcGVuZChiIlxuIikKIAotICAgIGZvciBrZXksIHZhbHVlcyBpbiBzb3J0ZWQoaXRlbSBm
b3IgaXRlbSBpbiByZXF1ZXN0LlBPU1QuaXRlbXMoKSBpZiBoYXNhdHRyKGl0ZW1bMV1bMF0sICJm
aWxlbmFtZSIpKToKKyAgICBmb3Iga2V5LCB2YWx1ZXMgaW4gc29ydGVkKGl0ZW0gZm9yIGl0ZW0g
aW4gcmVxdWVzdC5QT1NULml0ZW1zKCkgaWYgaGFzYXR0cihpdGVtWzFdWzBdLCB1ImZpbGVuYW1l
IikpOgogICAgICAgICB2YWx1ZSA9IHZhbHVlc1swXQotICAgICAgICBjb250ZW50LmFwcGVuZCgi
JXM9JXM6JXM6JXMsIiAlIChrZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZhbHVlLmZpbGVuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2YWx1ZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGVuKHZhbHVlLmZpbGUucmVhZCgpKSkpCisgICAgICAg
IGNvbnRlbnQuYXBwZW5kKGIiJXM9JXM6JXM6JWQsIiAlIChrZXksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpc29tb3JwaGljX2VuY29kZSh2YWx1ZS5maWxlbmFt
ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc29tb3JwaGlj
X2VuY29kZSh2YWx1ZS5oZWFkZXJzW3UiQ29udGVudC1UeXBlIl0pIGlmIHZhbHVlLmhlYWRlcnNb
dSJDb250ZW50LVR5cGUiXSBpcyBub3QgTm9uZSBlbHNlIGIiTm9uZSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4odmFsdWUuZmlsZS5yZWFkKCkpKSkKIAot
ICAgIHJldHVybiAiIi5qb2luKGNvbnRlbnQpCisgICAgcmV0dXJuIGIiIi5qb2luKGNvbnRlbnQp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggNjU1
OWQ4MTcyYWE3NTYwYjM4OTVmMmE1NzNlYTJlOTcwNjdkYzAwNi4uMmYwODYwNGQzMzAwMmU3MmRm
MzdiMTk1OGYwMzE4OGM2YzBkNTJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZwpAQCAtODMsNiArODMsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5k
LWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy1oZWxwZXIuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2hpZnQt
amlzLWh0bWwucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvc3RhdHVzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3RvcC50eHQKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdHJpY2tsZS5weQogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy91cGxv
YWQucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvdXRmMTYtYm9tLmpzb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93aW4tMTI1Mi1odG1sLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L3dpbi0xMjUyLWh0bWwucHkKaW5kZXggYTRkNzJkNWUyNzU0Y2UyMTc4Y2YxZjNjNGVkOWQzOWM4
ZjY4YmIxNS4uMGVmNTI4M2Y3ZDUxNDY1NmVkNzc1OWMwZjliNzAzNmQxZmE4OGFjZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL3dpbi0xMjUyLWh0bWwucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3dpbi0xMjUyLWh0bWwucHkKQEAgLTEsNSAr
MSw1IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNv
bnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7Y2hhcnNldD13aW5kb3dzLTEyNTIiKV0KKyAgICBoZWFk
ZXJzID0gWyhiIkNvbnRlbnQtdHlwZSIsIGIidGV4dC9odG1sO2NoYXJzZXQ9d2luZG93cy0xMjUy
IildCiAgICAgY29udGVudCA9IGNocigweGZmKQogCiAgICAgcmV0dXJuIGhlYWRlcnMsIGNvbnRl
bnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy93aW4tMTI1Mi14bWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvd2luLTEyNTIteG1sLnB5CmluZGV4
IDA5YzMyZTQ1NzRiODg5OTc0MTUzYWJlY2IyYjk5ZWViNzljMTMxZmEuLmQ4ODA4NmU5MzZlYTE3
Zjc1ZjMwYzE4ZjRlOWJkNDI0YmE2MDlmZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93aW4tMTI1Mi14bWwucHkK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL3dpbi0xMjUyLXhtbC5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKLSAgICBoZWFkZXJzID0gWygiQ29udGVudC10eXBlIiwgImFwcGxpY2F0aW9u
L3htbDtjaGFyc2V0PXdpbmRvd3MtMTI1MiIpXQorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVudC10
eXBlIiwgYiJhcHBsaWNhdGlvbi94bWw7Y2hhcnNldD13aW5kb3dzLTEyNTIiKV0KICAgICBjb250
ZW50ID0gJzwnICsgY2hyKDB4ZmYpICsgJy8+JwogCiAgICAgcmV0dXJuIGhlYWRlcnMsIGNvbnRl
bnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy96bGliLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKaW5kZXggNDllZDY5ZGU3OTM5ODgy
OGFmMTI4MzdlOGQ4N2VkOGQxYTNhN2EzZS4uNjM4ODEzOTk5Y2UwN2I4ZjYzMDhmMGRjNWMwMzg4
ZWM4MjA5MTA2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKQEAgLTEsMTkg
KzEsMTkgQEAKIGltcG9ydCB6bGliCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAg
ICBpZiAiY29udGVudCIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIG91dHB1dCA9IHJlcXVlc3Qu
R0VUWyJjb250ZW50Il0KKyAgICBpZiBiImNvbnRlbnQiIGluIHJlcXVlc3QuR0VUOgorICAgICAg
ICBvdXRwdXQgPSByZXF1ZXN0LkdFVFtiImNvbnRlbnQiXQogICAgIGVsc2U6CiAgICAgICAgIG91
dHB1dCA9IHJlcXVlc3QuYm9keQogCiAgICAgb3V0cHV0ID0gemxpYi5jb21wcmVzcyhvdXRwdXQs
IDkpCiAKLSAgICBoZWFkZXJzID0gWygiQ29udGVudC10eXBlIiwgInRleHQvcGxhaW4iKSwKLSAg
ICAgICAgICAgICAgICgiQ29udGVudC1FbmNvZGluZyIsICJkZWZsYXRlIiksCi0gICAgICAgICAg
ICAgICAoIlgtUmVxdWVzdC1NZXRob2QiLCByZXF1ZXN0Lm1ldGhvZCksCi0gICAgICAgICAgICAg
ICAoIlgtUmVxdWVzdC1RdWVyeSIsIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGlmIHJlcXVlc3Qu
dXJsX3BhcnRzLnF1ZXJ5IGVsc2UgIk5PIiksCi0gICAgICAgICAgICAgICAoIlgtUmVxdWVzdC1D
b250ZW50LUxlbmd0aCIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvbnRlbnQtTGVuZ3RoIiwgIk5P
IikpLAotICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtQ29udGVudC1UeXBlIiwgcmVxdWVzdC5o
ZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIiwgIk5PIikpLAotICAgICAgICAgICAgICAgKCJDb250
ZW50LUxlbmd0aCIsIGxlbihvdXRwdXQpKV0KKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtdHlw
ZSIsIGIidGV4dC9wbGFpbiIpLAorICAgICAgICAgICAgICAgKGIiQ29udGVudC1FbmNvZGluZyIs
IGIiZGVmbGF0ZSIpLAorICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVl
c3QubWV0aG9kKSwKKyAgICAgICAgICAgICAgIChiIlgtUmVxdWVzdC1RdWVyeSIsIHJlcXVlc3Qu
dXJsX3BhcnRzLnF1ZXJ5IGlmIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgYiJOTyIpLAor
ICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LUNvbnRlbnQtTGVuZ3RoIiwgcmVxdWVzdC5oZWFk
ZXJzLmdldChiIkNvbnRlbnQtTGVuZ3RoIiwgYiJOTyIpKSwKKyAgICAgICAgICAgICAgIChiIlgt
UmVxdWVzdC1Db250ZW50LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQ29udGVudC1UeXBl
IiwgYiJOTyIpKSwKKyAgICAgICAgICAgICAgIChiIkNvbnRlbnQtTGVuZ3RoIiwgbGVuKG91dHB1
dCkpXQogCiAgICAgcmV0dXJuIGhlYWRlcnMsIG91dHB1dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V0eXBlLmFueS5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc3Bv
bnNldHlwZS5hbnkuanMKaW5kZXggODhiZDkxODllYmVkMDMxNzkwNGZhZDQyNDA4ODhhMjNjY2Ey
NzJjZS4uNDQ0YzNlM2QxNjlhMGEyNjgwYmQwNTAxYjg4NTliN2NhOTdiNDI1MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9u
c2V0eXBlLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNwb25zZXR5cGUuYW55LmpzCkBAIC02OSw3ICs2OSw3IEBAIHR5cGVzLmZv
ckVhY2goZnVuY3Rpb24odHlwZSkgewogICAgICAgICBpZiAoaXNJZ25vcmVkVHlwZSh0eXBlKSkg
ewogICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rp
b24oKSB7CiAgICAgICAgICAgICB4aHIucmVzcG9uc2VUeXBlID0gdHlwZTsKICAgICAgICAgICB9
KTsKICAgICAgICAgfQpAQCAtOTAsNyArOTAsNyBAQCB0eXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHR5
cGUpIHsKICAgICAgICAgaWYgKGlzSWdub3JlZFR5cGUodHlwZSkpIHsKICAgICAgICAgICB4aHIu
cmVzcG9uc2VUeXBlID0gdHlwZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICBhc3NlcnRf
dGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAg
ICAgeGhyLnJlc3BvbnNlVHlwZSA9IHR5cGU7CiAgICAgICAgICAgfSk7CiAgICAgICAgIH0KQEAg
LTExMiw3ICsxMTIsNyBAQCB0eXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgIHho
ci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgYXNzZXJ0X2VxdWFscyh4aHIucmVzcG9uc2VU
eXBlLCBleHBlY3RlZFR5cGUodHlwZSkpOwogICAgIH0gZWxzZSB7Ci0gICAgICBhc3NlcnRfdGhy
b3dzKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF90aHJv
d3NfZG9tKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgeGhyLnJl
c3BvbnNlVHlwZSA9IHR5cGU7CiAgICAgICB9KTsKICAgICB9CkBAIC0xMjYsNyArMTI2LDcgQEAg
dHlwZXMuZm9yRWFjaChmdW5jdGlvbih0eXBlKSB7CiAgICAgaWYgKGlzSWdub3JlZFR5cGUodHlw
ZSkpIHsKICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgIH0gZWxzZSB7Ci0gICAg
ICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAg
YXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAg
ICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgfSk7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9u
c2V4bWwtbm9uLWRvY3VtZW50LXR5cGVzLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc3BvbnNleG1sLW5vbi1kb2N1bWVudC10eXBlcy5odG0K
aW5kZXggODRkOTBhOGQzNWFlMWQzZGEzNDk0Y2QyNjgxZWQxZWY4YjdkZWJjNi4uNmQ3ZmVlYTc1
MzBlZWY3Mjg1YjY2MjViN2IxZDY4NzA1OWZlMDAzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V4bWwtbm9uLWRvY3Vt
ZW50LXR5cGVzLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNwb25zZXhtbC1ub24tZG9jdW1lbnQtdHlwZXMuaHRtCkBAIC0yMCwxMiAr
MjAsMTIgQEAKICAgICAgICAgICBjbGllbnQub25sb2FkID0gZnVuY3Rpb24oKXsKICAgICAgICAg
ICAgIHRlc3Quc3RlcChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgIGlmKHR5cGUgIT09ICdk
b2N1bWVudCcpewotICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRl
RXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9t
KCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICB2
YXIgeCA9IGNsaWVudC5yZXNwb25zZVhNTDsKICAgICAgICAgICAgICAgICAgIH0sICdyZXNwb25z
ZVhNTCB0aHJvdyBmb3IgJyt0eXBlKQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICBpZih0eXBlICE9PSAndGV4dCcpewotICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygi
SW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAg
ICAgICAgICAgICB2YXIgeCA9IGNsaWVudC5yZXNwb25zZVRleHQ7CiAgICAgICAgICAgICAgICAg
ICB9LCAncmVzcG9uc2VUZXh0IHRocm93cyBmb3IgJyt0eXBlKQogICAgICAgICAgICAgICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0
aW9uLWJhc2ljLWNvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDdmZmY3ZWQ0ZDg1YTdmNDYxNDMwZWM1
ZjVlNmU4MGRlZWE3NjhkMjQuLjgwNmI2ZTYwMzBiZTcyZDFjODJhY2Y1YjY3MzJiN2VmMjRmZGNj
MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRo
ZW50aWNhdGlvbi1iYXNpYy1jb3JzLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDQgQEAKLUFMRVJU
OiB0ZXN0IHN0YXJ0ZWQKLUFMRVJUOiB0ZXN0IHN0ZXBwZWQKIEJsb2NrZWQgYWNjZXNzIHRvIGV4
dGVybmFsIFVSTCBodHRwOi8vd3d3MS5sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL2F1dGgx
L2NvcnNlbmFibGVkLnB5Ci1BTEVSVDogcmVhZHkgc3RhdGUgY2hhbmdlZCB0byA0Ci1BTEVSVDog
ZmluaXNoaW5nIHRlc3QKIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgpIC0gIkJhc2ljIiBh
dXRoZW50aWNhdGVkIENPUlMgcmVxdWVzdHMgd2l0aCB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIHBh
c3NlZCB0byBvcGVuKCkgKGFzc2VydHMgZmFpbHVyZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRp
b24tYmFzaWMtY29ycy1ub3QtZW5hYmxlZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMtbm90
LWVuYWJsZWQuaHRtCmluZGV4IDY4YWQ1ZTk1ZWQ4NzBmOWIwOTQwMWU4NDE3ZGY3MDExNmMwMzM2
YWYuLjJlN2NiYWYwMzQwNDhkM2I3M2M5MDUwNDhiMDkwNTQ2YmVlNDNjYTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0
aGVudGljYXRpb24tYmFzaWMtY29ycy1ub3QtZW5hYmxlZC5odG0KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlvbi1i
YXNpYy1jb3JzLW5vdC1lbmFibGVkLmh0bQpAQCAtMTgsNyArMTgsNyBAQAogICAgICAgICB1c2Vy
ID0gdG9rZW4oKQogICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgbG9jYXRpb24ucHJvdG9jb2wr
Jy8vJyt1cmxzdGFydCArICJyZXNvdXJjZXMvYXV0aDEwL2F1dGgucHkiLCBmYWxzZSwgdXNlciwg
J3Bhc3MnKQogICAgICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC11c2VyIiwgdXNlcikK
LSAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKXsgY2xpZW50
LnNlbmQobnVsbCkgfSkKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIs
IGZ1bmN0aW9uKCl7IGNsaWVudC5zZW5kKG51bGwpIH0pCiAgICAgICAgIGFzc2VydF9lcXVhbHMo
Y2xpZW50LnJlc3BvbnNlVGV4dCwgJycpCiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0
YXR1cywgMCkKICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQuZ2V0UmVzcG9uc2VIZWFkZXIo
J3gtY2hhbGxlbmdlJyksIG51bGwpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLmh0bQppbmRleCAxZDVmMTdlYjc0N2VjMGRjZTQx
ODM1OTZkMDU2YmFlNmJmMGY4MDE2Li5mY2FjZGQ1ZmVjNGQ5OTFlMGRlZTdhYjFmZTE5NTdjMjcy
NWY1OTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMuaHRtCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGlj
YXRpb24tYmFzaWMtY29ycy5odG0KQEAgLTExLDkgKzExLDcgQEAKICAgICA8ZGl2IGlkPSJsb2ci
PjwvZGl2PgogICAgIDxzY3JpcHQ+CiAgICAgICB2YXIgdGVzdCA9IGFzeW5jX3Rlc3QoKQotICAg
ICAgYWxlcnQoInRlc3Qgc3RhcnRlZCIpOwogICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkgewot
ICAgICAgICBhbGVydCgidGVzdCBzdGVwcGVkIik7CiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKSwKICAgICAgICAgICB1cmxzdGFydCA9ICd3d3cxLicrbG9jYXRpb24u
aG9zdCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wvW15cL10qJC8sICcvJykKICAgICAg
ICAgY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUKQEAgLTIyLDEyICsyMCwxMCBAQAogICAg
ICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC1wYXNzIiwgJ3Bhc3MnKQogICAgICAgICBj
bGllbnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKXsKICAgICAgICAgICBpZiAoY2xp
ZW50LnJlYWR5U3RhdGUgPT09IDQpIHsKLSAgICAgICAgICAgIGFsZXJ0KCJyZWFkeSBzdGF0ZSBj
aGFuZ2VkIHRvIDQiKTsKICAgICAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpewogICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVRleHQsICcnKQogICAgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDApCiAgICAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoY2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCd4LWNoYWxsZW5nZScpLCBudWxsKQot
ICAgICAgICAgICAgICBhbGVydCgiZmluaXNoaW5nIHRlc3QiKTsKICAgICAgICAgICAgICAgdGVz
dC5kb25lKCkKICAgICAgICAgICAgIH0pCiAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9i
amVjdC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnktZXhwZWN0ZWQudHh0CmluZGV4
IDNhMmZjMzNmNjU2YmI1YWZkOTBiOTlmMGNmYzBlNmRiNzJmNmVkMmQuLjNkOTU1ODA1MTIyOGE3
YjkwNmIwNjgwYWU3NDkyMzhiZTI1NjNiNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS1leHBlY3RlZC50eHQKQEAgLTIsNiArMiw3
IEBACiBQQVNTIHNlbmRpbmcgYSBwbGFpbiBlbXB0eSBvYmplY3QgCiBQQVNTIHNlbmRpbmcgdGhl
IEVTIE1hdGggb2JqZWN0IAogUEFTUyBzZW5kaW5nIGEgbmV3IFhIUiBpbnN0YW5jZSAKK1BBU1Mg
c2VuZGluZyBhIG5ldyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZSAKIFBBU1Mgc2VuZGluZyBvYmpl
Y3QgdGhhdCBzdHJpbmdpZmllcyB0byB1bmRlZmluZWQgCiBQQVNTIHNlbmRpbmcgb2JqZWN0IHRo
YXQgc3RyaW5naWZpZXMgdG8gbnVsbCAKIFBBU1Mgb2JqZWN0IHRoYXQgc3RyaW5naWZpZXMgdG8g
cXVlcnkgc3RyaW5nIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnkuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0
LmFueS5qcwppbmRleCBkOThhNGNhNjVhYTZiMmYzZjQwNDNmMDk3NDIzNTRlNmIxMmZmODMzLi45
MjI4NmJjYTZkZDAwYjgyYjc4ZGUzOWZjZjc5ODhiYTFjNDI0ZDA3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMt
b2JqZWN0LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS5qcwpAQCAtMTAsNyArMTAsMTMgQEAg
ZnVuY3Rpb24gZG9fdGVzdChvYmosIGV4cGVjdGVkLCBuYW1lKSB7CiAgICAgfSk7CiAgICAgY2xp
ZW50Lm9wZW4oJ1BPU1QnLCAncmVzb3VyY2VzL2NvbnRlbnQucHknKQogICAgIGlmIChleHBlY3Rl
ZC5leGNlcHRpb24pIHsKLSAgICAgIGFzc2VydF90aHJvd3MoZXhwZWN0ZWQuZXhjZXB0aW9uLCBm
dW5jdGlvbigpe2NsaWVudC5zZW5kKG9iail9KQorICAgICAgaWYgKGV4cGVjdGVkLmV4Y2VwdGlv
bi5pZGVudGl0eSkgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXhwZWN0ZWQuZXhj
ZXB0aW9uLmlkZW50aXR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24o
KXtjbGllbnQuc2VuZChvYmopfSkKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGFzc2VydF90aHJv
d3NfanMoZXhwZWN0ZWQuZXhjZXB0aW9uLmN0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24oKXtjbGllbnQuc2VuZChvYmopfSkKKyAgICAgIH0KICAgICAgIHRlc3QuZG9uZSgp
CiAgICAgfSBlbHNlIHsKICAgICAgIGNsaWVudC5zZW5kKG9iaikKQEAgLTIxLDYgKzI3LDcgQEAg
ZnVuY3Rpb24gZG9fdGVzdChvYmosIGV4cGVjdGVkLCBuYW1lKSB7CiBkb190ZXN0KHt9LCAnW29i
amVjdCBPYmplY3RdJywgJ3NlbmRpbmcgYSBwbGFpbiBlbXB0eSBvYmplY3QnKQogZG9fdGVzdChN
YXRoLCAnW29iamVjdCBNYXRoXScsICdzZW5kaW5nIHRoZSBFUyBNYXRoIG9iamVjdCcpCiBkb190
ZXN0KG5ldyBYTUxIdHRwUmVxdWVzdCwgJ1tvYmplY3QgWE1MSHR0cFJlcXVlc3RdJywgJ3NlbmRp
bmcgYSBuZXcgWEhSIGluc3RhbmNlJykKK2RvX3Rlc3QobmV3IFJlYWRhYmxlU3RyZWFtLCAnW29i
amVjdCBSZWFkYWJsZVN0cmVhbV0nLCAnc2VuZGluZyBhIG5ldyBSZWFkYWJsZVN0cmVhbSBpbnN0
YW5jZScpCiBkb190ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe319LCAndW5kZWZpbmVkJywgJ3Nl
bmRpbmcgb2JqZWN0IHRoYXQgc3RyaW5naWZpZXMgdG8gdW5kZWZpbmVkJykKIGRvX3Rlc3Qoe3Rv
U3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSwgJ251bGwnLCAnc2VuZGluZyBvYmplY3Qg
dGhhdCBzdHJpbmdpZmllcyB0byBudWxsJykKIHZhciBhbmNlc3RvciA9IHt0b1N0cmluZzogZnVu
Y3Rpb24oKXsKQEAgLTQzLDggKzUwLDkgQEAgdmFyIG15RmFrZURvYzEgPSB7dmFsdWVPZjpmdW5j
dGlvbigpe3JldHVybiBkb2N1bWVudH19CiBkb190ZXN0KG15RmFrZURvYzEsICdbb2JqZWN0IE9i
amVjdF0nLCAnb2JqZWN0IHdob3NlIHZhbHVlT2YoKSByZXR1cm5zIGEgZG9jdW1lbnQgLSBpZ25v
cmUgdmFsdWVPZigpLCBzdHJpbmdpZnknKQogCiB2YXIgbXlGYWtlRG9jMiA9IHt0b1N0cmluZzpm
dW5jdGlvbigpe3JldHVybiBkb2N1bWVudH19Ci12YXIgZXhwZWN0ZWRFcnJvciA9IHNlbGYuR0xP
QkFMLmlzV29ya2VyKCkgPyBuZXcgUmVmZXJlbmNlRXJyb3IoKSA6IG5ldyBUeXBlRXJyb3IoKTsK
LWRvX3Rlc3QobXlGYWtlRG9jMiwge2V4Y2VwdGlvbjpleHBlY3RlZEVycm9yfSwgJ29iamVjdCB3
aG9zZSB0b1N0cmluZygpIHJldHVybnMgYSBkb2N1bWVudCwgZXhwZWN0ZWQgdG8gdGhyb3cnKQor
dmFyIGV4cGVjdGVkRXJyb3IgPSBzZWxmLkdMT0JBTC5pc1dvcmtlcigpID8gUmVmZXJlbmNlRXJy
b3IgOiBUeXBlRXJyb3I7Citkb190ZXN0KG15RmFrZURvYzIsIHtleGNlcHRpb246IHsgY3Rvcjog
ZXhwZWN0ZWRFcnJvciB9IH0sICdvYmplY3Qgd2hvc2UgdG9TdHJpbmcoKSByZXR1cm5zIGEgZG9j
dW1lbnQsIGV4cGVjdGVkIHRvIHRocm93JykKIAotdmFyIG15VGhyb3dlciA9IHt0b1N0cmluZzpm
dW5jdGlvbigpe3Rocm93IHtuYW1lOidGb29FcnJvcicsIG1lc3NhZ2U6J2Jhcid9fX0KLWRvX3Rl
c3QobXlUaHJvd2VyLCB7ZXhjZXB0aW9uOntuYW1lOidGb29FcnJvcid9fSwgJ29iamVjdCB3aG9z
ZSB0b1N0cmluZygpIHRocm93cywgZXhwZWN0ZWQgdG8gdGhyb3cnKQordmFyIGVyciA9IHtuYW1l
OidGb29FcnJvcicsIG1lc3NhZ2U6J2Jhcid9OwordmFyIG15VGhyb3dlciA9IHt0b1N0cmluZzpm
dW5jdGlvbigpe3Rocm93IGVycjt9fTsKK2RvX3Rlc3QobXlUaHJvd2VyLCB7ZXhjZXB0aW9uOiB7
IGlkZW50aXR5OiBlcnIgfX0sICdvYmplY3Qgd2hvc2UgdG9TdHJpbmcoKSB0aHJvd3MsIGV4cGVj
dGVkIHRvIHRocm93JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLWRhdGEtZXMtb2JqZWN0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDNhMmZjMzNm
NjU2YmI1YWZkOTBiOTlmMGNmYzBlNmRiNzJmNmVkMmQuLjNkOTU1ODA1MTIyOGE3YjkwNmIwNjgw
YWU3NDkyMzhiZTI1NjNiNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMiw2
ICsyLDcgQEAKIFBBU1Mgc2VuZGluZyBhIHBsYWluIGVtcHR5IG9iamVjdCAKIFBBU1Mgc2VuZGlu
ZyB0aGUgRVMgTWF0aCBvYmplY3QgCiBQQVNTIHNlbmRpbmcgYSBuZXcgWEhSIGluc3RhbmNlIAor
UEFTUyBzZW5kaW5nIGEgbmV3IFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlIAogUEFTUyBzZW5kaW5n
IG9iamVjdCB0aGF0IHN0cmluZ2lmaWVzIHRvIHVuZGVmaW5lZCAKIFBBU1Mgc2VuZGluZyBvYmpl
Y3QgdGhhdCBzdHJpbmdpZmllcyB0byBudWxsIAogUEFTUyBvYmplY3QgdGhhdCBzdHJpbmdpZmll
cyB0byBxdWVyeSBzdHJpbmcgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFibGVzdHJlYW0uYW55LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA3MWYwOWE5MGEwOWM2ODQyN2FmMWFjZDkxM2MxMDYxYWI0NjM0NGU1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJs
ZXN0cmVhbS5hbnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0K
LUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNoIGdldFJl
YWRlcigpIGlzIGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gY2xpZW50LnNl
bmQoc3RyZWFtKSIgZGlkIG5vdCB0aHJvdwotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgpIHdp
dGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGlzIGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiKCkgPT4gY2xpZW50LnNlbmQoc3RyZWFtKSIgZGlkIG5vdCB0aHJvdwotRkFJTCBYTUxI
dHRwUmVxdWVzdDogc2VuZCgpIHdpdGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGFuZCByZWxl
YXNlTG9jaygpIGFyZSBjYWxsZWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNsaWVu
dC5zZW5kKHN0cmVhbSkiIGRpZCBub3QgdGhyb3cKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3Ry
ZWFtLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0
cmVhbS5hbnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0gVGhpcyBmaWxl
IGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRl
bXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0
YS1yZWFkYWJsZXN0cmVhbS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFibGVzdHJlYW0uYW55LmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2E2ZTc2YTA0MmNjOGE1YjU1ZTFlYWQzMDZkZGFmOTQ2
N2I4YzA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1y
ZWFkYWJsZXN0cmVhbS5hbnkuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0vLyBN
RVRBOiBnbG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixzaGFyZWR3b3JrZXIKLQotZnVuY3Rp
b24gYXNzZXJ0X3hocihzdHJlYW0pIHsKLSAgY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1
ZXN0KCk7Ci0gIGNsaWVudC5vcGVuKCJQT1NUIiwgIi4uLiIpOwotICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgKCkgPT4gY2xpZW50LnNlbmQoc3RyZWFtKSk7Ci19Ci0KLXRlc3QoKCkg
PT4gewotICBjb25zdCBzdHJlYW0gPSBuZXcgUmVhZGFibGVTdHJlYW0oKTsKLSAgc3RyZWFtLmdl
dFJlYWRlcigpOwotICBhc3NlcnRfeGhyKHN0cmVhbSk7Ci19LCAiWE1MSHR0cFJlcXVlc3Q6IHNl
bmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNoIGdldFJlYWRlcigpIGlzIGNhbGxlZCIpOwotCi10
ZXN0KCgpID0+IHsKLSAgY29uc3Qgc3RyZWFtID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7Ci0gIHN0
cmVhbS5nZXRSZWFkZXIoKS5yZWFkKCk7Ci0gIGFzc2VydF94aHIoc3RyZWFtKTsKLX0sICJYTUxI
dHRwUmVxdWVzdDogc2VuZCgpIHdpdGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGlzIGNhbGxl
ZCIpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICBjb25zdCBzdHJlYW0gPSBuZXcg
UmVhZGFibGVTdHJlYW0oeyBwdWxsOiBjID0+IGMuZW5xdWV1ZShuZXcgVWludDhBcnJheSgpKSB9
KSwKLSAgICAgICAgcmVhZGVyID0gc3RyZWFtLmdldFJlYWRlcigpOwotICBhd2FpdCByZWFkZXIu
cmVhZCgpOwotICByZWFkZXIucmVsZWFzZUxvY2soKTsKLSAgYXNzZXJ0X3hocihzdHJlYW0pOwot
fSwgIlhNTEh0dHBSZXF1ZXN0OiBzZW5kKCkgd2l0aCBhIHN0cmVhbSBvbiB3aGljaCByZWFkKCkg
YW5kIHJlbGVhc2VMb2NrKCkgYXJlIGNhbGxlZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3Ry
ZWFtLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWYwOWE5MGEwOWM2
ODQyN2FmMWFjZDkxM2MxMDYxYWI0NjM0NGU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotCi1GQUlMIFhNTEh0dHBSZXF1ZXN0OiBz
ZW5kKCkgd2l0aCBhIHN0cmVhbSBvbiB3aGljaCBnZXRSZWFkZXIoKSBpcyBjYWxsZWQgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNsaWVudC5zZW5kKHN0cmVhbSkiIGRpZCBub3QgdGhy
b3cKLUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNoIHJl
YWQoKSBpcyBjYWxsZWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNsaWVudC5zZW5k
KHN0cmVhbSkiIGRpZCBub3QgdGhyb3cKLUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRo
IGEgc3RyZWFtIG9uIHdoaWNoIHJlYWQoKSBhbmQgcmVsZWFzZUxvY2soKSBhcmUgY2FsbGVkIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBjbGllbnQuc2VuZChzdHJlYW0pIiBkaWQgbm90
IHRocm93Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkud29ya2VyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEt
cmVhZGFibGVzdHJlYW0uYW55Lndvcmtlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnku
d29ya2VyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi08IS0tIFRoaXMgZmlsZSBp
cyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1w
bGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEt
c2hhcmVkYXJyYXlidWZmZXIuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5h
bnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMjJiMzUxODhlZGIyNTE0MTY1YmFkZGRlMWI1
MDhhZDQzOWMwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACisKK0ZBSUwgc2VuZGluZyBhIFNoYXJlZEFycmF5
QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAg
IHhoci5zZW5kKGJ1ZikKKyAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJbnQ4
QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAg
fSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWludDhBcnJheSBiYWNrZWQgYnkgYSBT
aGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkg
eworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitG
QUlMIHNlbmRpbmcgYSBVaW50OENsYW1wZWRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1
ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcg
YSBJbnQxNkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3Nf
anM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisg
ICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQxNkFycmF5IGJhY2tl
ZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3Qg
dGhyb3cKK0ZBSUwgc2VuZGluZyBhIEludDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlC
dWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5n
IGEgVWludDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93
c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikK
KyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgRmxvYXQzMkFycmF5IGJh
Y2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIEZsb2F0NjRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRB
cnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNl
bmRpbmcgYSBEYXRhVmlldyBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhy
b3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJy
KQorICAgICAgICB9IiBkaWQgbm90IHRocm93CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1
ZmZlci5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1k
YXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
ZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjkxMmY2MjI2OTdkNTM4ZWRiYmMwMzhmN2VjNzZjMmU2M2VlNmZmYTAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55LmpzCkBAIC0wLDAgKzEsMjYg
QEAKKy8vIE1FVEE6IHRpdGxlPVhNTEh0dHBSZXF1ZXN0LnNlbmQoc2hhcmVkYXJyYXlidWZmZXIp
CisKK3Rlc3QoKCkgPT4geworICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwor
ICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzUzODAgZm9y
IHdoeSBub3QgYG5ldyBTaGFyZWRBcnJheUJ1ZmZlcigpYAorICAgIGNvbnN0IGJ1ZiA9IG5ldyBX
ZWJBc3NlbWJseS5NZW1vcnkoeyBzaGFyZWQ6dHJ1ZSwgaW5pdGlhbDoxLCBtYXhpbXVtOjEgfSku
YnVmZmVyOworCisgICAgeGhyLm9wZW4oIlBPU1QiLCAiLi9yZXNvdXJjZXMvY29udGVudC5weSIs
IHRydWUpOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgeGhyLnNlbmQoYnVmKQorICAgIH0pOworfSwgInNlbmRpbmcgYSBTaGFyZWRBcnJheUJ1
ZmZlciIpOworCitbIkludDhBcnJheSIsICJVaW50OEFycmF5IiwgIlVpbnQ4Q2xhbXBlZEFycmF5
IiwgIkludDE2QXJyYXkiLCAiVWludDE2QXJyYXkiLAorICJJbnQzMkFycmF5IiwgIlVpbnQzMkFy
cmF5IiwgIkZsb2F0MzJBcnJheSIsICJGbG9hdDY0QXJyYXkiLCAiRGF0YVZpZXciXS5mb3JFYWNo
KCh0eXBlKSA9PiB7CisgICAgdGVzdCgoKSA9PiB7CisgICAgICAgIGNvbnN0IHhociA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3doYXR3
Zy9odG1sL2lzc3Vlcy81MzgwIGZvciB3aHkgbm90IGBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoKWAK
KyAgICAgICAgY29uc3QgYXJyID0gbmV3IHNlbGZbdHlwZV0obmV3IFdlYkFzc2VtYmx5Lk1lbW9y
eSh7IHNoYXJlZDp0cnVlLCBpbml0aWFsOjEsIG1heGltdW06MSB9KS5idWZmZXIpOworCisgICAg
ICAgIHhoci5vcGVuKCJQT1NUIiwgIi4vcmVzb3VyY2VzL2NvbnRlbnQucHkiLCB0cnVlKTsKKyAg
ICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9KTsKKyAgICB9LCBgc2VuZGluZyBhICR7dHlwZX0g
YmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXJgKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJl
ZGFycmF5YnVmZmVyLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVy
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMjJiMzUxODhlZGIyNTE0MTY1
YmFkZGRlMWI1MDhhZDQzOWMwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZm
ZXIuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorCitGQUlMIHNlbmRp
bmcgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgeworICAgICAgICB4aHIuc2VuZChidWYpCisgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJ
TCBzZW5kaW5nIGEgSW50OEFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2Vy
dF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2Vu
ZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQ4QXJy
YXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIg
ZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWludDhDbGFtcGVkQXJyYXkgYmFja2VkIGJ5
IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJv
dworRkFJTCBzZW5kaW5nIGEgSW50MTZBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZl
ciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
eGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBV
aW50MTZBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pz
OiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAg
ICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJbnQzMkFycmF5IGJhY2tlZCBi
eSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhy
b3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQzMkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVm
ZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBh
IEZsb2F0MzJBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dz
X2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQor
ICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBGbG9hdDY0QXJyYXkgYmFj
a2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5v
dCB0aHJvdworRkFJTCBzZW5kaW5nIGEgRGF0YVZpZXcgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlC
dWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRh
dGEtc2hhcmVkYXJyYXlidWZmZXIuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVy
LmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1
MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS53
b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3Ig
V2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQt
dW5pY29kZS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjAyYzUyM2NmZWM4YjkxMzc1ZDViMzU4NjA0ODM4M2Vj
YmJhZDYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1BBU1MgaW52YWxpZCB1bmljb2RlICdcdXtk
ODNkfScgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBp
bnZhbGlkIHVuaWNvZGUgJ1x1e2Q4M2R9YWInIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2Vt
ZW50IGNoYXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdhXHV7ZDgzZH1iJyBzaG91bGQg
YmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29k
ZSAnYWJcdXtkODNkfScgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVy
IAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2RjOTR9JyBzaG91bGQgYmUgZml4ZWQgd2l0aCBy
ZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnXHV7ZGM5NH1hYicg
c2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlk
IHVuaWNvZGUgJ2FcdXtkYzk0fWInIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNo
YXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdhYlx1e2RjOTR9JyBzaG91bGQgYmUgZml4
ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIHZhbGlkIHVuaWNvZGUgc2hvdWxk
IGJlIHNlbnQgY29ycmVjdGx5IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29k
ZS5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2RlLmFueS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5k
LWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuaHRtbApAQCAtMCwwICsxIEBACis8IS0t
IFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8g
cnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFs
aWQtdW5pY29kZS5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDlkYzVhNmJjZjhkZTUzNmFlMjExZDc5NzU4
OTFiZDhiYjUyZTNkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2Rl
LmFueS5qcwpAQCAtMCwwICsxLDQ2IEBACisvLyBNRVRBOiB0aXRsZT1YTUxIdHRwUmVxdWVzdC5z
ZW5kKGludmFsaWRVbmljb2RlU3RyaW5nKQorCitjb25zdCBMRUZUX1NVUlJPR0FURSA9ICdcdWQ4
M2QnOworY29uc3QgUklHSFRfU1VSUk9HQVRFID0gJ1x1ZGM5NCc7CisKKy8vIFVubWF0Y2hlZCBz
dXJyb2dhdGVzIHNob3VsZCBiZSByZXBsYWNlZCB3aXRoIHRoZSB1bmljb2RlIHJlcGxhY2VtZW50
CisvLyBjaGFyYWN0ZXIsIDB4RkZGRC4gJyQnIGluIHRoZXNlIHRlbXBsYXRlcyBpcyByZXBsYWNl
ZCB3aXRoIG9uZSBvZgorLy8gTEVGVF9TVVJST0dBVEUgb3IgUklHSFRfU1VSUk9HQVRFIGFjY29y
ZGluZyB0byB0aGUgdGVzdC4KK2NvbnN0IFRFTVBMQVRFUyA9IHsKKyAgJyQnOiBbMjM5LCAxOTEs
IDE4OV0sCisgICckYWInOiBbMjM5LCAxOTEsIDE4OSwgOTcsIDk4XSwKKyAgJ2EkYic6IFs5Nywg
MjM5LCAxOTEsIDE4OSwgOThdLAorICAnYWIkJzogWzk3LCA5OCwgMjM5LCAxOTEsIDE4OV0sCit9
OworCitmb3IgKGNvbnN0IHN1cnJvZ2F0ZSBvZiBbTEVGVF9TVVJST0dBVEUsIFJJR0hUX1NVUlJP
R0FURV0pIHsKKyAgZm9yIChjb25zdCBbdGVtcGxhdGUsIGV4cGVjdGVkXSBvZiBPYmplY3QuZW50
cmllcyhURU1QTEFURVMpKSB7CisgICAgY29uc3QgaW52YWxpZFN0cmluZyA9IHRlbXBsYXRlLnJl
cGxhY2UoJyQnLCBzdXJyb2dhdGUpOworICAgIGNvbnN0IHByaW50YWJsZVN0cmluZyA9IHRlbXBs
YXRlLnJlcGxhY2UoCisgICAgICAgICckJywgJ1xcdXsnICsgc3Vycm9nYXRlLmNoYXJDb2RlQXQo
MCkudG9TdHJpbmcoMTYpICsgJ30nKTsKKyAgICBhc3luY190ZXN0KHQgPT4geworICAgICAgeGhy
U2VuZFN0cmluZ0FuZENoZWNrUmVzcG9uc2VCb2R5KHQsIGludmFsaWRTdHJpbmcsIGV4cGVjdGVk
KTsKKyAgICB9LCBgaW52YWxpZCB1bmljb2RlICcke3ByaW50YWJsZVN0cmluZ30nIHNob3VsZCBi
ZSBmaXhlZCB3aXRoIGAgKworICAgICAgICAgICAgICAgYHJlcGxhY2VtZW50IGNoYXJhY3RlcmAp
OworICB9Cit9CisKKy8vIEZvciB0aGUgc2FrZSBvZiBjb21wbGV0ZW5lc3MsIHZlcmlmeSB0aGF0
IG1hdGNoZWQgc3Vycm9nYXRlcyB3b3JrLgorYXN5bmNfdGVzdCh0ID0+IHsKKyAgeGhyU2VuZFN0
cmluZ0FuZENoZWNrUmVzcG9uc2VCb2R5KHQsIExFRlRfU1VSUk9HQVRFICsgUklHSFRfU1VSUk9H
QVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzI0MCwgMTU5LCAxNDYs
IDE0OF0pOworfSwgJ3ZhbGlkIHVuaWNvZGUgc2hvdWxkIGJlIHNlbnQgY29ycmVjdGx5Jyk7CisK
K2Z1bmN0aW9uIHhoclNlbmRTdHJpbmdBbmRDaGVja1Jlc3BvbnNlQm9keSh0LCBzdHJpbmcsIGV4
cGVjdGVkKSB7CisgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICB4aHIucmVz
cG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKKyAgeGhyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgp
ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHhoci5zdGF0dXMsIDIwMCwgJ3N0YXR1cyBzaG91bGQg
YmUgMjAwJyk7CisgICAgY29uc3QgYWN0dWFsQm9keSA9IG5ldyBVaW50OEFycmF5KHhoci5yZXNw
b25zZSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWxCb2R5LCBleHBlY3RlZCwgJ2Nv
bnRlbnQgc2hvdWxkIG1hdGNoJyk7CisgICAgdC5kb25lKCk7CisgIH0pOworICB4aHIub25lcnJv
ciA9IHQudW5yZWFjaGVkX2Z1bmMoJ25vIGVycm9yIHNob3VsZCBvY2N1cicpOworICB4aHIub3Bl
bignUE9TVCcsICdyZXNvdXJjZXMvY29udGVudC5weScsIHRydWUpOworICB4aHIuc2VuZChzdHJp
bmcpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kZjAyYzUyM2NmZWM4YjkxMzc1ZDViMzU4NjA0ODM4M2VjYmJhZDYw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitQQVNTIGludmFsaWQgdW5pY29kZSAnXHV7
ZDgzZH0nIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1Mg
aW52YWxpZCB1bmljb2RlICdcdXtkODNkfWFiJyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNl
bWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnYVx1e2Q4M2R9Yicgc2hvdWxk
IGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNv
ZGUgJ2FiXHV7ZDgzZH0nIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3Rl
ciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdcdXtkYzk0fScgc2hvdWxkIGJlIGZpeGVkIHdpdGgg
cmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2RjOTR9YWIn
IHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1MgaW52YWxp
ZCB1bmljb2RlICdhXHV7ZGM5NH1iJyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBj
aGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnYWJcdXtkYzk0fScgc2hvdWxkIGJlIGZp
eGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyB2YWxpZCB1bmljb2RlIHNob3Vs
ZCBiZSBzZW50IGNvcnJlY3RseSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNv
ZGUuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkud29ya2VyLmh0
bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0
ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXVuZXhwZWN0ZWQtdG9zdHJpbmcuaHRt
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1k
YXRhLXVuZXhwZWN0ZWQtdG9zdHJpbmcuaHRtCmluZGV4IGI4YTNiNGFlNjkwMjM1N2NmZTM5MmM0
ODRlODQxM2JmZjE3MjkwNjEuLjI5MGFlMjA2NWZjMGZlOTEzOTUyNzY0OTZhM2RlZGZkMmNkNzg3
MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtZGF0YS11bmV4cGVjdGVkLXRvc3RyaW5nLmh0bQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtdW5leHBlY3Rl
ZC10b3N0cmluZy5odG0KQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICAgIHRlc3QzLmRvbmUoKQogICAg
IH0pCiAgICAgY2xpZW50Lm9wZW4oJ1BPU1QnLCAncmVzb3VyY2VzL2NvbnRlbnQucHknKQotICAg
IGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywgZnVuY3Rpb24oKXsKKyAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCBmdW5jdGlvbigpewogICAgICAgY2xp
ZW50LnNlbmQob2JqU2VuZHNPblN0cmluZ2lmaWNhdGlvbikKICAgICB9KQogICB9KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtZW50aXR5LWJvZHktZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3Rl
ZC50eHQKaW5kZXggOGZhZTcyMTg1MTQ2ZGI4NzFhZGE3NDcwOTFhYWVmNDM0YmMxZDlmYi4uOTcz
NzI0MzU1YmE5ODdjZjBiOTU5OWFiNWJhZDI5NDE4MDE0Njk1MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9k
eS1lbXB0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw1IEBACiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkgZW50
aXR5IGJvZHkgKFBPU1QpIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0eSBl
bnRpdHkgYm9keSAoUFVUKSAKLVBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkg
ZW50aXR5IGJvZHkgKEhFQUQpIAorRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0
eSBlbnRpdHkgYm9keSAoSEVBRCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQgZ290
ICIwIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1u
b25lLWV4cGVjdGVkLnR4dAppbmRleCBmNjI2ZDIwNmY5NzkyNzJmNGM4M2ViN2Y1MGQzMGUxYWMw
MDE1NTFlLi41M2Q0NjdiMTdmMzg5NzZjODliZTMzNmY4N2I0NzFmYTEwMTdiNDJkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5k
LWVudGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktbm9uZS1leHBlY3Rl
ZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1MgTm8gY29udGVudCB0eXBlIChQT1NUKSAKIFBB
U1MgTm8gY29udGVudCB0eXBlIChQVVQpIAotUEFTUyBObyBjb250ZW50IHR5cGUgKEhFQUQpIAor
RkFJTCBObyBjb250ZW50IHR5cGUgKEhFQUQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJOTyIg
YnV0IGdvdCAiMCIKIFBBU1MgRXhwbGljaXQgY29udGVudCB0eXBlIChQT1NUKSAKIFBBU1MgRXhw
bGljaXQgY29udGVudCB0eXBlIChQVVQpIAogRkFJTCBFeHBsaWNpdCBjb250ZW50IHR5cGUgKEhF
QUQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJOTyIgYnV0IGdvdCAiMCIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbmV0
d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbmV0d29yay1lcnJvci1hc3lu
Yy1ldmVudHMuc3ViLWV4cGVjdGVkLnR4dAppbmRleCBlYjgxYmY2ODVmZjM0Y2VhOTQyNTNiYmU2
YzY5ODRkZWYwZWY0NjM0Li44MjEwOTYxOTVlZjFhNzNiYjNhOTM1MDNiNjkzZjgxYzVkZDE3ZDI1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLW5ldHdvcmstZXJyb3ItYXN5bmMtZXZlbnRzLnN1Yi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1u
ZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNCBA
QAotQUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAogQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6ODgwMC8KLUFM
RVJUOiByZWFkeSBzdGF0ZSBpcyA0Ci1BTEVSVDogbG9hZCBlbmRlZAogCiBQQVNTIFhNTEh0dHBS
ZXF1ZXN0OiBUaGUgc2VuZCgpIG1ldGhvZDogRmlyZSBhIHByb2dyZXNzIGV2ZW50IG5hbWVkIGVy
cm9yIHdoZW4gTmV0d29yayBlcnJvciBoYXBwZW5zIChzeW5jaHJvbm91cyBmbGFnIGlzIHVuc2V0
KSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWIuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVy
cm9yLWFzeW5jLWV2ZW50cy5zdWIuaHRtCmluZGV4IDMxZGNkZmY3MmM3ZjI4ZmNkYzkxMDg0ZWZk
YTc1OGM3ZjM5MzRlYmQuLmM1MWEwNWNkMjAxMDA2ZWQ3MDMyZWI3Y2YxOTNkZjIxNDkyMDNkNjYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtbmV0d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLmh0bQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJy
b3ItYXN5bmMtZXZlbnRzLnN1Yi5odG0KQEAgLTE2LDI0ICsxNiwyMCBAQAogCiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICB2YXIgdGVzdCA9IGFzeW5jX3Rlc3Qo
KTsKLSAgICAgICAgYWxlcnQoInRlc3Qgc3RhcnRlZCIpOwogCiAgICAgICAgIHRlc3Quc3RlcChm
dW5jdGlvbigpewotICAgICAgICAgICAgYWxlcnQoInRlc3Qgc3RlcHBlZCIpOwogICAgICAgICAg
ICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICAgICAgdmFyIGV4cGVj
dCA9ICBbImxvYWRzdGFydCIsICJ1cGxvYWQubG9hZHN0YXJ0IiwgNCwgInVwbG9hZC5lcnJvciIs
ICJ1cGxvYWQubG9hZGVuZCIsICJlcnJvciIsICJsb2FkZW5kIl07CiAgICAgICAgICAgICB2YXIg
YWN0dWFsID0gW107CiAKICAgICAgICAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSB0ZXN0
LnN0ZXBfZnVuYygoKSA9PiB7CiAgICAgICAgICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09
IDQpIHsKLSAgICAgICAgICAgICAgICAgICAgYWxlcnQoInJlYWR5IHN0YXRlIGlzIDQiKTsKICAg
ICAgICAgICAgICAgICAgICAgYWN0dWFsLnB1c2goeGhyLnJlYWR5U3RhdGUpOwogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAgICB4aHIub25sb2Fkc3RhcnQg
ICAgICAgID0gdGVzdC5zdGVwX2Z1bmMoZSA9PiB7IGFjdHVhbC5wdXNoKGUudHlwZSk7IH0pCiAg
ICAgICAgICAgICB4aHIub25sb2FkZW5kICAgICAgICAgID0gdGVzdC5zdGVwX2Z1bmNfZG9uZShl
ID0+IHsKLSAgICAgICAgICAgICAgICBhbGVydCgibG9hZCBlbmRlZCIpOwogICAgICAgICAgICAg
ICAgIGFjdHVhbC5wdXNoKGUudHlwZSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhhY3R1YWwsIGV4cGVjdCk7CiAgICAgICAgICAgICB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVy
cm9yLXN5bmMtZXZlbnRzLnN1Yi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3luYy1ldmVudHMuc3ViLmh0bQpp
bmRleCBiOWY0ZmRmOTlkZTdjYjZiOWU1ZGE4NmUxYjUxM2Q4ZGExZWI4YTZkLi4yMjY2ZWIzNmUx
ZTM3OTFhNGZhMWI3MGVhMDg0Y2M2ZmNlYWQ5MjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3lu
Yy1ldmVudHMuc3ViLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3luYy1ldmVudHMuc3ViLmh0bQpAQCAt
MTksNyArMTksNyBAQAogCiAgICAgICAgICAgICB4aHIub3BlbigiUE9TVCIsICJodHRwOi8vbm9u
ZXhpc3RlbnQue3tob3N0fX06e3twb3J0c1todHRwXVswXX19IiwgZmFsc2UpOwogCi0gICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpCisgICAgICAgICAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKQogICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgIHhoci5zZW5kKCJUZXN0IE1lc3NhZ2UiKTsKICAgICAgICAg
ICAgIH0pOwpAQCAtMzMsNyArMzMsNyBAQAogCiAgICAgICAgICAgICB4aHIub3BlbigiR0VUIiwg
ImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBUME5VV1ZCRklHaDBiV3clMkJE
UW84IiwgZmFsc2UpOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3Ii
LCBmdW5jdGlvbigpCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9y
IiwgZnVuY3Rpb24oKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHhoci5zZW5kKCJU
ZXN0IE1lc3NhZ2UiKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1ub24tc2FtZS1vcmlnaW4u
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1ub24tc2FtZS1vcmlnaW4uaHRtCmluZGV4IDZkYmJjYTc0NzdkMmZhMGViZDExMzJlMjNiZDFh
MjU2NWQ1NTBlYTIuLmJiOWYzMmMxNzRmODg4M2FkOTI4ODU4YTFkMjY5NmRiMTFkMzMxMzYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtbm9uLXNhbWUtb3JpZ2luLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5vbi1zYW1lLW9yaWdpbi5odG0KQEAgLTE4LDcg
KzE4LDcgQEAKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgICB2YXIgY2xpZW50
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgdXJs
LCBmYWxzZSkKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlv
bigpIHsgY2xpZW50LnNlbmQoKSB9KQorICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3
b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQoKSB9KQogICAgICAgICB9LCBkb2N1
bWVudC50aXRsZSArICIgKCIgKyB1cmwgKyAiKSIpCiAgICAgICB9CiAgICAgICB1cmwoIm1haWx0
bzp0ZXN0QGV4YW1wbGUub3JnIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtYm9ndXMtc3luYy5odG0gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGly
ZWN0LWJvZ3VzLXN5bmMuaHRtCmluZGV4IGE5ZGM3M2U1ZmQ3NTRmM2UyMTkzYmQxM2Q3MGVkMGNj
YTU5ODNjZDIuLjBmMDU5OGIxNjQ1NDUxYTVmYjBkYWRhNThlOGZhYjA2Nzg4NjhhZDcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtcmVkaXJlY3QtYm9ndXMtc3luYy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC1ib2d1cy1zeW5jLmh0bQpAQCAt
MTMsNyArMTMsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBj
bGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQi
LCAicmVzb3VyY2VzL3JlZGlyZWN0LnB5P2xvY2F0aW9uPSIgKyBsb2NhdGlvbiArICImY29kZT0i
ICsgY29kZSwgZmFsc2UpCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwg
ZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCisgICAgICAgICAgYXNzZXJ0X3Rocm93
c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQog
ICAgICAgICB9LCBkb2N1bWVudC50aXRsZSArICIgKCIgKyBjb2RlICsgIjogIiArIGxvY2F0aW9u
ICsgIikiKQogICAgICAgfQogICAgICAgcmVkaXJlY3QoIjMwMSIsICJmb29iYXI6Ly9hYmNkIikK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtcmVkaXJlY3QtaW5maW5pdGUtc3luYy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWluZmluaXRlLXN5bmMu
aHRtCmluZGV4IDZlOWU0N2U1NWZjOWY4NGQ0ODA2MjNmZjc1ZmUwZGMzYjUxZWFlYTAuLmNjNmQ3
YTI0YmY2MzE0NmRiZmU0MDU3ZjVlN2U5MjVkOTRiNWEzNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtaW5m
aW5pdGUtc3luYy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC1pbmZpbml0ZS1zeW5jLmh0bQpAQCAtMTUsNyArMTUs
NyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBjbGllbnQgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3Vy
Y2VzL2luZmluaXRlLXJlZGlyZWN0cy5weT90eXBlPSIrY29kZSwgZmFsc2UpCi0gICAgICAgICAg
YXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51
bGwpIH0pCisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0
aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQogICAgICAgICB9LCBkb2N1bWVudC50aXRsZSAr
ICIgKCIgKyBjb2RlICsgIikiKQogICAgICAgfQogICAgICAgcmVkaXJlY3QoIjMwMSIpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC10by1jb3JzLmh0bQppbmRleCAwNGEyYTFm
ZmU4N2QyOGU0NDMzYmU2YjRhZGVkOTIxNWFjYWZkNDBmLi41NGQ3ZWI1NTBkZjc1MTBhNThjMThi
ZjU3ZTZiMTYxNGU3NmUwMGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJl
Y3QtdG8tY29ycy5odG0KQEAgLTEyLDExICsxMiwxMSBAQAogICAgICAgICBpZiAoYm9keSA9PT0g
bnVsbCkgewogICAgICAgICAgIHJldHVybiB7IGJvZHk6ICIiLCB0eXBlOiAiTk8iIH07CiAgICAg
ICAgIH0KLSAgICAgICAgaWYgKHR5cGVvZiBib2R5ID09ICJzdHJpbmciKSB7CisgICAgICAgIGlm
ICh0eXBlb2YgYm9keSA9PT0gInN0cmluZyIpIHsKICAgICAgICAgICByZXR1cm4geyBib2R5OiBi
b2R5LCB0eXBlOiAidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04IiB9OwogICAgICAgICB9CiAgICAg
ICAgIGlmIChib2R5IGluc3RhbmNlb2YgVWludDhBcnJheSkgewotICAgICAgICAgIHZhciBhcnIg
PSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChib2R5KTsKKyAgICAgICAgICBjb25zdCBhcnIg
PSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChib2R5KTsKICAgICAgICAgICByZXR1cm4geyBi
b2R5OiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGFyciksIHR5cGU6ICJOTyIgfQog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiB7IGJvZHk6ICJFWFRSQUNUIE5PVCBJTVBMRU1FTlRF
RCIsIHR5cGU6ICJFWFRSQUNUIE5PVCBJTVBMRU1FTlRFRCIgfQpAQCAtMjQsNDkgKzI0LDU0IEBA
CiAKICAgICAgIGZ1bmN0aW9uIHJlZGlyZWN0KGNvZGUsIG5hbWUgPSBjb2RlLCBtZXRob2QgPSAi
R0VUIiwgYm9keSA9IG51bGwsIGV4cGxpY2l0VHlwZSA9IG51bGwsIHNhZmVsaXN0Q29udGVudFR5
cGUgPSBmYWxzZSkgewogICAgICAgICBhc3luY190ZXN0KHQgPT4gewotICAgICAgICAgIHZhciBj
bGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQorICAgICAgICAgIGxldCB7IGJvZHk6IGV4cGVj
dGVkQm9keSwgdHlwZTogZXhwZWN0ZWRUeXBlIH0gPSBleHRyYWN0Qm9keShib2R5KTsKKyAgICAg
ICAgICBpZiAoZXhwbGljaXRUeXBlICE9PSBudWxsKSB7CisgICAgICAgICAgICBleHBlY3RlZFR5
cGUgPSBleHBsaWNpdFR5cGU7CisgICAgICAgICAgfQorICAgICAgICAgIGxldCBleHBlY3RlZE1l
dGhvZCA9IG1ldGhvZDsKKyAgICAgICAgICBpZiAoKChjb2RlID09PSAiMzAxIiB8fCBjb2RlID09
PSAiMzAyIikgJiYgbWV0aG9kID09PSAiUE9TVCIpIHx8IChjb2RlID09PSAiMzAzIiAmJiBtZXRo
b2QgIT09ICJHRVQiICYmIG1ldGhvZCAhPT0gIkhFQUQiKSkgeworICAgICAgICAgICAgZXhwZWN0
ZWRNZXRob2QgPSAiR0VUIjsKKyAgICAgICAgICAgIGV4cGVjdGVkQm9keSA9ICIiOworICAgICAg
ICAgICAgZXhwZWN0ZWRUeXBlID0gIk5PIjsKKyAgICAgICAgICB9CisgICAgICAgICAgY29uc3Qg
Y2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgY2xpZW50Lm9ucmVhZHlz
dGF0ZWNoYW5nZSA9IHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgICAgICAgIGlmIChjbGllbnQu
cmVhZHlTdGF0ZSA9PSA0KSB7Ci0gICAgICAgICAgICAgIGlmIChleHBsaWNpdFR5cGUgIT09ICJh
cHBsaWNhdGlvbi94LXBvbnkiIHx8IHNhZmVsaXN0Q29udGVudFR5cGUpIHsKLSAgICAgICAgICAg
ICAgICB2YXIgeyBib2R5OiBleHBlY3RlZEJvZHksIHR5cGU6IGV4cGVjdGVkVHlwZSB9ID0gZXh0
cmFjdEJvZHkoYm9keSk7Ci0gICAgICAgICAgICAgICAgaWYgKGV4cGxpY2l0VHlwZSAhPT0gbnVs
bCkgewotICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRUeXBlID0gZXhwbGljaXRUeXBlCi0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgoKGNvZGUgPT09ICIzMDEiIHx8IGNv
ZGUgPT09ICIzMDIiKSAmJiBtZXRob2QgPT09ICJQT1NUIikgfHwgY29kZSA9PT0gIjMwMyIpIHsK
LSAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJHRVQiCi0gICAgICAgICAgICAgICAgICBleHBl
Y3RlZEJvZHkgPSAiIgotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjbGllbnQu
cmVhZHlTdGF0ZSA9PT0gNCkgeworICAgICAgICAgICAgICBpZiAoKGV4cGVjdGVkTWV0aG9kID09
PSAiR0VUIiAmJiBleHBlY3RlZFR5cGUgPT09ICJOTyIpIHx8IGV4cGxpY2l0VHlwZSAhPT0gImFw
cGxpY2F0aW9uL3gtcG9ueSIgfHwgc2FmZWxpc3RDb250ZW50VHlwZSkgewogICAgICAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywgMjAwKTsKLSAgICAgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRlcigieC1yZXF1ZXN0LW1ldGhvZCIp
LCBtZXRob2QpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LmdldFJlc3Bv
bnNlSGVhZGVyKCJ4LXJlcXVlc3QtbWV0aG9kIiksIGV4cGVjdGVkTWV0aG9kKTsKICAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRlcigieC1yZXF1ZXN0
LWNvbnRlbnQtdHlwZSIpLCBleHBlY3RlZFR5cGUpOwogICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMoY2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCJ4LXJlcXVlc3QtZGF0YSIpLCBleHBlY3Rl
ZEJvZHkpOwogICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vICJhcHBs
aWNhdGlvbi94LXBvbnkiIGlzIG5vdCBzYWZlbGlzdGVkIGJ5IGNvcnNlbmFibGVkLnB5IC0+IG5l
dHdvcmsgZXJyb3IKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMs
IDApCi0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQuc3RhdHVzVGV4dCwgIiIp
Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQucmVzcG9uc2VUZXh0LCAiIikK
LSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVhNTCwgbnVsbCkK
KyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDApOworICAgICAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1c1RleHQsICIiKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVRleHQsICIiKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVhNTCwgbnVsbCk7CiAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgdC5kb25lKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgfSkKLSAgICAgICAgICBsZXQgc2FmZWxpc3QgPSAiIgorICAgICAgICAgIH0pOworICAgICAg
ICAgIGxldCBzYWZlbGlzdCA9ICIiOwogICAgICAgICAgIGlmIChzYWZlbGlzdENvbnRlbnRUeXBl
KSB7Ci0gICAgICAgICAgICBzYWZlbGlzdCA9ICI/c2FmZWxpc3RfY29udGVudF90eXBlIgorICAg
ICAgICAgICAgc2FmZWxpc3QgPSAiP3NhZmVsaXN0X2NvbnRlbnRfdHlwZSI7CiAgICAgICAgICAg
fQotICAgICAgICAgIGNsaWVudC5vcGVuKG1ldGhvZCwgInJlc291cmNlcy9yZWRpcmVjdC5weT9s
b2NhdGlvbj0iK2VuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3d3dzIuIitsb2NhdGlvbi5ob3N0
Kyhsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9bXlwvXSskLywgJycpKSsncmVzb3VyY2VzL2Nv
cnNlbmFibGVkLnB5Jykrc2FmZWxpc3QrIiZjb2RlPSIgKyBjb2RlKQorICAgICAgICAgIGNsaWVu
dC5vcGVuKG1ldGhvZCwgInJlc291cmNlcy9yZWRpcmVjdC5weT9sb2NhdGlvbj0iK2VuY29kZVVS
SUNvbXBvbmVudCgiaHR0cDovL3d3dzIuIitsb2NhdGlvbi5ob3N0Kyhsb2NhdGlvbi5wYXRobmFt
ZS5yZXBsYWNlKC9bXlwvXSskLywgJycpKSsncmVzb3VyY2VzL2NvcnNlbmFibGVkLnB5Jykrc2Fm
ZWxpc3QrIiZjb2RlPSIgKyBjb2RlKTsKICAgICAgICAgICBpZiAoZXhwbGljaXRUeXBlICE9PSBu
dWxsKSB7Ci0gICAgICAgICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBl
IiwgZXhwbGljaXRUeXBlKQorICAgICAgICAgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIkNv
bnRlbnQtVHlwZSIsIGV4cGxpY2l0VHlwZSk7CiAgICAgICAgICAgfQotICAgICAgICAgIGNsaWVu
dC5zZW5kKGJvZHkpCi0gICAgICAgIH0sIGRvY3VtZW50LnRpdGxlICsgIiAoIiArIG5hbWUgKyAi
KSIpCisgICAgICAgICAgY2xpZW50LnNlbmQoYm9keSk7CisgICAgICAgIH0sIGRvY3VtZW50LnRp
dGxlICsgIiAoIiArIG5hbWUgKyAiKSIpOwogICAgICAgfQorICAgICAgLy8gY29yc2VuYWJsZWQu
cHkgc2FmZWxpc3RzIG1ldGhvZHMgR0VULCBQT1NULCBQVVQsIGFuZCBGT08KICAgICAgIHJlZGly
ZWN0KCIzMDEiKQogICAgICAgcmVkaXJlY3QoIjMwMSIsICIzMDEgR0VUIHdpdGggZXhwbGljaXQg
Q29udGVudC1UeXBlIiwgIkdFVCIsIG51bGwsICJhcHBsaWNhdGlvbi94LXBvbnkiKQogICAgICAg
cmVkaXJlY3QoIjMwMSIsICIzMDEgR0VUIHdpdGggZXhwbGljaXQgQ29udGVudC1UeXBlIHNhZmVs
aXN0ZWQiLCAiR0VUIiwgbnVsbCwgImFwcGxpY2F0aW9uL3gtcG9ueSIsIHRydWUpCisgICAgICBy
ZWRpcmVjdCgiMzAzIiwgIjMwMyBHRVQgd2l0aCBleHBsaWNpdCBDb250ZW50LVR5cGUgc2FmZWxp
c3RlZCIsICJHRVQiLCBudWxsLCAiYXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkKICAgICAgIHJl
ZGlyZWN0KCIzMDIiKQogICAgICAgcmVkaXJlY3QoIjMwMyIpCi0gICAgICByZWRpcmVjdCgiMzAz
IiwgIjMwMyBMQUxBIHdpdGggc3RyaW5nIGFuZCBleHBsaWNpdCBDb250ZW50LVR5cGUgc2FmZWxp
c3RlZCIsICJMQUxBIiwgInRlc3QiLCAiYXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkKKyAgICAg
IHJlZGlyZWN0KCIzMDIiLCAiMzAyIEZPTyB3aXRoIHN0cmluZyBhbmQgZXhwbGljaXQgQ29udGVu
dC1UeXBlIHNhZmVsaXN0ZWQiLCAiRk9PIiwgInRlc3QiLCAiYXBwbGljYXRpb24veC1wb255Iiwg
dHJ1ZSkKKyAgICAgIHJlZGlyZWN0KCIzMDMiLCAiMzAzIEZPTyB3aXRoIHN0cmluZyBhbmQgZXhw
bGljaXQgQ29udGVudC1UeXBlIHNhZmVsaXN0ZWQiLCAiRk9PIiwgInRlc3QiLCAiYXBwbGljYXRp
b24veC1wb255IiwgdHJ1ZSkKICAgICAgIHJlZGlyZWN0KCIzMDciKQogICAgICAgcmVkaXJlY3Qo
IjMwNyIsICIzMDcgcG9zdCB3aXRoIG51bGwiLCAiUE9TVCIsIG51bGwpCiAgICAgICByZWRpcmVj
dCgiMzA3IiwgIjMwNyBwb3N0IHdpdGggc3RyaW5nIiwgIlBPU1QiLCAiaGVsbG8iKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1zZW5kLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtc2VuZC5hbnkuanMKaW5kZXggMmJmZTQwNDM2ZjRhNmJhOGMzYWRjMTUyYzE4
NmE3YjZkMjcyYjExNC4uNjRiMTU1NDE4MDk3M2E0Mjk5MzY2MGFmNzkyNjg4OTU4ODk5NzE2ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvc2VuZC1zZW5kLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLXNlbmQuYW55LmpzCkBAIC0yLDYgKzIsNiBAQCB0ZXN0KGZ1
bmN0aW9uKCkgewogICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgY2xpZW50
Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvd2VsbC1mb3JtZWQueG1sIikKICAgY2xpZW50LnNlbmQo
bnVsbCkKLSAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsg
Y2xpZW50LnNlbmQobnVsbCkgfSkKKyAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVy
cm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCiAgIGNsaWVudC5hYm9ydCgp
CiB9LCAiWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSAtIHNlbmQoKSIpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhl
YWRlci1hZnRlci1zZW5kLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXItYWZ0ZXItc2VuZC5odG0KaW5kZXggN2NjZGIz
ZTRjMzEwOTA5MTI4NmMwMmJiZWE3YTU4OTIyMTU3MTRmMC4uMTc0ZTllYzQxOTZjN2ViNGI1ZmFl
MDUwYTRjZTliMDFhNTBlZTg0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1hZnRlci1zZW5kLmh0bQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRy
ZXF1ZXN0aGVhZGVyLWFmdGVyLXNlbmQuaHRtCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAgIGNs
aWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2RlbGF5LnB5P21zPTAiKQogICAgICAgICBjbGll
bnQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdGVzdC5zdGVw
KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJy
b3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0ZXN0
IikgfSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIs
IGZ1bmN0aW9uKCkgeyBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC10ZXN0IiwgInRlc3QiKSB9
KQogICAgICAgICAgICAgaWYoY2xpZW50LnJlYWR5U3RhdGUgPT0gNCkKICAgICAgICAgICAgICAg
dGVzdC5kb25lKCkKICAgICAgICAgICB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1iZWZvcmUtb3Bl
bi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZXRyZXF1ZXN0aGVhZGVyLWJlZm9yZS1vcGVuLmh0bQppbmRleCBjYmU0YjI5OWM5ZGFjMTgxNTQz
NDA0OTMwNzNlNzQxOWIwNzczY2I4Li41YzM3N2ZiYzEwMDc2YTJkOThiYjRiZGM0NmNlMmVjOGMx
OGFjNmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJlZm9yZS1vcGVuLmh0bQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVy
LWJlZm9yZS1vcGVuLmh0bQpAQCAtMTEsNyArMTEsNyBAQAogICAgIDxzY3JpcHQ+CiAgICAgICB0
ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0
KCkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigp
IHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0ZXN0IikgfSkKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVu
dC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCAidGVzdCIpIH0pCiAgICAgICAgIH0sICdzZXRS
ZXF1ZXN0SGVhZGVyIGludm9rZWQgYmVmb3JlIG9wZW4oKScpCiAgICAgPC9zY3JpcHQ+CiAgIDwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXItYm9ndXMtbmFtZS5odG0gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3Vz
LW5hbWUuaHRtCmluZGV4IDg2ZTU1ZjMzYTAwNjQ5Y2YyNWMwNWIwNDkxNGZiNzc1NmVmNmJjYjku
LmNlMjMwOGNjNjdkZWJiNTI4MDAxNTNhMDg0YWY2MTQ4MjNmNTk5MTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NldHJlcXVlc3Ro
ZWFkZXItYm9ndXMtbmFtZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1ib2d1cy1uYW1lLmh0bQpAQCAtMjcs
MTQgKzI3LDE0IEBACiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdmFyIGNs
aWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgICAgY2xpZW50Lm9wZW4oIkdFVCIs
ICIuLi4iKQotICAgICAgICAgIGFzc2VydF90aHJvd3MoIlN5bnRheEVycm9yIiwgZnVuY3Rpb24o
KSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkKKyAgICAgICAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNl
dFJlcXVlc3RIZWFkZXIobmFtZSwgJ3gtdmFsdWUnKSB9KQogICAgICAgICB9LCAic2V0UmVxdWVz
dEhlYWRlciBzaG91bGQgdGhyb3cgd2l0aCBoZWFkZXIgbmFtZSAiICsgZm9ybWF0X3ZhbHVlKGlu
dmFsaWRfaGVhZGVyc1tpXSkgKyAiLiIpCiAgICAgICB9CiAgICAgICBmdW5jdGlvbiB0cnlfYnl0
ZV9zdHJpbmcobmFtZSkgewogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZh
ciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVuKCJH
RVQiLCAiLi4uIikKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVu
Y3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkKKyAg
ICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IGNsaWVudC5z
ZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkKICAgICAgICAgfSwgInNldFJlcXVl
c3RIZWFkZXIgc2hvdWxkIHRocm93IHdpdGggaGVhZGVyIG5hbWUgIiArIGZvcm1hdF92YWx1ZShp
bnZhbGlkX2J5dGVfc3RyaW5nc1tpXSkgKyAiLiIpCiAgICAgICB9CiAgICAgICB2YXIgaW52YWxp
ZF9oZWFkZXJzID0gWyIoIiwgIikiLCAiPCIsICI+IiwgIkAiLCAiLCIsICI7IiwgIjoiLCAiXFwi
LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2V0cmVxdWVzdGhlYWRlci1ib2d1cy12YWx1ZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3VzLXZh
bHVlLmh0bQppbmRleCAxNWZiYjM5MDUyNTI2ZGYwNTJhZjg5NDBjYjhkYjcxNDkzMDJhZmM0Li5j
YmEzNDFjNWRjNjg5MzM2NjI5ZjUyNWNmZTY3MjRmZjAwMmU4MzhlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVh
ZGVyLWJvZ3VzLXZhbHVlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3VzLXZhbHVlLmh0bQpAQCAtMTQs
NyArMTQsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBjbGll
bnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwg
Ii4uLiIpOwotICAgICAgICAgIGFzc2VydF90aHJvd3MoIlN5bnRheEVycm9yIiwgZnVuY3Rpb24o
KSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCB2YWx1ZSkgfSwgJyBnaXZlbiB2
YWx1ZSAnICsgdmFsdWUrJywgJyk7CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlN5bnRh
eEVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCB2
YWx1ZSkgfSwgJyBnaXZlbiB2YWx1ZSAnICsgdmFsdWUrJywgJyk7CiAgICAgICAgIH0pOwogICAg
ICAgfQogICAgICAgdHJ5X3ZhbHVlKCJ0XHgwMHQiKTsKQEAgLTIzLDEzICsyMywxMyBAQAogICAg
ICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVx
dWVzdCgpOwogICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIpOwotICAgICAgICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0
SGVhZGVyKCJ4LXRlc3QiLCAi776D7729776EIikgfSwgJyBnaXZlbiB2YWx1ZSDvvoPvvb3vvoQs
Jyk7CisgICAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgY2xp
ZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICLvvoPvvb3vvoQiKSB9LCAnIGdpdmVuIHZh
bHVlIO++g++9ve++hCwnKTsKICAgICAgIH0pOwogCiAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewog
ICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICAgICAgY2xpZW50
Lm9wZW4oIkdFVCIsICIuLi4iKQotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiKSB9KQorICAg
ICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRS
ZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiKSB9KQogICAgICAgfSwgJ09taXR0ZWQgdmFsdWUgYXJndW1l
bnQnKQogICAgIDwvc2NyaXB0PgogICA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWNvbnRl
bnQtdHlwZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlwZS5odG0KaW5kZXggODYwOGM1OTY3ZDZi
MjliYTRmOWQwOWFlN2JmMzk1YTZiMjY4NzZjMi4uMDcyMzgzOTFlYjVjYzg2MzllZGJlOTk2MjA4
YTE4YjZkOWQyNmIwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1jb250ZW50LXR5cGUuaHRtCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NldHJlcXVl
c3RoZWFkZXItY29udGVudC10eXBlLmh0bQpAQCAtMjE1LDI0ICsyMTUsNiBAQAogICAgICAgICAv
LyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jYm9keWluaXQsIHNvIHRoZSB1c2VyJ3Mg
bXVzdCBiZSBjaGFuZ2VkIHRvIG1hdGNoIGl0CiAgICAgICAgIC8vIGFzIHBlciBodHRwczovL3ho
ci5zcGVjLndoYXR3Zy5vcmcvI3RoZS1zZW5kJTI4JTI5LW1ldGhvZCBzdGVwIDQuCiAgICAgICAp
Ci0gICAgICByZXF1ZXN0KAotICAgICAgICBmdW5jdGlvbiBfUmVhZGFibGVTdHJlYW0oKSB7IHJl
dHVybiBuZXcgUmVhZGFibGVTdHJlYW0oKSB9LAotICAgICAgICB7IkNvbnRlbnQtVHlwZSI6ICIi
fSwKLSAgICAgICAgIiIsCi0gICAgICAgICdSZWFkYWJsZVN0cmVhbSByZXF1ZXN0IHJlc3BlY3Rz
IHNldFJlcXVlc3RIZWFkZXIoIiIpJwotICAgICAgKQotICAgICAgcmVxdWVzdCgKLSAgICAgICAg
ZnVuY3Rpb24gX1JlYWRhYmxlU3RyZWFtKCkgeyByZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFtKCkg
fSwKLSAgICAgICAge30sCi0gICAgICAgIHVuZGVmaW5lZCwKLSAgICAgICAgIlJlYWRhYmxlU3Ry
ZWFtIHJlcXVlc3Qgd2l0aCB1bmRlciB0eXBlIHNlbmRzIG5vIENvbnRlbnQtVHlwZSB3aXRob3V0
IHNldFJlcXVlc3RIZWFkZXIoKSBjYWxsIgotICAgICAgKQotICAgICAgcmVxdWVzdCgKLSAgICAg
ICAgZnVuY3Rpb24gX1JlYWRhYmxlU3RyZWFtKCkgeyByZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFt
KCkgfSwKLSAgICAgICAgeyJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24veG1sO2NoYXJzZXQ9
QVNDSUkifSwKLSAgICAgICAgImFwcGxpY2F0aW9uL3htbDtjaGFyc2V0PUFTQ0lJIiwKLSAgICAg
ICAgIlJlYWRhYmxlU3RyZWFtIHJlcXVlc3Qga2VlcHMgc2V0UmVxdWVzdEhlYWRlcigpIENvbnRl
bnQtVHlwZSBhbmQgY2hhcnNldCIKLSAgICAgICkKICAgICA8L3NjcmlwdD4KICAgPC9ib2R5Pgog
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvdGltZW91dC1zeW5jLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3RpbWVvdXQtc3luYy5odG0KaW5kZXggOTgxNTUzMmM3MGZm
MzQ3MTk5YTk5OGYwMmJmNGIxMWYxNWM3YmNlZS4uZDhiMmNjNDhmMzY0N2QyMTZhMzgyNGUxMzkx
Y2QyNjEyNDE5YzFmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvdGltZW91dC1zeW5jLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci90aW1lb3V0LXN5bmMuaHRtCkBAIC0xMywx
MiArMTMsMTIgQEAKICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBjbGllbnQg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICBjbGllbnQub3BlbignR0VUJywgJ2ZvbGRl
ci50eHQnLCBmYWxzZSkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZEFjY2Vzc0Vycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC50aW1lb3V0ID0gMTAwMCB9KQorICAgICAgICBhc3NlcnRf
dGhyb3dzX2RvbSgiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC50aW1l
b3V0ID0gMTAwMCB9KQogICAgICAgICB9LCAnc2V0dGluZyB0aW1lb3V0IGF0dHJpYnV0ZSBvbiBz
eW5jIHJlcXVlc3QnKQogICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNsaWVu
dCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgIGNsaWVudC50aW1lb3V0ID0gMTAwMAot
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsg
Y2xpZW50Lm9wZW4oJ0dFVCcsICdmb2xkZXIudHh0JywgZmFsc2UpIH0pCisgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9w
ZW4oJ0dFVCcsICdmb2xkZXIudHh0JywgZmFsc2UpIH0pCiAgICAgICAgIH0sICdvcGVuKCkgd2l0
aCBhc3luYyBmYWxzZSB3aGVuIHRpbWVvdXQgaXMgc2V0JykKICAgICA8L3NjcmlwdD4KICAgPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZwppbmRleCA2OGRlNzI2YzgyNWY3MTdhYWMz
OWQ3MTUxNDk5ODllYTczZGZkMzJmLi40NWFmMzFhYTIwOWRiOTFlOTQzYTc2NGM4ODEwMDI1ZDU4
YmE1NDAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZwpAQCAtODUsNiArODUsNyBAQCBM
aXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2FsbG93LWxpc3RzLXN0YXJ0aW5nLXdpdGgtY29tbWEuaHRtCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYW5vbnltb3VzLW1vZGUtdW5zdXBw
b3J0ZWQuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvY2xvc2Utd29ya2VyLXdpdGgteGhyLWluLXByb2dyZXNzLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5h
bnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9k
YXRhLXVyaS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC1hYm9ydC5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbApAQCAtMjIzLDcgKzIy
NCw4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWJsb2IuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnkuanMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEt
Zm9ybWRhdGEuYW55LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS5qcworL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1
ZmZlci5hbnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuanMKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtdW5leHBlY3Rl
ZC10b3N0cmluZy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLWVudGl0eS1ib2R5LWJhc2ljLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktZG9jdW1lbnQtYm9n
dXMuaHRtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC1uZXR3b3JrLWVycm9yLXN5bmMuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIveG1saHR0cHJlcXVlc3Qt
bmV0d29yay1lcnJvci1zeW5jLmh0bQppbmRleCBjNGE4ODdhMWViZWU3NjM5MGRlYTkyOGY4YzU2
YTJjOGYzNGQ2YWQyLi5lZTM2N2ZiZTBlZTI0NWI5ZjhkZmJmNmRlMTMyOTdlMmI2MjM5YmMwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci94bWxodHRwcmVxdWVzdC1uZXR3b3JrLWVycm9yLXN5bmMuaHRtCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LW5ldHdv
cmstZXJyb3Itc3luYy5odG0KQEAgLTIwLDcgKzIwLDcgQEAKICAgICAgIHRlc3QoZnVuY3Rpb24o
KSB7CiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICBj
bGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVjdHMucHkiLCBmYWxz
ZSkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNs
aWVudC5zZW5kKG51bGwpIH0sICJzZW5kIikKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5l
dHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9LCAic2VuZCIpCiAg
ICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywgMCwgInN0YXR1cyIpCiAgICAgICAg
IGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1c1RleHQsICIiLCAic3RhdHVzVGV4dCIpCiAgICAg
ICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LmdldEFsbFJlc3BvbnNlSGVhZGVycygpLCAiIiwgImdl
dEFsbFJlc3BvbnNlSGVhZGVycyIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC11bnNlbnQuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIveG1saHR0cHJlcXVl
c3QtdW5zZW50Lmh0bQppbmRleCBlYjUyZDYzZWVmOTcxODk1ZjY5ZjFiMDE1MWJhYTQ1NzI1MGRk
NDUyLi44MjI4MmIwMTYzZTZhYjQ5M2RlNDA0OTIwYzY2YTYyNmQ5NTRjMmZlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRw
cmVxdWVzdC11bnNlbnQuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LXVuc2VudC5odG0KQEAgLTIwLDggKzIwLDgg
QEAKICAgICA8c2NyaXB0PgogICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNs
aWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCi0gICAgICAgIGFzc2VydF90aHJvd3MoIkludmFs
aWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRl
c3QiLCAidGVzdCIpIH0sICJzZXRSZXF1ZXN0SGVhZGVyIikKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSwg
InNlbmQiKQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBm
dW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0ZXN0IikgfSwg
InNldFJlcXVlc3RIZWFkZXIiKQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0
YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSwgInNlbmQiKQogICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDAsICJzdGF0dXMiKQogICAgICAgICBh
c3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXNUZXh0LCAiIiwgInN0YXR1c1RleHQiKQogICAgICAg
ICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSwgIiIsICJnZXRB
bGxSZXNwb25zZUhlYWRlcnMiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRl
ci5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWItZXhwZWN0
ZWQudHh0CmluZGV4IGIzMzBiYjMwOWY2MzgyODlkOWFjOWNjNGZkMmVlZGRlNmIxOTZmZDkuLjVk
M2Y4MTVkNjU3YzVmMmExZmFkZjE0MTFiNzk3ZDE3Yzk5ODhiMjUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvZXZlbnQtZXJyb3Itb3JkZXIuc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50
LWVycm9yLW9yZGVyLnN1Yi1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwzIEBACi1BTEVSVDogdGVz
dCBzdGFydGVkCi1BTEVSVDogdGVzdCBzdGVwcGVkCi1BTEVSVDogbG9hZCBlbmRlZAotQUxFUlQ6
IGZpbmlzaGluZyB0ZXN0CiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IGV2ZW50IC0gZXJyb3IgKG9y
ZGVyIG9mIGV2ZW50cykgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlv
bi1iYXNpYy1jb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlvbi1i
YXNpYy1jb3JzLWV4cGVjdGVkLnR4dAppbmRleCBkNDE3NWEyODFmYTBmZjBhZmRmMTFiYTA4NWNk
ZTdiOTc4MWQ2ODBjLi4zNzIzYmMyOWM5ZTc0ODZmODA1NDZkMjVkOWYwYzFjMzhjMGVjNDA2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMtZXhwZWN0
ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAotQUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qg
c3RlcHBlZAotQUxFUlQ6IHJlYWR5IHN0YXRlIGNoYW5nZWQgdG8gNAotQUxFUlQ6IGZpbmlzaGlu
ZyB0ZXN0CiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSAtICJCYXNpYyIgYXV0aGVudGlj
YXRlZCBDT1JTIHJlcXVlc3RzIHdpdGggdXNlciBuYW1lIGFuZCBwYXNzd29yZCBwYXNzZWQgdG8g
b3BlbigpIChhc3NlcnRzIGZhaWx1cmUpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbmV0
d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1u
ZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IDFiNGNhMzVh
NTU2YzBmMzY1ZWMwMDY3MTBlOWRiZjhlZmMwMTYwOGQuLjJhMTQ1OGU0MWE1NmU5NDA4OGVjN2Rk
ZDI4ZDVlYzczYmFhZWIzZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9y
LWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3Jr
LWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAotQUxF
UlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAotQUxFUlQ6IHJlYWR5IHN0YXRl
IGlzIDQKLUFMRVJUOiBsb2FkIGVuZGVkCiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IFRoZSBzZW5k
KCkgbWV0aG9kOiBGaXJlIGEgcHJvZ3Jlc3MgZXZlbnQgbmFtZWQgZXJyb3Igd2hlbiBOZXR3b3Jr
IGVycm9yIGhhcHBlbnMgKHN5bmNocm9ub3VzIGZsYWcgaXMgdW5zZXQpIAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRp
dHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDk3MzcyNDM1NWJhOTg3Y2YwYjk1OTlhYjViYWQyOTQxODAxNDY5NTIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktZW1w
dHktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0KLVBBU1MgWE1M
SHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkgZW50aXR5IGJvZHkgKFBPU1QpIAotUEFTUyBY
TUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0eSBlbnRpdHkgYm9keSAoUFVUKSAKLUZBSUwg
WE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkgZW50aXR5IGJvZHkgKEhFQUQpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJOTyIgYnV0IGdvdCAiMCIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtZW50aXR5LWJvZHktbm9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1u
b25lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTNkNDY3YjE3
ZjM4OTc2Yzg5YmUzMzZmODdiNDcxZmExMDE3YjQyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1ub25lLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotCi1QQVNTIE5vIGNvbnRlbnQgdHlw
ZSAoUE9TVCkgCi1QQVNTIE5vIGNvbnRlbnQgdHlwZSAoUFVUKSAKLUZBSUwgTm8gY29udGVudCB0
eXBlIChIRUFEKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiTk8iIGJ1dCBnb3QgIjAiCi1QQVNT
IEV4cGxpY2l0IGNvbnRlbnQgdHlwZSAoUE9TVCkgCi1QQVNTIEV4cGxpY2l0IGNvbnRlbnQgdHlw
ZSAoUFVUKSAKLUZBSUwgRXhwbGljaXQgY29udGVudCB0eXBlIChIRUFEKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiTk8iIGJ1dCBnb3QgIjAiCi0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403869</attachid>
            <date>2020-07-09 08:44:52 -0700</date>
            <delta_ts>2020-07-09 09:07:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214105-20200709084451.patch</filename>
            <type>text/plain</type>
            <size>172659</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTcxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA4NmVhYmE0YmE2ZjViODNiNTExYjU5ZmZjNjg3NDk0NDU1MTA1NDUyLi41MGVlNjE1ODll
NjEzM2Y2ZDEzNDJkYTQ2MDMzYmNmZmJmYzcwYzM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNy0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMveGhyIGZyb20g
dXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNDEwNQorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgIFJl
c3luYyB3ZWItcGxhdGZvcm0tdGVzdHMveGhyIGZyb20gdXBzdHJlYW0gY2VmOTNiNThlN2NmMzFm
MWQ0N2NjLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3hoci8qOiBVcGRhdGVkLgor
CiAyMDIwLTA3LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcmViYXNlbGluZSBmZXRjaCB0ZXN0IGFmdGVyIHJlc3luYyBpbiByMjY0MTQ0
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvRm9ybURhdGEtYXBwZW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBlbmQuaHRtbAppbmRleCBhMTAyNDRmYTIz
ZDQ3NWE2ZmM0Y2I2ZmUyYjE1Zjg2OWMzMDgxMjE4Li5jNjRiOTNjYmM3ZWY4MmMzNmFiY2VkNGNj
MWQ1YzFjZjYwZjFiMmY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBlbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9Gb3JtRGF0YS1hcHBlbmQuaHRt
bApAQCAtODEsMTEgKzgxLDExIEBACiAgICAgfSwgJ3Rlc3RGb3JtRGF0YUFwcGVuZFRvRm9ybU51
bGwyJyk7CiAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGZkID0gbmV3IEZvcm1E
YXRhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtIikpOwotICAgICAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4ge2ZkLmFwcGVuZCgnbmFtZScsICJzdHJpbmciLCAn
ZmlsZW5hbWUnKX0pOworICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4g
e2ZkLmFwcGVuZCgnbmFtZScsICJzdHJpbmciLCAnZmlsZW5hbWUnKX0pOwogICAgIH0sICd0ZXN0
Rm9ybURhdGFBcHBlbmRUb0Zvcm1TdHJpbmcnKTsKICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAg
ICAgICB2YXIgZmQgPSBuZXcgRm9ybURhdGEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvcm0i
KSk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7ZmQuYXBw
ZW5kKCduYW1lJywgbmV3IFVSTFNlYXJjaFBhcmFtcygpLCAnZmlsZW5hbWUnKX0pOworICAgICAg
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4ge2ZkLmFwcGVuZCgnbmFtZScsIG5l
dyBVUkxTZWFyY2hQYXJhbXMoKSwgJ2ZpbGVuYW1lJyl9KTsKICAgICB9LCAndGVzdEZvcm1EYXRh
QXBwZW5kVG9Gb3JtV3JvbmdQbGF0Zm9ybU9iamVjdCcpOwogICAgIHRlc3QoZnVuY3Rpb24oKSB7
CiAgICAgICAgIHZhciBiZWZvcmUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIDIw
MDApOyAvLyB0d28gc2Vjb25kcyBhZ28sIGluIGNhc2UgdGhlcmUncyBjbG9jayBkcmlmdApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
WE1MSHR0cFJlcXVlc3Qtd2l0aENyZWRlbnRpYWxzLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL1hNTEh0dHBSZXF1ZXN0LXdpdGhDcmVkZW50
aWFscy5hbnkuanMKaW5kZXggOTZlOTVjOTBmYWYwNjQ1ZGZhZDA5YzI0YTgwZWQ0YjhjZDVhNDg4
MC4uMjdmZmE3MGQ1YjllY2I0Y2IxNGYxZTA5NzM0N2U2MWUzNDMwYWRiZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvWE1MSHR0cFJl
cXVlc3Qtd2l0aENyZWRlbnRpYWxzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9YTUxIdHRwUmVxdWVzdC13aXRoQ3JlZGVudGlhbHMu
YW55LmpzCkBAIC0yMyw5ICsyMyw5IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CiAgIHZhciBj
bGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICBjbGllbnQub3BlbigiR0VUIiwgInJlc291
cmNlcy9kZWxheS5weT9tcz0xMDAwIikKICAgY2xpZW50LnNlbmQoKQotICBhc3NlcnRfdGhyb3dz
KCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQud2l0aENyZWRlbnRpYWxz
ID0gdHJ1ZSB9KQorICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5j
dGlvbigpIHsgY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUgfSkKICAgY2xpZW50Lm9ucmVh
ZHlzdGF0ZWNoYW5nZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF90
aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC53aXRoQ3JlZGVu
dGlhbHMgPSB0cnVlIH0pCisgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlIH0pCiAgICAgaWYg
KGNsaWVudC5yZWFkeVN0YXRlID09PSA0KSB7CiAgICAgICB0aGlzLmRvbmUoKQogICAgIH0KQEAg
LTM2LDUgKzM2LDUgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgdmFyIGNsaWVudCA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpCiAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2RlbGF5LnB5P21z
PTEwMDAiLCBmYWxzZSkKICAgY2xpZW50LnNlbmQoKTsKLSAgYXNzZXJ0X3Rocm93cygiSW52YWxp
ZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUg
fSkKKyAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7
IGNsaWVudC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlIH0pCiB9LCAic2V0dGluZyB3aXRoQ3JlZGVu
dGlhbHMgd2hlbiBpbiBET05FIHN0YXRlIChzeW5jaHJvbm91cykiKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRy
b2wtYmFzaWMtZGVuaWVkLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5odG0KaW5kZXggNTM1NzYy
ZDBlZGFmZTFkNTg1MTBmNDNmMTI5NmQxZDk2NjJjOGIyNC4uOTcwZTA5ZDBmNTdjZmY5NzFiYjQ0
NjJiZDRlYmFlZDY5ZWI3OGFkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZGVuaWVkLmh0bQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nl
c3MtY29udHJvbC1iYXNpYy1kZW5pZWQuaHRtCkBAIC0yMiw3ICsyMiw3IEBACiAgICAgICBjb25z
dCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CiAKICAgICAgIHhoci5vcGVuKCJHRVQiLCBnZXRf
aG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgcGF0aCwgZmFsc2UpOwotICAgICAgYXNz
ZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoKSk7CisgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNlbmQoKSk7CiAgICAgICBh
c3NlcnRfZXF1YWxzKHhoci5zdGF0dXMsIDApOwogICAgIH0sICJDcm9zcy1vcmlnaW4gcmVxdWVz
dCBkZW5pZWQiKTsKICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLWdldC1m
YWlsLW5vbi1zaW1wbGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZ2V0LWZhaWwtbm9uLXNpbXBsZS5odG0K
aW5kZXggYTRmZTIzNDYwZDEyZDdkM2NkOTA3NDY0MjU3ZGY5OGVkZDI5YWE5Zi4uOTczNzBiZDY1
MDI0MWUyZWZlNzk5ZGRlMzdkMTMwOTliZWU5NmNjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMt
Z2V0LWZhaWwtbm9uLXNpbXBsZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZ2V0LWZhaWwtbm9uLXNp
bXBsZS5odG0KQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJ4
LXRlc3QiLCAiZm9vYmFyIik7CiAKICAgICAgIC8vIFRoaXMgZmFpbHMgYmVjYXVzZSB0aGUgc2Vy
dmVyLXNpZGUgc2NyaXB0IGlzIG5vdCBwcmVwYXJlZCBmb3IgYW4gT1BUSU9OUyByZXF1ZXN0Ci0g
ICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgpKTsKKyAg
ICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgpKTsK
ICAgICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywgMCk7CiAgICAgfSwgIlByZWZsaWdodGVk
IGNyb3NzLW9yaWdpbiByZXF1ZXN0IGRlbmllZCIpOwogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRy
b2wtYmFzaWMtbm9uLWNvcnMtc2FmZWxpc3RlZC1jb250ZW50LXR5cGUuaHRtCmluZGV4IDA2MmY4
YjBiYjViNDY2YzI2NGI4MGY4Zjk4M2M5NGQ0OWNjMWI5YWEuLjBlMGU5NzFmZDRiNWMxZjgxMzlm
ZTUyZTQxZGRmNzdjY2IzMDQ2NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLW5vbi1jb3JzLXNh
ZmVsaXN0ZWQtY29udGVudC10eXBlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1ub24tY29ycy1zYWZl
bGlzdGVkLWNvbnRlbnQtdHlwZS5odG0KQEAgLTIyLDcgKzIyLDcgQEAKICAgICAgICAgICAiL3ho
ci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHV0LWFsbG93LnB5IiwgZmFsc2UpOwog
ICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi94
bWwiKTsKIAotICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNl
bmQoIkZBSUw6IFBVVCBkYXRhIHJlY2VpdmVkIikpOworICAgICAgYXNzZXJ0X3Rocm93c19kb20o
Ik5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCJGQUlMOiBQVVQgZGF0YSByZWNlaXZlZCIp
KTsKICAgICAgIGFzc2VydF9lcXVhbHMoeGhyLnN0YXR1cywgMCwgIkNyb3NzLWRvbWFpbiBhY2Nl
c3Mgd2FzIGRlbmllZCBpbiAnc2VuZCcuIik7CiAgICAgfSwgIkRlbnkgY3Jvc3Mtb3JpZ2luIHJl
cXVlc3Qgd2l0aCBub24tQ09SUy1zYWZlbGlzdGVkIGNvbnRlbnQgdHlwZSIpOwogICAgIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcG9zdC13aXRoLW5vbi1jb3JzLXNhZmVsaXN0
ZWQtY29udGVudC10eXBlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLWJhc2ljLXBvc3Qtd2l0aC1ub24tY29ycy1zYWZl
bGlzdGVkLWNvbnRlbnQtdHlwZS5odG0KaW5kZXggMGE2ZGY5MzJhYTQ0ZTY0YjYwMjViNDA1NTEz
N2YyMTJkMTExZmUzMi4uZjYzZTZiYzkyNGUyNmU2YWFmZDEwZjIyMDMwMDYyOTMyMGE2NWNmZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcG9zdC13aXRoLW5vbi1jb3JzLXNhZmVsaXN0ZWQtY29u
dGVudC10eXBlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1iYXNpYy1wb3N0LXdpdGgtbm9uLWNvcnMtc2FmZWxp
c3RlZC1jb250ZW50LXR5cGUuaHRtCkBAIC0yOSw3ICsyOSw3IEBACiAKICAgICAgIHhoci5zZXRS
ZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veG1sIik7CiAKLSAgICAg
IGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCkpOworICAgICAg
YXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5zZW5kKCkpOwogICAg
ICAgYXNzZXJ0X2VxdWFscyh4aHIuc3RhdHVzLCAwLCAiQ3Jvc3MtZG9tYWluIGFjY2VzcyB3YXMg
ZGVuaWVkIGluICdzZW5kJy4iKTsKICAgICB9LCAiQ09SUyByZXF1ZXN0IHdpdGggbm9uLXNhZmVs
aXN0ZWQgY29udGVudCB0eXBlIHNlbmRzIHByZWZsaWdodCBhbmQgZmFpbHMiKTsKICAgICA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLWhlYWRlci1kZW5pZWQuaHRt
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNz
LWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtaGVhZGVyLWRlbmllZC5odG0KaW5kZXggNzk0OGMxOGEy
ZWZjYzZjMDJkNzZmNjgzYTNkYmI1ZmEyNTU4YzhhZS4uODY5N2YxZWRlOTViMDE3OGFhZWIwNTg0
MDA0ZGZmZjZhZWNiNWM1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtaGVhZGVy
LWRlbmllZC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtaGVhZGVyLWRlbmllZC5odG0K
QEAgLTIyLDcgKzIyLDcgQEAgdGVzdCgoKSA9PiB7CiAgIHhoci5vcGVuKCJHRVQiLCB1cmwgKyAi
JmNvbW1hbmQ9aGVhZGVyIiwgZmFsc2UpOwogICB4aHIuc2V0UmVxdWVzdEhlYWRlcigieC10ZXN0
IiwgImZvbyIpOwogCi0gIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsICgpID0+IHhoci5z
ZW5kKCkpOworICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4geGhyLnNl
bmQoKSk7CiAKICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwogICB4aHIub3BlbigiR0VUIiwg
dXJsICsgIiZjb21tYW5kPWNvbXBsZXRlIiwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJl
ZmxpZ2h0LXN5bmMtbWV0aG9kLWRlbmllZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRo
b2QtZGVuaWVkLmh0bQppbmRleCBhNTRjMzA4ZDlmMTE5MGVhMjNhMGRmNDYwZjc4ZmU3Njk2NGMw
MThlLi4wY2E2YzVjZGY0YTA4YjkyNTI5OWFlYzA4Y2IxMTE0ZmVmY2FmMjg4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3Mt
Y29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9hY2Nlc3MtY29udHJvbC1wcmVm
bGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bQpAQCAtMjEsNyArMjEsNyBAQCB0ZXN0KCgpID0+
IHsKICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OwogICB4aHIub3BlbigiREVMRVRFIiwgdXJs
ICsgIiZjb21tYW5kPW1ldGhvZCIsIGZhbHNlKTsKIAotICBhc3NlcnRfdGhyb3dzKCJOZXR3b3Jr
RXJyb3IiLCAoKSA9PiB4aHIuc2VuZCgpKTsKKyAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtF
cnJvciIsICgpID0+IHhoci5zZW5kKCkpOwogCiAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsK
ICAgeGhyLm9wZW4oIkdFVCIsIHVybCArICImY29tbWFuZD1jb21wbGV0ZSIsIGZhbHNlKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW5vdC1zdXBwb3J0ZWQuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wt
cHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5odG0KaW5kZXggYmIwODI5NjMwNGY5ZWY2MTll
ZjRiNTgxZmRmMTE2OTUzZjFmMzE2Ni4uZjVkZjRhMmQ0YjU3YTdiMmEzNWZlNmI5MzZkYzM1NzIx
NjMyY2Y5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5o
dG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
YWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5odG0KQEAgLTIxLDcg
KzIxLDcgQEAgdGVzdCgoKSA9PiB7CiAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKICAgeGhy
Lm9wZW4oIlBVVCIsIHVybCwgZmFsc2UpOwogCi0gIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJv
ciIsICgpID0+IHhoci5zZW5kKCIiKSk7CisgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJy
b3IiLCAoKSA9PiB4aHIuc2VuZCgiIikpOwogCiAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsK
ICAgeGhyLm9wZW4oIkdFVCIsIHVybCArICImY29tbWFuZD1jb21wbGV0ZSIsIGZhbHNlKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS5qcwppbmRleCBj
ZTlhY2ZmOWE1NzA5NDJjMjRlYmEwNGM5NGZhYzU0OWY1MjVlYzgyLi45ZDg4MDQ2ODA2Yzc2NGE0
NjdiMGFkNTlmZWMzYzczZDlmMGZhMTRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5hbnkuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvY29y
cy1leHBvc2Utc3Rhci5zdWIuYW55LmpzCkBAIC01LDcgKzUsNiBAQCBjb25zdCB1cmwgPSAiaHR0
cDovL3t7aG9zdH19Ont7cG9ydHNbaHR0cF1bMV19fSIgKyBkaXJuYW1lKGxvY2F0aW9uLnBhdGhu
YW1lKSArCiAKIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CiAgIGNvbnN0IGhlYWRlcnMgPSAiaGVh
ZGVyKEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwqKSIKLSAgICBjb25zb2xlLmxvZyh1cmwp
OwogICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgIGNsaWVudC5vcGVuKCJH
RVQiLCB1cmwgKyBzaGFyZWRIZWFkZXJzICsgaGVhZGVycyk7CiAgIGNsaWVudC5zZW5kKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIu
c3ViLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViNTg1M2NkMzE1OTk4NDM3
NzExMGNkN2Y1NGI1MjdhNDY1ZGY4YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBCYXNpYyBBY2Nl
c3MtQ29udHJvbC1FeHBvc2UtSGVhZGVyczogKiBzdXBwb3J0IAorUEFTUyAqIGZvciBjcmVkZW50
aWFsZWQgZmV0Y2hlcyBvbmx5IG1hdGNoZXMgbGl0ZXJhbGx5IAorUEFTUyAqIGNhbiBiZSBvbmUg
b2Ygc2V2ZXJhbCB2YWx1ZXMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2NvcnMtZXhwb3NlLXN0YXIuc3ViLmFueS53b3JrZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Nv
cnMtZXhwb3NlLXN0YXIuc3ViLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4
ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvY29ycy1leHBvc2Utc3Rh
ci5zdWIuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWFib3J0LmFu
eS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2
ZW50LWFib3J0LmFueS5qcwppbmRleCA5YjM4Y2NmOWM5ZTE5NzY1MTExYjk2ZGY1OTVhYmY3ODBm
NmJmZWI4Li41YjE3ZWNlMDA4NWFlZDhiYmUyNzIzYTQ3MTBkYmJmZDYzZjQ1NzNkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVu
dC1hYm9ydC5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvZXZlbnQtYWJvcnQuYW55LmpzCkBAIC0xMiw0ICsxMiw0IEBAIHRlc3Quc3Rl
cChmdW5jdGlvbiAoKSB7CiAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKICAgICBhc3NlcnRf
dW5yZWFjaGVkKCJvbmFib3J0IG5vdCBjYWxsZWQgYWZ0ZXIgNCBtcyIpOwogICB9LCA0KTsKLX0p
OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Itb3JkZXIu
c3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2V2ZW50LWVycm9yLW9yZGVyLnN1Yi1leHBlY3RlZC50eHQKaW5kZXggZDY0MmE5
ZDRhMzJmMzZmMzNlNjY0OWFlODMxNGZjOWE4ODVmZGExOC4uMDI2ZjExZWNiZmI3ZmE3Mjg1M2Iz
NTQ4MmFjNTI2NDA2NmFmZjJmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Itb3JkZXIuc3ViLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9l
dmVudC1lcnJvci1vcmRlci5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNCBAQAotQUxFUlQ6
IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHA6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6ODgwMC8KLUFMRVJUOiBsb2Fk
IGVuZGVkCi1BTEVSVDogZmluaXNoaW5nIHRlc3QKIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogZXZl
bnQgLSBlcnJvciAob3JkZXIgb2YgZXZlbnRzKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Itb3JkZXIuc3Vi
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9l
dmVudC1lcnJvci1vcmRlci5zdWIuaHRtbAppbmRleCA3MDMyM2FiMTE4ZWMyODkzOTM0MTA3NDdi
ZDIxM2Q1NTM5YWY1OWFmLi5mMDM3MDdlYjk4ZDdmNTczN2M2YWVjNDRkMGRlNGMwNDNkZWIzNzMx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbApA
QCAtMTMsMjAgKzEzLDE2IEBACiAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CiAgICAgICAgIHZhciB0ZXN0ID0gYXN5bmNfdGVzdCgpOwotICAgICAgICBhbGVydCgidGVzdCBz
dGFydGVkIik7CiAKICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkKICAgICAgICAgewotICAg
ICAgICAgICAgYWxlcnQoInRlc3Qgc3RlcHBlZCIpOwogICAgICAgICAgICAgdmFyIHhociA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICAgICAgcHJlcGFyZV94aHJfZm9yX2V2ZW50X29y
ZGVyX3Rlc3QoeGhyKTsKIAogICAgICAgICAgICAgeGhyLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRl
bmQiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBhbGVydCgibG9hZCBlbmRlZCIpOwog
ICAgICAgICAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAg
ICAgLy8gbm8gcHJvZ3Jlc3MgZXZlbnRzIGR1ZSB0byBDT1JTIGZhaWx1cmUKICAgICAgICAgICAg
ICAgICAgICAgYXNzZXJ0X3hocl9ldmVudF9vcmRlcl9tYXRjaGVzKFsxLCAibG9hZHN0YXJ0KDAs
MCxmYWxzZSkiLCAidXBsb2FkLmxvYWRzdGFydCgwLDEyLHRydWUpIiwgNCwgInVwbG9hZC5lcnJv
cigwLDAsZmFsc2UpIiwgInVwbG9hZC5sb2FkZW5kKDAsMCxmYWxzZSkiLCAiZXJyb3IoMCwwLGZh
bHNlKSIsICJsb2FkZW5kKDAsMCxmYWxzZSkiXSk7Ci0gICAgICAgICAgICAgICAgICAgIGFsZXJ0
KCJmaW5pc2hpbmcgdGVzdCIpOwogICAgICAgICAgICAgICAgICAgICB0ZXN0LmRvbmUoKTsKICAg
ICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Iuc3ViLmFu
eS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2
ZW50LWVycm9yLnN1Yi5hbnkuanMKaW5kZXggZGY2M2RjMDViZmE0MWNjNGRhOTY3OWQwMjBiNGNi
ZGJiNGU5MDZhNC4uNjJhMTU4Y2RjZmJjYzgwZmI2ZjZhN2RiNmY2ZmZkODhlNjA3NGM1YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
ZXZlbnQtZXJyb3Iuc3ViLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci5zdWIuYW55LmpzCkBAIC0xMCw0ICsxMCw0
IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKIAogICBjbGllbnQub3BlbigiR0VUIiwgImh0
dHA6Ly9ub25leGlzdGVudC57e2hvc3R9fTp7e3BvcnRzW2h0dHBdWzBdfX0iKTsKICAgY2xpZW50
LnNlbmQoIm51bGwiKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
ZXZlbnQtbG9hZC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcwppbmRleCA3MmU0NmE1Y2VhODFlYzA2YTk4MWQ5
NzNjNTY0ZGI0YzdkOWYzY2I3Li5kY2I5MmNjOTgwZGM5ZWJjYWNhYzAzNWM3MjFmOTg0M2UyMDM1
MmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9ldmVudC1sb2FkLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkLmFueS5qcwpAQCAtMTgsNCArMTgsNCBA
QCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB9KTsKICAgY2xpZW50Lm9wZW4oIkdFVCIsICJy
ZXNvdXJjZXMvd2VsbC1mb3JtZWQueG1sIik7CiAgIGNsaWVudC5zZW5kKG51bGwpOwotfSk7Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2FkZW5kLmFueS5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxv
YWRlbmQuYW55LmpzCmluZGV4IDdiZDE4NDRiMzc4YzBmNjNkYTQ0YTg5NmUzOThlOGIxZWRjZDlj
ZjUuLjE2MDg3YjUyOTY3YzAxZjc3MzhhYTY1ODQwYWU0ZDE2MTc5ZTUyYmUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxv
YWRlbmQuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2V2ZW50LWxvYWRlbmQuYW55LmpzCkBAIC0xNiw0ICsxNiw0IEBAIHRlc3Quc3Rl
cChmdW5jdGlvbiAoKSB7CiAgIH07CiAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL3dl
bGwtZm9ybWVkLnhtbCIpOwogICBjbGllbnQuc2VuZChudWxsKTsKLX0pOwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtbG9hZHN0YXJ0LXVwbG9hZC5hbnkuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2Fk
c3RhcnQtdXBsb2FkLmFueS5qcwppbmRleCAwZjQxY2QxMjg2Yjc0YTdjMGYwZGVmMmZjOWIxNmY0
YTgxZGMzYzk3Li4zOTE4YWRiNjZhOTUzZGNkNzE2ZGZjMjUyZTI1MDIzNmRjZTg3OTU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9l
dmVudC1sb2Fkc3RhcnQtdXBsb2FkLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2Fkc3RhcnQtdXBsb2FkLmFueS5qcwpA
QCAtMTYsNCArMTYsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB9KTsKICAgY2xpZW50
Lm9wZW4oIlBPU1QiLCAicmVzb3VyY2VzL3RyaWNrbGUucHk/bXM9NSZjb3VudD04Iik7CiAgIGNs
aWVudC5zZW5kKCdmb289YmFyJyk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL2V2ZW50LWxvYWRzdGFydC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1sb2Fkc3RhcnQuYW55LmpzCmluZGV4IDQ3Nzg0
MDRhMDBlZjVmYTIzMDJkMGI5Mzc3NmUxYzUwMzlhMWE1YTEuLjU1YWY0YzMxNjMxNTBmMDA3MWFk
MGNmNjRlMmM1Y2IwZWFlNzkyMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWxvYWRzdGFydC5hbnkuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtbG9hZHN0
YXJ0LmFueS5qcwpAQCAtMTQsNCArMTQsNCBAQCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB9
LCA1MDApOwogICBjbGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy93ZWxsLWZvcm1lZC54bWwi
KTsKICAgY2xpZW50LnNlbmQobnVsbCk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2V2ZW50LXByb2dyZXNzLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXByb2dyZXNzLmFueS5qcwppbmRleCAwZTdj
M2E0MmM3ZGY2ODcyZDllMjNhMzlmMjE2NGExODViZjI1MWZjLi4wOTRkMzYxODExNzFkNWE1Yzc5
MDAzZjYxYTYzZmYxNTM2YmY3MDE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1wcm9ncmVzcy5hbnkuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtcHJvZ3Jl
c3MuYW55LmpzCkBAIC0xNSw0ICsxNSw0IEBAIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CiAgIH0p
OwogICBjbGllbnQub3BlbigiR0VUIiwgInJlc291cmNlcy90cmlja2xlLnB5P2NvdW50PTQmZGVs
YXk9MTUwIik7CiAgIGNsaWVudC5zZW5kKG51bGwpOwotfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0YXRlLXN5bmMtb3Blbi5hbnkuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0
YXRlLXN5bmMtb3Blbi5hbnkuanMKaW5kZXggMzIxNjM1ZTdkZWE0MGMyOGQ0MzQ5MGM3ODQ2ZWJm
ZGY5Nzk5M2FmMi4uYThhNGZlN2Y5YTE5NmI2YWIwMWQ4NGJlZjFlOWYwYjliNjE4NGQ1ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
ZXZlbnQtcmVhZHlzdGF0ZS1zeW5jLW9wZW4uYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5c3RhdGUtc3luYy1vcGVu
LmFueS5qcwpAQCAtMjAsNCArMjAsNCBAQCB0ZXN0KGZ1bmN0aW9uICgpIHsKICAgfQogICBjbGll
bnQub3BlbignR0VUJywgIi4uLiIsIHRydWUpCiAgIGFzc2VydF9hcnJheV9lcXVhbHMoZXZlbnRz
RmlyZWQsIFsxXSkKLX0sIHRpdGxlICsgJyAoYXN5bmMpJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorfSwgdGl0bGUgKyAnIChhc3luYyknKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXJlYWR5c3RhdGVjaGFu
Z2UtbG9hZGVkLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL2V2ZW50LXJlYWR5c3RhdGVjaGFuZ2UtbG9hZGVkLmFueS5qcwppbmRleCAxZTQ0
NjdhYWViZGFmOWJmMTkyYjE2ZDY3OWVlOWY5MjQ4OGRiYTI1Li5hMzNlNmY4OTIyNzhlZjZkMzFh
ODcwYmQxZmUzNWVmNDJmMGQyOTk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC1yZWFkeXN0YXRlY2hhbmdlLWxvYWRlZC5h
bnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvZXZlbnQtcmVhZHlzdGF0ZWNoYW5nZS1sb2FkZWQuYW55LmpzCkBAIC0yMCw0ICsyMCw0IEBA
IHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CiAKICAgICBjbGllbnQub3BlbigiR0VUIiwgInJlc291
cmNlcy90cmlja2xlLnB5P2NvdW50PTEwIik7IC8vIGRlZmF1bHQgdGltZW91dCBpbiB0cmlja2xl
LnB5IGlzIDEvMiBzZWMsIHNvIHRoaXMgcmVxdWVzdCB3aWxsIHRha2UgNSBzZWNvbmRzIHRvIGNv
bXBsZXRlCiAgICAgY2xpZW50LnNlbmQobnVsbCk7Ci19KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL2V2ZW50LXRpbWVvdXQtb3JkZXIuYW55LmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGltZW91dC1vcmRlci5h
bnkuanMKaW5kZXggYjM1ZTkwOGE5ZDhjMTAyYWE5MDE5NjQ5ZmFkNmM1OTE3NzlkNjBjNi4uNTUz
MTk4MTRhOTAwNjQ3ODZjNzI2YWJmNmQ3M2M3NWU2ZTRiNDVkMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGltZW91dC1v
cmRlci5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvZXZlbnQtdGltZW91dC1vcmRlci5hbnkuanMKQEAgLTE4LDQgKzE4LDQgQEAgdGVz
dC5zdGVwKGZ1bmN0aW9uICgpIHsKICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7CiAgICAg
ICAgIGFzc2VydF91bnJlYWNoZWQoIm9udGltZW91dCBub3QgY2FsbGVkLiIpOwogICAgIH0sIDEw
KTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdGltZW91
dC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9ldmVudC10aW1lb3V0LmFueS5qcwppbmRleCBkMTE0YjA4YjNlMTI0ZWVmNTYwYTNmZDdiY2Ux
MjQ3Y2Y0M2EzNDdlLi5kYThjYTExYmI4ZWExYThlZjY3M2JlMjBhZTJkZTg3MTVhNGQxMTMwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9ldmVudC10aW1lb3V0LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC10aW1lb3V0LmFueS5qcwpAQCAtMTUsNCArMTUsNCBA
QCB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewogICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7CiAg
ICAgYXNzZXJ0X3VucmVhY2hlZCgib250aW1lb3V0IG5vdCBjYWxsZWQuIik7CiAgIH0sIDEwKTsK
LX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBsb2FkLXBy
b2dyZXNzLWNyb3Nzb3JpZ2luLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXVwbG9hZC1wcm9ncmVzcy1jcm9zc29yaWdpbi5hbnku
anMKaW5kZXggMTAzNmYyYjE0ZjBhMzk3NDRkNWI5MmVhOTVjNmYyYzViZjBjNjdiNy4uOWY0YzQ0
YWFiZTc1ZTM3ZjY2Nzg4Y2Q5ZDdiODhmNTgyNzY4OWUyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBsb2FkLXByb2dy
ZXNzLWNyb3Nzb3JpZ2luLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MtY3Jvc3NvcmlnaW4uYW55
LmpzCkBAIC0yMyw0ICsyMyw0IEBAIGNvbnN0IHJlbW90ZSA9IGdldF9ob3N0X2luZm8oKS5IVFRQ
X1JFTU9URV9PUklHSU4gKyAiL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQuCiAgICAgY2xpZW50
LnVwbG9hZC5vbmxvYWRzdGFydCA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoKTsgLy8gcmVnaXN0ZXJl
ZCB0b28gbGF0ZQogICAgIGNsaWVudC51cGxvYWQub25wcm9ncmVzcyA9IHRlc3QudW5yZWFjaGVk
X2Z1bmMoKTsgLy8gcmVnaXN0ZXJlZCB0b28gbGF0ZQogICB9LCAiVXBsb2FkIGV2ZW50cyByZWdp
c3RlcmVkIHRvbyBsYXRlICgiICsgdXJsICsgIikiKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBsb2FkLXByb2dyZXNzLmFueS5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LXVwbG9hZC1wcm9n
cmVzcy5hbnkuanMKaW5kZXggNWQxNTQ2NzU3YmE0MjRjNmJjZTBjMTQ0MTJkZWI4MTQ5NDE5OGU4
YS4uODcyMjNjMTcyZDUwYmIwMTM3OWE4NjA3NWQzNTVlNWE0YmNiYmNmZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtdXBs
b2FkLXByb2dyZXNzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jlc3MuYW55LmpzCkBAIC0yMyw0ICsy
Myw0IEBAIGNvbnN0IHJlbW90ZSA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4g
KyAiL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQuCiAgICAgY2xpZW50LnVwbG9hZC5vbmxvYWRz
dGFydCA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoKTsgLy8gcmVnaXN0ZXJlZCB0b28gbGF0ZQogICAg
IGNsaWVudC51cGxvYWQub25wcm9ncmVzcyA9IHRlc3QudW5yZWFjaGVkX2Z1bmMoKTsgLy8gcmVn
aXN0ZXJlZCB0b28gbGF0ZQogICB9LCAiVXBsb2FkIGV2ZW50cyByZWdpc3RlcmVkIHRvbyBsYXRl
ICgiICsgdXJsICsgIikiKTsKLX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvZm9ybWRhdGEtYmxvYi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQppbmRleCA1ZWZlZjdiNjE1YmJmYTdkYzU0
ODkxZmU0MDQwNWMwZjYyZWI5OGUyLi45MmNlZTU1Y2QyZjgwZjE1ZGUyNjg0ZWJmYzEyOWE1YTZi
MWQzOGYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1ibG9iLmh0bQpAQCAtMzgsNyArMzgs
NyBAQAogICAvLyBJZiAzcmQgYXJndW1lbnQgaXMgZ2l2ZW4gYW5kIDJuZCBpcyBub3QgYSBCbG9i
LCBmb3JtZGF0YS5hcHBlbmQoKSBzaG91bGQgdGhyb3cKICAgdmFyIHRlc3QgPSBhc3luY190ZXN0
KCdmb3JtZGF0YS5hcHBlbmQoKSBzaG91bGQgdGhyb3cgaWYgdmFsdWUgaXMgc3RyaW5nIGFuZCBm
aWxlIG5hbWUgaXMgZ2l2ZW4nKTsgLy8gbmVlZHMgdG8gYmUgYXN5bmMganVzdCBiZWNhdXNlIHRo
ZSBvdGhlcnMgYWJvdmUgYXJlCiAgIHRlc3Quc3RlcChmdW5jdGlvbigpewotICAgIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpeworICAgIGFzc2VydF90aHJvd3NfanMo
VHlwZUVycm9yLCBmdW5jdGlvbigpewogICAgICAgY3JlYXRlX2Zvcm1kYXRhKCdhJywgJ2InLCAn
YycpOwogICAgIH0pOwogICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLWV4cGVjdGVk
LnR4dAppbmRleCBlMGFlNmFmMGNiZWQ1MTQ4ZTJlZWQ4MDhiNjk4Njk0MWZmNTcyMzUzLi42NTZm
NzhhNWM3ZTA2Y2EzNzIwNDUwZTZmMGU2ZGU3Y2NkNDdhMzk3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvZm9ybWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQAogCiAKIAotRkFJTCBDb25z
dHJ1Y3RvcnMgc2hvdWxkIHRocm93IGEgdHlwZSBlcnJvciBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiKCkgPT4geyBuZXcgRm9ybURhdGEobnVsbCk7IH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgQ29u
c3RydWN0b3JzIHNob3VsZCB0aHJvdyBhIHR5cGUgZXJyb3IgYXNzZXJ0X3Rocm93c19qczogZnVu
Y3Rpb24gIigpID0+IHsgbmV3IEZvcm1EYXRhKG51bGwpOyB9IiBkaWQgbm90IHRocm93CiBQQVNT
IGVtcHR5IGZvcm1kYXRhIAogUEFTUyBmb3JtZGF0YSB3aXRoIHN0cmluZyAKIFBBU1MgZm9ybWRh
dGEgd2l0aCBuYW1lZCBzdHJpbmcgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1zZXQuaHRtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEtc2V0Lmh0bQppbmRl
eCBlZTQzZTE1NjlmMTk1OGU1YzcxZjE0YTNiZDg5Yjc1NzU2ZDZhODVjLi5kNDZlNDRhOTE2ZmQy
MGNiOWJhOTRiMWFjNWMyNDgxNjU5ZWM3Y2RjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS1zZXQuaHRtCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLXNl
dC5odG0KQEAgLTgxLDExICs4MSwxMSBAQAogICAgIH0sICd0ZXN0Rm9ybURhdGFTZXRUb0Zvcm1O
dWxsMicpOwogICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBmZCA9IG5ldyBGb3Jt
RGF0YShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9ybSIpKTsKLSAgICAgICAgYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHtmZC5zZXQoJ25hbWUnLCAic3RyaW5nIiwgJ2Zp
bGVuYW1lJyl9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHtm
ZC5zZXQoJ25hbWUnLCAic3RyaW5nIiwgJ2ZpbGVuYW1lJyl9KTsKICAgICB9LCAndGVzdEZvcm1E
YXRhU2V0VG9Gb3JtU3RyaW5nJyk7CiAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFy
IGZkID0gbmV3IEZvcm1EYXRhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb3JtIikpOwotICAg
ICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4ge2ZkLnNldCgnbmFtZScs
IG5ldyBVUkxTZWFyY2hQYXJhbXMoKSwgJ2ZpbGVuYW1lJyl9KTsKKyAgICAgICAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsICgpID0+IHtmZC5zZXQoJ25hbWUnLCBuZXcgVVJMU2VhcmNoUGFy
YW1zKCksICdmaWxlbmFtZScpfSk7CiAgICAgfSwgJ3Rlc3RGb3JtRGF0YVNldFRvRm9ybVdyb25n
UGxhdGZvcm1PYmplY3QnKTsKICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgZmQg
PSBuZXcgRm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2Zvcm1kYXRhLmh0bQppbmRleCA2OTljMTFhYjc4
MzhhMzJhM2U2MjQ2MGYxM2EyYTQyN2Q4ZDgxNzA3Li42NzUyMDNjYjFhZjc2ZDcxMjQyMzgxZDQ5
ZWZjMTMzYTVkNTM4NGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9mb3JtZGF0YS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZm9ybWRhdGEuaHRtCkBAIC0zOSw4ICszOSw4
IEBACiAgIH0KIAogICB0ZXN0KCgpID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgKCkgPT4geyBuZXcgRm9ybURhdGEobnVsbCk7IH0pOwotICAgIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7IG5ldyBGb3JtRGF0YSgic3RyaW5nIik7IH0pOworICAg
IGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7IG5ldyBGb3JtRGF0YShudWxsKTsg
fSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsgbmV3IEZvcm1EYXRh
KCJzdHJpbmciKTsgfSk7CiAgIH0sICJDb25zdHJ1Y3RvcnMgc2hvdWxkIHRocm93IGEgdHlwZSBl
cnJvciIpOwogCiAgIGRvX3Rlc3QoImVtcHR5IGZvcm1kYXRhIiwgbmV3IEZvcm1EYXRhKCksICdc
bicpOwpAQCAtNzIsNyArNzIsNyBAQAogICAgIGxldCBjb3VudGVyID0gMDsKICAgICBmb3JtLmFk
ZEV2ZW50TGlzdGVuZXIoJ2Zvcm1kYXRhJywgZSA9PiB7CiAgICAgICArK2NvdW50ZXI7Ci0gICAg
ICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsgbmV3IEZvcm1EYXRh
KGUudGFyZ2V0KSB9KTsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJv
cicsICgpID0+IHsgbmV3IEZvcm1EYXRhKGUudGFyZ2V0KSB9KTsKICAgICB9KTsKICAgICBuZXcg
Rm9ybURhdGEoZm9ybSk7CiAgICAgYXNzZXJ0X2VxdWFscyhjb3VudGVyLCAxKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2hlYWRl
cnMtbm9ybWFsaXplLXJlc3BvbnNlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL2hlYWRlcnMtbm9ybWFsaXplLXJlc3BvbnNlLmh0bQppbmRleCA4
NGYyZmM4NTgyMTI3YjlhOGUyNzE4ODdkNDIwYjNlYTdhODc2OTZhLi4zZDQ3MmY2ODhjZjZkOTgz
NmZhZDIwNDU3ODRmNTcwNWQ5ZjUzMmYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9oZWFkZXJzLW5vcm1hbGl6ZS1yZXNwb25zZS5o
dG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
aGVhZGVycy1ub3JtYWxpemUtcmVzcG9uc2UuaHRtCkBAIC05LDcgKzksNyBAQCBmdW5jdGlvbiBl
cnJvcih2YWwpIHsKICAgdGVzdCgoKSA9PiB7CiAgICAgY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0
dHBSZXF1ZXN0KCk7CiAgICAgY2xpZW50Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvcGFyc2UtaGVh
ZGVycy5weT9teS1jdXN0b20taGVhZGVyPSIrZW5jb2RlVVJJQ29tcG9uZW50KHZhbCksIGZhbHNl
KTsKLSAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCAoKSA9PiBjbGllbnQuc2VuZCgp
KTsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgKCkgPT4gY2xpZW50LnNl
bmQoKSk7CiAgIH0sICJIZWFkZXIgdmFsdWU6ICIgKyB2YWwucmVwbGFjZSgiXDAiLCAiXFwwIikp
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9sb2Fkc3RhcnQtYW5kLXN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9sb2Fkc3RhcnQtYW5kLXN0YXRlLmh0bWwKaW5k
ZXggNDYwYjJiZmM5OTA4NWIxZDZiOTAwODYwZjMyNTBmMGY2YWM3MDI2Mi4uOGIzNDRhNThmODFm
NWQ2ZDcxZGU3MDFlYzQxNGQ1YjEyNDY3MzcyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvbG9hZHN0YXJ0LWFuZC1zdGF0ZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2xv
YWRzdGFydC1hbmQtc3RhdGUuaHRtbApAQCAtNyw5ICs3LDkgQEAKIGFzeW5jX3Rlc3QodCA9PiB7
CiAgIGNvbnN0IGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdAogICBjbGllbnQub25sb2Fkc3Rh
cnQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRl
RXJyb3IiLCAoKSA9PiBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiR2VuZXJhbCIsICJPcmdhbmEi
KSkKLSAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsICgpID0+IGNsaWVudC53
aXRoQ3JlZGVudGlhbHMgPSB0cnVlKQotICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVy
cm9yIiwgKCkgPT4gY2xpZW50LnNlbmQoKSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxp
ZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiR2VuZXJhbCIsICJP
cmdhbmEiKSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9
PiBjbGllbnQud2l0aENyZWRlbnRpYWxzID0gdHJ1ZSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgi
SW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBjbGllbnQuc2VuZCgpKQogICAgIGNsaWVudC5vbmxv
YWRzdGFydCA9IG51bGwKICAgICBjbGllbnQub3BlbigiR0VUIiwgImRhdGE6LEJCLTgiKQogICAg
IGNsaWVudC5zZW5kKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWJvZ3VzLmh0bSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWJvZ3VzLmh0bQpp
bmRleCAyNjNlN2I2ZGI3ZWIxNTgxMDI4YmFkMWM3NDI2MjdkNTk3ZTkwNTQwLi4xM2JiMThiZjVj
NGZhZTU2MzJkOWYwNzZmZTkzYmM2NTgxMWUxMjUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1ib2d1cy5odG0K
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Bl
bi1tZXRob2QtYm9ndXMuaHRtCkBAIC0xMiw3ICsxMiw3IEBACiAgICAgICBmdW5jdGlvbiBtZXRo
b2QobWV0aG9kKSB7CiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdmFyIGNs
aWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiU3lu
dGF4RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9wZW4obWV0aG9kLCAiLi4uIikgfSkKKyAg
ICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xp
ZW50Lm9wZW4obWV0aG9kLCAiLi4uIikgfSkKICAgICAgICAgfSwgZG9jdW1lbnQudGl0bGUgKyAi
ICgiICsgbWV0aG9kICsgIikiKQogICAgICAgfQogICAgICAgbWV0aG9kKCIiKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1t
ZXRob2QtaW5zZWN1cmUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvb3Blbi1tZXRob2QtaW5zZWN1cmUuaHRtCmluZGV4IDFhNzdmZjNlYzc5NzMw
MDU5ODI1NDRkMTc4MTQ3MGEyY2Q3ZDBkZjEuLmE2YmY0NDIyNDgxZmVmZjI2Nzc1NDdjN2FiNWM2
NGI0YjIyNGI4MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLWluc2VjdXJlLmh0bQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1pbnNlY3Vy
ZS5odG0KQEAgLTEyLDcgKzEyLDcgQEAKICAgICAgIGZ1bmN0aW9uIG1ldGhvZChtZXRob2QpIHsK
ICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCkKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwg
ZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKG1ldGhvZCwgIi4uLiIpIH0pCisgICAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9wZW4o
bWV0aG9kLCAiLi4uIikgfSkKICAgICAgICAgfSwgZG9jdW1lbnQudGl0bGUgKyAiICgiICsgbWV0
aG9kICsgIikiKQogICAgICAgfQogICAgICAgbWV0aG9kKCJ0cmFjayIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhv
ZC1yZXNwb25zZXR5cGUtc2V0LXN5bmMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi1tZXRob2QtcmVzcG9uc2V0eXBlLXNldC1zeW5jLmh0
bQppbmRleCAwYjRkODE0MDQxYzUyNTI4NTk5OTE4NmE3YjNkNTA3NDIzNWUxZjdiLi43ODU4Yzkx
NDA5ZTdlN2NiNTE2OTVmNmQyMzNkZTBkMDE1NTRhNjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLW1ldGhvZC1yZXNwb25z
ZXR5cGUtc2V0LXN5bmMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL29wZW4tbWV0aG9kLXJlc3BvbnNldHlwZS1zZXQtc3luYy5odG0KQEAg
LTE5LDcgKzE5LDcgQEAKICAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoJ05vIGV2ZW50cyBz
aG91bGQgZmlyZSBoZXJlJykKICAgICAgICAgICB9KQogICAgICAgICAgIGNsaWVudC5yZXNwb25z
ZVR5cGUgPSB0eXBlCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZEFjY2Vzc0Vycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKCdHRVQnLCAiLi4uIiwgZmFsc2UpIH0pCisgICAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRBY2Nlc3NFcnJvciIsIGZ1bmN0aW9uKCkg
eyBjbGllbnQub3BlbignR0VUJywgIi4uLiIsIGZhbHNlKSB9KQogICAgICAgICB9LCBkb2N1bWVu
dC50aXRsZSArICIgKCIgKyB0eXBlICsgIikiKQogICAgICAgfQogICAgICAgcmVxdWVzdCgiYXJy
YXlidWZmZXIiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTIuaHRtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93
LTIuaHRtCmluZGV4IGVkNGJhMDE1NzZiNTliMWNmMjVhNTgwYzA1YjNhNjM4M2Q1ZDE2YzEuLjY0
Y2M5NmI2MWIyNWRjNjY0N2QwZWI2NGJiNGQ5NDVhNTA3MmYxZDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRp
LXdpbmRvdy0yLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctMi5odG0KQEAgLTExLDEyICsxMSwxMyBA
QAogICAgIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gaW5pdCgpeyAvLyBjYWxsZWQgZnJvbSBwYWdl
IGluc2lkZSBJRlJBTUUKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgICB2YXIg
Y2xpZW50ID0gbmV3IHNlbGZbMF0uWE1MSHR0cFJlcXVlc3QoKQorICAgICAgICAgIHZhciBjbGll
bnQgPSBuZXcgc2VsZlswXS5YTUxIdHRwUmVxdWVzdCgpOworICAgICAgICAgIGxldCBleGNlcHRp
b25DdG9yID0gc2VsZlswXS5ET01FeGNlcHRpb247CiAgICAgICAgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF0pCi0g
ICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBleGNlcHRp
b25DdG9yLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAiZm9s
ZGVyLnR4dCIpCi0gICAgICAgICAgfSwgIm9wZW4oKSB3aGVuIGFzc29jaWF0ZWQgZG9jdW1lbnQn
cyBJRlJBTUUgaXMgcmVtb3ZlZCIpCi0gICAgICAgICAgfSkKKyAgICAgICAgICB9LCAib3Blbigp
IHdoZW4gYXNzb2NpYXRlZCBkb2N1bWVudCdzIElGUkFNRSBpcyByZW1vdmVkIik7CisgICAgICAg
IH0pOwogICAgICAgfQogICAgIDwvc2NyaXB0PgogICAgIDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
aW5pdC5odG0iPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Bl
bi11cmwtbXVsdGktd2luZG93LTMtZXhwZWN0ZWQudHh0CmluZGV4IDI4MWEyOTVlNWMzZGE2Mzhm
ODNkODFjNWUyNGRhYTFiMjk5ZDMzNDEuLjA4MDhmNjJhYWYxZDFjMzcxYzUzMjllODlhYzlkN2Zk
Zjk1YmZmODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy0zLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1t
dWx0aS13aW5kb3ctMy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgWE1MSHR0
cFJlcXVlc3Q6IG9wZW4oKSByZXNvbHZpbmcgVVJMcyAobXVsdGktV2luZG93OyAzOyBldmlsKSBh
c3NlcnRfdGhyb3dzOiBzZW5kKCkgd2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50J3MgSUZSQU1FIGlz
IHJlbW92ZWQgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKK0ZBSUwgWE1MSHR0cFJlcXVlc3Q6IG9w
ZW4oKSByZXNvbHZpbmcgVVJMcyAobXVsdGktV2luZG93OyAzOyBldmlsKSBhc3NlcnRfdGhyb3dz
X2RvbTogc2VuZCgpIHdoZW4gYXNzb2NpYXRlZCBkb2N1bWVudCdzIElGUkFNRSBpcyByZW1vdmVk
IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBjbGllbnQuc2VuZChudWxsKQog
ICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTMu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Bl
bi11cmwtbXVsdGktd2luZG93LTMuaHRtCmluZGV4IDM0NDQzNGIwZTdjNjk0Y2NiNTJiYzlhNjNh
YjVlNWJlZjNmMjFmMjQuLmUxNTY4NTdmZTA1ZGFhNGUzYTQ3YTNjYTQxM2E5YzlhYmFhMDYyYmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy0zLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctMy5odG0K
QEAgLTEwLDEyICsxMCwxMyBAQAogICAgIDxzY3JpcHQ+CiAgICAgICBmdW5jdGlvbiBpbml0KCkg
ewogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcg
c2VsZlswXS5YTUxIdHRwUmVxdWVzdCgpCisgICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBzZWxm
WzBdLlhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgICAgbGV0IGV4Y2VwdGlvbkN0b3IgPSBzZWxm
WzBdLkRPTUV4Y2VwdGlvbjsKICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgImZvbGRlci50
eHQiKQogICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKQotICAgICAgICAgIGFzc2VydF90aHJvd3MoIklu
dmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oIkludmFsaWRTdGF0ZUVycm9yIiwgZXhjZXB0aW9uQ3RvciwgZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICBjbGllbnQuc2VuZChudWxsKQotICAgICAgICAgIH0sICJzZW5kKCkgd2hlbiBhc3Nv
Y2lhdGVkIGRvY3VtZW50J3MgSUZSQU1FIGlzIHJlbW92ZWQiKQorICAgICAgICAgIH0sICJzZW5k
KCkgd2hlbiBhc3NvY2lhdGVkIGRvY3VtZW50J3MgSUZSQU1FIGlzIHJlbW92ZWQiKTsKICAgICAg
ICAgfSkKICAgICAgIH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy01
Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29w
ZW4tdXJsLW11bHRpLXdpbmRvdy01Lmh0bQppbmRleCBhMjdkMmIzNjZjMDY4MGQyYTMwY2JiMTA3
YzM0OTZhYmIwMjY0OTA4Li4zMmM0NjdhNDk1NmM0YjQ3NjE0YjgzMmJiZTcxMTFlZmM3YzQxMzll
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctNS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTUuaHRt
CkBAIC0xMSwxNSArMTEsMTcgQEAKICAgICA8c2NyaXB0PgogICAgICAgdmFyIHRlc3QgPSBhc3lu
Y190ZXN0KCksCiAgICAgICAgICAgY2xpZW50LAotICAgICAgICAgIGNvdW50ID0gMAorICAgICAg
ICAgIGV4Y2VwdGlvbkN0b3IsCisgICAgICAgICAgY291bnQgPSAwOwogICAgICAgZnVuY3Rpb24g
aW5pdCgpIHsKICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAgICAgIGlmKDAg
PT0gY291bnQpIHsKLSAgICAgICAgICAgIGNsaWVudCA9IG5ldyBzZWxmWzBdLlhNTEh0dHBSZXF1
ZXN0KCkKKyAgICAgICAgICAgIGNsaWVudCA9IG5ldyBzZWxmWzBdLlhNTEh0dHBSZXF1ZXN0KCk7
CisgICAgICAgICAgICBleGNlcHRpb25DdG9yID0gc2VsZlswXS5ET01FeGNlcHRpb247CiAgICAg
ICAgICAgICBjb3VudCsrCiAgICAgICAgICAgICBzZWxmWzBdLmxvY2F0aW9uLnJlbG9hZCgpCiAg
ICAgICAgICAgfSBlbHNlIGlmKDEgPT0gY291bnQpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJv
d3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vcGVuKCJHRVQiLCAi
Li4uIikgfSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJv
ciIsIGV4Y2VwdGlvbkN0b3IsIGZ1bmN0aW9uKCkge2NsaWVudC5vcGVuKCJHRVQiLCAiLi4uIikg
fSk7CiAgICAgICAgICAgICB0ZXN0LmRvbmUoKQogICAgICAgICAgIH0KICAgICAgICAgfSkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L29wZW4tdXJsLW11bHRpLXdpbmRvdy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02LWV4
cGVjdGVkLnR4dAppbmRleCA1YTQ1NzkyNzM3NjI4NWQ5ODM5NmRiNTE0NGY1YzQ2NzdiZDMyMjYw
Li45ZWYzYTE4MzhiNGEyNWYwZjdiODdkYWNjMmVhODgwNTgzODUzNWYyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1t
dWx0aS13aW5kb3ctNi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtbXVsdGktd2luZG93LTYtZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIFhNTEh0dHBSZXF1ZXN0OiBvcGVuKCkgaW4gZG9j
dW1lbnQgdGhhdCBpcyBub3QgZnVsbHkgYWN0aXZlIChidXQgbWF5IGJlIGFjdGl2ZSkgc2hvdWxk
IHRocm93IAorRkFJTCBYTUxIdHRwUmVxdWVzdDogb3BlbigpIGluIGRvY3VtZW50IHRoYXQgaXMg
bm90IGZ1bGx5IGFjdGl2ZSAoYnV0IG1heSBiZSBhY3RpdmUpIHNob3VsZCB0aHJvdyBhc3NlcnRf
dGhyb3dzX2RvbTogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgY2xpZW50Lm9wZW4oIkdFVCIsICIu
Li4iKSB9IiB0aHJldyBhbiBleGNlcHRpb24gZnJvbSB0aGUgd3JvbmcgZ2xvYmFsCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29w
ZW4tdXJsLW11bHRpLXdpbmRvdy02Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLW11bHRpLXdpbmRvdy02Lmh0bQppbmRleCA5OTI3
OTYzOTkyMWQ5YTU5NGMxNTAxNGY1YzQyOWVlNmFlN2EyMTVkLi5kODM0YTA0OGE1MWQxODNiYjgy
YmRkNDMyNzY3NDBhNGY4OTRjZWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1tdWx0aS13aW5kb3ctNi5odG0KKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11
cmwtbXVsdGktd2luZG93LTYuaHRtCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBkb2MuYm9keS5hcHBlbmRDaGlsZChpZnIpOwogICAgICAgICAgIH0gZWxzZSBp
ZigxID09IGNvdW50KSB7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVF
cnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIpIH0pCisgICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsg
Y2xpZW50Lm9wZW4oIkdFVCIsICIuLi4iKSB9KQogICAgICAgICAgICAgdGVzdC5kb25lKCkKICAg
ICAgICAgICB9CiAgICAgICAgIH0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWRvbmUtc3RhdGUuYW55
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Zl
cnJpZGVtaW1ldHlwZS1kb25lLXN0YXRlLmFueS5qcwppbmRleCBiZGY0OWUxY2E1MmU3NmVmZjZi
MDdjMTJlMTBhMDMyMDQxNzIzNmEwLi41ZTcwNDkyNDM2NTdkNDVhYzlkYTQyZjIzNDMyODczM2Vi
NWNmYzEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWRvbmUtc3RhdGUuYW55LmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJyaWRlbWltZXR5
cGUtZG9uZS1zdGF0ZS5hbnkuanMKQEAgLTksNyArOSw3IEBAIGNsaWVudC5vbnJlYWR5c3RhdGVj
aGFuZ2UgPSB0ZXN0LnN0ZXBfZnVuYyggZnVuY3Rpb24oKSB7CiAgIGlmIChjbGllbnQucmVhZHlT
dGF0ZSAhPT0gNCkgcmV0dXJuOwogICB2YXIgdGV4dCA9IGNsaWVudC5yZXNwb25zZVRleHQ7CiAg
IGFzc2VydF9ub3RfZXF1YWxzKHRleHQsICIiKTsKLSAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0
YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm92ZXJyaWRlTWltZVR5cGUoJ2FwcGxpY2F0
aW9uL3htbDtjaGFyc2V0PVNoaWZ0LUpJUycpOyB9KTsKKyAgYXNzZXJ0X3Rocm93c19kb20oIklu
dmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5vdmVycmlkZU1pbWVUeXBlKCdh
cHBsaWNhdGlvbi94bWw7Y2hhcnNldD1TaGlmdC1KSVMnKTsgfSk7CiAgIGlmIChHTE9CQUwuaXNX
aW5kb3coKSkgewogICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnJlc3BvbnNlWE1MLCBudWxsKTsK
ICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvb3ZlcnJpZGVtaW1ldHlwZS1sb2FkaW5nLXN0YXRlLmh0bSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL292ZXJyaWRlbWltZXR5cGUtbG9h
ZGluZy1zdGF0ZS5odG0KaW5kZXggY2NlM2ZhNDllZjc1MmM2ZTY2YmExMDUwMGIzNTA1MzMxNmRl
NmMxMy4uMDZlNGQ1ZmVjMWVmMWJhMGNiZjg4NWZkMzU4NTg4OTg4MWNhNWM2NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3ZlcnJp
ZGVtaW1ldHlwZS1sb2FkaW5nLXN0YXRlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vdmVycmlkZW1pbWV0eXBlLWxvYWRpbmctc3RhdGUu
aHRtCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJl
cXVlc3QoKTsKICAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHRlc3Quc3RlcF9m
dW5jKGZ1bmN0aW9uKCkgewogICAgICAgICAgIGlmIChjbGllbnQucmVhZHlTdGF0ZSA9PT0gMyl7
Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9u
KCl7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBm
dW5jdGlvbigpewogICAgICAgICAgICAgICBjbGllbnQub3ZlcnJpZGVNaW1lVHlwZSgnYXBwbGlj
YXRpb24veG1sO2NoYXJzZXQ9U2hpZnQtSklTJyk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAg
ICB9ZWxzZSBpZihjbGllbnQucmVhZHlTdGF0ZT09PTQpewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcHJvZ3Jlc3NldmVudC1pbnRl
cmZhY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Byb2dyZXNzZXZlbnQtaW50ZXJmYWNlLmh0bWwKaW5kZXggODUwZDFiMjNkY2ZhMjY2MmIy
ZmZjZTNjMTk2OGQxZjkyZWFhZjE4OC4uNzU1MmZmNzNkM2Y0NDk5NzcyMzY3NGRhMDQwN2JmNTlh
YjNmOTFjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcHJvZ3Jlc3NldmVudC1pbnRlcmZhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9wcm9ncmVzc2V2ZW50LWludGVy
ZmFjZS5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF9l
cXVhbHMoZGVzYy53cml0YWJsZSwgZmFsc2UpCiAgIGFzc2VydF9lcXVhbHMoZGVzYy5lbnVtZXJh
YmxlLCBmYWxzZSkKICAgYXNzZXJ0X2VxdWFscyhkZXNjLmNvbmZpZ3VyYWJsZSwgZmFsc2UpCi0g
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgICJ1c2Ugc3RyaWN0IjsKICAgICBk
ZWxldGUgUHJvZ3Jlc3NFdmVudC5wcm90b3R5cGU7CiAgIH0pCkBAIC0zMSw3ICszMSw3IEBAIGF0
dHJpYnV0ZXMuZm9yRWFjaChmdW5jdGlvbihhKSB7CiAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb2dyZXNzRXZlbnQucHJvdG90eXBlLCBhWzFdKQogICAg
IGFzc2VydF9lcXVhbHMoZGVzYy5lbnVtZXJhYmxlLCB0cnVlKQogICAgIGFzc2VydF9lcXVhbHMo
ZGVzYy5jb25maWd1cmFibGUsIHRydWUpCi0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksIGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlv
bigpIHsKICAgICAgIFByb2dyZXNzRXZlbnQucHJvdG90eXBlW2FbMV1dCiAgICAgfSkKICAgfSkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9hY2NlcHQtbGFuZ3VhZ2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXB0LWxhbmd1YWdlLnB5Cmlu
ZGV4IGRkMDBmNGIyZWU3M2Q3NGNjNjBkZTQ5ZjgxOTljNGVhNjlmZmU1OTMuLmI2OGNmMzU1MDM4
Y2E5ZjlmOTM4YTVjM2IyZjVjNzVlYmZkMDU0ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2NlcHQtbGFuZ3Vh
Z2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL2FjY2VwdC1sYW5ndWFnZS5weQpAQCAtMSwzICsxLDMgQEAKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXR1cm4gWygiQ29udGVudC1UeXBlIiwgInRleHQv
cGxhaW4iKSwKLSAgICAgICAgICAgIHJlcXVlc3QuaGVhZGVycy5nZXQoIkFjY2VwdC1MYW5ndWFn
ZSIsICJOTyIpXQorICAgIHJldHVybiBbKGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0L3BsYWluIiks
CisgICAgICAgICAgICByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQWNjZXB0LUxhbmd1YWdlIiwgYiJO
TyIpXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2NlcHQucHkKaW5kZXggYTAzM2ViZWM2
NDY3NzQ3NzQ0YTMyMzZhZDM4ODg2ZmI5YjJkZDhlNS4uODQyZGY4MGNkYTAwNjcwODU1MDYyMTE0
YjZjZjA2MzEzOWQwMzVhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2VwdC5weQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXB0LnB5
CkBAIC0xLDIgKzEsMiBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJldHVy
biBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpXSwgcmVxdWVzdC5oZWFkZXJzLmdldCgi
YWNjZXB0IiwgIk5PIikKKyAgICByZXR1cm4gWyhiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFp
biIpXSwgcmVxdWVzdC5oZWFkZXJzLmdldChiImFjY2VwdCIsIGIiTk8iKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L2FjY2Vzcy1jb250cm9sLWFsbG93LWxpc3RzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWFsbG93LWxp
c3RzLnB5CmluZGV4IDUyNmQzNjViMzExMWQ0NmNlNzIzZTkyZjczNzY3M2FmYWEzMDA5NzcuLjMy
YzExYTBjMzliYWE0NjVmMzIxNGMzN2U5YTYzZmEzNWEzYTM4NjIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nl
c3MtY29udHJvbC1hbGxvdy1saXN0cy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctbGlz
dHMucHkKQEAgLTEsMjAgKzEsMjYgQEAKIGltcG9ydCBqc29uCiAKK2Zyb20gd3B0c2VydmUudXRp
bHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKLSAgICBpZiAib3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VUWyJvcmln
aW4iXSkKLSAgICBlbGlmICJvcmlnaW5zIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgZm9yIG9y
aWdpbiBpbiByZXF1ZXN0LkdFVFsib3JpZ2lucyJdLnNwbGl0KCcsJyk6Ci0gICAgICAgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVz
dC5HRVRbIm9yaWdpbiJdKQorICAgIGlmIGIib3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBy
ZXF1ZXN0LkdFVFtiIm9yaWdpbiJdKQorICAgIGVsaWYgYiJvcmlnaW5zIiBpbiByZXF1ZXN0LkdF
VDoKKyAgICAgICAgZm9yIG9yaWdpbiBpbiByZXF1ZXN0LkdFVFtiIm9yaWdpbnMiXS5zcGxpdChi
JywnKToKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVRbYiJvcmlnaW4iXSkKIAotICAgIGlmICJoZWFkZXJz
IiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1D
b250cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdFVFsiaGVhZGVycyJdKQotICAgIGlmICJt
ZXRob2RzIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFj
Y2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCByZXF1ZXN0LkdFVFsibWV0aG9kcyJdKQorICAg
IGlmIGIiaGVhZGVycyIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIHJlcXVlc3QuR0VUW2IiaGVhZGVy
cyJdKQorICAgIGlmIGIibWV0aG9kcyIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIHJlcXVlc3QuR0VU
W2IibWV0aG9kcyJdKQogCiAgICAgaGVhZGVycyA9IGRpY3QocmVxdWVzdC5oZWFkZXJzKQogCiAg
ICAgZm9yIGhlYWRlciBpbiBoZWFkZXJzOgogICAgICAgICBoZWFkZXJzW2hlYWRlcl0gPSBoZWFk
ZXJzW2hlYWRlcl1bMF0KIAotICAgIHJldHVybiBqc29uLmR1bXBzKGhlYWRlcnMpCisgICAgc3Ry
X2hlYWRlcnMgPSB7fQorICAgIGZvciBrZXksIHZhbCBpbiBoZWFkZXJzLml0ZW1zKCk6CisgICAg
ICAgIHN0cl9oZWFkZXJzW2lzb21vcnBoaWNfZGVjb2RlKGtleSldID0gaXNvbW9ycGhpY19kZWNv
ZGUodmFsKQorCisgICAgcmV0dXJuIGpzb24uZHVtcHMoc3RyX2hlYWRlcnMpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctd2l0aC1ib2R5LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWFs
bG93LXdpdGgtYm9keS5weQppbmRleCA3YzdmNDVjNjkwMTNiOTBkOGRiMGZkZWViZTllMTQ5NjRj
MGUyNGZlLi4xODU2NGUyZDQ0ZTdmNDM4NzQ4N2EyMjdjYjVlMzc5M2Q5YTQ2MzNhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvYWNjZXNzLWNvbnRyb2wtYWxsb3ctd2l0aC1ib2R5LnB5CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29u
dHJvbC1hbGxvdy13aXRoLWJvZHkucHkKQEAgLTEsMTUgKzEsMTUgQEAKIGRlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKICAgICBoZWFkZXJzID0gewotICAgICAgICAiQ2FjaGUtQ29udHJvbCI6
ICJuby1zdG9yZSIsCi0gICAgICAgICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIjogIlgt
UmVxdWVzdGVkLVdpdGgiLAotICAgICAgICAiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSI6IDAsCi0g
ICAgICAgICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOiAiKiIsCi0gICAgICAgICJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIjogIioiLAotICAgICAgICAiVmFyeSI6ICJBY2NlcHQt
RW5jb2RpbmciLAotICAgICAgICAiQ29udGVudC1UeXBlIjogInRleHQvcGxhaW4iCisgICAgICAg
IGIiQ2FjaGUtQ29udHJvbCI6IGIibm8tc3RvcmUiLAorICAgICAgICBiIkFjY2Vzcy1Db250cm9s
LUFsbG93LUhlYWRlcnMiOiBiIlgtUmVxdWVzdGVkLVdpdGgiLAorICAgICAgICBiIkFjY2Vzcy1D
b250cm9sLU1heC1BZ2UiOiAwLAorICAgICAgICBiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdp
biI6IGIiKiIsCisgICAgICAgIGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyI6IGIiKiIs
CisgICAgICAgIGIiVmFyeSI6IGIiQWNjZXB0LUVuY29kaW5nIiwKKyAgICAgICAgYiJDb250ZW50
LVR5cGUiOiBiInRleHQvcGxhaW4iCiAgICAgfQogCiAgICAgZm9yIChuYW1lLCB2YWx1ZSkgaW4g
aGVhZGVycy5pdGVtcygpOgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChuYW1lLCB2YWx1
ZSkKIAotICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUyIKKyAgICByZXNwb25zZS5jb250ZW50
ID0gYiJQQVNTIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWF1dGgtYmFzaWMucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQppbmRleCBhZjMyYWFiOTdjZDVjZTY2NGExZjFi
NmZlZTFiODY0YWZjNDRlMzUxLi5kMWM1NTc5Y2UyNDJjNjc0NjQ1NjBlZTNlNDc5NzBjOTIzNWRm
YzFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNj
ZXNzLWNvbnRyb2wtYXV0aC1iYXNpYy5weQpAQCAtMSwxNyArMSwxNyBAQAogZGVmIG1haW4ocmVx
dWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9s
IiwgIm5vLXN0b3JlIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUi
KQotICAgIHVpZCA9IHJlcXVlc3QuR0VULmZpcnN0KCJ1aWQiLCBOb25lKQorICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tc3RvcmUiKQorICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFk
ZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHVpZCA9IHJlcXVlc3QuR0VU
LmZpcnN0KGIidWlkIiwgTm9uZSkKIAotICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05T
IjoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1l
dGhvZHMiLCAiUFVUIikKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAg
ICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMi
LCBiIlBVVCIpCiAgICAgZWxzZToKICAgICAgICAgdXNlcm5hbWUgPSByZXF1ZXN0LmF1dGgudXNl
cm5hbWUKICAgICAgICAgcGFzc3dvcmQgPSByZXF1ZXN0LmF1dGgucGFzc3dvcmQKICAgICAgICAg
aWYgKG5vdCB1c2VybmFtZSkgb3IgKHVzZXJuYW1lICE9IHVpZCk6Ci0gICAgICAgICAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiV1dXLUF1dGhlbnRpY2F0ZSIsICJCYXNpYyByZWFsbT0nVGVzdCBS
ZWFsbS9Dcm9zcyBPcmlnaW4nIikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIi
V1dXLUF1dGhlbnRpY2F0ZSIsIGIiQmFzaWMgcmVhbG09J1Rlc3QgUmVhbG0vQ3Jvc3MgT3JpZ2lu
JyIpCiAgICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDEKLSAgICAgICAgICAgIHJlc3Bv
bnNlLmNvbnRlbnQgPSAiQXV0aGVudGljYXRpb24gY2FuY2VsbGVkIgorICAgICAgICAgICAgcmVz
cG9uc2UuY29udGVudCA9IGIiQXV0aGVudGljYXRpb24gY2FuY2VsbGVkIgogICAgICAgICBlbHNl
OgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJVc2VyOiAiICsgdXNlcm5hbWUgKyAi
LCBQYXNzd29yZDogIiArIHBhc3N3b3JkCisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0g
YiJVc2VyOiAiICsgdXNlcm5hbWUgKyBiIiwgUGFzc3dvcmQ6ICIgKyBwYXNzd29yZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LW5vLWNyZWRlbnRpYWxzLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LW5vLWNyZWRlbnRpYWxzLnB5CmluZGV4IDEyZjg2NjBk
MWZjMjYzNmIwMTBhOGNkNDMwYzAyOGM3NTBmODE0YmEuLjFiOGJjZGI4YWU5ODE0ZmFiMjg0NDk1
ODJmNTU2NGM3ZDZkYWNlNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxv
dy1uby1jcmVkZW50aWFscy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtYWxsb3ctbm8t
Y3JlZGVudGlhbHMucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBweXRob24KIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29u
dGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkK
KyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIp
CisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4i
LCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCiAKLSAgICByZXNwb25zZS5jb250ZW50
ID0gIlBBU1M6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCisgICAgcmVzcG9uc2UuY29u
dGVudCA9IGIiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1zdGFyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJh
c2ljLWFsbG93LXN0YXIucHkKaW5kZXggNDU1N2MwNmIwZTNhNTU0NGIzZjcwYzBjODBkZjhjMDA5
YjQyMzE4OC4uOGQ0NjQyZDA5OGNhYzNjNjM4NTM2MWQ5NzI3NGExNGE5NmRlODE1YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXN0YXIucHkKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1j
b250cm9sLWJhc2ljLWFsbG93LXN0YXIucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmluL2Vu
diBweXRob24KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFk
ZXJzLnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCisgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgYiIqIikKIAotICAg
IHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIK
KyAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93
ZWQuIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vz
cy1jb250cm9sLWJhc2ljLWFsbG93LnB5CmluZGV4IDIzMjU5MjUxNTdjMWU1ZTI2ZDM2ZDc3YWNm
ZGM1ZjYxNTUxOTlmNTMuLjYwNTFiYzJjZGM0ZjY4ZTdlYTEwOWZhNmQ5MjE2YjQwZmY4NjZlZTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy5weQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNz
LWNvbnRyb2wtYmFzaWMtYWxsb3cucHkKQEAgLTEsNyArMSw3IEBACiAjIS91c3IvYmluL2VudiBw
eXRob24KIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikKLSAgICByZXNw
b25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5o
ZWFkZXJzLmdldCgib3JpZ2luIikpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50
LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdl
dChiIm9yaWdpbiIpKQogCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBDcm9zcy1kb21h
aW4gYWNjZXNzIGFsbG93ZWQuIgorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IENyb3Nz
LWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFz
aWMtY29ycy1zYWZlbGlzdGVkLXJlcXVlc3QtaGVhZGVycy5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1i
YXNpYy1jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CmluZGV4IGViYTBlN2Q0YzVj
YWZjODY2NGMwNjQzYjhhZDI0NzEzNzM3NGJlZjIuLjQ2NTIzYTkwNWE5ZjcwMTgzZDBhNWU5NmNm
ZjJkNzZhZDllNmQ1NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1jb3JzLXNh
ZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1j
b3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXJzLnB5CkBAIC0xLDE0ICsxLDE2IEBACitmcm9t
IHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2RlY29kZQorCiBkZWYgbWFpbihyZXF1
ZXN0LCByZXNwb25zZSk6Ci0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNhY2hlLUNvbnRyb2wi
LCAibm8tc3RvcmUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIs
IGIibm8tc3RvcmUiKQogCiAgICAgIyBUaGlzIHNob3VsZCBiZSBhIHNpbXBsZSByZXF1ZXN0OyBk
ZW55IHByZWZsaWdodAotICAgIGlmIHJlcXVlc3QubWV0aG9kICE9ICJQT1NUIjoKKyAgICBpZiBy
ZXF1ZXN0Lm1ldGhvZCAhPSB1IlBPU1QiOgogICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDAK
ICAgICAgICAgcmV0dXJuCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdp
biIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3Jl
ZGVudGlhbHMiLCBiInRydWUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQogCi0g
ICAgZm9yIGhlYWRlciBpbiBbIkFjY2VwdCIsICJBY2NlcHQtTGFuZ3VhZ2UiLCAiQ29udGVudC1M
YW5ndWFnZSIsICJDb250ZW50LVR5cGUiXToKKyAgICBmb3IgaGVhZGVyIGluIFtiIkFjY2VwdCIs
IGIiQWNjZXB0LUxhbmd1YWdlIiwgYiJDb250ZW50LUxhbmd1YWdlIiwgYiJDb250ZW50LVR5cGUi
XToKICAgICAgICAgdmFsdWUgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KGhlYWRlcikKLSAgICAgICAg
cmVzcG9uc2UuY29udGVudCArPSBoZWFkZXIgKyAiOiAiICsgKHZhbHVlIGlmIHZhbHVlIGVsc2Ug
IjxOb25lPiIpICsgJ1xuJworICAgICAgICByZXNwb25zZS5jb250ZW50ICs9IGlzb21vcnBoaWNf
ZGVjb2RlKGhlYWRlcikgKyB1IjogIiArIChpc29tb3JwaGljX2RlY29kZSh2YWx1ZSkgaWYgdmFs
dWUgZWxzZSB1IjxOb25lPiIpICsgdSdcbicKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1i
YXNpYy1kZW5pZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtZGVuaWVkLnB5CmluZGV4IDlm
ODY4Nzg1NDU5OGMxNmEyYjg5M2NhZGE5OTkxZGNhMmIwMjMxM2QuLjBkMzk2NGNiMTE1N2Y3NWJi
YzU5ZDJmYTc1YzE2YWE5ODk1MWE1OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNp
Yy1kZW5pZWQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLWRlbmllZC5weQpAQCAtMSw1
ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFk
ZXJzLnNldCgiQ2FjaGUtQ29udHJvbCIsICJuby1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIikKKyAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCiAKLSAgICByZXNwb25zZS50ZXh0
ID0gIkZBSUw6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZC4iCisgICAgcmVzcG9uc2UudGV4
dCA9IGIiRkFJTDogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLiIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9h
Y2Nlc3MtY29udHJvbC1iYXNpYy1vcHRpb25zLW5vdC1zdXBwb3J0ZWQucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNv
bnRyb2wtYmFzaWMtb3B0aW9ucy1ub3Qtc3VwcG9ydGVkLnB5CmluZGV4IDc3YjI3NGU5NTdjYTg3
MjcwOTI2YWQ0NjIyZDJjNzllYzk2MDBmZWQuLmJiM2Y2M2UzMTFmNjQ0NTVhNzg5ZjJhMzE2ZTI4
YTgyYWE1MjU3YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1vcHRpb25zLW5v
dC1zdXBwb3J0ZWQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLW9wdGlvbnMtbm90LXN1
cHBvcnRlZC5weQpAQCAtMSwxMSArMSwxMSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9sIiwgIm5vLXN0b3JlIikK
KyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLXN0b3JlIikK
IAogICAgICMgQWxsb3cgc2ltcGxlIHJlcXVlc3RzLCBidXQgZGVueSBwcmVmbGlnaHQKLSAgICBp
ZiByZXF1ZXN0Lm1ldGhvZCAhPSAiT1BUSU9OUyI6Ci0gICAgICAgIGlmICJvcmlnaW4iIGluIHJl
cXVlc3QuaGVhZGVyczoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikKLSAgICAgICAgICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRl
cnNbIm9yaWdpbiJdKQorICAgIGlmIHJlcXVlc3QubWV0aG9kICE9IHUiT1BUSU9OUyI6CisgICAg
ICAgIGlmIGIib3JpZ2luIiBpbiByZXF1ZXN0LmhlYWRlcnM6CisgICAgICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgYiJ0cnVl
IikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzW2Iib3JpZ2luIl0pCiAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICByZXNwb25zZS5zdGF0dXMgPSA1MDAKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS1pbnZhbGlkYXRpb24ucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlvbi5weQppbmRl
eCA2ZGM4YTJhMTUwNzkzYjYyNDRmZDVmYTcxMWJkNzNjNzQwZDU5YTFlLi5mNGY1OTJkYWM3OTIy
NGY1MWQxMzBhMzIwMjc4YzVjMDM4NjM5MjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wt
YmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlvbi5weQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRy
b2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLWludmFsaWRhdGlvbi5weQpAQCAtMSw0NiArMSw0OCBA
QAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNvZGUKKwogZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGRlZiBmYWlsKG1lc3NhZ2UpOgotICAgICAgICBy
ZXNwb25zZS5jb250ZW50ID0gIkZBSUwgIiArIHJlcXVlc3QubWV0aG9kICsgIjogIiArIHN0ciht
ZXNzYWdlKQorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJGQUlMICIgKyBpc29tb3JwaGlj
X2VuY29kZShyZXF1ZXN0Lm1ldGhvZCkgKyBiIjogIiArIG1lc3NhZ2UKIAogICAgIGRlZiBnZXRT
dGF0ZSh0b2tlbik6CiAgICAgICAgIHNlcnZlcl9zdGF0ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNo
LnRha2UodG9rZW4pCiAgICAgICAgIGlmIG5vdCBzZXJ2ZXJfc3RhdGU6Ci0gICAgICAgICAgICBy
ZXR1cm4gIlVuaW5pdGlhbGl6ZWQiCisgICAgICAgICAgICByZXR1cm4gYiJVbmluaXRpYWxpemVk
IgogICAgICAgICByZXR1cm4gc2VydmVyX3N0YXRlCiAKICAgICBkZWYgc2V0U3RhdGUoc3RhdGUs
IHRva2VuKToKICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBzdGF0ZSkK
IAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4i
LCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKLSAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgdG9rZW4g
PSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChi
Im9yaWdpbiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxs
b3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3Qo
YiJ0b2tlbiIsIE5vbmUpCiAgICAgc3RhdGUgPSBnZXRTdGF0ZSh0b2tlbikKIAotICAgIGlmIHN0
YXRlID09ICJVbmluaXRpYWxpemVkIjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIk9Q
VElPTlMiOgotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9s
LUFsbG93LU1ldGhvZHMiLCAiUFVUIikKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMTApCi0gICAgICAgICAgICBzZXRTdGF0ZSgiT1BU
SU9OU1NlbnQiLCB0b2tlbikKKyAgICBpZiBzdGF0ZSA9PSBiIlVuaW5pdGlhbGl6ZWQiOgorICAg
ICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQVVQiKQor
ICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1NYXgtQWdl
IiwgMTApCisgICAgICAgICAgICBzZXRTdGF0ZShiIk9QVElPTlNTZW50IiwgdG9rZW4pCiAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIk9Q
VElPTlNTZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAg
ICAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0LiIKLSAgICAg
ICAgICAgIHNldFN0YXRlKCJGaXJzdFBVVFNlbnQiLCB0b2tlbikKKyAgICBlbGlmIHN0YXRlID09
IGIiT1BUSU9OU1NlbnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IlBVVCI6Cisg
ICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBGaXJzdCBQVVQgcmVxdWVzdC4i
CisgICAgICAgICAgICBzZXRTdGF0ZShiIkZpcnN0UFVUU2VudCIsIHRva2VuKQogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgZmFpbChzdGF0ZSkKLSAgICBlbGlmIHN0YXRlID09ICJGaXJzdFBV
VFNlbnQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAg
ICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIs
ICJQVVQsIFhNRVRIT0QiKQotICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vz
cy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAieC10ZXN0IikKLSAgICAgICAgICAgIHNldFN0YXRl
KCJTZWNvbmRPUFRJT05TU2VudCIsIHRva2VuKQotICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9k
ID09ICJQVVQiOgotICAgICAgICAgICAgZmFpbCgiU2Vjb25kIFBVVCByZXF1ZXN0IHNlbnQgd2l0
aG91dCBwcmVmbGlnaHQiKQorICAgIGVsaWYgc3RhdGUgPT0gYiJGaXJzdFBVVFNlbnQiOgorICAg
ICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQVVQsIFhN
RVRIT0QiKQorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1IZWFkZXJzIiwgYiJ4LXRlc3QiKQorICAgICAgICAgICAgc2V0U3RhdGUoYiJTZWNv
bmRPUFRJT05TU2VudCIsIHRva2VuKQorICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09IHUi
UFVUIjoKKyAgICAgICAgICAgIGZhaWwoYiJTZWNvbmQgUFVUIHJlcXVlc3Qgc2VudCB3aXRob3V0
IHByZWZsaWdodCIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRlKQotICAg
IGVsaWYgc3RhdGUgPT0gIlNlY29uZE9QVElPTlNTZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5t
ZXRob2QgPT0gIlBVVCIgb3IgcmVxdWVzdC5tZXRob2QgPT0gIlhNRVRIT0QiOgotICAgICAgICAg
ICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBTZWNvbmQgT1BUSU9OUyByZXF1ZXN0IHdhcyBz
ZW50LiIKKyAgICBlbGlmIHN0YXRlID09IGIiU2Vjb25kT1BUSU9OU1NlbnQiOgorICAgICAgICBp
ZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IlBVVCIgb3IgcmVxdWVzdC5tZXRob2QgPT0gdSJYTUVUSE9E
IjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IFNlY29uZCBPUFRJT05T
IHJlcXVlc3Qgd2FzIHNlbnQuIgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZmFpbChzdGF0
ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdo
dC1jYWNoZS10aW1lb3V0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNo
ZS10aW1lb3V0LnB5CmluZGV4IGE3NjdkOGE0YTU2ZDM2ZTI4OWYxNjk4MWVkYmEzODA1NGQ5MGFk
YjEuLjAwYzMxOWYwODJhZjcwMGQ2YzU2MTZlNDg5YWY0ZjY4NGRmNjUzNWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wcmVmbGlnaHQtY2FjaGUtdGltZW91dC5weQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLXRpbWVvdXQucHkKQEAgLTEsNDcg
KzEsNDkgQEAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisK
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBkZWYgZmFpbChtZXNzYWdlKToKLSAg
ICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJGQUlMICIgKyByZXF1ZXN0Lm1ldGhvZCArICI6ICIg
KyBzdHIobWVzc2FnZSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTCAiICsgaXNv
bW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2QpICsgYiI6ICIgKyBtZXNzYWdlCiAKICAgICBk
ZWYgZ2V0U3RhdGUodG9rZW4pOgogICAgICAgICBzZXJ2ZXJfc3RhdGUgPSByZXF1ZXN0LnNlcnZl
ci5zdGFzaC50YWtlKHRva2VuKQogICAgICAgICBpZiBub3Qgc2VydmVyX3N0YXRlOgotICAgICAg
ICAgICAgcmV0dXJuICJVbmluaXRpYWxpemVkIgorICAgICAgICAgICAgcmV0dXJuIGIiVW5pbml0
aWFsaXplZCIKICAgICAgICAgcmV0dXJuIHNlcnZlcl9zdGF0ZQogCiAgICAgZGVmIHNldFN0YXRl
KHN0YXRlLCB0b2tlbik6CiAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwg
c3RhdGUpCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ct
T3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUiKQotICAg
IHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVy
cy5nZXQoYiJvcmlnaW4iKSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250
cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgYiJ0cnVlIikKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VU
LmZpcnN0KGIidG9rZW4iLCBOb25lKQogICAgIHN0YXRlID0gZ2V0U3RhdGUodG9rZW4pCiAKLSAg
ICBpZiBzdGF0ZSA9PSAiVW5pbml0aWFsaXplZCI6Ci0gICAgICAgIGlmIHJlcXVlc3QubWV0aG9k
ID09ICJPUFRJT05TIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCIpCi0gICAgICAgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4LXRlc3QiKQotICAgICAg
ICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxKQot
ICAgICAgICAgICAgc2V0U3RhdGUoIk9QVElPTlNTZW50IiwgdG9rZW4pCisgICAgaWYgc3RhdGUg
PT0gYiJVbmluaXRpYWxpemVkIjoKKyAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJ
T05TIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctTWV0aG9kcyIsIGIiUFVUIikKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIGIieC10ZXN0IikKKyAgICAgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDEpCisgICAg
ICAgICAgICBzZXRTdGF0ZShiIk9QVElPTlNTZW50IiwgdG9rZW4pCiAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIk9QVElPTlNTZW50IjoK
LSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAgICAgICByZXNwb25z
ZS5jb250ZW50ID0gIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0LiIKLSAgICAgICAgICAgIHNldFN0
YXRlKCJGaXJzdFBVVFNlbnQiLCB0b2tlbikKKyAgICBlbGlmIHN0YXRlID09IGIiT1BUSU9OU1Nl
bnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IlBVVCI6CisgICAgICAgICAgICBy
ZXNwb25zZS5jb250ZW50ID0gYiJQQVNTOiBGaXJzdCBQVVQgcmVxdWVzdC4iCisgICAgICAgICAg
ICBzZXRTdGF0ZShiIkZpcnN0UFVUU2VudCIsIHRva2VuKQogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgZmFpbChzdGF0ZSkKLSAgICBlbGlmIHN0YXRlID09ICJGaXJzdFBVVFNlbnQiOgotICAg
ICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJQVVQiKQotICAg
ICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRl
cnMiLCAieC10ZXN0IikKLSAgICAgICAgICAgIHNldFN0YXRlKCJTZWNvbmRPUFRJT05TU2VudCIs
IHRva2VuKQotICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICAg
ICAgZmFpbCgiU2Vjb25kIFBVVCByZXF1ZXN0IHNlbnQgd2l0aG91dCBwcmVmbGlnaHQiKQorICAg
IGVsaWYgc3RhdGUgPT0gYiJGaXJzdFBVVFNlbnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhv
ZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgYiJQVVQiKQorICAgICAgICAgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4LXRlc3QiKQor
ICAgICAgICAgICAgc2V0U3RhdGUoYiJTZWNvbmRPUFRJT05TU2VudCIsIHRva2VuKQorICAgICAg
ICBlbGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIGZhaWwoYiJTZWNv
bmQgUFVUIHJlcXVlc3Qgc2VudCB3aXRob3V0IHByZWZsaWdodCIpCiAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICBmYWlsKHN0YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIlNlY29uZE9QVElPTlNT
ZW50IjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBVVCI6Ci0gICAgICAgICAgICBy
ZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IFNlY29uZCBPUFRJT05TIHJlcXVlc3Qgd2FzIHNlbnQu
IgorICAgIGVsaWYgc3RhdGUgPT0gYiJTZWNvbmRPUFRJT05TU2VudCI6CisgICAgICAgIGlmIHJl
cXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBi
IlBBU1M6IFNlY29uZCBPUFRJT05TIHJlcXVlc3Qgd2FzIHNlbnQuIgogICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgZmFpbChzdGF0ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1j
b250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1w
cmVmbGlnaHQtY2FjaGUucHkKaW5kZXggNTY4OTJmYjZiMTJjMWM5YjJmOTljNTc5Mzk4MDZmNGE4
NGI3MjlkMS4uN2E2YmI2MGMwMWE3MGNhOGVmZDRiMjBkMWY4ZmNjZDQ3YmE0MjI4YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXByZWZsaWdodC1jYWNoZS5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNj
ZXNzLWNvbnRyb2wtYmFzaWMtcHJlZmxpZ2h0LWNhY2hlLnB5CkBAIC0xLDQ2ICsxLDQ5IEBACisK
K2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBkZWYgZmFpbChtZXNzYWdlKToKLSAgICAgICAgcmVz
cG9uc2UuY29udGVudCA9ICJGQUlMICIgKyByZXF1ZXN0Lm1ldGhvZCArICI6ICIgKyBzdHIobWVz
c2FnZSkKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTCAiICsgaXNvbW9ycGhpY19l
bmNvZGUocmVxdWVzdC5tZXRob2QpICsgYiI6ICIgKyBtZXNzYWdlCiAgICAgICAgIHJlc3BvbnNl
LnN0YXR1cyA9IDQwMAogCiAgICAgZGVmIGdldFN0YXRlKHRva2VuKToKICAgICAgICAgc2VydmVy
X3N0YXRlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKICAgICAgICAgaWYgbm90
IHNlcnZlcl9zdGF0ZToKLSAgICAgICAgICAgIHJldHVybiAiVW5pbml0aWFsaXplZCIKKyAgICAg
ICAgICAgIHJldHVybiBiIlVuaW5pdGlhbGl6ZWQiCiAgICAgICAgIHJldHVybiBzZXJ2ZXJfc3Rh
dGUKIAogICAgIGRlZiBzZXRTdGF0ZShzdGF0ZSwgdG9rZW4pOgogICAgICAgICByZXF1ZXN0LnNl
cnZlci5zdGFzaC5wdXQodG9rZW4sIHN0YXRlKQogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdp
biIpKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVk
ZW50aWFscyIsICJ0cnVlIikKLSAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIs
IE5vbmUpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCisgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1ZSIpCisg
ICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdChiInRva2VuIiwgTm9uZSkKICAgICBzdGF0ZSA9
IGdldFN0YXRlKHRva2VuKQogCi0gICAgaWYgc3RhdGUgPT0gIlVuaW5pdGlhbGl6ZWQiOgotICAg
ICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICJQVVQiKQotICAg
ICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAx
MCkKLSAgICAgICAgICAgIHNldFN0YXRlKCJPUFRJT05TU2VudCIsIHRva2VuKQorICAgIGlmIHN0
YXRlID09IGIiVW5pbml0aWFsaXplZCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUi
T1BUSU9OUyI6CisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250
cm9sLUFsbG93LU1ldGhvZHMiLCBiIlBVVCIpCisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxMCkKKyAgICAgICAgICAgIHNldFN0YXRl
KGIiT1BUSU9OU1NlbnQiLCB0b2tlbikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZhaWwo
c3RhdGUpCi0gICAgZWxpZiBzdGF0ZSA9PSAiT1BUSU9OU1NlbnQiOgotICAgICAgICBpZiByZXF1
ZXN0Lm1ldGhvZCA9PSAiUFVUIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFT
UzogRmlyc3QgUFVUIHJlcXVlc3QuIgotICAgICAgICAgICAgc2V0U3RhdGUoIkZpcnN0UFVUU2Vu
dCIsIHRva2VuKQorICAgIGVsaWYgc3RhdGUgPT0gYiJPUFRJT05TU2VudCI6CisgICAgICAgIGlm
IHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQg
PSBiIlBBU1M6IEZpcnN0IFBVVCByZXF1ZXN0LiIKKyAgICAgICAgICAgIHNldFN0YXRlKGIiRmly
c3RQVVRTZW50IiwgdG9rZW4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0YXRl
KQotICAgIGVsaWYgc3RhdGUgPT0gIkZpcnN0UFVUU2VudCI6Ci0gICAgICAgIGlmIHJlcXVlc3Qu
bWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBT
ZWNvbmQgUFVUIHJlcXVlc3QuIFByZWZsaWdodCB3b3JrZWQuIgotICAgICAgICBlbGlmIHJlcXVl
c3QubWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCIpCi0gICAgICAgICAgICBzZXRT
dGF0ZSgiRkFJTFNlY29uZE9QVElPTlNTZW50IiwgdG9rZW4pCisgICAgZWxpZiBzdGF0ZSA9PSBi
IkZpcnN0UFVUU2VudCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAg
ICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IFNlY29uZCBQVVQgcmVxdWVzdC4g
UHJlZmxpZ2h0IHdvcmtlZC4iCisgICAgICAgIGVsaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJ
T05TIjoKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctTWV0aG9kcyIsIGIiUFVUIikKKyAgICAgICAgICAgIHNldFN0YXRlKGIiRkFJTFNlY29u
ZE9QVElPTlNTZW50IiwgdG9rZW4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmYWlsKHN0
YXRlKQotICAgIGVsaWYgc3RhdGUgPT0gIkZBSUxTZWNvbmRPUFRJT05TU2VudCI6Ci0gICAgICAg
IGlmIHJlcXVlc3QubWV0aG9kID09ICJQVVQiOgotICAgICAgICAgICAgZmFpbCgiU2Vjb25kIE9Q
VElPTlMgcmVxdWVzdCB3YXMgc2VudC4gUHJlZmxpZ2h0IGZhaWxlZC4iKQorICAgIGVsaWYgc3Rh
dGUgPT0gYiJGQUlMU2Vjb25kT1BUSU9OU1NlbnQiOgorICAgICAgICBpZiByZXF1ZXN0Lm1ldGhv
ZCA9PSB1IlBVVCI6CisgICAgICAgICAgICBmYWlsKGIiU2Vjb25kIE9QVElPTlMgcmVxdWVzdCB3
YXMgc2VudC4gUHJlZmxpZ2h0IGZhaWxlZC4iKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAg
ZmFpbChzdGF0ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2lj
LXB1dC1hbGxvdy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1iYXNpYy1wdXQtYWxsb3cucHkKaW5kZXgg
NjVmNjQ2NmY1OTcyZDI4NDc4Njg3OTM5ZjZlZWE5Y2I0MjhkNDhjNC4uOWIzNDdiY2E0MjM0ZTVk
Y2NiZjVmNzFjMzY1N2IxYTAyZDVjN2FjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJh
c2ljLXB1dC1hbGxvdy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtcHV0LWFsbG93LnB5
CkBAIC0xLDIwICsxLDIyIEBACitmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGlj
X2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaWYgcmVxdWVzdC5t
ZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVu
dC1UeXBlIiwgInRleHQvcGxhaW4iKQotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpCi0gICAgICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIlBVVCIpCi0gICAg
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBy
ZXF1ZXN0LmhlYWRlcnMuZ2V0KCJvcmlnaW4iKSkKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1
Ik9QVElPTlMiOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIs
IGIidGV4dC9wbGFpbiIpCisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKQorICAgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCBiIlBVVCIpCisgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVx
dWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQogCi0gICAgZWxpZiByZXF1ZXN0Lm1ldGhvZCA9
PSAiUFVUIjoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJ0
ZXh0L3BsYWluIikKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9s
LUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUiKQotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3Jp
Z2luIikpCi0gICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUzogQ3Jvc3MtZG9tYWluIGFj
Y2VzcyBhbGxvd2VkLiIKKyAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09IHUiUFVUIjoKKyAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQor
ICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRl
bnRpYWxzIiwgYiJ0cnVlIikKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIib3JpZ2luIikpCisg
ICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxs
b3dlZC4iCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgKz0gIlxu
IiArIHJlcXVlc3QuYm9keQorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCArPSBiIlxuIiAr
IHJlcXVlc3QuYm9keQogICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICByZXNwb25zZS5jb250
ZW50ICs9ICJDb3VsZCBub3QgcmVhZCBpbiBjb250ZW50LiIKKyAgICAgICAgICAgIHJlc3BvbnNl
LmNvbnRlbnQgKz0gYiJDb3VsZCBub3QgcmVhZCBpbiBjb250ZW50LiIKIAogICAgIGVsc2U6Ci0g
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIp
Ci0gICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiV3JvbmcgbWV0aG9kOiAiICsgcmVxdWVzdC5t
ZXRob2QKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRl
eHQvcGxhaW4iKQorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJXcm9uZyBtZXRob2Q6ICIg
KyBpc29tb3JwaGljX2VuY29kZShyZXF1ZXN0Lm1ldGhvZCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3Mt
Y29udHJvbC1iYXNpYy13aGl0ZWxpc3QtcmVzcG9uc2UtaGVhZGVycy5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29u
dHJvbC1iYXNpYy13aGl0ZWxpc3QtcmVzcG9uc2UtaGVhZGVycy5weQppbmRleCA0ZGFjNzUzMzE5
NzZlZDgzNDMyODU5YmJlYWNlYjJhNWE2NDhkNDgxLi4zNDZiNmI5MTk2NTZiMjNmYjkxMTU4N2Q0
NDc3NTY3MTFhNTkyMzFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtYmFzaWMtd2hpdGVs
aXN0LXJlc3BvbnNlLWhlYWRlcnMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLWJhc2ljLXdoaXRl
bGlzdC1yZXNwb25zZS1oZWFkZXJzLnB5CkBAIC0xLDE5ICsxLDE5IEBACiBkZWYgbWFpbihyZXF1
ZXN0LCByZXNwb25zZSk6CiAgICAgaGVhZGVycyA9IHsKICAgICAgICAgIyBDT1JTLXNhZmVsaXN0
ZWQKLSAgICAgICAgImNvbnRlbnQtdHlwZSI6ICJ0ZXh0L3BsYWluIiwKLSAgICAgICAgImNhY2hl
LWNvbnRyb2wiOiAibm8gY2FjaGUiLAotICAgICAgICAiY29udGVudC1sYW5ndWFnZSI6ICJlbiIs
Ci0gICAgICAgICJleHBpcmVzIjogIkZyaSwgMzAgT2N0IDE5OTggMTQ6MTk6NDEgR01UIiwKLSAg
ICAgICAgImxhc3QtbW9kaWZpZWQiOiAiVHVlLCAxNSBOb3YgMTk5NCAxMjo0NToyNiBHTVQiLAot
ICAgICAgICAicHJhZ21hIjogIm5vLWNhY2hlIiwKKyAgICAgICAgYiJjb250ZW50LXR5cGUiOiBi
InRleHQvcGxhaW4iLAorICAgICAgICBiImNhY2hlLWNvbnRyb2wiOiBiIm5vIGNhY2hlIiwKKyAg
ICAgICAgYiJjb250ZW50LWxhbmd1YWdlIjogYiJlbiIsCisgICAgICAgIGIiZXhwaXJlcyI6IGIi
RnJpLCAzMCBPY3QgMTk5OCAxNDoxOTo0MSBHTVQiLAorICAgICAgICBiImxhc3QtbW9kaWZpZWQi
OiBiIlR1ZSwgMTUgTm92IDE5OTQgMTI6NDU6MjYgR01UIiwKKyAgICAgICAgYiJwcmFnbWEiOiBi
Im5vLWNhY2hlIiwKIAogICAgICAgICAjIE5vbi1DT1JTLXNhZmVsaXN0ZWQKLSAgICAgICAgIngt
dGVzdCI6ICJmb29iYXIiLAorICAgICAgICBiIngtdGVzdCI6IGIiZm9vYmFyIiwKIAotICAgICAg
ICAiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIjogIioiCisgICAgICAgIGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIjogYiIqIgogICAgIH0KICAgICBmb3IgaGVhZGVyIGluIGhlYWRl
cnM6CiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGhlYWRlciwgaGVhZGVyc1toZWFkZXJd
KQogCi0gICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTOiBDcm9zcy1kb21haW4gYWNjZXNzIGFs
bG93ZWQuIgorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBiIlBBU1M6IENyb3NzLWRvbWFpbiBhY2Nl
c3MgYWxsb3dlZC4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtY29va2llLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLWNvb2tpZS5weQppbmRleCAxZTBkNDFkMjJlYWE4ODUyMWYxZDIxYzkyZjY1
OGYwZTg1MjJiOWIxLi44YzI2NDc1YzM4N2E3ZGU3NDU4MDYwZjE4YWRlYWIzYjY0MjkzNjFhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtY29va2llLnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJv
bC1jb29raWUucHkKQEAgLTEsMTYgKzEsMTYgQEAKIGltcG9ydCBkYXRldGltZQogCiBkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgY29va2llX25hbWUgPSByZXF1ZXN0LkdFVC5maXJz
dCgiY29va2llX25hbWUiLCAiIikKKyAgICBjb29raWVfbmFtZSA9IHJlcXVlc3QuR0VULmZpcnN0
KGIiY29va2llX25hbWUiLCBiIiIpCiAKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ2FjaGUt
Q29udHJvbCIsICJuby1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdpbiIpKQotICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIs
ICJ0cnVlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5v
LXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJvcmlnaW4iKSkKKyAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgYiJ0cnVlIikK
IAogICAgIGZvciBjb29raWUgaW4gcmVxdWVzdC5jb29raWVzOgogICAgICAgICAjIFNldCBjb29r
aWUgdG8gZXhwaXJlIHllc3RlcmRheQotICAgICAgICByZXNwb25zZS5zZXRfY29va2llKGNvb2tp
ZSwgImRlbGV0ZWQiLCBleHBpcmVzPS1kYXRldGltZS50aW1lZGVsdGEoZGF5cz0xKSkKKyAgICAg
ICAgcmVzcG9uc2Uuc2V0X2Nvb2tpZShjb29raWUsIGIiZGVsZXRlZCIsIGV4cGlyZXM9LWRhdGV0
aW1lLnRpbWVkZWx0YShkYXlzPTEpKQogCiAgICAgaWYgY29va2llX25hbWU6CiAgICAgICAgICMg
U2V0IGNvb2tpZSB0byBleHBpcmUgdG9tb3Jyb3cKLSAgICAgICAgcmVzcG9uc2Uuc2V0X2Nvb2tp
ZShjb29raWVfbmFtZSwgIkNPT0tJRSIsIGV4cGlyZXM9ZGF0ZXRpbWUudGltZWRlbHRhKGRheXM9
MSkpCisgICAgICAgIHJlc3BvbnNlLnNldF9jb29raWUoY29va2llX25hbWUsIGIiQ09PS0lFIiwg
ZXhwaXJlcz1kYXRldGltZS50aW1lZGVsdGEoZGF5cz0xKSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3Mt
Y29udHJvbC1vcmlnaW4taGVhZGVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLW9yaWdpbi1oZWFkZXIu
cHkKaW5kZXggZjUxMjg3NzZkMmI2MGM3ZDgzOTA3MjUzYzYzMDViZjQ3ZWQyMTE3Zi4uZTI4MmZl
NDQyNTAwNGNkMWNjODJlYmQ2NDg4ZjcwYmVjNGY0YTk1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1j
b250cm9sLW9yaWdpbi1oZWFkZXIucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLW9yaWdpbi1oZWFk
ZXIucHkKQEAgLTEsOSArMSw5IEBACiAjIS91c3IvYmluL2VudiBweXRob24KIGRlZiBtYWluKHJl
cXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBl
IiwgInRleHQvcGxhaW4iKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9s
IiwgIm5vLWNhY2hlLCBuby1zdG9yZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vz
cy1Db250cm9sLUFsbG93LUV4dGVybmFsIiwgInRydWUiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCisgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tY2FjaGUsIG5vLXN0b3JlIikKKyAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUV4dGVybmFsIiwgYiJ0
cnVlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiIsIGIiKiIpCiAKLSAgICByZXNwb25zZS5jb250ZW50ID0gIlBBU1M6IENyb3NzLWRvbWFp
biBhY2Nlc3MgYWxsb3dlZC5cbiIKLSAgICByZXNwb25zZS5jb250ZW50ICs9ICJIVFRQX09SSUdJ
TjogIiArIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdpbiIpCisgICAgcmVzcG9uc2UuY29udGVu
dCA9IGIiUEFTUzogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkLlxuIgorICAgIHJlc3BvbnNl
LmNvbnRlbnQgKz0gYiJIVFRQX09SSUdJTjogIiArIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJvcmln
aW4iKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
YWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC5weQppbmRleCA4ODllZTZiMGVjYTZjYTY4
ZTdiODM0NWZhMmExMDMxMTAzYTg4ODZjLi4xZWMzMDM3ZjM2Yjg4NDAyZTVmNTliMzdiMzg0MmQx
OWRmMTBmYTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC5w
eQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC5weQpAQCAtMSw0OSArMSw0
OSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIGRlZiBmYWlsKG1lc3NhZ2Up
OgotICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIkZBSUw6ICIgKyBzdHIobWVzc2FnZSkKKyAg
ICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiRkFJTDogIiArIG1lc3NhZ2UKICAgICAgICAgcmVz
cG9uc2Uuc3RhdHVzID0gNDAwCiAKICAgICBkZWYgZ2V0U3RhdGUodG9rZW4pOgogICAgICAgICBz
ZXJ2ZXJfc3RhdGUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQogICAgICAgICBp
ZiBub3Qgc2VydmVyX3N0YXRlOgotICAgICAgICAgICAgcmV0dXJuICJVbmluaXRpYWxpemVkIgor
ICAgICAgICAgICAgcmV0dXJuIGIiVW5pbml0aWFsaXplZCIKICAgICAgICAgcmV0dXJuIHNlcnZl
cl9zdGF0ZQogCiAgICAgZGVmIHNldFN0YXRlKHRva2VuLCBzdGF0ZSk6CiAgICAgICAgIHJlcXVl
c3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgc3RhdGUpCiAKICAgICBkZWYgcmVzZXRTdGF0ZSh0
b2tlbik6Ci0gICAgICAgIHNldFN0YXRlKHRva2VuLCAiIikKKyAgICAgICAgc2V0U3RhdGUodG9r
ZW4sIGIiIikKIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDYWNoZS1Db250cm9sIiwgIm5v
LXN0b3JlIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ct
T3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxKQotICAgIHRva2VuID0gcmVxdWVz
dC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNh
Y2hlLUNvbnRyb2wiLCBiIm5vLXN0b3JlIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJvcmlnaW4i
KSkKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAx
KQorICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJ0b2tlbiIsIE5vbmUpCiAgICAgc3Rh
dGUgPSBnZXRTdGF0ZSh0b2tlbikKLSAgICBjb21tYW5kID0gcmVxdWVzdC5HRVQuZmlyc3QoImNv
bW1hbmQiLCBOb25lKQorICAgIGNvbW1hbmQgPSByZXF1ZXN0LkdFVC5maXJzdChiImNvbW1hbmQi
LCBOb25lKQogCi0gICAgaWYgY29tbWFuZCA9PSAicmVzZXQiOgotICAgICAgICBpZiByZXF1ZXN0
Lm1ldGhvZCA9PSAiR0VUIjoKKyAgICBpZiBjb21tYW5kID09IGIicmVzZXQiOgorICAgICAgICBp
ZiByZXF1ZXN0Lm1ldGhvZCA9PSB1IkdFVCI6CiAgICAgICAgICAgICByZXNldFN0YXRlKHRva2Vu
KQotICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJTZXJ2ZXIgc3RhdGUgcmVzZXQiCisg
ICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJTZXJ2ZXIgc3RhdGUgcmVzZXQiCiAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICBmYWlsKCJJbnZhbGlkIE1ldGhvZC4iKQotICAgIGVsaWYg
c3RhdGUgPT0gIlVuaW5pdGlhbGl6ZWQiOgotICAgICAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAi
T1BUSU9OUyI6Ci0gICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gIlRoaXMgcmVxdWVzdCBz
aG91bGQgbm90IGJlIGRpc3BsYXllZC4iCi0gICAgICAgICAgICBzZXRTdGF0ZSh0b2tlbiwgIkRl
bmllZCIpCisgICAgICAgICAgICBmYWlsKGIiSW52YWxpZCBNZXRob2QuIikKKyAgICBlbGlmIHN0
YXRlID09IGIiVW5pbml0aWFsaXplZCI6CisgICAgICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUi
T1BUSU9OUyI6CisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJUaGlzIHJlcXVlc3Qg
c2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQuIgorICAgICAgICAgICAgc2V0U3RhdGUodG9rZW4sIGIi
RGVuaWVkIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZhaWwoc3RhdGUpCi0gICAgZWxp
ZiBzdGF0ZSA9PSAiRGVuaWVkIjoKLSAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIkdFVCIg
YW5kIGNvbW1hbmQgPT0gImNvbXBsZXRlIjoKKyAgICBlbGlmIHN0YXRlID09IGIiRGVuaWVkIjoK
KyAgICAgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJHRVQiIGFuZCBjb21tYW5kID09IGIiY29t
cGxldGUiOgogICAgICAgICAgICAgcmVzZXRTdGF0ZSh0b2tlbikKLSAgICAgICAgICAgIHJlc3Bv
bnNlLmNvbnRlbnQgPSAiUmVxdWVzdCBzdWNjZXNzZnVsbHkgYmxvY2tlZC4iCisgICAgICAgICAg
ICByZXNwb25zZS5jb250ZW50ID0gYiJSZXF1ZXN0IHN1Y2Nlc3NmdWxseSBibG9ja2VkLiIKICAg
ICAgICAgZWxzZToKLSAgICAgICAgICAgIHNldFN0YXRlKCJEZW55IElnbm9yZWQiKQotICAgICAg
ICAgICAgZmFpbCgiVGhlIHJlcXVlc3Qgd2FzIG5vdCBkZW5pZWQuIikKLSAgICBlbGlmIHN0YXRl
ID09ICJEZW55IElnbm9yZWQiOgorICAgICAgICAgICAgc2V0U3RhdGUodG9rZW4sIGIiRGVueSBJ
Z25vcmVkIikKKyAgICAgICAgICAgIGZhaWwoYiJUaGUgcmVxdWVzdCB3YXMgbm90IGRlbmllZC4i
KQorICAgIGVsaWYgc3RhdGUgPT0gYiJEZW55IElnbm9yZWQiOgogICAgICAgICByZXNldFN0YXRl
KHRva2VuKQogICAgICAgICBmYWlsKHN0YXRlKQogICAgIGVsc2U6CiAgICAgICAgIHJlc2V0U3Rh
dGUodG9rZW4pCi0gICAgICAgIGZhaWwoIlVua25vd24gRXJyb3IuIikKKyAgICAgICAgZmFpbChi
IlVua25vd24gRXJyb3IuIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQt
cmVxdWVzdC1oZWFkZXItbG93ZXJjYXNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1y
ZXF1ZXN0LWhlYWRlci1sb3dlcmNhc2UucHkKaW5kZXggZDM1Yjg5YjlmOThhNjY5YTM5NDY2NjFi
ZDgyYTUxOTkyNDAwYzI4Ny4uZTc3ZmM5YTdkMmVlYWExZGJlYjcwM2M3NjBjMDZjM2RlZjQyZGU4
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1yZXF1ZXN0LWhlYWRlci1s
b3dlcmNhc2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1yZXF1ZXN0LWhlYWRl
ci1sb3dlcmNhc2UucHkKQEAgLTEsMTYgKzEsMTYgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3Bv
bnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ2FjaGUtQ29udHJvbCIsICJuby1zdG9y
ZSIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdp
biIsICIqIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtTWF4LUFn
ZSIsIDApCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDYWNoZS1Db250cm9sIiwgYiJuby1z
dG9yZSIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCBiIioiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wt
TWF4LUFnZSIsIDApCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAg
ICAgIGlmICJ4LXRlc3QiIGluIFtoZWFkZXIuc3RyaXAoIiAiKSBmb3IgaGVhZGVyIGluCi0gICAg
ICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJBY2Nlc3MtQ29udHJvbC1S
ZXF1ZXN0LUhlYWRlcnMiKS5zcGxpdCgiLCIpXToKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgIlgtVGVzdCIpCisgICAgaWYg
cmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAgICAgaWYgYiJ4LXRlc3QiIGluIFto
ZWFkZXIuc3RyaXAoYiIgIikgZm9yIGhlYWRlciBpbgorICAgICAgICAgICAgICAgICAgICAgICAg
IHJlcXVlc3QuaGVhZGVycy5nZXQoYiJBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LUhlYWRlcnMiKS5z
cGxpdChiIiwiKV06CisgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1D
b250cm9sLUFsbG93LUhlYWRlcnMiLCBiIlgtVGVzdCIpCiAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICByZXNwb25zZS5zdGF0dXMgPSA0MDAKLSAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09ICJH
RVQiOgotICAgICAgICBpZiByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJYLVRlc3QiKToKLSAgICAgICAg
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiUEFTUyIKKyAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09
IHUiR0VUIjoKKyAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldChiIlgtVGVzdCIpOgorICAg
ICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUyIKICAgICAgICAgZWxzZToKICAgICAg
ICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDQwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2NvcnNlbmFibGVkLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2NvcnNlbmFibGVkLnB5CmluZGV4IDRhM2UxMjcwYjY1ZjQxYWNlYTFjNmYyZGY0ZDNmMWVj
OWI5NWVjYTcuLmFhZTE5ZjE4ZjNjOTI1NWQwMDJhMmQ2MzVmMjJlNzMzZjNmMWIzNTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy9jb3JzZW5hYmxlZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvY29yc2VuYWJsZWQucHkKQEAgLTEsMjMgKzEs
MjUgQEAKIGltcG9ydCB0aW1lCiAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBo
aWNfZW5jb2RlCisKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBoZWFkZXJzID0g
WygiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKSwKLSAgICAgICAgICAgICAgICgi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpLAotICAgICAgICAgICAg
ICAgKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIkdFVCwgUE9TVCwgUFVULCBGT08i
KSwKLSAgICAgICAgICAgICAgICgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4LXRl
c3QsIHgtZm9vIiksCi0gICAgICAgICAgICAgICAoIkFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFk
ZXJzIiwgIngtcmVxdWVzdC1tZXRob2QsIHgtcmVxdWVzdC1jb250ZW50LXR5cGUsIHgtcmVxdWVz
dC1xdWVyeSwgeC1yZXF1ZXN0LWNvbnRlbnQtbGVuZ3RoLCB4LXJlcXVlc3QtZGF0YSIpXQorICAg
IGhlYWRlcnMgPSBbKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgYiIqIiksCisgICAg
ICAgICAgICAgICAoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsIGIidHJ1ZSIp
LAorICAgICAgICAgICAgICAgKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiR0VU
LCBQT1NULCBQVVQsIEZPTyIpLAorICAgICAgICAgICAgICAgKGIiQWNjZXNzLUNvbnRyb2wtQWxs
b3ctSGVhZGVycyIsIGIieC10ZXN0LCB4LWZvbyIpLAorICAgICAgICAgICAgICAgKGIiQWNjZXNz
LUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLCBiIngtcmVxdWVzdC1tZXRob2QsIHgtcmVxdWVzdC1j
b250ZW50LXR5cGUsIHgtcmVxdWVzdC1xdWVyeSwgeC1yZXF1ZXN0LWNvbnRlbnQtbGVuZ3RoLCB4
LXJlcXVlc3QtZGF0YSIpXQogCi0gICAgaWYgImRlbGF5IiBpbiByZXF1ZXN0LkdFVDoKLSAgICAg
ICAgZGVsYXkgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoImRlbGF5IikpCisgICAgaWYgYiJkZWxh
eSIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIGRlbGF5ID0gaW50KHJlcXVlc3QuR0VULmZpcnN0
KGIiZGVsYXkiKSkKICAgICAgICAgdGltZS5zbGVlcChkZWxheSkKIAotICAgIGlmICJzYWZlbGlz
dF9jb250ZW50X3R5cGUiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICBoZWFkZXJzLmFwcGVuZCgo
IkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAiY29udGVudC10eXBlIikpCisgICAgaWYg
YiJzYWZlbGlzdF9jb250ZW50X3R5cGUiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBoZWFkZXJz
LmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJjb250ZW50LXR5cGUi
KSkKIAotICAgIGhlYWRlcnMuYXBwZW5kKCgiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVlc3QubWV0
aG9kKSkKLSAgICBoZWFkZXJzLmFwcGVuZCgoIlgtUmVxdWVzdC1RdWVyeSIsIHJlcXVlc3QudXJs
X3BhcnRzLnF1ZXJ5IGlmIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgIk5PIikpCi0gICAg
aGVhZGVycy5hcHBlbmQoKCJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgiLCByZXF1ZXN0LmhlYWRl
cnMuZ2V0KCJDb250ZW50LUxlbmd0aCIsICJOTyIpKSkKLSAgICBoZWFkZXJzLmFwcGVuZCgoIlgt
UmVxdWVzdC1Db250ZW50LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUi
LCAiTk8iKSkpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJYLVJlcXVlc3QtRGF0YSIsIHJlcXVlc3Qu
Ym9keSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1SZXF1ZXN0LU1ldGhvZCIsIGlzb21vcnBo
aWNfZW5jb2RlKHJlcXVlc3QubWV0aG9kKSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1SZXF1
ZXN0LVF1ZXJ5IiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC51cmxfcGFydHMucXVlcnkpIGlm
IHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgYiJOTyIpKQorICAgIGhlYWRlcnMuYXBwZW5k
KChiIlgtUmVxdWVzdC1Db250ZW50LUxlbmd0aCIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJDb250
ZW50LUxlbmd0aCIsIGIiTk8iKSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiWC1SZXF1ZXN0LUNv
bnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJDb250ZW50LVR5cGUiLCBiIk5PIikp
KQorICAgIGhlYWRlcnMuYXBwZW5kKChiIlgtUmVxdWVzdC1EYXRhIiwgcmVxdWVzdC5ib2R5KSkK
IAotICAgIHJldHVybiBoZWFkZXJzLCAiVGVzdCIKKyAgICByZXR1cm4gaGVhZGVycywgYiJUZXN0
IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2RlbGF5LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2RlbGF5LnB5CmluZGV4IDhmOTdkYjZmNGZjOTkw
YzY1NGUyZTI2ZDJlNTJkNzE5MGRkMmFmN2IuLjYxYTBlZDI2ODg0NDg0MWZmMGU2YTgwYmQxODA4
YzYxZDE0NGQ3OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9kZWxheS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZGVsYXkucHkKQEAgLTEs
NyArMSw3IEBACiBpbXBvcnQgdGltZQogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0g
ICAgZGVsYXkgPSBmbG9hdChyZXF1ZXN0LkdFVC5maXJzdCgibXMiLCA1MDApKQorICAgIGRlbGF5
ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoYiJtcyIsIDUwMCkpCiAgICAgdGltZS5zbGVlcChk
ZWxheSAvIDFFMykKIAotICAgIHJldHVybiBbKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4i
LCAiKiIpLCAoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiWU8iKSwgKCJDb250ZW50
LXR5cGUiLCAidGV4dC9wbGFpbiIpXSwgIlRFU1RfREVMQVkiCisgICAgcmV0dXJuIFsoYiJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKSwgKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ct
TWV0aG9kcyIsIGIiWU8iKSwgKGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWluIildLCBiIlRF
U1RfREVMQVkiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNoby1oZWFkZXJzLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VjaG8taGVhZGVycy5w
eQppbmRleCA4ZjIzZDNkYjAxOWU3Y2MzMTFiYjU4Y2FlN2Q2NzA0Y2E5NDAyMTIxLi4xYzViZDQ2
NzA5ZDRkNzgxZmY2ZGE4NmM5YmEwNGEwMTczNTY4NTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNoby1oZWFk
ZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9lY2hvLWhlYWRlcnMucHkKQEAgLTEsNiArMSw2IEBACiBkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX3N0YXR1cygyMDAp
Ci0gICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiQ29udGVudC1UeXBlIiwgInRleHQv
cGxhaW4iKQorICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoYiJDb250ZW50LVR5cGUi
LCBiInRleHQvcGxhaW4iKQogICAgIHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVycygpCiAgICAg
cmVzcG9uc2Uud3JpdGVyLndyaXRlKHN0cihyZXF1ZXN0LnJhd19oZWFkZXJzKSkKICAgICByZXNw
b25zZS5jbG9zZV9jb25uZWN0aW9uID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VjaG8tbWV0aG9kLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2VjaG8tbWV0aG9kLnB5CmluZGV4IGNjYjQ2YjZiMmViNGQ0YjRjMjgxNzIwZTBhMTYxNDJm
MDQ4ZGRiYzMuLjc4OTljMTg0Yjc2OGNmYmE4YzUwYzlkNjgxNGZmMDA1OGQ1OTRjYzggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy9lY2hvLW1ldGhvZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZWNoby1tZXRob2QucHkKQEAgLTksNyArOSw3
IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBjb250ZW50ID0gcmVxdWVzdC5t
ZXRob2QKIAogICAgIHJlc3BvbnNlLmFkZF9yZXF1aXJlZF9oZWFkZXJzID0gRmFsc2UKLSAgICBy
ZXNwb25zZS53cml0ZXIud3JpdGUoJycnSFRUUC8xLjEgMjAwIE9LCisgICAgcmVzcG9uc2Uud3Jp
dGVyLndyaXRlKHUnJydIVFRQLzEuMSAyMDAgT0sKIENvbnRlbnQtdHlwZTogdGV4dC9wbGFpbgog
Q29udGVudC1MZW5ndGg6IHt9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9lbXB0eS1kaXYtdXRmOC1odG1sLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3Vy
Y2VzL2VtcHR5LWRpdi11dGY4LWh0bWwucHkKaW5kZXggMjZkNTRiOWQxNDk2YWY1ZmM3MmExYmEx
ZDJhMmVjODNjMTgyMmY1MC4uNWQ0YzkzNjU5MGMyMDg2ODcyOTY5ZDE2NTI4ZTlkMGMxMzE0ZmFk
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2VtcHR5LWRpdi11dGY4LWh0bWwucHkKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2VtcHR5LWRpdi11
dGY4LWh0bWwucHkKQEAgLTEsNSArMSw1IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6
Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtdHlwZSIsICJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYt
OCIpXQotICAgIGNvbnRlbnQgPSAiPCFET0NUWVBFIGh0bWw+PGRpdj48L2Rpdj4iCisgICAgaGVh
ZGVycyA9IFsoYiJDb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDtjaGFyc2V0PXV0Zi04IildCisg
ICAgY29udGVudCA9IGIiPCFET0NUWVBFIGh0bWw+PGRpdj48L2Rpdj4iCiAKICAgICByZXR1cm4g
aGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2Zvcm0ucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZm9ybS5weQppbmRleCA2
YjFjNDlhOTkzYmZhMjViYTZjMzkzMDM4ODBlODg2MGZiM2UxNDg5Li5jNTkyOTQzYjc5NTU5NmM0
ZWJiZDA2YzZkZGZjNzllZDBmYWQyZWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZm9ybS5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZm9y
bS5weQpAQCAtMSwyICsxLDIgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBy
ZXR1cm4gImlkOiVzO3ZhbHVlOiVzOyIgJSAocmVxdWVzdC5QT1NULmZpcnN0KCJpZCIpLCByZXF1
ZXN0LlBPU1QuZmlyc3QoInZhbHVlIikpCisgICAgcmV0dXJuIGIiaWQ6JXM7dmFsdWU6JXM7IiAl
IChyZXF1ZXN0LlBPU1QuZmlyc3QoYiJpZCIpLCByZXF1ZXN0LlBPU1QuZmlyc3QoYiJ2YWx1ZSIp
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL2d6aXAucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQppbmRleCBmMTdmOTJlNGNjMTc3OTJk
N2I1NThkMWNkNGUxZTFkNzYzNTBkZDI3Li4xN2YxNDJjNDQwNWY4ZTEyMWEyNDY4ZmZjMzgwYTlk
NTZlZjA4MjJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvZ3ppcC5weQpAQCAtMSwyMyAr
MSwyNCBAQAogaW1wb3J0IGd6aXAgYXMgZ3ppcF9tb2R1bGUKLWZyb20gY1N0cmluZ0lPIGltcG9y
dCBTdHJpbmdJTworCitmcm9tIHNpeCBpbXBvcnQgQnl0ZXNJTwogCiBkZWYgbWFpbihyZXF1ZXN0
LCByZXNwb25zZSk6Ci0gICAgaWYgImNvbnRlbnQiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICBv
dXRwdXQgPSByZXF1ZXN0LkdFVFsiY29udGVudCJdCisgICAgaWYgYiJjb250ZW50IiBpbiByZXF1
ZXN0LkdFVDoKKyAgICAgICAgb3V0cHV0ID0gcmVxdWVzdC5HRVRbYiJjb250ZW50Il0KICAgICBl
bHNlOgogICAgICAgICBvdXRwdXQgPSByZXF1ZXN0LmJvZHkKIAotICAgIG91dCA9IFN0cmluZ0lP
KCkKKyAgICBvdXQgPSBCeXRlc0lPKCkKICAgICB3aXRoIGd6aXBfbW9kdWxlLkd6aXBGaWxlKGZp
bGVvYmo9b3V0LCBtb2RlPSJ3IikgYXMgZjoKICAgICAgICAgZi53cml0ZShvdXRwdXQpCiAgICAg
b3V0cHV0ID0gb3V0LmdldHZhbHVlKCkKIAotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LXR5cGUi
LCAidGV4dC9wbGFpbiIpLAotICAgICAgICAgICAgICAgKCJDb250ZW50LUVuY29kaW5nIiwgImd6
aXAiKSwKLSAgICAgICAgICAgICAgICgiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVlc3QubWV0aG9k
KSwKLSAgICAgICAgICAgICAgICgiWC1SZXF1ZXN0LVF1ZXJ5IiwgcmVxdWVzdC51cmxfcGFydHMu
cXVlcnkgaWYgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgZWxzZSAiTk8iKSwKLSAgICAgICAgICAg
ICAgICgiWC1SZXF1ZXN0LUNvbnRlbnQtTGVuZ3RoIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgiQ29u
dGVudC1MZW5ndGgiLCAiTk8iKSksCi0gICAgICAgICAgICAgICAoIlgtUmVxdWVzdC1Db250ZW50
LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiLCAiTk8iKSksCi0gICAg
ICAgICAgICAgICAoIkNvbnRlbnQtTGVuZ3RoIiwgbGVuKG91dHB1dCkpXQorICAgIGhlYWRlcnMg
PSBbKGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L3BsYWluIiksCisgICAgICAgICAgICAgICAoYiJD
b250ZW50LUVuY29kaW5nIiwgYiJnemlwIiksCisgICAgICAgICAgICAgICAoYiJYLVJlcXVlc3Qt
TWV0aG9kIiwgcmVxdWVzdC5tZXRob2QpLAorICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LVF1
ZXJ5IiwgcmVxdWVzdC51cmxfcGFydHMucXVlcnkgaWYgcmVxdWVzdC51cmxfcGFydHMucXVlcnkg
ZWxzZSBiIk5PIiksCisgICAgICAgICAgICAgICAoYiJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgi
LCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQ29udGVudC1MZW5ndGgiLCBiIk5PIikpLAorICAgICAg
ICAgICAgICAgKGIiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVycy5nZXQo
YiJDb250ZW50LVR5cGUiLCBiIk5PIikpLAorICAgICAgICAgICAgICAgKGIiQ29udGVudC1MZW5n
dGgiLCBsZW4ob3V0cHV0KSldCiAKICAgICByZXR1cm4gaGVhZGVycywgb3V0cHV0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvaGVhZGVyLXVzZXItYWdlbnQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaGVhZGVyLXVzZXItYWdlbnQucHkKaW5kZXgg
NDc3OGRlNDAyNjhiZDNjYTAwNDE5NWZjNTJmYjY5YWY2NDkyNmMzZS4uYWM2YWYxM2FmZTBmZDZk
OGQ0NGRmNTE5OThmODQxMDBjZjZmMzQxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2hlYWRlci11c2VyLWFnZW50
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9oZWFkZXItdXNlci1hZ2VudC5weQpAQCAtMSwxNSArMSwxNSBAQAogZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFj
Y2Vzcy1Db250cm9sLU1heC1BZ2UiLCAwKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCdBY2Nl
c3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJywgIngtdGVzdCIpCisgICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKQorICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsIDApCisgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJywgYiJ4LXRlc3QiKQog
Ci0gICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIk9QVElPTlMiOgotICAgICAgICBpZiBub3QgcmVx
dWVzdC5oZWFkZXJzLmdldCgiVXNlci1BZ2VudCIpOgotICAgICAgICAgICAgcmVzcG9uc2UuY29u
dGVudCA9ICJGQUlMOiBVc2VyLUFnZW50IGhlYWRlciBtaXNzaW5nIGluIHByZWZsaWdodCByZXF1
ZXN0LiIKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiOgorICAgICAgICBpZiBu
b3QgcmVxdWVzdC5oZWFkZXJzLmdldChiIlVzZXItQWdlbnQiKToKKyAgICAgICAgICAgIHJlc3Bv
bnNlLmNvbnRlbnQgPSBiIkZBSUw6IFVzZXItQWdlbnQgaGVhZGVyIG1pc3NpbmcgaW4gcHJlZmxp
Z2h0IHJlcXVlc3QuIgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCiAgICAgZWxz
ZToKLSAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldCgiVXNlci1BZ2VudCIpOgotICAgICAg
ICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJQQVNTIgorICAgICAgICBpZiByZXF1ZXN0LmhlYWRl
cnMuZ2V0KGIiVXNlci1BZ2VudCIpOgorICAgICAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGIi
UEFTUyIKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiRkFJ
TDogVXNlci1BZ2VudCBoZWFkZXIgbWlzc2luZyBpbiByZXF1ZXN0IgorICAgICAgICAgICAgcmVz
cG9uc2UuY29udGVudCA9IGIiRkFJTDogVXNlci1BZ2VudCBoZWFkZXIgbWlzc2luZyBpbiByZXF1
ZXN0IgogICAgICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaGVh
ZGVycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9oZWFkZXJzLnB5CmluZGV4IDYwMmRiMzVhM2NiMWU2Mjk0YTFjODA1MmQ4NGM5
MGE4NjQyZDhmZGEuLjAwYjM3YzYyYWJjN2Q3YzM0ZWQ5ODNmNmRhZGFjOTEwYmIwZmY5ZjYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9oZWFkZXJzLnB5CkBAIC0xLDEyICsxLDEyIEBA
CiAjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6
Ci0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIikK
LSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiWC1DdXN0b20tSGVhZGVyIiwgInRlc3QiKQotICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJTZXQtQ29va2llIiwgInRlc3QiKQotICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KCJTZXQtQ29va2llMiIsICJ0ZXN0IikKLSAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiWC1DdXN0b20tSGVhZGVyLUVtcHR5IiwgIiIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoIlgtQ3VzdG9tLUhlYWRlci1Db21tYSIsICIxIikKLSAgICByZXNwb25zZS5oZWFkZXJzLmFw
cGVuZCgiWC1DdXN0b20tSGVhZGVyLUNvbW1hIiwgIjIiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCJYLUN1c3RvbS1IZWFkZXItQnl0ZXMiLCAi4oCmIikKLSAgICByZXR1cm4gIlRFU1QiCisg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQor
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyIiwgYiJ0ZXN0IikKKyAg
ICByZXNwb25zZS5oZWFkZXJzLnNldChiIlNldC1Db29raWUiLCBiInRlc3QiKQorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KGIiU2V0LUNvb2tpZTIiLCBiInRlc3QiKQorICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyLUVtcHR5IiwgYiIiKQorICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiWC1DdXN0b20tSGVhZGVyLUNvbW1hIiwgYiIxIikKKyAgICByZXNwb25zZS5o
ZWFkZXJzLmFwcGVuZChiIlgtQ3VzdG9tLUhlYWRlci1Db21tYSIsIGIiMiIpCisgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJYLUN1c3RvbS1IZWFkZXItQnl0ZXMiLCB1IuKApiIuZW5jb2RlKCJ1
dGYtOCIpKQorICAgIHJldHVybiBiIlRFU1QiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaW1nLXV0ZjgtaHRtbC5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy9pbWctdXRmOC1odG1sLnB5CmluZGV4IDA4NTg2N2Y5NTEwZTQ4ZmM5MjY2NTBiM2U2ZmJi
ZTYyNTQ3YWZiYzYuLjMwNTc2NzRjYjYwMzZhMTViNzA2MWQ2NWFhMmFhNzc1NGJiNmY4ZjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9pbWctdXRmOC1odG1sLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbWctdXRmOC1odG1sLnB5CkBAIC0x
LDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGhlYWRlcnMgPSBb
KCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgiKV0KLSAgICBjb250ZW50
ID0gIjxpbWc+Zm9vIgorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVudC10eXBlIiwgYiJ0ZXh0L2h0
bWw7Y2hhcnNldD11dGYtOCIpXQorICAgIGNvbnRlbnQgPSBiIjxpbWc+Zm9vIgogCiAgICAgcmV0
dXJuIGhlYWRlcnMsIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVjdHMucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvaW5maW5pdGUtcmVkaXJlY3RzLnB5CmluZGV4IGE4NWM0MTAyMThlZjNjOWNjZjc2MjU5NDJm
MWJjNGFjOWI1N2Q4NWMuLmE2MDk0MmRkOWE2ZDFkNjc3ZWViNjRiNTFjNTQxZDNkZTRiOTQ0Njgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3Jlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVjdHMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2luZmluaXRlLXJlZGly
ZWN0cy5weQpAQCAtMSwyMiArMSwyNCBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNv
bW9ycGhpY19lbmNvZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGxvY2F0
aW9uID0gIiVzOi8vJXMlcyIgJSAocmVxdWVzdC51cmxfcGFydHMuc2NoZW1lLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmxfcGFydHMubmV0bG9jLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmxfcGFydHMucGF0aCkKLSAgICBwYWdlID0g
ImFsdGVybmF0ZSIKKyAgICBsb2NhdGlvbiA9IHUiJXM6Ly8lcyVzIiAlIChyZXF1ZXN0LnVybF9w
YXJ0cy5zY2hlbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmxf
cGFydHMubmV0bG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJs
X3BhcnRzLnBhdGgpCisgICAgcGFnZSA9IHUiYWx0ZXJuYXRlIgogICAgIHR5cGUgPSAzMDIKICAg
ICBtaXggPSAwCi0gICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoInBhZ2UiLCBOb25lKSA9PSAiYWx0
ZXJuYXRlIjoKLSAgICAgICAgcGFnZSA9ICJkZWZhdWx0IgorICAgIGlmIHJlcXVlc3QuR0VULmZp
cnN0KGIicGFnZSIsIE5vbmUpID09IGIiYWx0ZXJuYXRlIjoKKyAgICAgICAgcGFnZSA9IHUiZGVm
YXVsdCIKIAotICAgIGlmIHJlcXVlc3QuR0VULmZpcnN0KCJ0eXBlIiwgTm9uZSkgPT0gIjMwMSI6
CisgICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoYiJ0eXBlIiwgTm9uZSkgPT0gYiIzMDEiOgogICAg
ICAgICB0eXBlID0gMzAxCiAKLSAgICBpZiByZXF1ZXN0LkdFVC5maXJzdCgibWl4IiwgTm9uZSkg
PT0gIjEiOgorICAgIGlmIHJlcXVlc3QuR0VULmZpcnN0KGIibWl4IiwgTm9uZSkgPT0gYiIxIjoK
ICAgICAgICAgbWl4ID0gMQogICAgICAgICB0eXBlID0gMzAyIGlmIHR5cGUgPT0gMzAxIGVsc2Ug
MzAxCiAKLSAgICBuZXdfbG9jYXRpb24gPSAiJXM/cGFnZT0lcyZ0eXBlPSVzJm1peD0lcyIgJSAo
bG9jYXRpb24sIHBhZ2UsIHR5cGUsIG1peCkKLSAgICBoZWFkZXJzID0gWygiQ2FjaGUtQ29udHJv
bCIsICJuby1jYWNoZSIpLAotICAgICAgICAgICAgICAgKCJQcmFnbWEiLCAibm8tY2FjaGUiKSwK
LSAgICAgICAgICAgICAgICgiTG9jYXRpb24iLCBuZXdfbG9jYXRpb24pXQotICAgIHJldHVybiAz
MDEsIGhlYWRlcnMsICJIZWxsbyBndWVzdC4gWW91IGhhdmUgYmVlbiByZWRpcmVjdGVkIHRvICIg
KyBuZXdfbG9jYXRpb24KKyAgICBuZXdfbG9jYXRpb24gPSB1IiVzP3BhZ2U9JXMmdHlwZT0lcyZt
aXg9JXMiICUgKGxvY2F0aW9uLCBwYWdlLCB0eXBlLCBtaXgpCisgICAgaGVhZGVycyA9IFsoYiJD
YWNoZS1Db250cm9sIiwgYiJuby1jYWNoZSIpLAorICAgICAgICAgICAgICAgKGIiUHJhZ21hIiwg
YiJuby1jYWNoZSIpLAorICAgICAgICAgICAgICAgKGIiTG9jYXRpb24iLCBpc29tb3JwaGljX2Vu
Y29kZShuZXdfbG9jYXRpb24pKV0KKyAgICByZXR1cm4gMzAxLCBoZWFkZXJzLCB1IkhlbGxvIGd1
ZXN0LiBZb3UgaGF2ZSBiZWVuIHJlZGlyZWN0ZWQgdG8gIiArIG5ld19sb2NhdGlvbgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL2luc3BlY3QtaGVhZGVycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbnNwZWN0LWhlYWRlcnMucHkKaW5kZXggZTcx
ZjY3MWNlZDM0ZmYzZDQ0NzQ2N2VhNDA5OGU2ZTAwMGZmZDhmNy4uNjhjZWNlNDUyYzljOGYzNTIz
NDMxOTI3MjFkZDc5ODc5Y2IzN2M1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2luc3BlY3QtaGVhZGVycy5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvaW5zcGVjdC1oZWFkZXJzLnB5CkBAIC0xLDMzICsxLDUwIEBACitmcm9tIHNpeCBpbXBv
cnQgUFkzCisKIGRlZiBnZXRfcmVzcG9uc2UocmF3X2hlYWRlcnMsIGZpbHRlcl92YWx1ZSwgZmls
dGVyX25hbWUpOgotICAgIHJlc3VsdCA9ICIiCi0gICAgZm9yIGxpbmUgaW4gcmF3X2hlYWRlcnMu
aGVhZGVyczoKLSAgICAgICAgaWYgbGluZVstMjpdICE9ICdcclxuJzoKLSAgICAgICAgICAgIHJl
dHVybiAiU3ludGF4IGVycm9yOiBtaXNzaW5nIENSTEY6ICIgKyBsaW5lCisgICAgcmVzdWx0ID0g
YiIiCisgICAgIyBUeXBlIG9mIHJhd19oZWFkZXJzIGlzIDxodHRwbGliLkhUVFBNZXNzYWdlPiBp
biBQeXRob24gMiBhbmQgPGh0dHAuY2xpZW50LkhUVFBNZXNzYWdlPiBpbgorICAgICMgUHl0aG9u
IDMuIDxodHRwLmNsaWVudC5IVFRQTWVzc2FnZT4gZG9lc24ndCBoYXZlICdoZWFkZXJzIiBhdHRy
aWJ1dGUgb3IgZXF1aXZhbGVudAorICAgICMgW2h0dHBzOi8vYnVncy5weXRob24ub3JnL2lzc3Vl
NDc3M10uCisgICAgIyBJbiBQeXRob24gMiwgdmFyaWFibGUgcmF3X2hlYWRlcnMuaGVhZGVycyBy
ZXR1cm5zIGEgY29tcGxldGVseSB1bmludGVycHJldGVkIGxpc3Qgb2YgbGluZXMKKyAgICAjIGNv
bnRhaW5lZCBpbiB0aGUgaGVhZGVyLiBJbiBQeXRob24gMywgcmF3X2hlYWRlcnMuYXNfc3RyaW5n
KCkgcmV0dXJucyBlbnRpcmUgZm9ybWF0dGVkCisgICAgIyBtZXNzYWdlIGFzIGEgc3RyaW5nLiBI
ZXJlIGlzIHRvIGNvbnN0cnVjdCBhbiBlcXVpdmFsZW50ICJoZWFkZXJzIiB2YXJpYWJsZSB0byBz
dXBwb3J0IHRlc3RzCisgICAgIyBpbiBQeXRob24gMy4KKyAgICBpZiBQWTM6CisgICAgICAgIGhl
YWRlcl9saXN0ID0gWworICAgICAgICAgICAgKHMgKyB1J1xyXG4nKS5lbmNvZGUoImlzby04ODU5
LTEiKSBmb3IgcyBpbiByYXdfaGVhZGVycy5hc19zdHJpbmcoKS5zcGxpdGxpbmVzKCkgaWYgcwor
ICAgICAgICBdCisgICAgZWxzZToKKyAgICAgICAgaGVhZGVyX2xpc3QgPSByYXdfaGVhZGVycy5o
ZWFkZXJzCisgICAgZm9yIGxpbmUgaW4gaGVhZGVyX2xpc3Q6CisgICAgICAgIGlmIGxpbmVbLTI6
XSAhPSBiJ1xyXG4nOgorICAgICAgICAgICAgcmV0dXJuIGIiU3ludGF4IGVycm9yOiBtaXNzaW5n
IENSTEY6ICIgKyBsaW5lCiAgICAgICAgIGxpbmUgPSBsaW5lWzotMl0KIAotICAgICAgICBpZiAn
OiAnIG5vdCBpbiBsaW5lOgotICAgICAgICAgICAgcmV0dXJuICJTeW50YXggZXJyb3I6IG5vIGNv
bG9uIGFuZCBzcGFjZSBmb3VuZDogIiArIGxpbmUKLSAgICAgICAgbmFtZSwgdmFsdWUgPSBsaW5l
LnNwbGl0KCc6ICcsIDEpCisgICAgICAgIGlmIGInOiAnIG5vdCBpbiBsaW5lOgorICAgICAgICAg
ICAgcmV0dXJuIGIiU3ludGF4IGVycm9yOiBubyBjb2xvbiBhbmQgc3BhY2UgZm91bmQ6ICIgKyBs
aW5lCisgICAgICAgIG5hbWUsIHZhbHVlID0gbGluZS5zcGxpdChiJzogJywgMSkKIAogICAgICAg
ICBpZiBmaWx0ZXJfdmFsdWU6CiAgICAgICAgICAgICBpZiB2YWx1ZSA9PSBmaWx0ZXJfdmFsdWU6
Ci0gICAgICAgICAgICAgICAgcmVzdWx0ICs9IG5hbWUgKyAiLCIKKyAgICAgICAgICAgICAgICBy
ZXN1bHQgKz0gbmFtZSArIGIiLCIKICAgICAgICAgZWxpZiBuYW1lLmxvd2VyKCkgPT0gZmlsdGVy
X25hbWU6Ci0gICAgICAgICAgICByZXN1bHQgKz0gbmFtZSArICI6ICIgKyB2YWx1ZSArICJcbiIK
KyAgICAgICAgICAgIHJlc3VsdCArPSBuYW1lICsgYiI6ICIgKyB2YWx1ZSArIGIiXG4iCiAgICAg
cmV0dXJuIHJlc3VsdAogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgaGVhZGVy
cyA9IFtdCiAgICAgaWYgImNvcnMiIGluIHJlcXVlc3QuR0VUOgotICAgICAgICBoZWFkZXJzLmFw
cGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsICIqIikpCi0gICAgICAgIGhlYWRl
cnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpKQot
ICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAi
R0VULCBQT1NULCBQVVQsIEZPTyIpKQotICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1D
b250cm9sLUFsbG93LUhlYWRlcnMiLCAieC10ZXN0LCB4LWZvbyIpKQotICAgICAgICBoZWFkZXJz
LmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIiwgIngtcmVxdWVzdC1tZXRo
b2QsIHgtcmVxdWVzdC1jb250ZW50LXR5cGUsIHgtcmVxdWVzdC1xdWVyeSwgeC1yZXF1ZXN0LWNv
bnRlbnQtbGVuZ3RoIikpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJjb250ZW50LXR5cGUiLCAidGV4
dC9wbGFpbiIpKQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4iLCBiIioiKSkKKyAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBiInRydWUiKSkKKyAgICAgICAgaGVhZGVycy5hcHBlbmQo
KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiR0VULCBQT1NULCBQVVQsIEZPTyIp
KQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJz
IiwgYiJ4LXRlc3QsIHgtZm9vIikpCisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgKKyAgICAgICAg
ICAgIGIiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLAorICAgICAgICAgICAgYiJ4LXJl
cXVlc3QtbWV0aG9kLCB4LXJlcXVlc3QtY29udGVudC10eXBlLCB4LXJlcXVlc3QtcXVlcnksIHgt
cmVxdWVzdC1jb250ZW50LWxlbmd0aCIpKQorICAgIGhlYWRlcnMuYXBwZW5kKChiImNvbnRlbnQt
dHlwZSIsIGIidGV4dC9wbGFpbiIpKQogCi0gICAgZmlsdGVyX3ZhbHVlID0gcmVxdWVzdC5HRVQu
Zmlyc3QoImZpbHRlcl92YWx1ZSIsICIiKQotICAgIGZpbHRlcl9uYW1lID0gcmVxdWVzdC5HRVQu
Zmlyc3QoImZpbHRlcl9uYW1lIiwgIiIpLmxvd2VyKCkKKyAgICBmaWx0ZXJfdmFsdWUgPSByZXF1
ZXN0LkdFVC5maXJzdChiImZpbHRlcl92YWx1ZSIsIGIiIikKKyAgICBmaWx0ZXJfbmFtZSA9IHJl
cXVlc3QuR0VULmZpcnN0KGIiZmlsdGVyX25hbWUiLCBiIiIpLmxvd2VyKCkKICAgICByZXN1bHQg
PSBnZXRfcmVzcG9uc2UocmVxdWVzdC5yYXdfaGVhZGVycywgZmlsdGVyX3ZhbHVlLCBmaWx0ZXJf
bmFtZSkKIAogICAgIHJldHVybiBoZWFkZXJzLCByZXN1bHQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9pbnZhbGlk
LXV0ZjgtaHRtbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9pbnZhbGlkLXV0ZjgtaHRtbC5weQppbmRleCA3MmJlNDFhNDVlODZj
M2U0NWFhYmQwODFkMjA0N2YxZGU5MzQ0ZmFmLi5jMTVkMTcxNTFhMTM2OTc0ZmEwODM4Y2MzYjMz
MTFmZGUyYTc4ZmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvaW52YWxpZC11dGY4LWh0bWwucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2lu
dmFsaWQtdXRmOC1odG1sLnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVz
cG9uc2UpOgotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1sO2NoYXJz
ZXQ9dXRmLTgiKV0KKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtdHlwZSIsIGIidGV4dC9odG1s
O2NoYXJzZXQ9dXRmLTgiKV0KICAgICBjb250ZW50ID0gY2hyKDB4ZmYpCiAKICAgICByZXR1cm4g
aGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL2xhc3QtbW9kaWZpZWQucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbGFzdC1t
b2RpZmllZC5weQppbmRleCBlZjA1YTYzNDNjMTZhNTNlYWFkMGUwZTE3ZGFmNjVhY2RkN2Y2NDg3
Li45ZDY5NDgxN2JmMTFmMTYzNzI5MWUyMTc4NjAzMjYzYTQ3NjlkYTU4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMv
bGFzdC1tb2RpZmllZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbGFzdC1tb2RpZmllZC5weQpAQCAtMSw3ICsxLDkgQEAK
K2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlLCBpc29tb3JwaGlj
X2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgaW1wb3J0IGRhdGV0
aW1lLCBvcwotICAgIHNyY3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmls
ZV9fKSwgIndlbGwtZm9ybWVkLnhtbCIpCisgICAgc3JjcGF0aCA9IG9zLnBhdGguam9pbihvcy5w
YXRoLmRpcm5hbWUoaXNvbW9ycGhpY19kZWNvZGUoX19maWxlX18pKSwgdSJ3ZWxsLWZvcm1lZC54
bWwiKQogICAgIHNyY21vZGR0ID0gZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcChvcy5w
YXRoLmdldG10aW1lKHNyY3BhdGgpKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJMYXN0LU1v
ZGlmaWVkIiwgc3JjbW9kZHQuc3RyZnRpbWUoIiVhLCAlZCAlYiAlWSAlSDolTTolUyBHTVQiKSkK
LSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL3ht
bCIpCi0gICAgcmV0dXJuIG9wZW4oc3JjcGF0aCwgInIiKS5yZWFkKCkKKyAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkxhc3QtTW9kaWZpZWQiLCBpc29tb3JwaGljX2VuY29kZShzcmNtb2RkdC5z
dHJmdGltZSh1IiVhLCAlZCAlYiAlWSAlSDolTTolUyBHTVQiKSkpCisgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiImFwcGxpY2F0aW9uL3htbCIpCisgICAgcmV0dXJu
IG9wZW4oc3JjcGF0aCwgdSJyIikucmVhZCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvbm8tY3VzdG9tLWhlYWRl
ci1vbi1wcmVmbGlnaHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9yZXNvdXJjZXMvbm8tY3VzdG9tLWhlYWRlci1vbi1wcmVmbGlnaHQucHkKaW5k
ZXggZjQ5ZjlmMzExZmI3MmE3NTY1YjViYmY0YTkwNDljMGFlNDU0NThhYS4uODM1YzEyODEzZGNh
ZjA0NjFhYjY1ZjA1MjhmY2IzOThkMTYyYmYyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL25vLWN1c3RvbS1oZWFk
ZXItb24tcHJlZmxpZ2h0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9uby1jdXN0b20taGVhZGVyLW9uLXByZWZsaWdodC5w
eQpAQCAtMiwyNiArMiwyNiBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgZGVm
IGdldFN0YXRlKHRva2VuKToKICAgICAgICAgc2VydmVyX3N0YXRlID0gcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gudGFrZSh0b2tlbikKICAgICAgICAgaWYgbm90IHNlcnZlcl9zdGF0ZToKLSAgICAgICAg
ICAgIHJldHVybiAiVW5pbml0aWFsaXplZCIKKyAgICAgICAgICAgIHJldHVybiBiIlVuaW5pdGlh
bGl6ZWQiCiAgICAgICAgIHJldHVybiBzZXJ2ZXJfc3RhdGUKIAogICAgIGRlZiBzZXRTdGF0ZShz
dGF0ZSwgdG9rZW4pOgogICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIHN0
YXRlKQogCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiIsICIqIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxs
b3ctSGVhZGVycyIsICJ4LXRlc3QiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3Mt
Q29udHJvbC1NYXgtQWdlIiwgMCkKLSAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tl
biIsIE5vbmUpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4iLCBiIioiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctSGVhZGVycyIsIGIieC10ZXN0IikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChi
IkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAwKQorICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmly
c3QoYiJ0b2tlbiIsIE5vbmUpCiAKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6
Ci0gICAgICAgIGlmIHJlcXVlc3QuaGVhZGVycy5nZXQoIngtdGVzdCIpOgotICAgICAgICAgICAg
cmVzcG9uc2UuY29udGVudCA9ICJGQUlMOiBJbnZhbGlkIGhlYWRlciBpbiBwcmVmbGlnaHQgcmVx
dWVzdC4iCisgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAgICAgaWYg
cmVxdWVzdC5oZWFkZXJzLmdldChiIngtdGVzdCIpOgorICAgICAgICAgICAgcmVzcG9uc2UuY29u
dGVudCA9IGIiRkFJTDogSW52YWxpZCBoZWFkZXIgaW4gcHJlZmxpZ2h0IHJlcXVlc3QuIgogICAg
ICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICBzZXRTdGF0ZSgiUEFTUyIsIHRva2VuKQorICAgICAgICAgICAgc2V0U3RhdGUoYiJQQVNTIiwg
dG9rZW4pCiAgICAgZWxzZToKLSAgICAgICAgaWYgcmVxdWVzdC5oZWFkZXJzLmdldCgieC10ZXN0
Iik6CisgICAgICAgIGlmIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJ4LXRlc3QiKToKICAgICAgICAg
ICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBnZXRTdGF0ZSh0b2tlbikKICAgICAgICAgZWxzZToKLSAg
ICAgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiRkFJTDogWC1UZXN0IGhlYWRlciBtaXNzaW5n
IGluIHJlcXVlc3QiCisgICAgICAgICAgICByZXNwb25zZS5jb250ZW50ID0gYiJGQUlMOiBYLVRl
c3QgaGVhZGVyIG1pc3NpbmcgaW4gcmVxdWVzdCIKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1
cyA9IDQwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL3BhcnNlLWhlYWRlcnMucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcGFyc2UtaGVhZGVycy5w
eQppbmRleCBmZGM2MjY1MzllODQyZjY2NjBmNTMzYTM2ODRkYTcyZTcxOWNlZjA5Li44NTIwYmFh
ZDg4MGZjMGU2Y2Y3Y2YzYzhlODE5NGMxOGZjZmVlMzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcGFyc2UtaGVh
ZGVycy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvcGFyc2UtaGVhZGVycy5weQpAQCAtMSwxMCArMSw2IEBACi1pbXBvcnQg
anNvbgotCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0KLSAgICBjb250ZW50ID0gIiIK
LSAgICBpZiAibXktY3VzdG9tLWhlYWRlciIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIHZhbCA9
IHJlcXVlc3QuR0VULmZpcnN0KCJteS1jdXN0b20taGVhZGVyIikKLSAgICAgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIk15LUN1c3RvbS1IZWFkZXIiLCB2YWwpCi0KKyAgICBjb250ZW50ID0gdSIi
CisgICAgaWYgYiJteS1jdXN0b20taGVhZGVyIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgdmFs
ID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJteS1jdXN0b20taGVhZGVyIikKKyAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJNeS1DdXN0b20tSGVhZGVyIiwgdmFsKQogICAgIHJldHVybiBjb250
ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5Cmlu
ZGV4IDI3NjA5YjhiZGIyMDgyODM0NmY5NzhkNmQzNTRjYTBjZjM2YWQzYmMuLjVkMDMwYTYyMjc3
YzE1OWMzN2EyOTZmNGIxYmRjZmQ0MGI0MjhiZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC1jb3Jz
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5CkBAIC0xLDIwICsxLDIwIEBACiBkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5maXJzdCgibG9j
YXRpb24iKQorICAgIGxvY2F0aW9uID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJsb2NhdGlvbiIpCiAK
LSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6Ci0gICAgICAgIGlmICJyZWRpcmVj
dF9wcmVmbGlnaHQiIGluIHJlcXVlc3QuR0VUOgorICAgIGlmIHJlcXVlc3QubWV0aG9kID09IHUi
T1BUSU9OUyI6CisgICAgICAgIGlmIGIicmVkaXJlY3RfcHJlZmxpZ2h0IiBpbiByZXF1ZXN0LkdF
VDoKICAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9IDMwMgotICAgICAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkxvY2F0aW9uIiwgbG9jYXRpb24pCisgICAgICAgICAgICByZXNwb25z
ZS5oZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCiAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICByZXNwb25zZS5zdGF0dXMgPSAyMDAKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCAiR0VUIikKLSAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCAxKQotICAgIGVsaWYgcmVx
dWVzdC5tZXRob2QgPT0gIkdFVCI6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIGIiR0VUIikKKyAgICAgICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlIiwgMSkKKyAgICBlbGlmIHJlcXVlc3Qu
bWV0aG9kID09IHUiR0VUIjoKICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gMzAyCi0gICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJMb2NhdGlvbiIsIGxvY2F0aW9uKQorICAgICAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCiAKLSAgICBpZiAiYWxsb3df
b3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIm9yaWdpbiIp
KQorICAgIGlmIGIiYWxsb3dfb3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0Lmhl
YWRlcnMuZ2V0KGIib3JpZ2luIikpCiAKLSAgICBpZiAiYWxsb3dfaGVhZGVyIiBpbiByZXF1ZXN0
LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93
LUhlYWRlcnMiLCByZXF1ZXN0LkdFVC5maXJzdCgiYWxsb3dfaGVhZGVyIikpCisgICAgaWYgYiJh
bGxvd19oZWFkZXIiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdFVC5maXJzdChiImFs
bG93X2hlYWRlciIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5Cmlu
ZGV4IDJhZjlmMmVlOGE5NGM0YWExMDg0MTZjZGVkN2M5M2IwOGE3YmY4YTIuLjlkOWJiMzMyYTcw
OThlNWY3YTE0NWUzOGU5YTVkNDk2MmNiYTlkMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZWRpcmVjdC5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNv
dXJjZXMvcmVkaXJlY3QucHkKQEAgLTEsMTQgKzEsMTYgQEAKIGltcG9ydCB0aW1lCiAKK2Zyb20g
d3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKLSAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZpcnN0KCJjb2RlIiwg
MzAyKSkKLSAgICBsb2NhdGlvbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJsb2NhdGlvbiIsIHJlcXVl
c3QudXJsX3BhcnRzLnBhdGggKyAiP2ZvbGxvd2VkIikKKyAgICBjb2RlID0gaW50KHJlcXVlc3Qu
R0VULmZpcnN0KGIiY29kZSIsIDMwMikpCisgICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5maXJz
dChiImxvY2F0aW9uIiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC51cmxfcGFydHMucGF0aCAr
IHUiP2ZvbGxvd2VkIikpCiAKLSAgICBpZiAiZGVsYXkiIGluIHJlcXVlc3QuR0VUOgotICAgICAg
ICBkZWxheSA9IGZsb2F0KHJlcXVlc3QuR0VULmZpcnN0KCJkZWxheSIpKQorICAgIGlmIGIiZGVs
YXkiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBkZWxheSA9IGZsb2F0KHJlcXVlc3QuR0VULmZp
cnN0KGIiZGVsYXkiKSkKICAgICAgICAgdGltZS5zbGVlcChkZWxheSAvIDFFMykKIAotICAgIGlm
ICJmb2xsb3dlZCIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIHJldHVybiBbKCJDb250ZW50OlR5
cGUiLCAidGV4dC9wbGFpbiIpXSwgIk1BR0lDIEhBUFBFTkVEIgorICAgIGlmIGIiZm9sbG93ZWQi
IGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXR1cm4gWyhiIkNvbnRlbnQ6VHlwZSIsIGIidGV4
dC9wbGFpbiIpXSwgYiJNQUdJQyBIQVBQRU5FRCIKICAgICBlbHNlOgotICAgICAgICByZXR1cm4g
KGNvZGUsICJXRUJTUlQgTUFSS0VUSU5HIiksIFsoIkxvY2F0aW9uIiwgbG9jYXRpb24pXSwgIlRF
U1QiCisgICAgICAgIHJldHVybiAoY29kZSwgdSJXRUJTUlQgTUFSS0VUSU5HIiksIFsoYiJMb2Nh
dGlvbiIsIGxvY2F0aW9uKV0sIGIiVEVTVCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZXF1cmkucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcmVx
dXJpLnB5CmluZGV4IGEzZjdiZmRhMzUxNzgyZTQ5NDFmMzk1NWMxYzdiNWYzMmJlMDdiYTQuLmM3
ZjczMzBmMTFjYzBhY2MyOWIwZjBiNzQ2ODM1MmJkNzkzOWNjNzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZXF1
cmkucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvcmVzb3VyY2VzL3JlcXVyaS5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKLSAgICBpZiAiZnVsbCIgaW4gcmVxdWVzdC5HRVQ6CisgICAgaWYgYiJmdWxs
IiBpbiByZXF1ZXN0LkdFVDoKICAgICAgICAgcmV0dXJuIHJlcXVlc3QudXJsCiAgICAgZWxzZToK
ICAgICAgICAgcmV0dXJuIHJlcXVlc3QucmVxdWVzdF9wYXRoCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvcmVzZXQt
dG9rZW4ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9yZXNvdXJjZXMvcmVzZXQtdG9rZW4ucHkKaW5kZXggNWM5YTU3N2I0NGNlMjJjYWNjNmZkOWFk
NDFjZDQ0MTUzOGYwMzczZC4uMjU3YzJhYWU4MGM2OTA2NTJlZjY3NjJiMTNkMTc4NWRjZGM5NGQ3
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvcmVzb3VyY2VzL3Jlc2V0LXRva2VuLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9yZXNldC10b2tlbi5weQpAQCAt
MSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5o
ZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJz
LmdldCgib3JpZ2luIikpCi0gICAgdG9rZW4gPSByZXF1ZXN0LkdFVFsidG9rZW4iXQotICAgIHJl
cXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgIiIpCi0gICAgcmVzcG9uc2UuY29udGVudCA9
ICJQQVNTIgorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ct
T3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHRva2VuID0gcmVx
dWVzdC5HRVRbYiJ0b2tlbiJdCisgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBi
IiIpCisgICAgcmVzcG9uc2UuY29udGVudCA9IGIiUEFTUyIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5kLWFm
dGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy0yLmh0bSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5kLWFmdGVyLXNl
dHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy0yLmh0bQppbmRleCAwNzMyNjhjMjFjN2U4NGZi
Y2JlNTM5YTZhNDU0NzZkYzc1N2QwNTY0Li5jZDlmMGM2YmI3MDQ0ZjU2OWRiMWY4N2MxYWJiOWVj
OTliMWFiMzJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0aW5nLWRvY3VtZW50LWRvbWFp
bi13aW5kb3ctMi5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1kb2N1bWVudC1kb21haW4t
d2luZG93LTIuaHRtCkBAIC0xMSw3ICsxMSw3IEBACiAgICAgICAgIGRvY3VtZW50LmRvbWFpbiA9
IGRvY3VtZW50LmRvbWFpbi5yZXBsYWNlKC9eXHcrXC4vLCAiIik7CiAgICAgICAgIHZhciBjbGll
bnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgY2xpZW50Lm9wZW4oIkdFVCIsIGxv
Y2F0aW9uLnByb3RvY29sICsgIi8vIiArIGRvY3VtZW50LmRvbWFpbiArIGxvY2F0aW9uLnBhdGhu
YW1lLnJlcGxhY2UoL1teXC9dKiQvLCAiIikgKyAic3RhdHVzLnB5P2NvbnRlbnQ9aGVsbG8zIiwg
ZmFsc2UpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkg
ewogICAgICAgICAgIGNsaWVudC5zZW5kKG51bGwpOwogICAgICAgICB9KTsKICAgICAgIH0sICJs
b2FkaW5nIGRvY3VtZW50cyBmcm9tIHRoZSBvcmlnaW4gZG9jdW1lbnQuZG9tYWluIHdhcyBzZXQg
dG8gc2hvdWxkIHRocm93Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0aW5nLWRvY3Vt
ZW50LWRvbWFpbi13aW5kb3ctaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NlbmQtYWZ0ZXItc2V0dGluZy1kb2N1bWVu
dC1kb21haW4td2luZG93LWhlbHBlci5qcwppbmRleCBmNWM3NjJiMDQyYjcwYTI3NzM0MTU3ZTBj
YTdkNGQ4NjhmMjUxNDdiLi4wYzIzOWNmZGJjZDVhNDQ1MzNlMzY3MzExZGQ0MTNiNWU2NmRhMGI3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNvdXJjZXMvc2VuZC1hZnRlci1zZXR0aW5nLWRvY3VtZW50LWRvbWFpbi13aW5kb3ct
aGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3Jlc291cmNlcy9zZW5kLWFmdGVyLXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRv
dy1oZWxwZXIuanMKQEAgLTQsMTAgKzQsMTMgQEAgZnVuY3Rpb24gYXNzZXJ0X2VxdWFscyh2YWx1
ZSwgZXhwZWN0ZWQpIHsKICAgfQogfQogCi1mdW5jdGlvbiBhc3NlcnRfdGhyb3dzKGV4cGVjdGVk
X2V4YywgZnVuYykgeworZnVuY3Rpb24gYXNzZXJ0X3Rocm93c19kb20oZXhwZWN0ZWRfZXhjLCBm
dW5jKSB7CiAgIHRyeSB7CiAgICAgZnVuYy5jYWxsKHRoaXMpOwogICB9IGNhdGNoKGUpIHsKKyAg
ICBpZiAoZS5jb25zdHJ1Y3Rvci5uYW1lICE9ICJET01FeGNlcHRpb24iKSB7CisgICAgICB0aHJv
dyBgRXhjZXB0aW9uICR7ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICJ1bmtub3duIn0gdGhhdCB3YXMg
bm90IGEgRE9NRXhjZXB0aW9uIHdhcyB0aHJvd25gOworICAgIH0KICAgICB2YXIgYWN0dWFsID0g
ZS5uYW1lIHx8IGUudHlwZTsKICAgICBpZiAoYWN0dWFsICE9IGV4cGVjdGVkX2V4YykgewogICAg
ICAgdGhyb3cgIkdvdCB3cm9uZyBleGNlcHRpb24uXG5FeHBlY3RlZCAnIiArIGV4cGVjdGVkX2V4
YyArICInLFxuZ290ICciICsgYWN0dWFsICsgIicuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zaGlmdC1qaXMt
aHRtbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy9zaGlmdC1qaXMtaHRtbC5weQppbmRleCBmYWI3OGMwYjNhYzgzMTVjNjVkZjM4
MjRjZmNiZWZkNzBmNzZkY2JmLi40N2M2N2Q4YWUzOWU5NmJhY2Q5N2Q3Y2IxNGM1OTE1MTA2MGUy
NjgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvc2hpZnQtamlzLWh0bWwucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3NoaWZ0LWppcy1odG1s
LnB5CkBAIC0xLDUgKzEsNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIGhl
YWRlcnMgPSBbKCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1sO2NoYXJzZXQ9c2hpZnQtamlzIild
CisgICAgaGVhZGVycyA9IFsoYiJDb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDtjaGFyc2V0PXNo
aWZ0LWppcyIpXQogICAgICMgU2hpZnQtSklTIGJ5dGVzIGZvciBrYXRha2FuYSBURSBTVSBUTyAo
J3Rlc3QnKQogICAgIGNvbnRlbnQgPSBjaHIoMHg4MykgKyBjaHIoMHg2NSkgKyBjaHIoMHg4Mykg
KyBjaHIoMHg1OCkgKyBjaHIoMHg4MykgKyBjaHIoMHg2NykKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3N0YXR1
cy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jl
c291cmNlcy9zdGF0dXMucHkKaW5kZXggNWQ3MmUxMGIyNGJmZDVhMzZkNzE5OTQwMzg4YmI1NWQ0
NDQzMzU0Ni4uMDVhNTlkNWE2MzdlZGRlOGZiMDQ5NjI3ZmRjZThhM2EwZTgzNjcxNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVz
b3VyY2VzL3N0YXR1cy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc3RhdHVzLnB5CkBAIC0xLDkgKzEsMTEgQEAKK2Zyb20g
d3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKLSAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZpcnN0KCJjb2RlIiwg
MjAwKSkKLSAgICB0ZXh0ID0gcmVxdWVzdC5HRVQuZmlyc3QoInRleHQiLCAiT01HIikKLSAgICBj
b250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoImNvbnRlbnQiLCAiIikKLSAgICB0eXBlID0gcmVx
dWVzdC5HRVQuZmlyc3QoInR5cGUiLCAiIikKKyAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZp
cnN0KGIiY29kZSIsIDIwMCkpCisgICAgdGV4dCA9IHJlcXVlc3QuR0VULmZpcnN0KGIidGV4dCIs
IGIiT01HIikKKyAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJjb250ZW50IiwgYiIi
KQorICAgIHR5cGUgPSByZXF1ZXN0LkdFVC5maXJzdChiInR5cGUiLCBiIiIpCiAgICAgc3RhdHVz
ID0gKGNvZGUsIHRleHQpCi0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsIHR5cGUpLAot
ICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtTWV0aG9kIiwgcmVxdWVzdC5tZXRob2QpXQorICAg
IGhlYWRlcnMgPSBbKGIiQ29udGVudC1UeXBlIiwgdHlwZSksCisgICAgICAgICAgICAgICAoYiJY
LVJlcXVlc3QtTWV0aG9kIiwgaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2QpKV0KICAg
ICByZXR1cm4gc3RhdHVzLCBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdHJpY2tsZS5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy90cmlja2xlLnB5CmluZGV4IDQxOGUyNDU5OTIxNzQzYjc2OWZhYjMyMDQxZTk1YjAwZTdj
MDkxYmIuLjRhNmJiZDdmNGYyNzVlZmFhOGYzNjcxZjc1ZGI3ODc0MjAwYjk0MDIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291
cmNlcy90cmlja2xlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3Jlc291cmNlcy90cmlja2xlLnB5CkBAIC0xLDE1ICsxLDE3IEBACiBpbXBv
cnQgdGltZQogCitmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKKwogZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgotICAgIGNodW5rID0gIlRFU1RfVFJJQ0tMRVxuIgotICAgIGRlbGF5ID0g
ZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoIm1zIiwgNTAwKSkgLyAxRTMKLSAgICBjb3VudCA9IGlu
dChyZXF1ZXN0LkdFVC5maXJzdCgiY291bnQiLCA1MCkpCi0gICAgaWYgInNwZWNpZnlsZW5ndGgi
IGluIHJlcXVlc3QuR0VUOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1M
ZW5ndGgiLCBjb3VudCAqIGxlbihjaHVuaykpCisgICAgY2h1bmsgPSBiIlRFU1RfVFJJQ0tMRVxu
IgorICAgIGRlbGF5ID0gZmxvYXQocmVxdWVzdC5HRVQuZmlyc3QoYiJtcyIsIDUwMCkpIC8gMUUz
CisgICAgY291bnQgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoYiJjb3VudCIsIDUwKSkKKyAgICBp
ZiBiInNwZWNpZnlsZW5ndGgiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkNvbnRlbnQtTGVuZ3RoIiwgY291bnQgKiBsZW4oY2h1bmspKQogICAgIHRpbWUu
c2xlZXAoZGVsYXkpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtdHlwZSIsICJ0
ZXh0L3BsYWluIikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtdHlwZSIsIGIi
dGV4dC9wbGFpbiIpCiAgICAgcmVzcG9uc2Uud3JpdGVfc3RhdHVzX2hlYWRlcnMoKQogICAgIHRp
bWUuc2xlZXAoZGVsYXkpCi0gICAgZm9yIGkgaW4geHJhbmdlKGNvdW50KToKKyAgICBmb3IgaSBp
biByYW5nZShjb3VudCk6CiAgICAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9jb250ZW50KGNo
dW5rKQogICAgICAgICB0aW1lLnNsZWVwKGRlbGF5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3VwbG9hZC5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNl
cy91cGxvYWQucHkKaW5kZXggMzA0YmVhOWU1ZWY5MDZlZTI4NzRjMjc3OTk3OGRhNzZhNjMyMTUw
ZC4uZTM1ZTQ2ZWRjZjk2YWQ5YTlhMTEyYTViZDZhMjZmMGQ5YjRlOWZiMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L3VwbG9hZC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9yZXNvdXJjZXMvdXBsb2FkLnB5CkBAIC0xLDE1ICsxLDE3IEBACitmcm9tIHdwdHNl
cnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2VuY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCBy
ZXNwb25zZSk6CiAgICAgY29udGVudCA9IFtdCiAKLSAgICBmb3Iga2V5LCB2YWx1ZXMgaW4gc29y
dGVkKGl0ZW0gZm9yIGl0ZW0gaW4gcmVxdWVzdC5QT1NULml0ZW1zKCkgaWYgbm90IGhhc2F0dHIo
aXRlbVsxXVswXSwgImZpbGVuYW1lIikpOgotICAgICAgICBjb250ZW50LmFwcGVuZCgiJXM9JXMs
IiAlIChrZXksIHZhbHVlc1swXSkpCi0gICAgY29udGVudC5hcHBlbmQoIlxuIikKKyAgICBmb3Ig
a2V5LCB2YWx1ZXMgaW4gc29ydGVkKGl0ZW0gZm9yIGl0ZW0gaW4gcmVxdWVzdC5QT1NULml0ZW1z
KCkgaWYgbm90IGhhc2F0dHIoaXRlbVsxXVswXSwgdSJmaWxlbmFtZSIpKToKKyAgICAgICAgY29u
dGVudC5hcHBlbmQoYiIlcz0lcywiICUgKGtleSwgdmFsdWVzWzBdKSkKKyAgICBjb250ZW50LmFw
cGVuZChiIlxuIikKIAotICAgIGZvciBrZXksIHZhbHVlcyBpbiBzb3J0ZWQoaXRlbSBmb3IgaXRl
bSBpbiByZXF1ZXN0LlBPU1QuaXRlbXMoKSBpZiBoYXNhdHRyKGl0ZW1bMV1bMF0sICJmaWxlbmFt
ZSIpKToKKyAgICBmb3Iga2V5LCB2YWx1ZXMgaW4gc29ydGVkKGl0ZW0gZm9yIGl0ZW0gaW4gcmVx
dWVzdC5QT1NULml0ZW1zKCkgaWYgaGFzYXR0cihpdGVtWzFdWzBdLCB1ImZpbGVuYW1lIikpOgog
ICAgICAgICB2YWx1ZSA9IHZhbHVlc1swXQotICAgICAgICBjb250ZW50LmFwcGVuZCgiJXM9JXM6
JXM6JXMsIiAlIChrZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZhbHVlLmZpbGVuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2YWx1ZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGVuKHZhbHVlLmZpbGUucmVhZCgpKSkpCisgICAgICAgIGNvbnRl
bnQuYXBwZW5kKGIiJXM9JXM6JXM6JWQsIiAlIChrZXksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpc29tb3JwaGljX2VuY29kZSh2YWx1ZS5maWxlbmFtZSksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc29tb3JwaGljX2VuY29k
ZSh2YWx1ZS5oZWFkZXJzW3UiQ29udGVudC1UeXBlIl0pIGlmIHZhbHVlLmhlYWRlcnNbdSJDb250
ZW50LVR5cGUiXSBpcyBub3QgTm9uZSBlbHNlIGIiTm9uZSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsZW4odmFsdWUuZmlsZS5yZWFkKCkpKSkKIAotICAgIHJl
dHVybiAiIi5qb2luKGNvbnRlbnQpCisgICAgcmV0dXJuIGIiIi5qb2luKGNvbnRlbnQpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggNjU1OWQ4MTcy
YWE3NTYwYjM4OTVmMmE1NzNlYTJlOTcwNjdkYzAwNi4uMmYwODYwNGQzMzAwMmU3MmRmMzdiMTk1
OGYwMzE4OGM2YzBkNTJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93M2Mt
aW1wb3J0LmxvZwpAQCAtODMsNiArODMsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy9zZW5kLWFmdGVy
LXNldHRpbmctZG9jdW1lbnQtZG9tYWluLXdpbmRvdy1oZWxwZXIuanMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvc2hpZnQtamlzLWh0
bWwucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9y
ZXNvdXJjZXMvc3RhdHVzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL3RvcC50eHQKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvdHJpY2tsZS5weQogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy91cGxvYWQucHkK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJj
ZXMvdXRmMTYtYm9tLmpzb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93aW4tMTI1Mi1odG1sLnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3dpbi0x
MjUyLWh0bWwucHkKaW5kZXggYTRkNzJkNWUyNzU0Y2UyMTc4Y2YxZjNjNGVkOWQzOWM4ZjY4YmIx
NS4uMGVmNTI4M2Y3ZDUxNDY1NmVkNzc1OWMwZjliNzAzNmQxZmE4OGFjZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L3dpbi0xMjUyLWh0bWwucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3dpbi0xMjUyLWh0bWwucHkKQEAgLTEsNSArMSw1IEBA
CiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQt
dHlwZSIsICJ0ZXh0L2h0bWw7Y2hhcnNldD13aW5kb3dzLTEyNTIiKV0KKyAgICBoZWFkZXJzID0g
WyhiIkNvbnRlbnQtdHlwZSIsIGIidGV4dC9odG1sO2NoYXJzZXQ9d2luZG93cy0xMjUyIildCiAg
ICAgY29udGVudCA9IGNocigweGZmKQogCiAgICAgcmV0dXJuIGhlYWRlcnMsIGNvbnRlbnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy93aW4tMTI1Mi14bWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9yZXNvdXJjZXMvd2luLTEyNTIteG1sLnB5CmluZGV4IDA5YzMy
ZTQ1NzRiODg5OTc0MTUzYWJlY2IyYjk5ZWViNzljMTMxZmEuLmQ4ODA4NmU5MzZlYTE3Zjc1ZjMw
YzE4ZjRlOWJkNDI0YmE2MDlmZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc291cmNlcy93aW4tMTI1Mi14bWwucHkKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2Vz
L3dpbi0xMjUyLXhtbC5weQpAQCAtMSw1ICsxLDUgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3Bv
bnNlKToKLSAgICBoZWFkZXJzID0gWygiQ29udGVudC10eXBlIiwgImFwcGxpY2F0aW9uL3htbDtj
aGFyc2V0PXdpbmRvd3MtMTI1MiIpXQorICAgIGhlYWRlcnMgPSBbKGIiQ29udGVudC10eXBlIiwg
YiJhcHBsaWNhdGlvbi94bWw7Y2hhcnNldD13aW5kb3dzLTEyNTIiKV0KICAgICBjb250ZW50ID0g
JzwnICsgY2hyKDB4ZmYpICsgJy8+JwogCiAgICAgcmV0dXJuIGhlYWRlcnMsIGNvbnRlbnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3Jlc291cmNlcy96bGliLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKaW5kZXggNDllZDY5ZGU3OTM5ODgyOGFmMTI4
MzdlOGQ4N2VkOGQxYTNhN2EzZS4uNjM4ODEzOTk5Y2UwN2I4ZjYzMDhmMGRjNWMwMzg4ZWM4MjA5
MTA2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzb3VyY2VzL3psaWIucHkKQEAgLTEsMTkgKzEsMTkg
QEAKIGltcG9ydCB6bGliCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBpZiAi
Y29udGVudCIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIG91dHB1dCA9IHJlcXVlc3QuR0VUWyJj
b250ZW50Il0KKyAgICBpZiBiImNvbnRlbnQiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBvdXRw
dXQgPSByZXF1ZXN0LkdFVFtiImNvbnRlbnQiXQogICAgIGVsc2U6CiAgICAgICAgIG91dHB1dCA9
IHJlcXVlc3QuYm9keQogCiAgICAgb3V0cHV0ID0gemxpYi5jb21wcmVzcyhvdXRwdXQsIDkpCiAK
LSAgICBoZWFkZXJzID0gWygiQ29udGVudC10eXBlIiwgInRleHQvcGxhaW4iKSwKLSAgICAgICAg
ICAgICAgICgiQ29udGVudC1FbmNvZGluZyIsICJkZWZsYXRlIiksCi0gICAgICAgICAgICAgICAo
IlgtUmVxdWVzdC1NZXRob2QiLCByZXF1ZXN0Lm1ldGhvZCksCi0gICAgICAgICAgICAgICAoIlgt
UmVxdWVzdC1RdWVyeSIsIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGlmIHJlcXVlc3QudXJsX3Bh
cnRzLnF1ZXJ5IGVsc2UgIk5PIiksCi0gICAgICAgICAgICAgICAoIlgtUmVxdWVzdC1Db250ZW50
LUxlbmd0aCIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvbnRlbnQtTGVuZ3RoIiwgIk5PIikpLAot
ICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtQ29udGVudC1UeXBlIiwgcmVxdWVzdC5oZWFkZXJz
LmdldCgiQ29udGVudC1UeXBlIiwgIk5PIikpLAotICAgICAgICAgICAgICAgKCJDb250ZW50LUxl
bmd0aCIsIGxlbihvdXRwdXQpKV0KKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtdHlwZSIsIGIi
dGV4dC9wbGFpbiIpLAorICAgICAgICAgICAgICAgKGIiQ29udGVudC1FbmNvZGluZyIsIGIiZGVm
bGF0ZSIpLAorICAgICAgICAgICAgICAgKGIiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVlc3QubWV0
aG9kKSwKKyAgICAgICAgICAgICAgIChiIlgtUmVxdWVzdC1RdWVyeSIsIHJlcXVlc3QudXJsX3Bh
cnRzLnF1ZXJ5IGlmIHJlcXVlc3QudXJsX3BhcnRzLnF1ZXJ5IGVsc2UgYiJOTyIpLAorICAgICAg
ICAgICAgICAgKGIiWC1SZXF1ZXN0LUNvbnRlbnQtTGVuZ3RoIiwgcmVxdWVzdC5oZWFkZXJzLmdl
dChiIkNvbnRlbnQtTGVuZ3RoIiwgYiJOTyIpKSwKKyAgICAgICAgICAgICAgIChiIlgtUmVxdWVz
dC1Db250ZW50LVR5cGUiLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQ29udGVudC1UeXBlIiwgYiJO
TyIpKSwKKyAgICAgICAgICAgICAgIChiIkNvbnRlbnQtTGVuZ3RoIiwgbGVuKG91dHB1dCkpXQog
CiAgICAgcmV0dXJuIGhlYWRlcnMsIG91dHB1dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V0eXBlLmFueS5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Jlc3BvbnNldHlw
ZS5hbnkuanMKaW5kZXggODhiZDkxODllYmVkMDMxNzkwNGZhZDQyNDA4ODhhMjNjY2EyNzJjZS4u
NDQ0YzNlM2QxNjlhMGEyNjgwYmQwNTAxYjg4NTliN2NhOTdiNDI1MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V0eXBl
LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNwb25zZXR5cGUuYW55LmpzCkBAIC02OSw3ICs2OSw3IEBAIHR5cGVzLmZvckVhY2go
ZnVuY3Rpb24odHlwZSkgewogICAgICAgICBpZiAoaXNJZ25vcmVkVHlwZSh0eXBlKSkgewogICAg
ICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICB4aHIucmVzcG9uc2VUeXBlID0gdHlwZTsKICAgICAgICAgICB9KTsKICAg
ICAgICAgfQpAQCAtOTAsNyArOTAsNyBAQCB0eXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUpIHsK
ICAgICAgICAgaWYgKGlzSWdub3JlZFR5cGUodHlwZSkpIHsKICAgICAgICAgICB4aHIucmVzcG9u
c2VUeXBlID0gdHlwZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICBhc3NlcnRfdGhyb3dz
KCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFzc2VydF90aHJv
d3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgeGhy
LnJlc3BvbnNlVHlwZSA9IHR5cGU7CiAgICAgICAgICAgfSk7CiAgICAgICAgIH0KQEAgLTExMiw3
ICsxMTIsNyBAQCB0eXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgIHhoci5yZXNw
b25zZVR5cGUgPSB0eXBlOwogICAgICAgYXNzZXJ0X2VxdWFscyh4aHIucmVzcG9uc2VUeXBlLCBl
eHBlY3RlZFR5cGUodHlwZSkpOwogICAgIH0gZWxzZSB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKCJJ
bnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9t
KCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgeGhyLnJlc3BvbnNl
VHlwZSA9IHR5cGU7CiAgICAgICB9KTsKICAgICB9CkBAIC0xMjYsNyArMTI2LDcgQEAgdHlwZXMu
Zm9yRWFjaChmdW5jdGlvbih0eXBlKSB7CiAgICAgaWYgKGlzSWdub3JlZFR5cGUodHlwZSkpIHsK
ICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgIH0gZWxzZSB7Ci0gICAgICBhc3Nl
cnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgYXNzZXJ0
X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgIHho
ci5yZXNwb25zZVR5cGUgPSB0eXBlOwogICAgICAgfSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V4bWwt
bm9uLWRvY3VtZW50LXR5cGVzLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3Jlc3BvbnNleG1sLW5vbi1kb2N1bWVudC10eXBlcy5odG0KaW5kZXgg
ODRkOTBhOGQzNWFlMWQzZGEzNDk0Y2QyNjgxZWQxZWY4YjdkZWJjNi4uNmQ3ZmVlYTc1MzBlZWY3
Mjg1YjY2MjViN2IxZDY4NzA1OWZlMDAzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvcmVzcG9uc2V4bWwtbm9uLWRvY3VtZW50LXR5
cGVzLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9yZXNwb25zZXhtbC1ub24tZG9jdW1lbnQtdHlwZXMuaHRtCkBAIC0yMCwxMiArMjAsMTIg
QEAKICAgICAgICAgICBjbGllbnQub25sb2FkID0gZnVuY3Rpb24oKXsKICAgICAgICAgICAgIHRl
c3Quc3RlcChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgIGlmKHR5cGUgIT09ICdkb2N1bWVu
dCcpewotICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3Ii
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZh
bGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICB2YXIgeCA9
IGNsaWVudC5yZXNwb25zZVhNTDsKICAgICAgICAgICAgICAgICAgIH0sICdyZXNwb25zZVhNTCB0
aHJvdyBmb3IgJyt0eXBlKQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZih0
eXBlICE9PSAndGV4dCcpewotICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxp
ZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgIGFzc2VydF90aHJv
d3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg
ICAgICB2YXIgeCA9IGNsaWVudC5yZXNwb25zZVRleHQ7CiAgICAgICAgICAgICAgICAgICB9LCAn
cmVzcG9uc2VUZXh0IHRocm93cyBmb3IgJyt0eXBlKQogICAgICAgICAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJh
c2ljLWNvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDdmZmY3ZWQ0ZDg1YTdmNDYxNDMwZWM1ZjVlNmU4
MGRlZWE3NjhkMjQuLjgwNmI2ZTYwMzBiZTcyZDFjODJhY2Y1YjY3MzJiN2VmMjRmZGNjMTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtYXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNh
dGlvbi1iYXNpYy1jb3JzLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDQgQEAKLUFMRVJUOiB0ZXN0
IHN0YXJ0ZWQKLUFMRVJUOiB0ZXN0IHN0ZXBwZWQKIEJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFs
IFVSTCBodHRwOi8vd3d3MS5sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL2F1dGgxL2NvcnNl
bmFibGVkLnB5Ci1BTEVSVDogcmVhZHkgc3RhdGUgY2hhbmdlZCB0byA0Ci1BTEVSVDogZmluaXNo
aW5nIHRlc3QKIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgpIC0gIkJhc2ljIiBhdXRoZW50
aWNhdGVkIENPUlMgcmVxdWVzdHMgd2l0aCB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIHBhc3NlZCB0
byBvcGVuKCkgKGFzc2VydHMgZmFpbHVyZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24tYmFz
aWMtY29ycy1ub3QtZW5hYmxlZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMtbm90LWVuYWJs
ZWQuaHRtCmluZGV4IDY4YWQ1ZTk1ZWQ4NzBmOWIwOTQwMWU4NDE3ZGY3MDExNmMwMzM2YWYuLjJl
N2NiYWYwMzQwNDhkM2I3M2M5MDUwNDhiMDkwNTQ2YmVlNDNjYTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGlj
YXRpb24tYmFzaWMtY29ycy1ub3QtZW5hYmxlZC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1j
b3JzLW5vdC1lbmFibGVkLmh0bQpAQCAtMTgsNyArMTgsNyBAQAogICAgICAgICB1c2VyID0gdG9r
ZW4oKQogICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgbG9jYXRpb24ucHJvdG9jb2wrJy8vJyt1
cmxzdGFydCArICJyZXNvdXJjZXMvYXV0aDEwL2F1dGgucHkiLCBmYWxzZSwgdXNlciwgJ3Bhc3Mn
KQogICAgICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC11c2VyIiwgdXNlcikKLSAgICAg
ICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKXsgY2xpZW50LnNlbmQo
bnVsbCkgfSkKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0
aW9uKCl7IGNsaWVudC5zZW5kKG51bGwpIH0pCiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50
LnJlc3BvbnNlVGV4dCwgJycpCiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywg
MCkKICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQuZ2V0UmVzcG9uc2VIZWFkZXIoJ3gtY2hh
bGxlbmdlJyksIG51bGwpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMuaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRo
ZW50aWNhdGlvbi1iYXNpYy1jb3JzLmh0bQppbmRleCAxZDVmMTdlYjc0N2VjMGRjZTQxODM1OTZk
MDU2YmFlNmJmMGY4MDE2Li5mY2FjZGQ1ZmVjNGQ5OTFlMGRlZTdhYjFmZTE5NTdjMjcyNWY1OTgy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMuaHRtCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtYXV0aGVudGljYXRpb24t
YmFzaWMtY29ycy5odG0KQEAgLTExLDkgKzExLDcgQEAKICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2
PgogICAgIDxzY3JpcHQ+CiAgICAgICB2YXIgdGVzdCA9IGFzeW5jX3Rlc3QoKQotICAgICAgYWxl
cnQoInRlc3Qgc3RhcnRlZCIpOwogICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkgewotICAgICAg
ICBhbGVydCgidGVzdCBzdGVwcGVkIik7CiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0
cFJlcXVlc3QoKSwKICAgICAgICAgICB1cmxzdGFydCA9ICd3d3cxLicrbG9jYXRpb24uaG9zdCAr
IGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wvW15cL10qJC8sICcvJykKICAgICAgICAgY2xp
ZW50LndpdGhDcmVkZW50aWFscyA9IHRydWUKQEAgLTIyLDEyICsyMCwxMCBAQAogICAgICAgICBj
bGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC1wYXNzIiwgJ3Bhc3MnKQogICAgICAgICBjbGllbnQu
b25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKXsKICAgICAgICAgICBpZiAoY2xpZW50LnJl
YWR5U3RhdGUgPT09IDQpIHsKLSAgICAgICAgICAgIGFsZXJ0KCJyZWFkeSBzdGF0ZSBjaGFuZ2Vk
IHRvIDQiKTsKICAgICAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpewogICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVRleHQsICcnKQogICAgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDApCiAgICAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoY2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCd4LWNoYWxsZW5nZScpLCBudWxsKQotICAgICAg
ICAgICAgICBhbGVydCgiZmluaXNoaW5nIHRlc3QiKTsKICAgICAgICAgICAgICAgdGVzdC5kb25l
KCkKICAgICAgICAgICAgIH0pCiAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5h
bnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDNhMmZj
MzNmNjU2YmI1YWZkOTBiOTlmMGNmYzBlNmRiNzJmNmVkMmQuLjNkOTU1ODA1MTIyOGE3YjkwNmIw
NjgwYWU3NDkyMzhiZTI1NjNiNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS1leHBlY3RlZC50eHQKQEAgLTIsNiArMiw3IEBACiBQ
QVNTIHNlbmRpbmcgYSBwbGFpbiBlbXB0eSBvYmplY3QgCiBQQVNTIHNlbmRpbmcgdGhlIEVTIE1h
dGggb2JqZWN0IAogUEFTUyBzZW5kaW5nIGEgbmV3IFhIUiBpbnN0YW5jZSAKK1BBU1Mgc2VuZGlu
ZyBhIG5ldyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZSAKIFBBU1Mgc2VuZGluZyBvYmplY3QgdGhh
dCBzdHJpbmdpZmllcyB0byB1bmRlZmluZWQgCiBQQVNTIHNlbmRpbmcgb2JqZWN0IHRoYXQgc3Ry
aW5naWZpZXMgdG8gbnVsbCAKIFBBU1Mgb2JqZWN0IHRoYXQgc3RyaW5naWZpZXMgdG8gcXVlcnkg
c3RyaW5nIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS5q
cwppbmRleCBkOThhNGNhNjVhYTZiMmYzZjQwNDNmMDk3NDIzNTRlNmIxMmZmODMzLi45MjI4NmJj
YTZkZDAwYjgyYjc4ZGUzOWZjZjc5ODhiYTFjNDI0ZDA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0
LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLWRhdGEtZXMtb2JqZWN0LmFueS5qcwpAQCAtMTAsNyArMTAsMTMgQEAgZnVuY3Rp
b24gZG9fdGVzdChvYmosIGV4cGVjdGVkLCBuYW1lKSB7CiAgICAgfSk7CiAgICAgY2xpZW50Lm9w
ZW4oJ1BPU1QnLCAncmVzb3VyY2VzL2NvbnRlbnQucHknKQogICAgIGlmIChleHBlY3RlZC5leGNl
cHRpb24pIHsKLSAgICAgIGFzc2VydF90aHJvd3MoZXhwZWN0ZWQuZXhjZXB0aW9uLCBmdW5jdGlv
bigpe2NsaWVudC5zZW5kKG9iail9KQorICAgICAgaWYgKGV4cGVjdGVkLmV4Y2VwdGlvbi5pZGVu
dGl0eSkgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXhwZWN0ZWQuZXhjZXB0aW9u
LmlkZW50aXR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtjbGll
bnQuc2VuZChvYmopfSkKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGFzc2VydF90aHJvd3NfanMo
ZXhwZWN0ZWQuZXhjZXB0aW9uLmN0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKXtjbGllbnQuc2VuZChvYmopfSkKKyAgICAgIH0KICAgICAgIHRlc3QuZG9uZSgpCiAgICAg
fSBlbHNlIHsKICAgICAgIGNsaWVudC5zZW5kKG9iaikKQEAgLTIxLDYgKzI3LDcgQEAgZnVuY3Rp
b24gZG9fdGVzdChvYmosIGV4cGVjdGVkLCBuYW1lKSB7CiBkb190ZXN0KHt9LCAnW29iamVjdCBP
YmplY3RdJywgJ3NlbmRpbmcgYSBwbGFpbiBlbXB0eSBvYmplY3QnKQogZG9fdGVzdChNYXRoLCAn
W29iamVjdCBNYXRoXScsICdzZW5kaW5nIHRoZSBFUyBNYXRoIG9iamVjdCcpCiBkb190ZXN0KG5l
dyBYTUxIdHRwUmVxdWVzdCwgJ1tvYmplY3QgWE1MSHR0cFJlcXVlc3RdJywgJ3NlbmRpbmcgYSBu
ZXcgWEhSIGluc3RhbmNlJykKK2RvX3Rlc3QobmV3IFJlYWRhYmxlU3RyZWFtLCAnW29iamVjdCBS
ZWFkYWJsZVN0cmVhbV0nLCAnc2VuZGluZyBhIG5ldyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZScp
CiBkb190ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe319LCAndW5kZWZpbmVkJywgJ3NlbmRpbmcg
b2JqZWN0IHRoYXQgc3RyaW5naWZpZXMgdG8gdW5kZWZpbmVkJykKIGRvX3Rlc3Qoe3RvU3RyaW5n
OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSwgJ251bGwnLCAnc2VuZGluZyBvYmplY3QgdGhhdCBz
dHJpbmdpZmllcyB0byBudWxsJykKIHZhciBhbmNlc3RvciA9IHt0b1N0cmluZzogZnVuY3Rpb24o
KXsKQEAgLTQzLDggKzUwLDkgQEAgdmFyIG15RmFrZURvYzEgPSB7dmFsdWVPZjpmdW5jdGlvbigp
e3JldHVybiBkb2N1bWVudH19CiBkb190ZXN0KG15RmFrZURvYzEsICdbb2JqZWN0IE9iamVjdF0n
LCAnb2JqZWN0IHdob3NlIHZhbHVlT2YoKSByZXR1cm5zIGEgZG9jdW1lbnQgLSBpZ25vcmUgdmFs
dWVPZigpLCBzdHJpbmdpZnknKQogCiB2YXIgbXlGYWtlRG9jMiA9IHt0b1N0cmluZzpmdW5jdGlv
bigpe3JldHVybiBkb2N1bWVudH19Ci12YXIgZXhwZWN0ZWRFcnJvciA9IHNlbGYuR0xPQkFMLmlz
V29ya2VyKCkgPyBuZXcgUmVmZXJlbmNlRXJyb3IoKSA6IG5ldyBUeXBlRXJyb3IoKTsKLWRvX3Rl
c3QobXlGYWtlRG9jMiwge2V4Y2VwdGlvbjpleHBlY3RlZEVycm9yfSwgJ29iamVjdCB3aG9zZSB0
b1N0cmluZygpIHJldHVybnMgYSBkb2N1bWVudCwgZXhwZWN0ZWQgdG8gdGhyb3cnKQordmFyIGV4
cGVjdGVkRXJyb3IgPSBzZWxmLkdMT0JBTC5pc1dvcmtlcigpID8gUmVmZXJlbmNlRXJyb3IgOiBU
eXBlRXJyb3I7Citkb190ZXN0KG15RmFrZURvYzIsIHtleGNlcHRpb246IHsgY3RvcjogZXhwZWN0
ZWRFcnJvciB9IH0sICdvYmplY3Qgd2hvc2UgdG9TdHJpbmcoKSByZXR1cm5zIGEgZG9jdW1lbnQs
IGV4cGVjdGVkIHRvIHRocm93JykKIAotdmFyIG15VGhyb3dlciA9IHt0b1N0cmluZzpmdW5jdGlv
bigpe3Rocm93IHtuYW1lOidGb29FcnJvcicsIG1lc3NhZ2U6J2Jhcid9fX0KLWRvX3Rlc3QobXlU
aHJvd2VyLCB7ZXhjZXB0aW9uOntuYW1lOidGb29FcnJvcid9fSwgJ29iamVjdCB3aG9zZSB0b1N0
cmluZygpIHRocm93cywgZXhwZWN0ZWQgdG8gdGhyb3cnKQordmFyIGVyciA9IHtuYW1lOidGb29F
cnJvcicsIG1lc3NhZ2U6J2Jhcid9OwordmFyIG15VGhyb3dlciA9IHt0b1N0cmluZzpmdW5jdGlv
bigpe3Rocm93IGVycjt9fTsKK2RvX3Rlc3QobXlUaHJvd2VyLCB7ZXhjZXB0aW9uOiB7IGlkZW50
aXR5OiBlcnIgfX0sICdvYmplY3Qgd2hvc2UgdG9TdHJpbmcoKSB0aHJvd3MsIGV4cGVjdGVkIHRv
IHRocm93JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55Lndvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRh
dGEtZXMtb2JqZWN0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDNhMmZjMzNmNjU2YmI1
YWZkOTBiOTlmMGNmYzBlNmRiNzJmNmVkMmQuLjNkOTU1ODA1MTIyOGE3YjkwNmIwNjgwYWU3NDky
MzhiZTI1NjNiNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1lcy1vYmplY3QuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1kYXRhLWVzLW9iamVjdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDcg
QEAKIFBBU1Mgc2VuZGluZyBhIHBsYWluIGVtcHR5IG9iamVjdCAKIFBBU1Mgc2VuZGluZyB0aGUg
RVMgTWF0aCBvYmplY3QgCiBQQVNTIHNlbmRpbmcgYSBuZXcgWEhSIGluc3RhbmNlIAorUEFTUyBz
ZW5kaW5nIGEgbmV3IFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlIAogUEFTUyBzZW5kaW5nIG9iamVj
dCB0aGF0IHN0cmluZ2lmaWVzIHRvIHVuZGVmaW5lZCAKIFBBU1Mgc2VuZGluZyBvYmplY3QgdGhh
dCBzdHJpbmdpZmllcyB0byBudWxsIAogUEFTUyBvYmplY3QgdGhhdCBzdHJpbmdpZmllcyB0byBx
dWVyeSBzdHJpbmcgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFibGVzdHJlYW0uYW55LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
ZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3MWYwOWE5MGEwOWM2ODQyN2FmMWFjZDkxM2MxMDYxYWI0NjM0NGU1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVh
bS5hbnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0KLUZBSUwg
WE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNoIGdldFJlYWRlcigp
IGlzIGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gY2xpZW50LnNlbmQoc3Ry
ZWFtKSIgZGlkIG5vdCB0aHJvdwotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgpIHdpdGggYSBz
dHJlYW0gb24gd2hpY2ggcmVhZCgpIGlzIGNhbGxlZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
KCkgPT4gY2xpZW50LnNlbmQoc3RyZWFtKSIgZGlkIG5vdCB0aHJvdwotRkFJTCBYTUxIdHRwUmVx
dWVzdDogc2VuZCgpIHdpdGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGFuZCByZWxlYXNlTG9j
aygpIGFyZSBjYWxsZWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNsaWVudC5zZW5k
KHN0cmVhbSkiIGRpZCBub3QgdGhyb3cKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFu
eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5h
bnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFk
YWJsZXN0cmVhbS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFibGVzdHJlYW0uYW55LmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjY2E2ZTc2YTA0MmNjOGE1YjU1ZTFlYWQzMDZkZGFmOTQ2N2I4YzA5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJs
ZXN0cmVhbS5hbnkuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0vLyBNRVRBOiBn
bG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixzaGFyZWR3b3JrZXIKLQotZnVuY3Rpb24gYXNz
ZXJ0X3hocihzdHJlYW0pIHsKLSAgY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7
Ci0gIGNsaWVudC5vcGVuKCJQT1NUIiwgIi4uLiIpOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IoKSwgKCkgPT4gY2xpZW50LnNlbmQoc3RyZWFtKSk7Ci19Ci0KLXRlc3QoKCkgPT4gewot
ICBjb25zdCBzdHJlYW0gPSBuZXcgUmVhZGFibGVTdHJlYW0oKTsKLSAgc3RyZWFtLmdldFJlYWRl
cigpOwotICBhc3NlcnRfeGhyKHN0cmVhbSk7Ci19LCAiWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3
aXRoIGEgc3RyZWFtIG9uIHdoaWNoIGdldFJlYWRlcigpIGlzIGNhbGxlZCIpOwotCi10ZXN0KCgp
ID0+IHsKLSAgY29uc3Qgc3RyZWFtID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7Ci0gIHN0cmVhbS5n
ZXRSZWFkZXIoKS5yZWFkKCk7Ci0gIGFzc2VydF94aHIoc3RyZWFtKTsKLX0sICJYTUxIdHRwUmVx
dWVzdDogc2VuZCgpIHdpdGggYSBzdHJlYW0gb24gd2hpY2ggcmVhZCgpIGlzIGNhbGxlZCIpOwot
Ci1wcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICBjb25zdCBzdHJlYW0gPSBuZXcgUmVhZGFi
bGVTdHJlYW0oeyBwdWxsOiBjID0+IGMuZW5xdWV1ZShuZXcgVWludDhBcnJheSgpKSB9KSwKLSAg
ICAgICAgcmVhZGVyID0gc3RyZWFtLmdldFJlYWRlcigpOwotICBhd2FpdCByZWFkZXIucmVhZCgp
OwotICByZWFkZXIucmVsZWFzZUxvY2soKTsKLSAgYXNzZXJ0X3hocihzdHJlYW0pOwotfSwgIlhN
TEh0dHBSZXF1ZXN0OiBzZW5kKCkgd2l0aCBhIHN0cmVhbSBvbiB3aGljaCByZWFkKCkgYW5kIHJl
bGVhc2VMb2NrKCkgYXJlIGNhbGxlZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWYwOWE5MGEwOWM2ODQyN2Fm
MWFjZDkxM2MxMDYxYWI0NjM0NGU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotCi1GQUlMIFhNTEh0dHBSZXF1ZXN0OiBzZW5kKCkg
d2l0aCBhIHN0cmVhbSBvbiB3aGljaCBnZXRSZWFkZXIoKSBpcyBjYWxsZWQgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gIigpID0+IGNsaWVudC5zZW5kKHN0cmVhbSkiIGRpZCBub3QgdGhyb3cKLUZB
SUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3RyZWFtIG9uIHdoaWNoIHJlYWQoKSBp
cyBjYWxsZWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IGNsaWVudC5zZW5kKHN0cmVh
bSkiIGRpZCBub3QgdGhyb3cKLUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSB3aXRoIGEgc3Ry
ZWFtIG9uIHdoaWNoIHJlYWQoKSBhbmQgcmVsZWFzZUxvY2soKSBhcmUgY2FsbGVkIGFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBjbGllbnQuc2VuZChzdHJlYW0pIiBkaWQgbm90IHRocm93
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtcmVhZGFi
bGVzdHJlYW0uYW55Lndvcmtlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
MzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1yZWFkYWJsZXN0cmVhbS5hbnkud29ya2Vy
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi08IS0tIFRoaXMgZmlsZSBpcyByZXF1
aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQg
dGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVk
YXJyYXlidWZmZXIuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMjJiMzUxODhlZGIyNTE0MTY1YmFkZGRlMWI1MDhhZDQz
OWMwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM1IEBACisKK0ZBSUwgc2VuZGluZyBhIFNoYXJlZEFycmF5QnVmZmVy
IGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgIHhoci5z
ZW5kKGJ1ZikKKyAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJbnQ4QXJyYXkg
YmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24g
ImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlk
IG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWludDhBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRB
cnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNl
bmRpbmcgYSBVaW50OENsYW1wZWRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBh
c3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhy
LnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJbnQx
NkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAg
IH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQxNkFycmF5IGJhY2tlZCBieSBh
IFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cK
K0ZBSUwgc2VuZGluZyBhIEludDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIg
YXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHho
ci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWlu
dDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAg
ICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5kaW5nIGEgRmxvYXQzMkFycmF5IGJhY2tlZCBi
eSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhy
b3cKK0ZBSUwgc2VuZGluZyBhIEZsb2F0NjRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1
ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcg
YSBEYXRhVmlldyBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pz
OiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAg
ICAgICB9IiBkaWQgbm90IHRocm93CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5h
bnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEz
NTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNo
YXJlZGFycmF5YnVmZmVyLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBs
YXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1z
aGFyZWRhcnJheWJ1ZmZlci5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkxMmY2MjI2OTdkNTM4ZWRiYmMwMzhmN2VjNzZjMmU2M2VlNmZmYTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55LmpzCkBAIC0wLDAgKzEsMjYgQEAKKy8v
IE1FVEE6IHRpdGxlPVhNTEh0dHBSZXF1ZXN0LnNlbmQoc2hhcmVkYXJyYXlidWZmZXIpCisKK3Rl
c3QoKCkgPT4geworICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIC8v
IFNlZSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzUzODAgZm9yIHdoeSBu
b3QgYG5ldyBTaGFyZWRBcnJheUJ1ZmZlcigpYAorICAgIGNvbnN0IGJ1ZiA9IG5ldyBXZWJBc3Nl
bWJseS5NZW1vcnkoeyBzaGFyZWQ6dHJ1ZSwgaW5pdGlhbDoxLCBtYXhpbXVtOjEgfSkuYnVmZmVy
OworCisgICAgeGhyLm9wZW4oIlBPU1QiLCAiLi9yZXNvdXJjZXMvY29udGVudC5weSIsIHRydWUp
OworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
eGhyLnNlbmQoYnVmKQorICAgIH0pOworfSwgInNlbmRpbmcgYSBTaGFyZWRBcnJheUJ1ZmZlciIp
OworCitbIkludDhBcnJheSIsICJVaW50OEFycmF5IiwgIlVpbnQ4Q2xhbXBlZEFycmF5IiwgIklu
dDE2QXJyYXkiLCAiVWludDE2QXJyYXkiLAorICJJbnQzMkFycmF5IiwgIlVpbnQzMkFycmF5Iiwg
IkZsb2F0MzJBcnJheSIsICJGbG9hdDY0QXJyYXkiLCAiRGF0YVZpZXciXS5mb3JFYWNoKCh0eXBl
KSA9PiB7CisgICAgdGVzdCgoKSA9PiB7CisgICAgICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpOworICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1s
L2lzc3Vlcy81MzgwIGZvciB3aHkgbm90IGBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoKWAKKyAgICAg
ICAgY29uc3QgYXJyID0gbmV3IHNlbGZbdHlwZV0obmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7IHNo
YXJlZDp0cnVlLCBpbml0aWFsOjEsIG1heGltdW06MSB9KS5idWZmZXIpOworCisgICAgICAgIHho
ci5vcGVuKCJQT1NUIiwgIi4vcmVzb3VyY2VzL2NvbnRlbnQucHkiLCB0cnVlKTsKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgeGhy
LnNlbmQoYXJyKQorICAgICAgICB9KTsKKyAgICB9LCBgc2VuZGluZyBhICR7dHlwZX0gYmFja2Vk
IGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXJgKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5
YnVmZmVyLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMjJiMzUxODhlZGIyNTE0MTY1YmFkZGRl
MWI1MDhhZDQzOWMwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNSBAQAorCitGQUlMIHNlbmRpbmcgYSBT
aGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkg
eworICAgICAgICB4aHIuc2VuZChidWYpCisgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBzZW5k
aW5nIGEgSW50OEFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJv
d3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIuc2VuZChhcnIp
CisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIFVpbnQ4QXJyYXkgYmFj
a2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5v
dCB0aHJvdworRkFJTCBzZW5kaW5nIGEgVWludDhDbGFtcGVkQXJyYXkgYmFja2VkIGJ5IGEgU2hh
cmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJ
TCBzZW5kaW5nIGEgSW50MTZBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3Nl
cnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNl
bmQoYXJyKQorICAgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBVaW50MTZB
cnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAgICB9
IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBJbnQzMkFycmF5IGJhY2tlZCBieSBhIFNo
YXJlZEFycmF5QnVmZmVyIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
CisgICAgICAgICAgICB4aHIuc2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZB
SUwgc2VuZGluZyBhIFVpbnQzMkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIGFz
c2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB4aHIu
c2VuZChhcnIpCisgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgc2VuZGluZyBhIEZsb2F0
MzJBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBhc3NlcnRfdGhyb3dzX2pzOiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgeGhyLnNlbmQoYXJyKQorICAgICAg
ICB9IiBkaWQgbm90IHRocm93CitGQUlMIHNlbmRpbmcgYSBGbG9hdDY0QXJyYXkgYmFja2VkIGJ5
IGEgU2hhcmVkQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgIHhoci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJv
dworRkFJTCBzZW5kaW5nIGEgRGF0YVZpZXcgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIg
YXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHho
ci5zZW5kKGFycikKKyAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hh
cmVkYXJyYXlidWZmZXIuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS53
b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgw
YjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS53b3JrZXIu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29k
ZS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kZjAyYzUyM2NmZWM4YjkxMzc1ZDViMzU4NjA0ODM4M2VjYmJhZDYw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDExIEBACisKK1BBU1MgaW52YWxpZCB1bmljb2RlICdcdXtkODNkfScg
c2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlk
IHVuaWNvZGUgJ1x1e2Q4M2R9YWInIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNo
YXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdhXHV7ZDgzZH1iJyBzaG91bGQgYmUgZml4
ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnYWJc
dXtkODNkfScgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFT
UyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2RjOTR9JyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNl
bWVudCBjaGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnXHV7ZGM5NH1hYicgc2hvdWxk
IGJlIGZpeGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNv
ZGUgJ2FcdXtkYzk0fWInIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3Rl
ciAKK1BBU1MgaW52YWxpZCB1bmljb2RlICdhYlx1e2RjOTR9JyBzaG91bGQgYmUgZml4ZWQgd2l0
aCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgCitQQVNTIHZhbGlkIHVuaWNvZGUgc2hvdWxkIGJlIHNl
bnQgY29ycmVjdGx5IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnku
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2RlLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5
MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEt
c3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMg
ZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRo
ZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5k
LWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5p
Y29kZS5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDlkYzVhNmJjZjhkZTUzNmFlMjExZDc5NzU4OTFiZDhi
YjUyZTNkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zdHJpbmctaW52YWxpZC11bmljb2RlLmFueS5q
cwpAQCAtMCwwICsxLDQ2IEBACisvLyBNRVRBOiB0aXRsZT1YTUxIdHRwUmVxdWVzdC5zZW5kKGlu
dmFsaWRVbmljb2RlU3RyaW5nKQorCitjb25zdCBMRUZUX1NVUlJPR0FURSA9ICdcdWQ4M2QnOwor
Y29uc3QgUklHSFRfU1VSUk9HQVRFID0gJ1x1ZGM5NCc7CisKKy8vIFVubWF0Y2hlZCBzdXJyb2dh
dGVzIHNob3VsZCBiZSByZXBsYWNlZCB3aXRoIHRoZSB1bmljb2RlIHJlcGxhY2VtZW50CisvLyBj
aGFyYWN0ZXIsIDB4RkZGRC4gJyQnIGluIHRoZXNlIHRlbXBsYXRlcyBpcyByZXBsYWNlZCB3aXRo
IG9uZSBvZgorLy8gTEVGVF9TVVJST0dBVEUgb3IgUklHSFRfU1VSUk9HQVRFIGFjY29yZGluZyB0
byB0aGUgdGVzdC4KK2NvbnN0IFRFTVBMQVRFUyA9IHsKKyAgJyQnOiBbMjM5LCAxOTEsIDE4OV0s
CisgICckYWInOiBbMjM5LCAxOTEsIDE4OSwgOTcsIDk4XSwKKyAgJ2EkYic6IFs5NywgMjM5LCAx
OTEsIDE4OSwgOThdLAorICAnYWIkJzogWzk3LCA5OCwgMjM5LCAxOTEsIDE4OV0sCit9OworCitm
b3IgKGNvbnN0IHN1cnJvZ2F0ZSBvZiBbTEVGVF9TVVJST0dBVEUsIFJJR0hUX1NVUlJPR0FURV0p
IHsKKyAgZm9yIChjb25zdCBbdGVtcGxhdGUsIGV4cGVjdGVkXSBvZiBPYmplY3QuZW50cmllcyhU
RU1QTEFURVMpKSB7CisgICAgY29uc3QgaW52YWxpZFN0cmluZyA9IHRlbXBsYXRlLnJlcGxhY2Uo
JyQnLCBzdXJyb2dhdGUpOworICAgIGNvbnN0IHByaW50YWJsZVN0cmluZyA9IHRlbXBsYXRlLnJl
cGxhY2UoCisgICAgICAgICckJywgJ1xcdXsnICsgc3Vycm9nYXRlLmNoYXJDb2RlQXQoMCkudG9T
dHJpbmcoMTYpICsgJ30nKTsKKyAgICBhc3luY190ZXN0KHQgPT4geworICAgICAgeGhyU2VuZFN0
cmluZ0FuZENoZWNrUmVzcG9uc2VCb2R5KHQsIGludmFsaWRTdHJpbmcsIGV4cGVjdGVkKTsKKyAg
ICB9LCBgaW52YWxpZCB1bmljb2RlICcke3ByaW50YWJsZVN0cmluZ30nIHNob3VsZCBiZSBmaXhl
ZCB3aXRoIGAgKworICAgICAgICAgICAgICAgYHJlcGxhY2VtZW50IGNoYXJhY3RlcmApOworICB9
Cit9CisKKy8vIEZvciB0aGUgc2FrZSBvZiBjb21wbGV0ZW5lc3MsIHZlcmlmeSB0aGF0IG1hdGNo
ZWQgc3Vycm9nYXRlcyB3b3JrLgorYXN5bmNfdGVzdCh0ID0+IHsKKyAgeGhyU2VuZFN0cmluZ0Fu
ZENoZWNrUmVzcG9uc2VCb2R5KHQsIExFRlRfU1VSUk9HQVRFICsgUklHSFRfU1VSUk9HQVRFLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzI0MCwgMTU5LCAxNDYsIDE0OF0p
OworfSwgJ3ZhbGlkIHVuaWNvZGUgc2hvdWxkIGJlIHNlbnQgY29ycmVjdGx5Jyk7CisKK2Z1bmN0
aW9uIHhoclNlbmRTdHJpbmdBbmRDaGVja1Jlc3BvbnNlQm9keSh0LCBzdHJpbmcsIGV4cGVjdGVk
KSB7CisgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICB4aHIucmVzcG9uc2VU
eXBlID0gJ2FycmF5YnVmZmVyJzsKKyAgeGhyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsK
KyAgICBhc3NlcnRfZXF1YWxzKHhoci5zdGF0dXMsIDIwMCwgJ3N0YXR1cyBzaG91bGQgYmUgMjAw
Jyk7CisgICAgY29uc3QgYWN0dWFsQm9keSA9IG5ldyBVaW50OEFycmF5KHhoci5yZXNwb25zZSk7
CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWxCb2R5LCBleHBlY3RlZCwgJ2NvbnRlbnQg
c2hvdWxkIG1hdGNoJyk7CisgICAgdC5kb25lKCk7CisgIH0pOworICB4aHIub25lcnJvciA9IHQu
dW5yZWFjaGVkX2Z1bmMoJ25vIGVycm9yIHNob3VsZCBvY2N1cicpOworICB4aHIub3BlbignUE9T
VCcsICdyZXNvdXJjZXMvY29udGVudC5weScsIHRydWUpOworICB4aHIuc2VuZChzdHJpbmcpOwor
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kZjAyYzUyM2NmZWM4YjkxMzc1ZDViMzU4NjA0ODM4M2VjYmJhZDYwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitQQVNTIGludmFsaWQgdW5pY29kZSAnXHV7ZDgzZH0n
IHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1MgaW52YWxp
ZCB1bmljb2RlICdcdXtkODNkfWFiJyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBj
aGFyYWN0ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnYVx1e2Q4M2R9Yicgc2hvdWxkIGJlIGZp
eGVkIHdpdGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ2Fi
XHV7ZDgzZH0nIHNob3VsZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BB
U1MgaW52YWxpZCB1bmljb2RlICdcdXtkYzk0fScgc2hvdWxkIGJlIGZpeGVkIHdpdGggcmVwbGFj
ZW1lbnQgY2hhcmFjdGVyIAorUEFTUyBpbnZhbGlkIHVuaWNvZGUgJ1x1e2RjOTR9YWInIHNob3Vs
ZCBiZSBmaXhlZCB3aXRoIHJlcGxhY2VtZW50IGNoYXJhY3RlciAKK1BBU1MgaW52YWxpZCB1bmlj
b2RlICdhXHV7ZGM5NH1iJyBzaG91bGQgYmUgZml4ZWQgd2l0aCByZXBsYWNlbWVudCBjaGFyYWN0
ZXIgCitQQVNTIGludmFsaWQgdW5pY29kZSAnYWJcdXtkYzk0fScgc2hvdWxkIGJlIGZpeGVkIHdp
dGggcmVwbGFjZW1lbnQgY2hhcmFjdGVyIAorUEFTUyB2YWxpZCB1bmljb2RlIHNob3VsZCBiZSBz
ZW50IGNvcnJlY3RseSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55
Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1kYXRhLXN0cmluZy1pbnZhbGlkLXVuaWNvZGUuYW55Lndvcmtlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkud29ya2VyLmh0bWwKQEAg
LTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGlu
ZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXVuZXhwZWN0ZWQtdG9zdHJpbmcuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXVu
ZXhwZWN0ZWQtdG9zdHJpbmcuaHRtCmluZGV4IGI4YTNiNGFlNjkwMjM1N2NmZTM5MmM0ODRlODQx
M2JmZjE3MjkwNjEuLjI5MGFlMjA2NWZjMGZlOTEzOTUyNzY0OTZhM2RlZGZkMmNkNzg3MmUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtZGF0YS11bmV4cGVjdGVkLXRvc3RyaW5nLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtdW5leHBlY3RlZC10b3N0
cmluZy5odG0KQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICAgIHRlc3QzLmRvbmUoKQogICAgIH0pCiAg
ICAgY2xpZW50Lm9wZW4oJ1BPU1QnLCAncmVzb3VyY2VzL2NvbnRlbnQucHknKQotICAgIGFzc2Vy
dF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywgZnVuY3Rpb24oKXsKKyAgICBhc3NlcnRfdGhy
b3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCBmdW5jdGlvbigpewogICAgICAgY2xpZW50LnNl
bmQob2JqU2VuZHNPblN0cmluZ2lmaWNhdGlvbikKICAgICB9KQogICB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50
aXR5LWJvZHktZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQK
aW5kZXggOGZhZTcyMTg1MTQ2ZGI4NzFhZGE3NDcwOTFhYWVmNDM0YmMxZDlmYi4uOTczNzI0MzU1
YmE5ODdjZjBiOTU5OWFiNWJhZDI5NDE4MDE0Njk1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw1IEBACiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkgZW50aXR5IGJv
ZHkgKFBPU1QpIAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0eSBlbnRpdHkg
Ym9keSAoUFVUKSAKLVBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0gZW1wdHkgZW50aXR5
IGJvZHkgKEhFQUQpIAorRkFJTCBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikgLSBlbXB0eSBlbnRp
dHkgYm9keSAoSEVBRCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQgZ290ICIwIgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZW5kLWVudGl0eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1ub25lLWV4
cGVjdGVkLnR4dAppbmRleCBmNjI2ZDIwNmY5NzkyNzJmNGM4M2ViN2Y1MGQzMGUxYWMwMDE1NTFl
Li41M2Q0NjdiMTdmMzg5NzZjODliZTMzNmY4N2I0NzFmYTEwMTdiNDJkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWVudGl0
eS1ib2R5LW5vbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktbm9uZS1leHBlY3RlZC50eHQK
QEAgLTEsNyArMSw3IEBACiAKIFBBU1MgTm8gY29udGVudCB0eXBlIChQT1NUKSAKIFBBU1MgTm8g
Y29udGVudCB0eXBlIChQVVQpIAotUEFTUyBObyBjb250ZW50IHR5cGUgKEhFQUQpIAorRkFJTCBO
byBjb250ZW50IHR5cGUgKEhFQUQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJOTyIgYnV0IGdv
dCAiMCIKIFBBU1MgRXhwbGljaXQgY29udGVudCB0eXBlIChQT1NUKSAKIFBBU1MgRXhwbGljaXQg
Y29udGVudCB0eXBlIChQVVQpIAogRkFJTCBFeHBsaWNpdCBjb250ZW50IHR5cGUgKEhFQUQpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJOTyIgYnV0IGdvdCAiMCIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbmV0d29yay1l
cnJvci1hc3luYy1ldmVudHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbmV0d29yay1lcnJvci1hc3luYy1ldmVu
dHMuc3ViLWV4cGVjdGVkLnR4dAppbmRleCBlYjgxYmY2ODVmZjM0Y2VhOTQyNTNiYmU2YzY5ODRk
ZWYwZWY0NjM0Li44MjEwOTYxOTVlZjFhNzNiYjNhOTM1MDNiNjkzZjgxYzVkZDE3ZDI1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLW5ldHdvcmstZXJyb3ItYXN5bmMtZXZlbnRzLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3Jr
LWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNCBAQAotQUxF
UlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAogQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHA6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6ODgwMC8KLUFMRVJUOiBy
ZWFkeSBzdGF0ZSBpcyA0Ci1BTEVSVDogbG9hZCBlbmRlZAogCiBQQVNTIFhNTEh0dHBSZXF1ZXN0
OiBUaGUgc2VuZCgpIG1ldGhvZDogRmlyZSBhIHByb2dyZXNzIGV2ZW50IG5hbWVkIGVycm9yIHdo
ZW4gTmV0d29yayBlcnJvciBoYXBwZW5zIChzeW5jaHJvbm91cyBmbGFnIGlzIHVuc2V0KSAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWIuaHRtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFz
eW5jLWV2ZW50cy5zdWIuaHRtCmluZGV4IDMxZGNkZmY3MmM3ZjI4ZmNkYzkxMDg0ZWZkYTc1OGM3
ZjM5MzRlYmQuLmM1MWEwNWNkMjAxMDA2ZWQ3MDMyZWI3Y2YxOTNkZjIxNDkyMDNkNjYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtbmV0d29yay1lcnJvci1hc3luYy1ldmVudHMuc3ViLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3ItYXN5
bmMtZXZlbnRzLnN1Yi5odG0KQEAgLTE2LDI0ICsxNiwyMCBAQAogCiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICB2YXIgdGVzdCA9IGFzeW5jX3Rlc3QoKTsKLSAg
ICAgICAgYWxlcnQoInRlc3Qgc3RhcnRlZCIpOwogCiAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlv
bigpewotICAgICAgICAgICAgYWxlcnQoInRlc3Qgc3RlcHBlZCIpOwogICAgICAgICAgICAgdmFy
IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICAgICAgdmFyIGV4cGVjdCA9ICBb
ImxvYWRzdGFydCIsICJ1cGxvYWQubG9hZHN0YXJ0IiwgNCwgInVwbG9hZC5lcnJvciIsICJ1cGxv
YWQubG9hZGVuZCIsICJlcnJvciIsICJsb2FkZW5kIl07CiAgICAgICAgICAgICB2YXIgYWN0dWFs
ID0gW107CiAKICAgICAgICAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSB0ZXN0LnN0ZXBf
ZnVuYygoKSA9PiB7CiAgICAgICAgICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IDQpIHsK
LSAgICAgICAgICAgICAgICAgICAgYWxlcnQoInJlYWR5IHN0YXRlIGlzIDQiKTsKICAgICAgICAg
ICAgICAgICAgICAgYWN0dWFsLnB1c2goeGhyLnJlYWR5U3RhdGUpOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAgICB4aHIub25sb2Fkc3RhcnQgICAgICAg
ID0gdGVzdC5zdGVwX2Z1bmMoZSA9PiB7IGFjdHVhbC5wdXNoKGUudHlwZSk7IH0pCiAgICAgICAg
ICAgICB4aHIub25sb2FkZW5kICAgICAgICAgID0gdGVzdC5zdGVwX2Z1bmNfZG9uZShlID0+IHsK
LSAgICAgICAgICAgICAgICBhbGVydCgibG9hZCBlbmRlZCIpOwogICAgICAgICAgICAgICAgIGFj
dHVhbC5wdXNoKGUudHlwZSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhh
Y3R1YWwsIGV4cGVjdCk7CiAgICAgICAgICAgICB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLXN5
bmMtZXZlbnRzLnN1Yi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3luYy1ldmVudHMuc3ViLmh0bQppbmRleCBi
OWY0ZmRmOTlkZTdjYjZiOWU1ZGE4NmUxYjUxM2Q4ZGExZWI4YTZkLi4yMjY2ZWIzNmUxZTM3OTFh
NGZhMWI3MGVhMDg0Y2M2ZmNlYWQ5MjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3luYy1ldmVu
dHMuc3ViLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3hoci9zZW5kLW5ldHdvcmstZXJyb3Itc3luYy1ldmVudHMuc3ViLmh0bQpAQCAtMTksNyAr
MTksNyBAQAogCiAgICAgICAgICAgICB4aHIub3BlbigiUE9TVCIsICJodHRwOi8vbm9uZXhpc3Rl
bnQue3tob3N0fX06e3twb3J0c1todHRwXVswXX19IiwgZmFsc2UpOwogCi0gICAgICAgICAgICBh
c3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpCisgICAgICAgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKQogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgIHhoci5zZW5kKCJUZXN0IE1lc3NhZ2UiKTsKICAgICAgICAgICAgIH0p
OwpAQCAtMzMsNyArMzMsNyBAQAogCiAgICAgICAgICAgICB4aHIub3BlbigiR0VUIiwgImRhdGE6
dGV4dC9odG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBUME5VV1ZCRklHaDBiV3clMkJEUW84Iiwg
ZmFsc2UpOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5j
dGlvbigpCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgZnVu
Y3Rpb24oKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHhoci5zZW5kKCJUZXN0IE1l
c3NhZ2UiKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1ub24tc2FtZS1vcmlnaW4uaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1ub24t
c2FtZS1vcmlnaW4uaHRtCmluZGV4IDZkYmJjYTc0NzdkMmZhMGViZDExMzJlMjNiZDFhMjU2NWQ1
NTBlYTIuLmJiOWYzMmMxNzRmODg4M2FkOTI4ODU4YTFkMjY5NmRiMTFkMzMxMzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
bm9uLXNhbWUtb3JpZ2luLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLW5vbi1zYW1lLW9yaWdpbi5odG0KQEAgLTE4LDcgKzE4LDcg
QEAKICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgICB2YXIgY2xpZW50ID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCkKICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgdXJsLCBmYWxz
ZSkKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsg
Y2xpZW50LnNlbmQoKSB9KQorICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJy
b3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQoKSB9KQogICAgICAgICB9LCBkb2N1bWVudC50
aXRsZSArICIgKCIgKyB1cmwgKyAiKSIpCiAgICAgICB9CiAgICAgICB1cmwoIm1haWx0bzp0ZXN0
QGV4YW1wbGUub3JnIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtYm9ndXMtc3luYy5odG0gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWJv
Z3VzLXN5bmMuaHRtCmluZGV4IGE5ZGM3M2U1ZmQ3NTRmM2UyMTkzYmQxM2Q3MGVkMGNjYTU5ODNj
ZDIuLjBmMDU5OGIxNjQ1NDUxYTVmYjBkYWRhNThlOGZhYjA2Nzg4NjhhZDcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVk
aXJlY3QtYm9ndXMtc3luYy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC1ib2d1cy1zeW5jLmh0bQpAQCAtMTMsNyAr
MTMsNyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBjbGllbnQg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVz
b3VyY2VzL3JlZGlyZWN0LnB5P2xvY2F0aW9uPSIgKyBsb2NhdGlvbiArICImY29kZT0iICsgY29k
ZSwgZmFsc2UpCi0gICAgICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rp
b24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
Ik5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQogICAgICAg
ICB9LCBkb2N1bWVudC50aXRsZSArICIgKCIgKyBjb2RlICsgIjogIiArIGxvY2F0aW9uICsgIiki
KQogICAgICAgfQogICAgICAgcmVkaXJlY3QoIjMwMSIsICJmb29iYXI6Ly9hYmNkIikKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtcmVkaXJlY3QtaW5maW5pdGUtc3luYy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWluZmluaXRlLXN5bmMuaHRtCmlu
ZGV4IDZlOWU0N2U1NWZjOWY4NGQ0ODA2MjNmZjc1ZmUwZGMzYjUxZWFlYTAuLmNjNmQ3YTI0YmY2
MzE0NmRiZmU0MDU3ZjVlN2U5MjVkOTRiNWEzNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtaW5maW5pdGUt
c3luYy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1yZWRpcmVjdC1pbmZpbml0ZS1zeW5jLmh0bQpAQCAtMTUsNyArMTUsNyBAQAog
ICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1M
SHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2lu
ZmluaXRlLXJlZGlyZWN0cy5weT90eXBlPSIrY29kZSwgZmFsc2UpCi0gICAgICAgICAgYXNzZXJ0
X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0p
CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkg
eyBjbGllbnQuc2VuZChudWxsKSB9KQogICAgICAgICB9LCBkb2N1bWVudC50aXRsZSArICIgKCIg
KyBjb2RlICsgIikiKQogICAgICAgfQogICAgICAgcmVkaXJlY3QoIjMwMSIpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJl
ZGlyZWN0LXRvLWNvcnMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC10by1jb3JzLmh0bQppbmRleCAwNGEyYTFmZmU4N2Qy
OGU0NDMzYmU2YjRhZGVkOTIxNWFjYWZkNDBmLi41NGQ3ZWI1NTBkZjc1MTBhNThjMThiZjU3ZTZi
MTYxNGU3NmUwMGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtdG8t
Y29ycy5odG0KQEAgLTEyLDExICsxMiwxMSBAQAogICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCkg
ewogICAgICAgICAgIHJldHVybiB7IGJvZHk6ICIiLCB0eXBlOiAiTk8iIH07CiAgICAgICAgIH0K
LSAgICAgICAgaWYgKHR5cGVvZiBib2R5ID09ICJzdHJpbmciKSB7CisgICAgICAgIGlmICh0eXBl
b2YgYm9keSA9PT0gInN0cmluZyIpIHsKICAgICAgICAgICByZXR1cm4geyBib2R5OiBib2R5LCB0
eXBlOiAidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04IiB9OwogICAgICAgICB9CiAgICAgICAgIGlm
IChib2R5IGluc3RhbmNlb2YgVWludDhBcnJheSkgewotICAgICAgICAgIHZhciBhcnIgPSBBcnJh
eS5wcm90b3R5cGUuc2xpY2UuY2FsbChib2R5KTsKKyAgICAgICAgICBjb25zdCBhcnIgPSBBcnJh
eS5wcm90b3R5cGUuc2xpY2UuY2FsbChib2R5KTsKICAgICAgICAgICByZXR1cm4geyBib2R5OiBT
dHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGFyciksIHR5cGU6ICJOTyIgfQogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiB7IGJvZHk6ICJFWFRSQUNUIE5PVCBJTVBMRU1FTlRFRCIsIHR5
cGU6ICJFWFRSQUNUIE5PVCBJTVBMRU1FTlRFRCIgfQpAQCAtMjQsNDkgKzI0LDU0IEBACiAKICAg
ICAgIGZ1bmN0aW9uIHJlZGlyZWN0KGNvZGUsIG5hbWUgPSBjb2RlLCBtZXRob2QgPSAiR0VUIiwg
Ym9keSA9IG51bGwsIGV4cGxpY2l0VHlwZSA9IG51bGwsIHNhZmVsaXN0Q29udGVudFR5cGUgPSBm
YWxzZSkgewogICAgICAgICBhc3luY190ZXN0KHQgPT4gewotICAgICAgICAgIHZhciBjbGllbnQg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKQorICAgICAgICAgIGxldCB7IGJvZHk6IGV4cGVjdGVkQm9k
eSwgdHlwZTogZXhwZWN0ZWRUeXBlIH0gPSBleHRyYWN0Qm9keShib2R5KTsKKyAgICAgICAgICBp
ZiAoZXhwbGljaXRUeXBlICE9PSBudWxsKSB7CisgICAgICAgICAgICBleHBlY3RlZFR5cGUgPSBl
eHBsaWNpdFR5cGU7CisgICAgICAgICAgfQorICAgICAgICAgIGxldCBleHBlY3RlZE1ldGhvZCA9
IG1ldGhvZDsKKyAgICAgICAgICBpZiAoKChjb2RlID09PSAiMzAxIiB8fCBjb2RlID09PSAiMzAy
IikgJiYgbWV0aG9kID09PSAiUE9TVCIpIHx8IChjb2RlID09PSAiMzAzIiAmJiBtZXRob2QgIT09
ICJHRVQiICYmIG1ldGhvZCAhPT0gIkhFQUQiKSkgeworICAgICAgICAgICAgZXhwZWN0ZWRNZXRo
b2QgPSAiR0VUIjsKKyAgICAgICAgICAgIGV4cGVjdGVkQm9keSA9ICIiOworICAgICAgICAgICAg
ZXhwZWN0ZWRUeXBlID0gIk5PIjsKKyAgICAgICAgICB9CisgICAgICAgICAgY29uc3QgY2xpZW50
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgY2xpZW50Lm9ucmVhZHlzdGF0ZWNo
YW5nZSA9IHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgICAgICAgIGlmIChjbGllbnQucmVhZHlT
dGF0ZSA9PSA0KSB7Ci0gICAgICAgICAgICAgIGlmIChleHBsaWNpdFR5cGUgIT09ICJhcHBsaWNh
dGlvbi94LXBvbnkiIHx8IHNhZmVsaXN0Q29udGVudFR5cGUpIHsKLSAgICAgICAgICAgICAgICB2
YXIgeyBib2R5OiBleHBlY3RlZEJvZHksIHR5cGU6IGV4cGVjdGVkVHlwZSB9ID0gZXh0cmFjdEJv
ZHkoYm9keSk7Ci0gICAgICAgICAgICAgICAgaWYgKGV4cGxpY2l0VHlwZSAhPT0gbnVsbCkgewot
ICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRUeXBlID0gZXhwbGljaXRUeXBlCi0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgoKGNvZGUgPT09ICIzMDEiIHx8IGNvZGUgPT09
ICIzMDIiKSAmJiBtZXRob2QgPT09ICJQT1NUIikgfHwgY29kZSA9PT0gIjMwMyIpIHsKLSAgICAg
ICAgICAgICAgICAgIG1ldGhvZCA9ICJHRVQiCi0gICAgICAgICAgICAgICAgICBleHBlY3RlZEJv
ZHkgPSAiIgotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjbGllbnQucmVhZHlT
dGF0ZSA9PT0gNCkgeworICAgICAgICAgICAgICBpZiAoKGV4cGVjdGVkTWV0aG9kID09PSAiR0VU
IiAmJiBleHBlY3RlZFR5cGUgPT09ICJOTyIpIHx8IGV4cGxpY2l0VHlwZSAhPT0gImFwcGxpY2F0
aW9uL3gtcG9ueSIgfHwgc2FmZWxpc3RDb250ZW50VHlwZSkgewogICAgICAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywgMjAwKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRlcigieC1yZXF1ZXN0LW1ldGhvZCIpLCBtZXRo
b2QpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LmdldFJlc3BvbnNlSGVh
ZGVyKCJ4LXJlcXVlc3QtbWV0aG9kIiksIGV4cGVjdGVkTWV0aG9kKTsKICAgICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRlcigieC1yZXF1ZXN0LWNvbnRl
bnQtdHlwZSIpLCBleHBlY3RlZFR5cGUpOwogICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
Y2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCJ4LXJlcXVlc3QtZGF0YSIpLCBleHBlY3RlZEJvZHkp
OwogICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vICJhcHBsaWNhdGlv
bi94LXBvbnkiIGlzIG5vdCBzYWZlbGlzdGVkIGJ5IGNvcnNlbmFibGVkLnB5IC0+IG5ldHdvcmsg
ZXJyb3IKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDApCi0g
ICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQuc3RhdHVzVGV4dCwgIiIpCi0gICAg
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQucmVzcG9uc2VUZXh0LCAiIikKLSAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVhNTCwgbnVsbCkKKyAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDApOworICAgICAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1c1RleHQsICIiKTsKKyAgICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVRleHQsICIiKTsKKyAgICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZVhNTCwgbnVsbCk7CiAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgdC5kb25lKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgfSkK
LSAgICAgICAgICBsZXQgc2FmZWxpc3QgPSAiIgorICAgICAgICAgIH0pOworICAgICAgICAgIGxl
dCBzYWZlbGlzdCA9ICIiOwogICAgICAgICAgIGlmIChzYWZlbGlzdENvbnRlbnRUeXBlKSB7Ci0g
ICAgICAgICAgICBzYWZlbGlzdCA9ICI/c2FmZWxpc3RfY29udGVudF90eXBlIgorICAgICAgICAg
ICAgc2FmZWxpc3QgPSAiP3NhZmVsaXN0X2NvbnRlbnRfdHlwZSI7CiAgICAgICAgICAgfQotICAg
ICAgICAgIGNsaWVudC5vcGVuKG1ldGhvZCwgInJlc291cmNlcy9yZWRpcmVjdC5weT9sb2NhdGlv
bj0iK2VuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3d3dzIuIitsb2NhdGlvbi5ob3N0Kyhsb2Nh
dGlvbi5wYXRobmFtZS5yZXBsYWNlKC9bXlwvXSskLywgJycpKSsncmVzb3VyY2VzL2NvcnNlbmFi
bGVkLnB5Jykrc2FmZWxpc3QrIiZjb2RlPSIgKyBjb2RlKQorICAgICAgICAgIGNsaWVudC5vcGVu
KG1ldGhvZCwgInJlc291cmNlcy9yZWRpcmVjdC5weT9sb2NhdGlvbj0iK2VuY29kZVVSSUNvbXBv
bmVudCgiaHR0cDovL3d3dzIuIitsb2NhdGlvbi5ob3N0Kyhsb2NhdGlvbi5wYXRobmFtZS5yZXBs
YWNlKC9bXlwvXSskLywgJycpKSsncmVzb3VyY2VzL2NvcnNlbmFibGVkLnB5Jykrc2FmZWxpc3Qr
IiZjb2RlPSIgKyBjb2RlKTsKICAgICAgICAgICBpZiAoZXhwbGljaXRUeXBlICE9PSBudWxsKSB7
Ci0gICAgICAgICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgZXhw
bGljaXRUeXBlKQorICAgICAgICAgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQt
VHlwZSIsIGV4cGxpY2l0VHlwZSk7CiAgICAgICAgICAgfQotICAgICAgICAgIGNsaWVudC5zZW5k
KGJvZHkpCi0gICAgICAgIH0sIGRvY3VtZW50LnRpdGxlICsgIiAoIiArIG5hbWUgKyAiKSIpCisg
ICAgICAgICAgY2xpZW50LnNlbmQoYm9keSk7CisgICAgICAgIH0sIGRvY3VtZW50LnRpdGxlICsg
IiAoIiArIG5hbWUgKyAiKSIpOwogICAgICAgfQorICAgICAgLy8gY29yc2VuYWJsZWQucHkgc2Fm
ZWxpc3RzIG1ldGhvZHMgR0VULCBQT1NULCBQVVQsIGFuZCBGT08KICAgICAgIHJlZGlyZWN0KCIz
MDEiKQogICAgICAgcmVkaXJlY3QoIjMwMSIsICIzMDEgR0VUIHdpdGggZXhwbGljaXQgQ29udGVu
dC1UeXBlIiwgIkdFVCIsIG51bGwsICJhcHBsaWNhdGlvbi94LXBvbnkiKQogICAgICAgcmVkaXJl
Y3QoIjMwMSIsICIzMDEgR0VUIHdpdGggZXhwbGljaXQgQ29udGVudC1UeXBlIHNhZmVsaXN0ZWQi
LCAiR0VUIiwgbnVsbCwgImFwcGxpY2F0aW9uL3gtcG9ueSIsIHRydWUpCisgICAgICByZWRpcmVj
dCgiMzAzIiwgIjMwMyBHRVQgd2l0aCBleHBsaWNpdCBDb250ZW50LVR5cGUgc2FmZWxpc3RlZCIs
ICJHRVQiLCBudWxsLCAiYXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkKICAgICAgIHJlZGlyZWN0
KCIzMDIiKQogICAgICAgcmVkaXJlY3QoIjMwMyIpCi0gICAgICByZWRpcmVjdCgiMzAzIiwgIjMw
MyBMQUxBIHdpdGggc3RyaW5nIGFuZCBleHBsaWNpdCBDb250ZW50LVR5cGUgc2FmZWxpc3RlZCIs
ICJMQUxBIiwgInRlc3QiLCAiYXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkKKyAgICAgIHJlZGly
ZWN0KCIzMDIiLCAiMzAyIEZPTyB3aXRoIHN0cmluZyBhbmQgZXhwbGljaXQgQ29udGVudC1UeXBl
IHNhZmVsaXN0ZWQiLCAiRk9PIiwgInRlc3QiLCAiYXBwbGljYXRpb24veC1wb255IiwgdHJ1ZSkK
KyAgICAgIHJlZGlyZWN0KCIzMDMiLCAiMzAzIEZPTyB3aXRoIHN0cmluZyBhbmQgZXhwbGljaXQg
Q29udGVudC1UeXBlIHNhZmVsaXN0ZWQiLCAiRk9PIiwgInRlc3QiLCAiYXBwbGljYXRpb24veC1w
b255IiwgdHJ1ZSkKICAgICAgIHJlZGlyZWN0KCIzMDciKQogICAgICAgcmVkaXJlY3QoIjMwNyIs
ICIzMDcgcG9zdCB3aXRoIG51bGwiLCAiUE9TVCIsIG51bGwpCiAgICAgICByZWRpcmVjdCgiMzA3
IiwgIjMwNyBwb3N0IHdpdGggc3RyaW5nIiwgIlBPU1QiLCAiaGVsbG8iKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1zZW5k
LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtc2VuZC5hbnkuanMKaW5kZXggMmJmZTQwNDM2ZjRhNmJhOGMzYWRjMTUyYzE4NmE3YjZk
MjcyYjExNC4uNjRiMTU1NDE4MDk3M2E0Mjk5MzY2MGFmNzkyNjg4OTU4ODk5NzE2ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2Vu
ZC1zZW5kLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZW5kLXNlbmQuYW55LmpzCkBAIC0yLDYgKzIsNiBAQCB0ZXN0KGZ1bmN0aW9u
KCkgewogICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgY2xpZW50Lm9wZW4o
IkdFVCIsICJyZXNvdXJjZXMvd2VsbC1mb3JtZWQueG1sIikKICAgY2xpZW50LnNlbmQobnVsbCkK
LSAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50
LnNlbmQobnVsbCkgfSkKKyAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwg
ZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCiAgIGNsaWVudC5hYm9ydCgpCiB9LCAi
WE1MSHR0cFJlcXVlc3Q6IHNlbmQoKSAtIHNlbmQoKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1h
ZnRlci1zZW5kLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3NldHJlcXVlc3RoZWFkZXItYWZ0ZXItc2VuZC5odG0KaW5kZXggN2NjZGIzZTRjMzEw
OTA5MTI4NmMwMmJiZWE3YTU4OTIyMTU3MTRmMC4uMTc0ZTllYzQxOTZjN2ViNGI1ZmFlMDUwYTRj
ZTliMDFhNTBlZTg0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1hZnRlci1zZW5kLmh0bQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0
aGVhZGVyLWFmdGVyLXNlbmQuaHRtCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgICAgIGNsaWVudC5v
cGVuKCJHRVQiLCAicmVzb3VyY2VzL2RlbGF5LnB5P21zPTAiKQogICAgICAgICBjbGllbnQub25y
ZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBm
dW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0ZXN0IikgfSkK
KyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0
aW9uKCkgeyBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigieC10ZXN0IiwgInRlc3QiKSB9KQogICAg
ICAgICAgICAgaWYoY2xpZW50LnJlYWR5U3RhdGUgPT0gNCkKICAgICAgICAgICAgICAgdGVzdC5k
b25lKCkKICAgICAgICAgICB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1iZWZvcmUtb3Blbi5odG0g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1
ZXN0aGVhZGVyLWJlZm9yZS1vcGVuLmh0bQppbmRleCBjYmU0YjI5OWM5ZGFjMTgxNTQzNDA0OTMw
NzNlNzQxOWIwNzczY2I4Li41YzM3N2ZiYzEwMDc2YTJkOThiYjRiZGM0NmNlMmVjOGMxOGFjNmFm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJlZm9yZS1vcGVuLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJlZm9y
ZS1vcGVuLmh0bQpAQCAtMTEsNyArMTEsNyBAQAogICAgIDxzY3JpcHQ+CiAgICAgICB0ZXN0KGZ1
bmN0aW9uKCkgewogICAgICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKLSAg
ICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xp
ZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0ZXN0IikgfSkKKyAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRS
ZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCAidGVzdCIpIH0pCiAgICAgICAgIH0sICdzZXRSZXF1ZXN0
SGVhZGVyIGludm9rZWQgYmVmb3JlIG9wZW4oKScpCiAgICAgPC9zY3JpcHQ+CiAgIDwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NldHJlcXVlc3RoZWFkZXItYm9ndXMtbmFtZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3VzLW5hbWUu
aHRtCmluZGV4IDg2ZTU1ZjMzYTAwNjQ5Y2YyNWMwNWIwNDkxNGZiNzc1NmVmNmJjYjkuLmNlMjMw
OGNjNjdkZWJiNTI4MDAxNTNhMDg0YWY2MTQ4MjNmNTk5MTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NldHJlcXVlc3RoZWFkZXIt
Ym9ndXMtbmFtZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1ib2d1cy1uYW1lLmh0bQpAQCAtMjcsMTQgKzI3
LDE0IEBACiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgdmFyIGNsaWVudCA9
IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgICAgY2xpZW50Lm9wZW4oIkdFVCIsICIuLi4i
KQotICAgICAgICAgIGFzc2VydF90aHJvd3MoIlN5bnRheEVycm9yIiwgZnVuY3Rpb24oKSB7IGNs
aWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkKKyAgICAgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVl
c3RIZWFkZXIobmFtZSwgJ3gtdmFsdWUnKSB9KQogICAgICAgICB9LCAic2V0UmVxdWVzdEhlYWRl
ciBzaG91bGQgdGhyb3cgd2l0aCBoZWFkZXIgbmFtZSAiICsgZm9ybWF0X3ZhbHVlKGludmFsaWRf
aGVhZGVyc1tpXSkgKyAiLiIpCiAgICAgICB9CiAgICAgICBmdW5jdGlvbiB0cnlfYnl0ZV9zdHJp
bmcobmFtZSkgewogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBjbGll
bnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICAgIGNsaWVudC5vcGVuKCJHRVQiLCAi
Li4uIikKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24o
KSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkKKyAgICAgICAg
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKG5hbWUsICd4LXZhbHVlJykgfSkKICAgICAgICAgfSwgInNldFJlcXVlc3RIZWFk
ZXIgc2hvdWxkIHRocm93IHdpdGggaGVhZGVyIG5hbWUgIiArIGZvcm1hdF92YWx1ZShpbnZhbGlk
X2J5dGVfc3RyaW5nc1tpXSkgKyAiLiIpCiAgICAgICB9CiAgICAgICB2YXIgaW52YWxpZF9oZWFk
ZXJzID0gWyIoIiwgIikiLCAiPCIsICI+IiwgIkAiLCAiLCIsICI7IiwgIjoiLCAiXFwiLApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2V0cmVxdWVzdGhlYWRlci1ib2d1cy12YWx1ZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3VzLXZhbHVlLmh0
bQppbmRleCAxNWZiYjM5MDUyNTI2ZGYwNTJhZjg5NDBjYjhkYjcxNDkzMDJhZmM0Li5jYmEzNDFj
NWRjNjg5MzM2NjI5ZjUyNWNmZTY3MjRmZjAwMmU4MzhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJv
Z3VzLXZhbHVlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWJvZ3VzLXZhbHVlLmh0bQpAQCAtMTQsNyArMTQs
NyBAQAogICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBjbGllbnQgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIp
OwotICAgICAgICAgIGFzc2VydF90aHJvd3MoIlN5bnRheEVycm9yIiwgZnVuY3Rpb24oKSB7IGNs
aWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCB2YWx1ZSkgfSwgJyBnaXZlbiB2YWx1ZSAn
ICsgdmFsdWUrJywgJyk7CisgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlN5bnRheEVycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCB2YWx1ZSkg
fSwgJyBnaXZlbiB2YWx1ZSAnICsgdmFsdWUrJywgJyk7CiAgICAgICAgIH0pOwogICAgICAgfQog
ICAgICAgdHJ5X3ZhbHVlKCJ0XHgwMHQiKTsKQEAgLTIzLDEzICsyMywxMyBAQAogICAgICAgdGVz
dChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgp
OwogICAgICAgICBjbGllbnQub3BlbigiR0VUIiwgIi4uLiIpOwotICAgICAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVy
KCJ4LXRlc3QiLCAi776D7729776EIikgfSwgJyBnaXZlbiB2YWx1ZSDvvoPvvb3vvoQsJyk7Cisg
ICAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgY2xpZW50LnNl
dFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICLvvoPvvb3vvoQiKSB9LCAnIGdpdmVuIHZhbHVlIO++
g++9ve++hCwnKTsKICAgICAgIH0pOwogCiAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgewogICAgICAg
ICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICAgICAgY2xpZW50Lm9wZW4o
IkdFVCIsICIuLi4iKQotICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVu
Y3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiKSB9KQorICAgICAgICBh
c3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0
SGVhZGVyKCJ4LXRlc3QiKSB9KQogICAgICAgfSwgJ09taXR0ZWQgdmFsdWUgYXJndW1lbnQnKQog
ICAgIDwvc2NyaXB0PgogICA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlw
ZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlwZS5odG0KaW5kZXggODYwOGM1OTY3ZDZiMjliYTRm
OWQwOWFlN2JmMzk1YTZiMjY4NzZjMi4uMDcyMzgzOTFlYjVjYzg2MzllZGJlOTk2MjA4YTE4YjZk
OWQyNmIwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2V0cmVxdWVzdGhlYWRlci1jb250ZW50LXR5cGUuaHRtCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NldHJlcXVlc3RoZWFk
ZXItY29udGVudC10eXBlLmh0bQpAQCAtMjE1LDI0ICsyMTUsNiBAQAogICAgICAgICAvLyBodHRw
czovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jYm9keWluaXQsIHNvIHRoZSB1c2VyJ3MgbXVzdCBi
ZSBjaGFuZ2VkIHRvIG1hdGNoIGl0CiAgICAgICAgIC8vIGFzIHBlciBodHRwczovL3hoci5zcGVj
LndoYXR3Zy5vcmcvI3RoZS1zZW5kJTI4JTI5LW1ldGhvZCBzdGVwIDQuCiAgICAgICApCi0gICAg
ICByZXF1ZXN0KAotICAgICAgICBmdW5jdGlvbiBfUmVhZGFibGVTdHJlYW0oKSB7IHJldHVybiBu
ZXcgUmVhZGFibGVTdHJlYW0oKSB9LAotICAgICAgICB7IkNvbnRlbnQtVHlwZSI6ICIifSwKLSAg
ICAgICAgIiIsCi0gICAgICAgICdSZWFkYWJsZVN0cmVhbSByZXF1ZXN0IHJlc3BlY3RzIHNldFJl
cXVlc3RIZWFkZXIoIiIpJwotICAgICAgKQotICAgICAgcmVxdWVzdCgKLSAgICAgICAgZnVuY3Rp
b24gX1JlYWRhYmxlU3RyZWFtKCkgeyByZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFtKCkgfSwKLSAg
ICAgICAge30sCi0gICAgICAgIHVuZGVmaW5lZCwKLSAgICAgICAgIlJlYWRhYmxlU3RyZWFtIHJl
cXVlc3Qgd2l0aCB1bmRlciB0eXBlIHNlbmRzIG5vIENvbnRlbnQtVHlwZSB3aXRob3V0IHNldFJl
cXVlc3RIZWFkZXIoKSBjYWxsIgotICAgICAgKQotICAgICAgcmVxdWVzdCgKLSAgICAgICAgZnVu
Y3Rpb24gX1JlYWRhYmxlU3RyZWFtKCkgeyByZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFtKCkgfSwK
LSAgICAgICAgeyJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24veG1sO2NoYXJzZXQ9QVNDSUki
fSwKLSAgICAgICAgImFwcGxpY2F0aW9uL3htbDtjaGFyc2V0PUFTQ0lJIiwKLSAgICAgICAgIlJl
YWRhYmxlU3RyZWFtIHJlcXVlc3Qga2VlcHMgc2V0UmVxdWVzdEhlYWRlcigpIENvbnRlbnQtVHlw
ZSBhbmQgY2hhcnNldCIKLSAgICAgICkKICAgICA8L3NjcmlwdD4KICAgPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvdGltZW91dC1zeW5jLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3RpbWVvdXQtc3luYy5odG0KaW5kZXggOTgxNTUzMmM3MGZmMzQ3MTk5
YTk5OGYwMmJmNGIxMWYxNWM3YmNlZS4uZDhiMmNjNDhmMzY0N2QyMTZhMzgyNGUxMzkxY2QyNjEy
NDE5YzFmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvdGltZW91dC1zeW5jLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci90aW1lb3V0LXN5bmMuaHRtCkBAIC0xMywxMiArMTMs
MTIgQEAKICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBjbGllbnQgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKQogICAgICAgICBjbGllbnQub3BlbignR0VUJywgJ2ZvbGRlci50eHQn
LCBmYWxzZSkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVu
Y3Rpb24oKSB7IGNsaWVudC50aW1lb3V0ID0gMTAwMCB9KQorICAgICAgICBhc3NlcnRfdGhyb3dz
X2RvbSgiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC50aW1lb3V0ID0g
MTAwMCB9KQogICAgICAgICB9LCAnc2V0dGluZyB0aW1lb3V0IGF0dHJpYnV0ZSBvbiBzeW5jIHJl
cXVlc3QnKQogICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNsaWVudCA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgIGNsaWVudC50aW1lb3V0ID0gMTAwMAotICAgICAg
ICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50
Lm9wZW4oJ0dFVCcsICdmb2xkZXIudHh0JywgZmFsc2UpIH0pCisgICAgICAgIGFzc2VydF90aHJv
d3NfZG9tKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50Lm9wZW4oJ0dF
VCcsICdmb2xkZXIudHh0JywgZmFsc2UpIH0pCiAgICAgICAgIH0sICdvcGVuKCkgd2l0aCBhc3lu
YyBmYWxzZSB3aGVuIHRpbWVvdXQgaXMgc2V0JykKICAgICA8L3NjcmlwdD4KICAgPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZwppbmRleCA2OGRlNzI2YzgyNWY3MTdhYWMzOWQ3MTUx
NDk5ODllYTczZGZkMzJmLi40NWFmMzFhYTIwOWRiOTFlOTQzYTc2NGM4ODEwMDI1ZDU4YmE1NDAz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci93M2MtaW1wb3J0LmxvZwpAQCAtODUsNiArODUsNyBAQCBMaXN0IG9m
IGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L2FsbG93LWxpc3RzLXN0YXJ0aW5nLXdpdGgtY29tbWEuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvYW5vbnltb3VzLW1vZGUtdW5zdXBwb3J0ZWQu
aHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvY2xv
c2Utd29ya2VyLXdpdGgteGhyLWluLXByb2dyZXNzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9jb3JzLWV4cG9zZS1zdGFyLnN1Yi5hbnkuanMK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9kYXRhLXVy
aS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9l
dmVudC1hYm9ydC5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWIuaHRtbApAQCAtMjIzLDcgKzIyNCw4IEBA
IExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1kYXRhLWJsb2IuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLWVzLW9iamVjdC5hbnkuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtZm9ybWRh
dGEuYW55LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvc2VuZC1kYXRhLXJlYWRhYmxlc3RyZWFtLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5h
bnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLWRhdGEtc3RyaW5nLWludmFsaWQtdW5pY29kZS5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtdW5leHBlY3RlZC10b3N0
cmluZy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLWVudGl0eS1ib2R5LWJhc2ljLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktZG9jdW1lbnQtYm9ndXMuaHRt
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci94bWxodHRwcmVxdWVzdC1uZXR3b3JrLWVycm9yLXN5bmMuaHRtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIveG1saHR0cHJlcXVlc3QtbmV0d29y
ay1lcnJvci1zeW5jLmh0bQppbmRleCBjNGE4ODdhMWViZWU3NjM5MGRlYTkyOGY4YzU2YTJjOGYz
NGQ2YWQyLi5lZTM2N2ZiZTBlZTI0NWI5ZjhkZmJmNmRlMTMyOTdlMmI2MjM5YmMwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxo
dHRwcmVxdWVzdC1uZXR3b3JrLWVycm9yLXN5bmMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LW5ldHdvcmstZXJy
b3Itc3luYy5odG0KQEAgLTIwLDcgKzIwLDcgQEAKICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CiAg
ICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICBjbGllbnQu
b3BlbigiR0VUIiwgInJlc291cmNlcy9pbmZpbml0ZS1yZWRpcmVjdHMucHkiLCBmYWxzZSkKLSAg
ICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5z
ZW5kKG51bGwpIH0sICJzZW5kIikKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5ldHdvcmtF
cnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9LCAic2VuZCIpCiAgICAgICAg
IGFzc2VydF9lcXVhbHMoY2xpZW50LnN0YXR1cywgMCwgInN0YXR1cyIpCiAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoY2xpZW50LnN0YXR1c1RleHQsICIiLCAic3RhdHVzVGV4dCIpCiAgICAgICAgIGFz
c2VydF9lcXVhbHMoY2xpZW50LmdldEFsbFJlc3BvbnNlSGVhZGVycygpLCAiIiwgImdldEFsbFJl
c3BvbnNlSGVhZGVycyIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC11bnNlbnQuaHRtIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIveG1saHR0cHJlcXVlc3QtdW5z
ZW50Lmh0bQppbmRleCBlYjUyZDYzZWVmOTcxODk1ZjY5ZjFiMDE1MWJhYTQ1NzI1MGRkNDUyLi44
MjI4MmIwMTYzZTZhYjQ5M2RlNDA0OTIwYzY2YTYyNmQ5NTRjMmZlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVz
dC11bnNlbnQuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LXVuc2VudC5odG0KQEAgLTIwLDggKzIwLDggQEAKICAg
ICA8c2NyaXB0PgogICAgICAgdGVzdChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNsaWVudCA9
IG5ldyBYTUxIdHRwUmVxdWVzdCgpCi0gICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0
ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCJ4LXRlc3QiLCAi
dGVzdCIpIH0sICJzZXRSZXF1ZXN0SGVhZGVyIikKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52
YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSwgInNlbmQi
KQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlv
bigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIngtdGVzdCIsICJ0ZXN0IikgfSwgInNldFJl
cXVlc3RIZWFkZXIiKQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJy
b3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSwgInNlbmQiKQogICAgICAgICBh
c3NlcnRfZXF1YWxzKGNsaWVudC5zdGF0dXMsIDAsICJzdGF0dXMiKQogICAgICAgICBhc3NlcnRf
ZXF1YWxzKGNsaWVudC5zdGF0dXNUZXh0LCAiIiwgInN0YXR1c1RleHQiKQogICAgICAgICBhc3Nl
cnRfZXF1YWxzKGNsaWVudC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSwgIiIsICJnZXRBbGxSZXNw
b25zZUhlYWRlcnMiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVs
YXRvci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVk
YXJyYXlidWZmZXIuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW11bGF0b3IvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1kYXRhLXNo
YXJlZGFycmF5YnVmZmVyLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM4MzQyZDljNzEz
Mjc5MmM3NGVjNDEzYjE0YTEyMDk1NmU2OWExYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1kYXRhLXNoYXJlZGFycmF5YnVmZmVyLmFueS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorCitGQUlMIHNlbmRpbmcgYSBTaGFyZWRBcnJheUJ1ZmZlciBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBXZWJBc3NlbWJseQorRkFJTCBzZW5kaW5nIGEgSW50OEFycmF5IGJhY2tlZCBi
eSBhIFNoYXJlZEFycmF5QnVmZmVyIENhbid0IGZpbmQgdmFyaWFibGU6IFdlYkFzc2VtYmx5CitG
QUlMIHNlbmRpbmcgYSBVaW50OEFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIENh
bid0IGZpbmQgdmFyaWFibGU6IFdlYkFzc2VtYmx5CitGQUlMIHNlbmRpbmcgYSBVaW50OENsYW1w
ZWRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBXZWJBc3NlbWJseQorRkFJTCBzZW5kaW5nIGEgSW50MTZBcnJheSBiYWNrZWQgYnkgYSBTaGFy
ZWRBcnJheUJ1ZmZlciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXZWJBc3NlbWJseQorRkFJTCBzZW5k
aW5nIGEgVWludDE2QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogV2ViQXNzZW1ibHkKK0ZBSUwgc2VuZGluZyBhIEludDMyQXJyYXkgYmFja2Vk
IGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV2ViQXNzZW1ibHkK
K0ZBSUwgc2VuZGluZyBhIFVpbnQzMkFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVy
IENhbid0IGZpbmQgdmFyaWFibGU6IFdlYkFzc2VtYmx5CitGQUlMIHNlbmRpbmcgYSBGbG9hdDMy
QXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
V2ViQXNzZW1ibHkKK0ZBSUwgc2VuZGluZyBhIEZsb2F0NjRBcnJheSBiYWNrZWQgYnkgYSBTaGFy
ZWRBcnJheUJ1ZmZlciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXZWJBc3NlbWJseQorRkFJTCBzZW5k
aW5nIGEgRGF0YVZpZXcgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogV2ViQXNzZW1ibHkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRh
dGEtc2hhcmVkYXJyYXlidWZmZXIuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3NlbmQtZGF0YS1zaGFyZWRhcnJheWJ1ZmZlci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MzgzNDJkOWM3MTMyNzkyYzc0ZWM0MTNiMTRhMTIwOTU2ZTY5YTFhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLWRhdGEtc2hhcmVkYXJyYXlidWZmZXIu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorCitGQUlMIHNlbmRpbmcg
YSBTaGFyZWRBcnJheUJ1ZmZlciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXZWJBc3NlbWJseQorRkFJ
TCBzZW5kaW5nIGEgSW50OEFycmF5IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIENhbid0
IGZpbmQgdmFyaWFibGU6IFdlYkFzc2VtYmx5CitGQUlMIHNlbmRpbmcgYSBVaW50OEFycmF5IGJh
Y2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIENhbid0IGZpbmQgdmFyaWFibGU6IFdlYkFzc2Vt
Ymx5CitGQUlMIHNlbmRpbmcgYSBVaW50OENsYW1wZWRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRB
cnJheUJ1ZmZlciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXZWJBc3NlbWJseQorRkFJTCBzZW5kaW5n
IGEgSW50MTZBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBXZWJBc3NlbWJseQorRkFJTCBzZW5kaW5nIGEgVWludDE2QXJyYXkgYmFja2VkIGJ5
IGEgU2hhcmVkQXJyYXlCdWZmZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV2ViQXNzZW1ibHkKK0ZB
SUwgc2VuZGluZyBhIEludDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJyYXlCdWZmZXIgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogV2ViQXNzZW1ibHkKK0ZBSUwgc2VuZGluZyBhIFVpbnQzMkFycmF5
IGJhY2tlZCBieSBhIFNoYXJlZEFycmF5QnVmZmVyIENhbid0IGZpbmQgdmFyaWFibGU6IFdlYkFz
c2VtYmx5CitGQUlMIHNlbmRpbmcgYSBGbG9hdDMyQXJyYXkgYmFja2VkIGJ5IGEgU2hhcmVkQXJy
YXlCdWZmZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV2ViQXNzZW1ibHkKK0ZBSUwgc2VuZGluZyBh
IEZsb2F0NjRBcnJheSBiYWNrZWQgYnkgYSBTaGFyZWRBcnJheUJ1ZmZlciBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBXZWJBc3NlbWJseQorRkFJTCBzZW5kaW5nIGEgRGF0YVZpZXcgYmFja2VkIGJ5IGEg
U2hhcmVkQXJyYXlCdWZmZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV2ViQXNzZW1ibHkKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci9ldmVudC1lcnJvci1vcmRlci5zdWItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9ldmVudC1lcnJvci1vcmRlci5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGIzMzBiYjMwOWY2
MzgyODlkOWFjOWNjNGZkMmVlZGRlNmIxOTZmZDkuLjVkM2Y4MTVkNjU3YzVmMmExZmFkZjE0MTFi
Nzk3ZDE3Yzk5ODhiMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvZXZlbnQtZXJyb3Itb3JkZXIuc3Vi
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL2V2ZW50LWVycm9yLW9yZGVyLnN1Yi1leHBlY3Rl
ZC50eHQKQEAgLTEsNyArMSwzIEBACi1BTEVSVDogdGVzdCBzdGFydGVkCi1BTEVSVDogdGVzdCBz
dGVwcGVkCi1BTEVSVDogbG9hZCBlbmRlZAotQUxFUlQ6IGZpbmlzaGluZyB0ZXN0CiAKIFBBU1Mg
WE1MSHR0cFJlcXVlc3Q6IGV2ZW50IC0gZXJyb3IgKG9yZGVyIG9mIGV2ZW50cykgCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc2VuZC1hdXRoZW50aWNhdGlvbi1iYXNpYy1jb3JzLWV4cGVjdGVkLnR4dApp
bmRleCBkNDE3NWEyODFmYTBmZjBhZmRmMTFiYTA4NWNkZTdiOTc4MWQ2ODBjLi4zNzIzYmMyOWM5
ZTc0ODZmODA1NDZkMjVkOWYwYzFjMzhjMGVjNDA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQt
YXV0aGVudGljYXRpb24tYmFzaWMtY29ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5k
LWF1dGhlbnRpY2F0aW9uLWJhc2ljLWNvcnMtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAot
QUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6IHRlc3Qgc3RlcHBlZAotQUxFUlQ6IHJlYWR5IHN0
YXRlIGNoYW5nZWQgdG8gNAotQUxFUlQ6IGZpbmlzaGluZyB0ZXN0CiAKIFBBU1MgWE1MSHR0cFJl
cXVlc3Q6IHNlbmQoKSAtICJCYXNpYyIgYXV0aGVudGljYXRlZCBDT1JTIHJlcXVlc3RzIHdpdGgg
dXNlciBuYW1lIGFuZCBwYXNzd29yZCBwYXNzZWQgdG8gb3BlbigpIChhc3NlcnRzIGZhaWx1cmUp
IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtbmV0d29yay1lcnJvci1hc3luYy1ldmVudHMu
c3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50
cy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IDFiNGNhMzVhNTU2YzBmMzY1ZWMwMDY3MTBlOWRiZjhl
ZmMwMTYwOGQuLjJhMTQ1OGU0MWE1NmU5NDA4OGVjN2RkZDI4ZDVlYzczYmFhZWIzZmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1uZXR3b3JrLWVycm9yLWFzeW5jLWV2ZW50cy5zdWIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAotQUxFUlQ6IHRlc3Qgc3RhcnRlZAotQUxFUlQ6
IHRlc3Qgc3RlcHBlZAotQUxFUlQ6IHJlYWR5IHN0YXRlIGlzIDQKLUFMRVJUOiBsb2FkIGVuZGVk
CiAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IFRoZSBzZW5kKCkgbWV0aG9kOiBGaXJlIGEgcHJvZ3Jl
c3MgZXZlbnQgbmFtZWQgZXJyb3Igd2hlbiBOZXR3b3JrIGVycm9yIGhhcHBlbnMgKHN5bmNocm9u
b3VzIGZsYWcgaXMgdW5zZXQpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1l
bXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1lbXB0eS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3MzcyNDM1NWJhOTg3Y2YwYjk1OTlh
YjViYWQyOTQxODAxNDY5NTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktZW1wdHktZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNSArMCwwIEBACi0KLVBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIpIC0g
ZW1wdHkgZW50aXR5IGJvZHkgKFBPU1QpIAotUEFTUyBYTUxIdHRwUmVxdWVzdDogc2VuZCgiIikg
LSBlbXB0eSBlbnRpdHkgYm9keSAoUFVUKSAKLUZBSUwgWE1MSHR0cFJlcXVlc3Q6IHNlbmQoIiIp
IC0gZW1wdHkgZW50aXR5IGJvZHkgKEhFQUQpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJOTyIg
YnV0IGdvdCAiMCIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtZW50aXR5LWJvZHktbm9uZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1lbnRpdHktYm9keS1ub25lLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTNkNDY3YjE3ZjM4OTc2Yzg5YmUzMzZmODdiNDcxZmEx
MDE3YjQyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94
aHIvc2VuZC1lbnRpdHktYm9keS1ub25lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDggKzAsMCBAQAotCi1QQVNTIE5vIGNvbnRlbnQgdHlwZSAoUE9TVCkgCi1QQVNTIE5vIGNvbnRl
bnQgdHlwZSAoUFVUKSAKLUZBSUwgTm8gY29udGVudCB0eXBlIChIRUFEKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiTk8iIGJ1dCBnb3QgIjAiCi1QQVNTIEV4cGxpY2l0IGNvbnRlbnQgdHlwZSAo
UE9TVCkgCi1QQVNTIEV4cGxpY2l0IGNvbnRlbnQgdHlwZSAoUFVUKSAKLUZBSUwgRXhwbGljaXQg
Y29udGVudCB0eXBlIChIRUFEKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiTk8iIGJ1dCBnb3Qg
IjAiCi0K
</data>

          </attachment>
      

    </bug>

</bugzilla>