<?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>192800</bug_id>
          
          <creation_ts>2018-12-17 21:26:55 -0800</creation_ts>
          <short_desc>Update CSS Properties and Values API to use new cycle fallback behaviour</short_desc>
          <delta_ts>2018-12-18 19:22:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Michaud">justin_michaud</reporter>
          <assigned_to name="Justin Michaud">justin_michaud</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1488767</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-12-17 21:26:55 -0800</bug_when>
    <thetext>I re-imported the WPT tests for the CSS Properties and Values API, and it it seems that chromium developers changed the behaviour of fallbacks with cycles.

Before, if a cycle was detected, the registered variable acted like it was unset. This matches the spec (see the font-size example): &lt;https://drafts.css-houdini.org/css-properties-values-api/#dependency-cycles-via-relative-units&gt;.

Now, it acts like it is invalid. This seems to fit with the spirit of CSS variables more, although I could not find a spec bug documenting this change. I might not be searching correctly, although it would be nice if the WPT pr linked to it if it existed. I did find the Chromium PR to the WPT repo which changed the tests: &lt;https://github.com/web-platform-tests/wpt/pull/14039&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488771</commentid>
    <comment_count>1</comment_count>
      <attachid>357532</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-12-17 21:30:03 -0800</bug_when>
    <thetext>Created attachment 357532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488840</commentid>
    <comment_count>2</comment_count>
      <attachid>357532</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-12-18 00:17:38 -0800</bug_when>
    <thetext>Comment on attachment 357532
Patch

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

&gt; Source/WebCore/css/CSSVariableReferenceValue.cpp:89
&gt; +    if ((!property || property-&gt;isInvalid()) &amp;&amp; fallbackReturn) {
&gt; +        result.appendVector(fallbackResult);
&gt; +        return fallbackReturn;
&gt; +    }
&gt; +
&gt; +    if (!property || property-&gt;isInvalid())
&gt; +        return false;

More compactly:

if (!property || property-&gt;isInvalid()) {
    if (fallbackReturn)
        result.appendVector(fallbackResult);
    return fallbackReturn;
}

&gt; LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt:28
&gt; -PASS syntax:&apos;&lt;length-percentage&gt;&apos;, initialValue:&apos;calc(-11px + 10.4%)&apos; is valid 
&gt; +FAIL syntax:&apos;&lt;length-percentage&gt;&apos;, initialValue:&apos;calc(-11px + 10.4%)&apos; is valid The given initial value does not parse for the given syntax.

Why do some of these go from PASS to FAIL? You could mention it in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488934</commentid>
    <comment_count>3</comment_count>
      <attachid>357578</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-12-18 10:10:36 -0800</bug_when>
    <thetext>Created attachment 357578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489106</commentid>
    <comment_count>4</comment_count>
      <attachid>357624</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-12-18 15:33:28 -0800</bug_when>
    <thetext>Created attachment 357624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489178</commentid>
    <comment_count>5</comment_count>
      <attachid>357624</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-18 19:21:23 -0800</bug_when>
    <thetext>Comment on attachment 357624
Patch

Clearing flags on attachment: 357624

Committed r239365: &lt;https://trac.webkit.org/changeset/239365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489179</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-18 19:21:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489181</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-18 19:22:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/46829637&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357532</attachid>
            <date>2018-12-17 21:30:03 -0800</date>
            <delta_ts>2018-12-18 10:10:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192800-20181217212957.patch</filename>
            <type>text/plain</type>
            <size>142076</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM5MjJkMjVjNGExODg4
NzY5YzZiOTBkM2FmNzhkM2MyYzk0MWNmYy4uMWZiMmM2MDZhNzM4NTdhNTJjMTZmNDg2YTY3ZGFm
ZDI4YTY0OGU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTEyLTE3ICBKdXN0
aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUg
Q1NTIFByb3BlcnRpZXMgYW5kIFZhbHVlcyBBUEkgdG8gdXNlIG5ldyBjeWNsZSBmYWxsYmFjayBi
ZWhhdmlvdXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MjgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2UgQ1NTIHZhcmlhYmxlcyB0aGF0IGFyZSByZWdpc3RlcmVkIGFuZCBpbnZvbHZlZCBpbiBh
IGN5Y2xlIGJlIHRyZWF0ZWQgYXMgaW52YWxpZC4gVGhpcyBhbHNvIGZpeGVzIGEgY3Jhc2ggaW4g
dGhlCisgICAgICAgIHdwdCB0ZXN0cyB3aGVyZSByZWxhdGl2ZSB1bml0cyBhbmQgY2FsYygpIGlu
IGEgcmVnaXN0ZXJlZCBwcm9wZXJ0eSdzIGluaXRpYWwgc3ludGF4IHdvdWxkIGJyZWFrIHRoaW5n
cy4KKworICAgICAgICAqIGNzcy9DU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmg6CisgICAgICAgICog
Y3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVz
b2x2ZVZhcmlhYmxlUmVmZXJlbmNlKToKKyAgICAgICAgKiBjc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0
b21Qcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01DU1NSZWdpc3RlckN1c3RvbVBy
b3BlcnR5OjpyZWdpc3RlclByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseUNhc2NhZGVkQ3VzdG9t
UHJvcGVydHkpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9w
ZXJ0eVZhbHVlKToKKwogMjAxOC0xMi0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBTdXBwb3J0IGRyb3BwaW5nIGNvbnRhY3QgY2FyZCBk
YXRhIChwdWJsaWMudmNhcmQpIGluIGVkaXRhYmxlIGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCmluZGV4IGZlODUwMjU1OGM0MWUzNWRhYzliZTBl
Nzg0MzlkYzQzN2FhOWI5NDQuLmJkYWE3NGQ1NWEwZjg3MTkyNmRmNTg2YjY2YmMwMmFhYzkwZTY3
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXN0b21Qcm9wZXJ0eVZhbHVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaApAQCAt
NjcsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIFJlZjxDU1NDdXN0b21Qcm9w
ZXJ0eVZhbHVlPiBjcmVhdGVTeW50YXhMZW5ndGgoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBM
ZW5ndGggdmFsdWUpCiAgICAgeworICAgICAgICBBU1NFUlQoIXZhbHVlLmlzVW5kZWZpbmVkKCkp
OworICAgICAgICBBU1NFUlQoIXZhbHVlLmlzQ2FsY3VsYXRlZCgpKTsKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZShuYW1lLCB7IFdURk1vdmUodmFs
dWUpIH0pKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJp
YWJsZVJlZmVyZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJl
ZmVyZW5jZVZhbHVlLmNwcAppbmRleCA3N2E1MjNlNGQ3ZGRhZGYwMzBhMTI0MDVkZTdmYzJmY2M3
YTExNGZjLi5mZjc0YWE4OWI4ZDFkMTRlMzcyZjFkMTQ3OWZhZGYxNjQwM2Y1M2ViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCkBAIC03
MCwxOCArNzAsMjQgQEAgc3RhdGljIGJvb2wgcmVzb2x2ZVZhcmlhYmxlUmVmZXJlbmNlKENTU1Bh
cnNlclRva2VuUmFuZ2UgcmFuZ2UsIFZlY3RvcjxDU1NQYXJzZXIKIAogICAgIC8vIEFwcGx5IGZh
bGxiYWNrIHRvIGRldGVjdCBjeWNsZXMKICAgICBWZWN0b3I8Q1NTUGFyc2VyVG9rZW4+IGZhbGxi
YWNrUmVzdWx0OwotICAgIHJlc29sdmVWYXJpYWJsZUZhbGxiYWNrKENTU1BhcnNlclRva2VuUmFu
Z2UocmFuZ2UpLCBmYWxsYmFja1Jlc3VsdCwgc3RhdGUpOworICAgIGJvb2wgZmFsbGJhY2tSZXR1
cm4gPSByZXNvbHZlVmFyaWFibGVGYWxsYmFjayhDU1NQYXJzZXJUb2tlblJhbmdlKHJhbmdlKSwg
ZmFsbGJhY2tSZXN1bHQsIHN0YXRlKTsKIAogICAgIGF1dG8qIHByb3BlcnR5ID0gc3R5bGUuZ2V0
Q3VzdG9tUHJvcGVydHkodmFyaWFibGVOYW1lKTsKIAotICAgIGlmICghcHJvcGVydHkgfHwgcHJv
cGVydHktPmlzVW5zZXQoKSB8fCBwcm9wZXJ0eS0+aXNJbnZhbGlkKCkpIHsKKyAgICBpZiAoIXBy
b3BlcnR5IHx8IHByb3BlcnR5LT5pc1Vuc2V0KCkpIHsKICAgICAgICAgYXV0byogcmVnaXN0ZXJl
ZCA9IHJlZ2lzdGVyZWRQcm9wZXJ0aWVzLmdldCh2YXJpYWJsZU5hbWUpOwogICAgICAgICBpZiAo
cmVnaXN0ZXJlZCAmJiByZWdpc3RlcmVkLT5pbml0aWFsVmFsdWUoKSkKICAgICAgICAgICAgIHBy
b3BlcnR5ID0gcmVnaXN0ZXJlZC0+aW5pdGlhbFZhbHVlKCk7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIHJldHVybiByZXNvbHZlVmFyaWFibGVGYWxsYmFjayhyYW5nZSwgcmVzdWx0LCBzdGF0
ZSk7CiAgICAgfQogCisgICAgaWYgKCghcHJvcGVydHkgfHwgcHJvcGVydHktPmlzSW52YWxpZCgp
KSAmJiBmYWxsYmFja1JldHVybikgeworICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKGZhbGxi
YWNrUmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrUmV0dXJuOworICAgIH0KKworICAg
IGlmICghcHJvcGVydHkgfHwgcHJvcGVydHktPmlzSW52YWxpZCgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKICAgICBBU1NFUlQocHJvcGVydHktPmlzUmVzb2x2ZWQoKSk7CiAgICAgcmVzdWx0
LmFwcGVuZFZlY3Rvcihwcm9wZXJ0eS0+dG9rZW5zKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5jcHAKaW5kZXggYTg5MDY2OWY2
NTUwMTA2MzZiZTIxYTdhOThkYTVmMzBkYTAyMDM2OC4uN2VjZDkzZDdkYzNkNDMyZWFmODJiYzk1
NmU2MWQ0ODlhNTEwNjI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1Jl
Z2lzdGVyQ3VzdG9tUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NS
ZWdpc3RlckN1c3RvbVByb3BlcnR5LmNwcApAQCAtNDAsNiArNDAsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IERPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHk6
OnJlZ2lzdGVyUHJvcGVydHkoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBET01DU1NDdXN0b21Q
cm9wZXJ0eURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiB7CisgICAgaWYgKCFpc0N1c3RvbVByb3Bl
cnR5TmFtZShkZXNjcmlwdG9yLm5hbWUpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3lu
dGF4RXJyb3IsICJUaGUgbmFtZSBvZiB0aGlzIHByb3BlcnR5IGlzIG5vdCBhIGN1c3RvbSBwcm9w
ZXJ0eSBuYW1lLiIgfTsKKwogICAgIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBpbml0
aWFsVmFsdWU7CiAgICAgaWYgKCFkZXNjcmlwdG9yLmluaXRpYWxWYWx1ZS5pc0VtcHR5KCkpIHsK
ICAgICAgICAgQ1NTVG9rZW5pemVyIHRva2VuaXplcihkZXNjcmlwdG9yLmluaXRpYWxWYWx1ZSk7
CkBAIC01MCwxMiArNTMsMTcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gRE9NQ1NTUmVnaXN0ZXJDdXN0
b21Qcm9wZXJ0eTo6cmVnaXN0ZXJQcm9wZXJ0eShEb2N1bWVudCYgZG9jdW0KICAgICAgICAgc3R5
bGVSZXNvbHZlci5hcHBseVByb3BlcnR5VG9TdHlsZShDU1NQcm9wZXJ0eUludmFsaWQsIG51bGxw
dHIsIHN0eWxlUmVzb2x2ZXIuZGVmYXVsdFN0eWxlRm9yRWxlbWVudCgpKTsKICAgICAgICAgc3R5
bGVSZXNvbHZlci51cGRhdGVGb250KCk7CiAKKyAgICAgICAgSGFzaFNldDxDU1NQcm9wZXJ0eUlE
PiBkZXBlbmRlbmNpZXM7CisgICAgICAgIENTU1Byb3BlcnR5UGFyc2VyOjpjb2xsZWN0UGFyc2Vk
Q3VzdG9tUHJvcGVydHlWYWx1ZURlcGVuZGVuY2llcyhkZXNjcmlwdG9yLnN5bnRheCwgZmFsc2Us
IGRlcGVuZGVuY2llcywgdG9rZW5pemVyLnRva2VuUmFuZ2UoKSwgc3RyaWN0Q1NTUGFyc2VyQ29u
dGV4dCgpKTsKKworICAgICAgICBpZiAoIWRlcGVuZGVuY2llcy5pc0VtcHR5KCkpCisgICAgICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IsICJUaGUgZ2l2ZW4gaW5pdGlhbCB2
YWx1ZSBtdXN0IGJlIGNvbXB1dGF0aW9uYWxseSBpbmRlcGVuZGVudC4iIH07CisKICAgICAgICAg
aW5pdGlhbFZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0
eVZhbHVlKGRlc2NyaXB0b3IubmFtZSwgZGVzY3JpcHRvci5zeW50YXgsIHRva2VuaXplci50b2tl
blJhbmdlKCksIHN0eWxlUmVzb2x2ZXIsIHN0cmljdENTU1BhcnNlckNvbnRleHQoKSk7CiAKICAg
ICAgICAgaWYgKCFpbml0aWFsVmFsdWUgfHwgIWluaXRpYWxWYWx1ZS0+aXNSZXNvbHZlZCgpKQog
ICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yLCAiVGhlIGdpdmVuIGlu
aXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguIiB9OwogCi0g
ICAgICAgIEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4gZGVwZW5kZW5jaWVzOwogICAgICAgICBpbml0
aWFsVmFsdWUtPmNvbGxlY3REaXJlY3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzKGRlcGVuZGVu
Y2llcyk7CiAgICAgICAgIGluaXRpYWxWYWx1ZS0+Y29sbGVjdERpcmVjdFJvb3RDb21wdXRhdGlv
bmFsRGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCA3NGZhM2Y1Mzk4ZmU2ZmJlNDI0NmNlNmMxMGQzOGQ1OWY4ZTJiM2E2Li5k
NWVlOTM0ZDIzMDFlOGIzMDE4MmRmZDk3ZDUwZDEwMjYyNmE0M2UxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0yMzE5LDYgKzIzMTksNyBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmFwcGx5Q2FzY2FkZWRDdXN0b21Qcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsIEFwcGx5
Q2FzY2FkZQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIHByb3BlcnR5ID0gc3RhdGUuY2Fz
Y2FkZS0+Y3VzdG9tUHJvcGVydGllcygpLmdldChuYW1lKTsKKyAgICBib29sIGluQ3ljbGUgPSBz
dGF0ZS5pblByb2dyZXNzUHJvcGVydGllc0N1c3RvbS5jb250YWlucyhuYW1lKTsKIAogICAgIGZv
ciAoYXV0byBpbmRleCA6IHsgU2VsZWN0b3JDaGVja2VyOjpNYXRjaERlZmF1bHQsIFNlbGVjdG9y
Q2hlY2tlcjo6TWF0Y2hMaW5rLCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoVmlzaXRlZCB9KSB7CiAg
ICAgICAgIGlmICghcHJvcGVydHkuY3NzVmFsdWVbaW5kZXhdKQpAQCAtMjMyOCwxMyArMjMyOSw5
IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlDYXNjYWRlZEN1c3RvbVByb3BlcnR5KGNvbnN0
IFN0cmluZyYgbmFtZSwgQXBwbHlDYXNjYWRlCiAKICAgICAgICAgUmVmPENTU0N1c3RvbVByb3Bl
cnR5VmFsdWU+IHZhbHVlVG9BcHBseSA9IENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZShk
b3duY2FzdDxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPigqcHJvcGVydHkuY3NzVmFsdWVbaW5kZXhd
KSk7CiAKLSAgICAgICAgaWYgKHN0YXRlLmluUHJvZ3Jlc3NQcm9wZXJ0aWVzQ3VzdG9tLmNvbnRh
aW5zKG5hbWUpKSB7Ci0gICAgICAgICAgICAvLyBXZSBhcmUgaW4gYSBjeWNsZSwgc28gcmVzZXQg
dGhlIHZhbHVlLgotICAgICAgICAgICAgc3RhdGUuYXBwbGllZEN1c3RvbVByb3BlcnRpZXMuYWRk
KG5hbWUpOwotICAgICAgICAgICAgLy8gUmVzb2x2ZSB0aGlzIHZhbHVlIHNvIHRoYXQgd2UgcmVz
ZXQgaXRzIGRlcGVuZGVuY2llcwotICAgICAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8UmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+Pih2YWx1ZVRvQXBwbHktPnZhbHVlKCkp
KQotICAgICAgICAgICAgICAgIHJlc29sdmVkVmFyaWFibGVWYWx1ZShDU1NQcm9wZXJ0eUN1c3Rv
bSwgdmFsdWVUb0FwcGx5LmdldCgpLCBzdGF0ZSk7Ci0gICAgICAgICAgICB2YWx1ZVRvQXBwbHkg
PSBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVXaXRoSUQobmFtZSwgQ1NTVmFsdWVVbnNl
dCk7CisgICAgICAgIGlmIChpbkN5Y2xlKSB7CisgICAgICAgICAgICBzdGF0ZS5hcHBsaWVkQ3Vz
dG9tUHJvcGVydGllcy5hZGQobmFtZSk7IC8vIE1ha2Ugc3VyZSB3ZSBkbyBub3QgdHJ5IHRvIGFw
cGx5IHRoaXMgcHJvcGVydHkgYWdhaW4gd2hpbGUgcmVzb2x2aW5nIGl0LgorICAgICAgICAgICAg
dmFsdWVUb0FwcGx5ID0gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlV2l0aElEKG5hbWUs
IENTU1ZhbHVlSW52YWxpZCk7CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0ZS5pblByb2dyZXNz
UHJvcGVydGllc0N1c3RvbS5hZGQobmFtZSk7CkBAIC0yMzQyLDYgKzIzMzksOSBAQCB2b2lkIFN0
eWxlUmVzb2x2ZXI6OmFwcGx5Q2FzY2FkZWRDdXN0b21Qcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5h
bWUsIEFwcGx5Q2FzY2FkZQogICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8
Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+KHZhbHVlVG9BcHBseS0+dmFsdWUoKSkpIHsKICAg
ICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFsdWUgPSByZXNvbHZlZFZhcmlhYmxl
VmFsdWUoQ1NTUHJvcGVydHlDdXN0b20sIHZhbHVlVG9BcHBseS5nZXQoKSwgc3RhdGUpOwogCisg
ICAgICAgICAgICBpZiAoc3RhdGUuYXBwbGllZEN1c3RvbVByb3BlcnRpZXMuY29udGFpbnMobmFt
ZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBUaGVyZSB3YXMgYSBjeWNsZSBhbmQgdGhl
IHZhbHVlIHdhcyByZXNldCwgc28gYmFpbC4KKwogICAgICAgICAgICAgaWYgKCFwYXJzZWRWYWx1
ZSkKICAgICAgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU0N1c3RvbVByb3BlcnR5VmFsdWU6
OmNyZWF0ZVdpdGhJRChuYW1lLCBDU1NWYWx1ZVVuc2V0KTsKIApAQCAtMjM2NSw4ICsyMzY1LDIz
IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlDYXNjYWRlZEN1c3RvbVByb3BlcnR5KGNvbnN0
IFN0cmluZyYgbmFtZSwgQXBwbHlDYXNjYWRlCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBh
cHBseVByb3BlcnR5KENTU1Byb3BlcnR5Q3VzdG9tLCB2YWx1ZVRvQXBwbHkucHRyKCksIHN0YXRl
LCBpbmRleCk7CiAgICAgICAgIH0KLSAgICAgICAgc3RhdGUuaW5Qcm9ncmVzc1Byb3BlcnRpZXND
dXN0b20ucmVtb3ZlKG5hbWUpOwotICAgICAgICBzdGF0ZS5hcHBsaWVkQ3VzdG9tUHJvcGVydGll
cy5hZGQobmFtZSk7CisgICAgfQorCisgICAgc3RhdGUuaW5Qcm9ncmVzc1Byb3BlcnRpZXNDdXN0
b20ucmVtb3ZlKG5hbWUpOworICAgIHN0YXRlLmFwcGxpZWRDdXN0b21Qcm9wZXJ0aWVzLmFkZChu
YW1lKTsKKworICAgIGZvciAoYXV0byBpbmRleCA6IHsgU2VsZWN0b3JDaGVja2VyOjpNYXRjaERl
ZmF1bHQsIFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hMaW5rLCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNo
VmlzaXRlZCB9KSB7CisgICAgICAgIGlmICghcHJvcGVydHkuY3NzVmFsdWVbaW5kZXhdKQorICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmIChpbmRleCAhPSBTZWxlY3RvckNoZWNrZXI6
Ok1hdGNoRGVmYXVsdCAmJiB0aGlzLT5zdGF0ZSgpLnN0eWxlKCktPmluc2lkZUxpbmsoKSA9PSBJ
bnNpZGVMaW5rOjpOb3RJbnNpZGUpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBS
ZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gdmFsdWVUb0FwcGx5ID0gQ1NTQ3VzdG9tUHJvcGVy
dHlWYWx1ZTo6Y3JlYXRlKGRvd25jYXN0PENTU0N1c3RvbVByb3BlcnR5VmFsdWU+KCpwcm9wZXJ0
eS5jc3NWYWx1ZVtpbmRleF0pKTsKKworICAgICAgICBpZiAoaW5DeWNsZSAmJiBXVEY6OmhvbGRz
X2FsdGVybmF0aXZlPFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPj4odmFsdWVUb0FwcGx5
LT52YWx1ZSgpKSkgeworICAgICAgICAgICAgLy8gUmVzb2x2ZSB0aGlzIHZhbHVlIHNvIHRoYXQg
d2UgcmVzZXQgaXRzIGRlcGVuZGVuY2llcy4KKyAgICAgICAgICAgIHJlc29sdmVkVmFyaWFibGVW
YWx1ZShDU1NQcm9wZXJ0eUN1c3RvbSwgdmFsdWVUb0FwcGx5LmdldCgpLCBzdGF0ZSk7CisgICAg
ICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlci5jcHAKaW5kZXggNWNiODk0NWIzOGZhODEwYjI3NzNlMDJmODM2NzhlOWI2NmIy
MDljMi4uOThkZjQxODk1YTMwYzdhMGJlZDY1MzVhZmFmNTY5MGJjZmI2ZjYzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTQzOTMs
OCArNDM5MywxMSBAQCBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gQ1NTUHJvcGVydHlQ
YXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKAogICAgIGlmIChzeW50YXggIT0g
IioiKSB7CiAgICAgICAgIG1fcmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKICAgICAgICAgYXV0
byBwcmltaXRpdmVWYWwgPSBjb25zdW1lV2lkdGhPckhlaWdodChtX3JhbmdlLCBtX2NvbnRleHQp
OwotICAgICAgICBpZiAocHJpbWl0aXZlVmFsICYmIHByaW1pdGl2ZVZhbC0+aXNQcmltaXRpdmVW
YWx1ZSgpKQotICAgICAgICAgICAgcmV0dXJuIENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0
ZVN5bnRheExlbmd0aChuYW1lLCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRMZW5ndGgo
c3R5bGVSZXNvbHZlciwgKnByaW1pdGl2ZVZhbCkpOworICAgICAgICBpZiAocHJpbWl0aXZlVmFs
ICYmIHByaW1pdGl2ZVZhbC0+aXNQcmltaXRpdmVWYWx1ZSgpICYmIGRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPigqcHJpbWl0aXZlVmFsKS5pc0xlbmd0aCgpKSB7CisgICAgICAgICAgICBhdXRv
IGxlbmd0aCA9IFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydExlbmd0aChzdHlsZVJlc29s
dmVyLCAqcHJpbWl0aXZlVmFsKTsKKyAgICAgICAgICAgIGlmICghbGVuZ3RoLmlzQ2FsY3VsYXRl
ZCgpICYmICFsZW5ndGguaXNVbmRlZmluZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ1NT
Q3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlU3ludGF4TGVuZ3RoKG5hbWUsIFdURk1vdmUobGVu
Z3RoKSk7CisgICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgICBhdXRvIHByb3BlcnR5VmFs
dWUgPSBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVTeW50YXhBbGwobmFtZSwgQ1NTVmFy
aWFibGVEYXRhOjpjcmVhdGUobV9yYW5nZSkpOwogICAgICAgICB3aGlsZSAoIW1fcmFuZ2UuYXRF
bmQoKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAwNjhiZGFmMmRkMzc1NmY3MmZjOTE4N2M1MmE4Zjc1ZWZiNDI0NGY5Li5k
ODc1Y2ZiM2ZkNTAxNTBhYzYyYTU5NTdhODc1YTQzZjNjZDZmMTQ5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTgtMTItMTcgIEp1c3RpbiBNaWNoYXVkICA8anVzdGluX21pY2hhdWRAYXBwbGUu
Y29tPgorCisgICAgICAgIFVwZGF0ZSBDU1MgUHJvcGVydGllcyBhbmQgVmFsdWVzIEFQSSB0byB1
c2UgbmV3IGN5Y2xlIGZhbGxiYWNrIGJlaGF2aW91cgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2NyYXNo
Lmh0bWw6CisgICAgICAgICogY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9pbmhlcml0cy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9pbmhlcml0cy5o
dG1sOgorICAgICAgICAqIGNzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvcmVnaXN0ZXJQcm9wZXJ0
eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9yZWdp
c3RlclByb3BlcnR5Lmh0bWw6CisKIDIwMTgtMTItMTMgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gSW5saW5lIFdlYlZUVCBzdHlsZXMgc2hv
dWxkIG92ZXJyaWRlIHN0eWxlcyBmcm9tIENhcHRpb25zIHNldHRpbmdzIGluIFN5c3RlbSBQcmVm
ZXJlbmNlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggN2ZmN2ZkOWI0Njc0YWJi
MmMwMzk3YTFhZjc3MzUzNWZlMGE3MjE5ZC4uYTQ3NzgxNzRiYjYxZTg2ZDJlM2U2YzkyNmU1NDM0
MjFlYTAzMDE3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTgtMTItMTcgIEp1c3RpbiBNaWNoYXVkICA8anVzdGluX21pY2hhdWRAYXBwbGUuY29t
PgorCisgICAgICAgIFVwZGF0ZSBDU1MgUHJvcGVydGllcyBhbmQgVmFsdWVzIEFQSSB0byB1c2Ug
bmV3IGN5Y2xlIGZhbGxiYWNrIGJlaGF2aW91cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0
aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rl
ci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3Bl
cnR5LXN5bnRheC1wYXJzaW5nLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5Lmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jl
Z2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVy
ZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNv
bXB1dGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jb21wdXRhdGlv
bi5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNzc29tLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVn
aXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWluaXRp
YWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBy
b3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWluaXRpYWwuaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkv
cmVzb3VyY2VzL3V0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGdlbmVyYXRlX25hbWUpOgorICAg
ICAgICAoYW55X2luaXRpYWxfdmFsdWUpOgorICAgICAgICAoZ2VuZXJhdGVfcHJvcGVydHkpOgor
ICAgICAgICAoYWxsX3N5bnRheGVzKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvc2VsZi11dGlscy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9zZWxmLXV0aWxzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS90eXBlZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3R5cGVkb20udGVu
dGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVy
dGllcy12YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZh
bHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMtY3ljbGVzLmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMt
YXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkv
dmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdzNjLWltcG9ydC5s
b2c6CisKIDIwMTgtMTItMTAgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBYTUxIdHRwUmVxdWVzdCByZW1vdmVzIHNwYWNlcyBmcm9tIGNvbnRlbnQtdHlwZXMgYmVmb3Jl
IHByb2Nlc3NpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGll
cy1hcGkvY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkv
Y3Jhc2guaHRtbAppbmRleCA3ZjJjZDcwYTJhMzFkZWFiOTlmMDAzMmM0MWZlYTdhNWM4YWI3Zjli
Li42MjA1Njg4OTdkOTc3MmIzYTE1MmI4N2Y3NWE1MjRkYTQxNTVmODI0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2NyYXNoLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9jcmFzaC5odG1sCkBAIC00OCwxNSAr
NDgsMTUgQEAgdGVzdChmdW5jdGlvbigpIHsKIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGlubGluZVN0
eWxlLnNldFByb3BlcnR5KCctLWJheicsICcgICA0MHB4Jyk7CiAgIGFzc2VydF9lcXVhbHMoY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWJheicpLCAnNDBweCcpOwotICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1mb28nKSwgJzIwMHB4Jyk7
Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWJhcicp
LCAnMjAwcHgnKTsKKyAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFs
dWUoJy0tZm9vJyksICcnKTsKKyAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoJy0tYmFyJyksICcnKTsKICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoJy0tYmF6JyksICc0MHB4Jyk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKSwgJzIwMHB4Jyk7CisgIGFzc2Vy
dF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKSwgJzMw
cHgnKTsKICAgaW5saW5lU3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tYmF6Jyk7CiAgIGFzc2VydF9l
cXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWJheicpLCAnMjAwcHgnKTsK
LSAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tZm9vJyks
ICcyMDBweCcpOwotICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgnLS1iYXInKSwgJzIwMHB4Jyk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKSwgJzIwMHB4Jyk7CisgIGFzc2VydF9lcXVhbHMoY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWZvbycpLCAnJyk7CisgIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWJhcicpLCAnJyk7CisgIGFzc2Vy
dF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKSwgJzMw
cHgnKTsKICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0t
YmF6JyksICcyMDBweCcpOwogfSwgIlNldHRpbmcgdGhlIGlubGluZSBzdHlsZSBpcyBoYW5kbGVk
IGNvcnJlY3RseSB3aGVuIHJlZ2lzdGVyZWQiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9pbmhlcml0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2luaGVyaXRzLWV4cGVjdGVkLnR4dAppbmRl
eCAwOWUyMDZjYmMwMDhjNjVhNmJlMmYxNjY0YmFjNzBhYWU2MDY2YjE1Li41YWYxZGIzYWIyYTVi
MDY2OWU0OTkxZjE2NmU4ZmFhZmI4OWE3YzE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3Mt
Y3VzdG9tLXByb3BlcnRpZXMtYXBpL2luaGVyaXRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2luaGVyaXRzLWV4cGVjdGVkLnR4dApAQCAt
MSw2MiArMSw2MiBAQAogU3BlY2lmaWVkIGluIHBhcmVudCwgaW5oZXJpdHM9dHJ1ZQogCi0xMDBw
eCBncmVlbgordGVzdAogCiBTcGVjaWZpZWQgaW4gcGFyZW50LCBpbmhlcml0cz1mYWxzZQogCi0y
MDBweCBncmVlbgordGVzdAogCiBTcGVjaWZpZWQgaW4gcGFyZW50LCBub3QgcmVnaXN0ZXJlZAog
Ci0xMDBweCBncmVlbgordGVzdAogCiBJbml0aWFsCiAKLTIwMHB4IGdyZWVuCit0ZXN0CiAKIFVu
c2V0LCBpbmhlcml0cz10cnVlCiAKLTEwMHB4IGdyZWVuCit0ZXN0CiAKIFVuc2V0LCBpbmhlcml0
cz1mYWxzZQogCi0yMDBweCBncmVlbgordGVzdAogCiBBIGN5Y2xlIGJldHdlZW4gYW4gaW5oZXJp
dHM9dHJ1ZSBhbmQgaW5oZXJpdHM9ZmFsc2UgcHJvcGVydHkKIAotMjAwcHggZ3JlZW4KK3Rlc3QK
IAogQSBjeWNsZSBiZXR3ZWVuIGFuIGluaGVyaXRzPXRydWUgYW5kIGluaGVyaXRzPWZhbHNlIHBy
b3BlcnR5CiAKLTIwMHB4IGdyZWVuCit0ZXN0CiAKIEEgY3ljbGUgYmV0d2VlbiBhbiBpbmhlcml0
cz10cnVlIGFuZCBpbmhlcml0cz1mYWxzZSBwcm9wZXJ0eSB3aXRoIGZhbGxiYWNrCiAKLTIwMHB4
IGdyZWVuCit0ZXN0CiAKIEluaGVyaXRhbmNlIHNob3VsZCBub3QgY3JlYXRlIGEgY3ljbGUKIAot
MTEwcHggZ3JlZW4KK3Rlc3QKIAogQSBjeWNsZSBiZXR3ZWVuIHR3byB1bnJlZ2lzdGVyZWQgcHJv
cGVydGllcwogCi0zMDBweCBncmVlbgordGVzdAogCiBSZXZlcnQsIGluaGVyaXRzPXRydWUKIAot
MTkwcHggcHVycGxlCit0ZXN0CiAKIFJldmVydCwgaW5oZXJpdHM9ZmFsc2UKIAotMjAwcHggcHVy
cGxlCit0ZXN0CiAKIFJldmVydCwgdW5yZWdpc3RlcmVkCiAKLXB1cnBsZQordGVzdAogCiBJbmhl
cml0LCB1bnJlZ2lzdGVyZWQKIAotcHVycGxlCit0ZXN0CiAKIFRlc3QgdGhhdCBpbmhlcml0ZWQg
cHJvcGVydGllcyBkbyB2YXJpYWJsZSBzdWJzdGl0dXRpb24gYmVmb3JlIGJlaW5nIGluaGVyaXRl
ZCAtIHJlZ2lzdGVyZWQKIApAQCAtNjgsMTUgKzY4LDE1IEBAIHRlc3QKIAogTm8gaW5pdGlhbCB2
YWx1ZSBpbiByZWdpc3RlcmVkIHByb3BlcnR5IHNob3VsZCBhY3QgbGlrZSB1bnJlZ2lzdGVyZWQK
IAotMjAwcHggZ3JlZW4KK3Rlc3QKIAogKHVucmVnaXN0ZXJlZCkKIAotNTAwcHggZ3JlZW4KK3Rl
c3QKIAogSW5oZXJpdCBzaG91bGQgYmUgc3Vic3RpdHV0ZWQgZm9yIHVucmVnaXN0ZXJlZCBwcm9w
ZXJ0eQogCi01MDBweCBncmVlbgordGVzdAogCiAKIFBBU1MgUmVnaXN0cmF0aW9uIGlzIHN1Y2Nl
c3NmdWwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBp
L2luaGVyaXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2lu
aGVyaXRzLmh0bWwKaW5kZXggOGVlNGZjZjI4ODAxZjNlZDljOTk2NzYxYTdkZjNlN2U0ZWMzMDNk
Yy4uN2ZhNTNkNTAzMjlkNzVhNmMzY2U1MDlhOTJiMWU1YjY2OWI5ODQxMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9pbmhlcml0cy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvaW5oZXJpdHMuaHRtbApAQCAt
MjQ0LDM2ICsyNDQsMzYgQEAKIDwvc3R5bGU+CiA8ZGl2PgogICA8cD4gU3BlY2lmaWVkIGluIHBh
cmVudCwgaW5oZXJpdHM9dHJ1ZTwvcD4KLSAgPGRpdiBpZD0icGFyZW50MSI+PGRpdiBpZD0iY2hp
bGQxIj48cD4xMDBweCBncmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDEi
PjxkaXYgaWQ9ImNoaWxkMSI+PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+CiAgIDxwPiBTcGVjaWZp
ZWQgaW4gcGFyZW50LCBpbmhlcml0cz1mYWxzZSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDIiPjxk
aXYgaWQ9ImNoaWxkMiI+PHA+MjAwcHggZ3JlZW48L3A+PC9kaXY+IDwvZGl2PgorICA8ZGl2IGlk
PSJwYXJlbnQyIj48ZGl2IGlkPSJjaGlsZDIiPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2PgogICA8
cD4gU3BlY2lmaWVkIGluIHBhcmVudCwgbm90IHJlZ2lzdGVyZWQgPC9wPgotICA8ZGl2IGlkPSJw
YXJlbnQzIj48ZGl2IGlkPSJjaGlsZDMiPjxwPjEwMHB4IGdyZWVuPC9wPjwvZGl2PiA8L2Rpdj4K
KyAgPGRpdiBpZD0icGFyZW50MyI+PGRpdiBpZD0iY2hpbGQzIj48cD50ZXN0PC9wPjwvZGl2PiA8
L2Rpdj4KICAgPHA+IEluaXRpYWwgPC9wPgotICA8ZGl2IGlkPSJwYXJlbnQ0Ij48ZGl2IGlkPSJj
aGlsZDQiPjxwPjIwMHB4IGdyZWVuPC9wPjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50
NCI+PGRpdiBpZD0iY2hpbGQ0Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KICAgPHA+IFVuc2V0
LCBpbmhlcml0cz10cnVlIDwvcD4KLSAgPGRpdiBpZD0icGFyZW50NSI+PGRpdiBpZD0iY2hpbGQ1
Ij48cD4xMDBweCBncmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDUiPjxk
aXYgaWQ9ImNoaWxkNSI+PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+CiAgIDxwPiBVbnNldCwgaW5o
ZXJpdHM9ZmFsc2UgPC9wPgotICA8ZGl2IGlkPSJwYXJlbnQ2Ij48ZGl2IGlkPSJjaGlsZDYiPjxw
PjIwMHB4IGdyZWVuPC9wPjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50NiI+PGRpdiBp
ZD0iY2hpbGQ2Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KICAgPHA+IEEgY3ljbGUgYmV0d2Vl
biBhbiBpbmhlcml0cz10cnVlIGFuZCBpbmhlcml0cz1mYWxzZSBwcm9wZXJ0eSA8L3A+Ci0gIDxk
aXYgaWQ9InBhcmVudDciPjxkaXYgaWQ9ImNoaWxkNyI+PHA+MjAwcHggZ3JlZW48L3A+PC9kaXY+
IDwvZGl2PgorICA8ZGl2IGlkPSJwYXJlbnQ3Ij48ZGl2IGlkPSJjaGlsZDciPjxwPnRlc3Q8L3A+
PC9kaXY+IDwvZGl2PgogICA8cD4gQSBjeWNsZSBiZXR3ZWVuIGFuIGluaGVyaXRzPXRydWUgYW5k
IGluaGVyaXRzPWZhbHNlIHByb3BlcnR5IDwvcD4KLSAgPGRpdiBpZD0icGFyZW50OCI+PGRpdiBp
ZD0iY2hpbGQ4Ij48cD4yMDBweCBncmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBh
cmVudDgiPjxkaXYgaWQ9ImNoaWxkOCI+PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+CiAgIDxwPiBB
IGN5Y2xlIGJldHdlZW4gYW4gaW5oZXJpdHM9dHJ1ZSBhbmQgaW5oZXJpdHM9ZmFsc2UgcHJvcGVy
dHkgd2l0aCBmYWxsYmFjayA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDkiPjxkaXYgaWQ9ImNoaWxk
OSI+PHA+MjAwcHggZ3JlZW48L3A+PC9kaXY+IDwvZGl2PgorICA8ZGl2IGlkPSJwYXJlbnQ5Ij48
ZGl2IGlkPSJjaGlsZDkiPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2PgogICA8cD4gSW5oZXJpdGFu
Y2Ugc2hvdWxkIG5vdCBjcmVhdGUgYSBjeWNsZSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDEwIj48
ZGl2IGlkPSJjaGlsZDEwIj48cD4xMTBweCBncmVlbjwvcD48L2Rpdj48L2Rpdj4KKyAgPGRpdiBp
ZD0icGFyZW50MTAiPjxkaXYgaWQ9ImNoaWxkMTAiPjxwPnRlc3Q8L3A+PC9kaXY+PC9kaXY+CiAg
IDxwPiBBIGN5Y2xlIGJldHdlZW4gdHdvIHVucmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIDwvcD4KLSAg
PGRpdiBpZD0icGFyZW50MTEiPjxkaXYgaWQ9ImNoaWxkMTEiPjxwPjMwMHB4IGdyZWVuPC9wPjwv
ZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50MTEiPjxkaXYgaWQ9ImNoaWxkMTEiPjxwPnRl
c3Q8L3A+PC9kaXY+IDwvZGl2PgogCiAgIDxwPiBSZXZlcnQsIGluaGVyaXRzPXRydWUgPC9wPgot
ICA8ZGl2IGlkPSJwYXJlbnQxMiI+PGRpdiBpZD0iY2hpbGQxMiI+PGRpdiBpZD0iY2hpbGRjaGls
ZDEyIj48cD4xOTBweCBwdXJwbGU8L3A+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgaWQ9InBh
cmVudDEyIj48ZGl2IGlkPSJjaGlsZDEyIj48ZGl2IGlkPSJjaGlsZGNoaWxkMTIiPjxwPnRlc3Q8
L3A+PC9kaXY+PC9kaXY+PC9kaXY+CiAgIDxwPiBSZXZlcnQsIGluaGVyaXRzPWZhbHNlIDwvcD4K
LSAgPGRpdiBpZD0icGFyZW50MTMiPjxkaXYgaWQ9ImNoaWxkMTMiPjxkaXYgaWQ9ImNoaWxkY2hp
bGQxMyI+PHA+MjAwcHggcHVycGxlPC9wPjwvZGl2PjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0i
cGFyZW50MTMiPjxkaXYgaWQ9ImNoaWxkMTMiPjxkaXYgaWQ9ImNoaWxkY2hpbGQxMyI+PHA+dGVz
dDwvcD48L2Rpdj48L2Rpdj4gPC9kaXY+CiAgIDxwPiBSZXZlcnQsIHVucmVnaXN0ZXJlZCA8L3A+
Ci0gIDxkaXYgaWQ9InBhcmVudDE0Ij48ZGl2IGlkPSJjaGlsZDE0Ij48ZGl2IGlkPSJjaGlsZGNo
aWxkMTQiPjxwPnB1cnBsZTwvcD48L2Rpdj48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVu
dDE0Ij48ZGl2IGlkPSJjaGlsZDE0Ij48ZGl2IGlkPSJjaGlsZGNoaWxkMTQiPjxwPnRlc3Q8L3A+
PC9kaXY+PC9kaXY+IDwvZGl2PgogICA8cD4gSW5oZXJpdCwgdW5yZWdpc3RlcmVkIDwvcD4KLSAg
PGRpdiBpZD0icGFyZW50MTQtMSI+PGRpdiBpZD0iY2hpbGQxNC0xIj48ZGl2IGlkPSJjaGlsZGNo
aWxkMTQtMSI+PHA+cHVycGxlPC9wPjwvZGl2PjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFy
ZW50MTQtMSI+PGRpdiBpZD0iY2hpbGQxNC0xIj48ZGl2IGlkPSJjaGlsZGNoaWxkMTQtMSI+PHA+
dGVzdDwvcD48L2Rpdj48L2Rpdj4gPC9kaXY+CiAKICAgPHA+IFRlc3QgdGhhdCBpbmhlcml0ZWQg
cHJvcGVydGllcyBkbyB2YXJpYWJsZSBzdWJzdGl0dXRpb24gYmVmb3JlIGJlaW5nIGluaGVyaXRl
ZCAtIHJlZ2lzdGVyZWQ8L3A+CiAgIDxkaXYgaWQ9InBhcmVudDE1Ij48ZGl2IGlkPSJjaGlsZDE1
Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KQEAgLTI4MSwxMiArMjgxLDEyIEBACiAgIDxkaXYg
aWQ9InBhcmVudDE2Ij48ZGl2IGlkPSJjaGlsZDE2Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4K
IAogICA8cD4gTm8gaW5pdGlhbCB2YWx1ZSBpbiByZWdpc3RlcmVkIHByb3BlcnR5IHNob3VsZCBh
Y3QgbGlrZSB1bnJlZ2lzdGVyZWQ8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDE3Ij48ZGl2IGlkPSJj
aGlsZDE3Ij48cD4yMDBweCBncmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVu
dDE3Ij48ZGl2IGlkPSJjaGlsZDE3Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KICAgPHA+ICh1
bnJlZ2lzdGVyZWQpIDwvcD4KLSAgPGRpdiBpZD0icGFyZW50MTgiPjxkaXYgaWQ9ImNoaWxkMTgi
PjxwPjUwMHB4IGdyZWVuPC9wPjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50MTgiPjxk
aXYgaWQ9ImNoaWxkMTgiPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2PgogCiAgIDxwPkluaGVyaXQg
c2hvdWxkIGJlIHN1YnN0aXR1dGVkIGZvciB1bnJlZ2lzdGVyZWQgcHJvcGVydHk8L3A+Ci0gIDxk
aXYgaWQ9InBhcmVudDE5Ij48ZGl2IGlkPSJjaGlsZDE5Ij48cD41MDBweCBncmVlbjwvcD48L2Rp
dj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDE5Ij48ZGl2IGlkPSJjaGlsZDE5Ij48cD50ZXN0
PC9wPjwvZGl2PiA8L2Rpdj4KIDwvZGl2PgogPHNjcmlwdD4KIApAQCAtMzQ2LDE5ICszNDYsMTkg
QEAgdGVzdChmdW5jdGlvbigpIHsKICAgdGVzdF9wcm9wKCdjaGlsZDYnLCAnLS1teS1jdXN0b20t
cHJvcDInLCAnMjAwcHgnKTsKIH0sICJKUyBBdHRyaWJ1dGVzIGFyZSB2YWxpZCBmb3IgZWxlbWVu
dCA2Iik7CiB0ZXN0KGZ1bmN0aW9uKCkgewotICB0ZXN0X3Byb3AoJ2NoaWxkNycsICd3aWR0aCcs
ICcyMDBweCcpOwotICB0ZXN0X3Byb3AoJ2NoaWxkNycsICctLW15LWN1c3RvbS1wcm9wJywgJzEw
MHB4Jyk7Ci0gIHRlc3RfcHJvcCgnY2hpbGQ3JywgJy0tbXktY3VzdG9tLXByb3AyJywgJzIwMHB4
Jyk7CisgIHRlc3RfcHJvcCgnY2hpbGQ3JywgJ3dpZHRoJywgJzMwMHB4Jyk7CisgIHRlc3RfcHJv
cCgnY2hpbGQ3JywgJy0tbXktY3VzdG9tLXByb3AnLCAnJyk7CisgIHRlc3RfcHJvcCgnY2hpbGQ3
JywgJy0tbXktY3VzdG9tLXByb3AyJywgJycpOwogfSwgIkpTIEF0dHJpYnV0ZXMgYXJlIHZhbGlk
IGZvciBlbGVtZW50IDciKTsKIHRlc3QoZnVuY3Rpb24oKSB7Ci0gIHRlc3RfcHJvcCgnY2hpbGQ4
JywgJ3dpZHRoJywgJzIwMHB4Jyk7Ci0gIHRlc3RfcHJvcCgnY2hpbGQ4JywgJy0tbXktY3VzdG9t
LXByb3AnLCAnMjAwcHgnKTsKLSAgdGVzdF9wcm9wKCdjaGlsZDgnLCAnLS1teS1jdXN0b20tcHJv
cDInLCAnMjAwcHgnKTsKKyAgdGVzdF9wcm9wKCdjaGlsZDgnLCAnd2lkdGgnLCAnMzAwcHgnKTsK
KyAgdGVzdF9wcm9wKCdjaGlsZDgnLCAnLS1teS1jdXN0b20tcHJvcCcsICcnKTsKKyAgdGVzdF9w
cm9wKCdjaGlsZDgnLCAnLS1teS1jdXN0b20tcHJvcDInLCAnJyk7CiB9LCAiSlMgQXR0cmlidXRl
cyBhcmUgdmFsaWQgZm9yIGVsZW1lbnQgOCIpOwogdGVzdChmdW5jdGlvbigpIHsKLSAgdGVzdF9w
cm9wKCdjaGlsZDknLCAnd2lkdGgnLCAnMjAwcHgnKTsKLSAgdGVzdF9wcm9wKCdjaGlsZDknLCAn
LS1teS1jdXN0b20tcHJvcCcsICcxMDBweCcpOwotICB0ZXN0X3Byb3AoJ2NoaWxkOScsICctLW15
LWN1c3RvbS1wcm9wMicsICcyMDBweCcpOworICB0ZXN0X3Byb3AoJ2NoaWxkOScsICd3aWR0aCcs
ICczMDBweCcpOworICB0ZXN0X3Byb3AoJ2NoaWxkOScsICctLW15LWN1c3RvbS1wcm9wJywgJycp
OworICB0ZXN0X3Byb3AoJ2NoaWxkOScsICctLW15LWN1c3RvbS1wcm9wMicsICcnKTsKIH0sICJK
UyBBdHRyaWJ1dGVzIGFyZSB2YWxpZCBmb3IgZWxlbWVudCA5Iik7CiB0ZXN0KGZ1bmN0aW9uKCkg
ewogICB0ZXN0X3Byb3AoJ2NoaWxkMTAnLCAnd2lkdGgnLCAnMTEwcHgnKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvcmVnaXN0ZXJQcm9wZXJ0eS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL3JlZ2lz
dGVyUHJvcGVydHktZXhwZWN0ZWQudHh0CmluZGV4IGIzMDgyZTExNzk5NzQ1ZGExZGUxMjc4NDU2
NDc0OTNhZjBiNmQxYTEuLjQ0ZDIxNWFlODczYTg5MjFmYmJlNWY0NDZiNWU4ZTIwZDczYzMyZmIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvcmVnaXN0
ZXJQcm9wZXJ0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9w
ZXJ0aWVzLWFwaS9yZWdpc3RlclByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMyw0ICszLDUgQEAg
UEFTUyByZWdpc3RlclByb3BlcnR5IHJlcXVpcmVzIGEgRGljdGlvbmFyeSB0eXBlCiBQQVNTIHJl
Z2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgYSBuYW1lIG1hdGNoaW5nIDxjdXN0b20tcHJvcGVydHkt
bmFtZT4gCiBQQVNTIHJlZ2lzdGVyUHJvcGVydHkgYWx3YXlzIGFsbG93cyBvbWl0dGluZyBpbml0
aWFsVmFsdWUgYW5kIHN5bnRheCwgcmVxdWlyZXMgbmFtZSBhbmQgaW5oZXJpdHMgCiBQQVNTIHJl
Z2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgaW5oZXJpdHMgYW5kIG5hbWUgCitQQVNTIHJlZ2lzdGVy
UHJvcGVydHkgcmVxdWlyZXMgaW5pdGlhbFZhbHVlIHRvIGJlIGNvbXB1dGF0aW9uYWxseSBpbmRl
cGVuZGVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVz
LWFwaS9yZWdpc3RlclByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3Bl
cnRpZXMtYXBpL3JlZ2lzdGVyUHJvcGVydHkuaHRtbAppbmRleCAxZjU3NjY2NGRlODYzZjQ1MDM0
YjkyZjQwODRhMzcyMjEzNGViZTk0Li4zZGJjYjBjY2FjNTcyZDIyZWIyODM0YWI4MTllYjdjYzk0
Zjk1NzlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBp
L3JlZ2lzdGVyUHJvcGVydHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3Bl
cnRpZXMtYXBpL3JlZ2lzdGVyUHJvcGVydHkuaHRtbApAQCAtMiw2ICsyLDcgQEAKIDwhLS0gaHR0
cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYy8rLzAxY2U0MzE0MDll
M2EwMTk4NTg2Nzc2MjZhOTgzYzU1MTY4ZGE2ZGMvdGhpcmRfcGFydHkvV2ViS2l0L0xheW91dFRl
c3RzL2N1c3RvbS1wcm9wZXJ0aWVzL3JlZ2lzdGVyLXByb3BlcnR5Lmh0bWwgLS0+CiA8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
ZWwiPjwvZGl2PgogPHNjcmlwdD4KIC8vIFRlc3RzIGZvciBlcnJvciBjaGVja2luZyBkdXJpbmcg
cHJvcGVydHkgcmVnaXN0cmF0aW9uCiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtMTgsOSArMTksOSBA
QCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1u
YW1lMiwgbm8gbmVlZCBmb3IgZXNjYXBlcycsIGluaGVyaXRzOiBmYWxzZX0pOwogICAgIENTUy5y
ZWdpc3RlclByb3BlcnR5KHtuYW1lOiBbJy0tbmFtZScsIDNdLCBpbmhlcml0czogZmFsc2V9KTsK
ICAgICAvLyBJbnZhbGlkIHByb3BlcnR5IG5hbWVzCi0gICAgLy9hc3NlcnRfdGhyb3dzKG5ldyBT
eW50YXhFcnJvcigpLCAoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJ25vLWxlYWRp
bmctZGFzaCcsIGluaGVyaXRzOiBmYWxzZX0pKTsKLSAgICAvL2Fzc2VydF90aHJvd3MobmV3IFN5
bnRheEVycm9yKCksICgpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnJywgaW5oZXJp
dHM6IGZhbHNlfSkpOwotICAgIC8vYXNzZXJ0X3Rocm93cyhuZXcgU3ludGF4RXJyb3IoKSwgKCkg
PT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICdcXC0tbmFtZScsIGluaGVyaXRzOiBmYWxz
ZX0pKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBTeW50YXhFcnJvcigpLCAoKSA9PiBDU1MucmVn
aXN0ZXJQcm9wZXJ0eSh7bmFtZTogJ25vLWxlYWRpbmctZGFzaCcsIGluaGVyaXRzOiBmYWxzZX0p
KTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBTeW50YXhFcnJvcigpLCAoKSA9PiBDU1MucmVnaXN0
ZXJQcm9wZXJ0eSh7bmFtZTogJycsIGluaGVyaXRzOiBmYWxzZX0pKTsKKyAgICBhc3NlcnRfdGhy
b3dzKG5ldyBTeW50YXhFcnJvcigpLCAoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTog
J1xcLS1uYW1lJywgaW5oZXJpdHM6IGZhbHNlfSkpOwogfSwgInJlZ2lzdGVyUHJvcGVydHkgcmVx
dWlyZXMgYSBuYW1lIG1hdGNoaW5nIDxjdXN0b20tcHJvcGVydHktbmFtZT4iKTsKIHRlc3QoZnVu
Y3Rpb24oKSB7CiAgICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLXN5bnRheC10ZXN0
LTEnLCBpbmhlcml0czogZmFsc2UsIHN5bnRheDogJyonfSk7CkBAIC0zNyw0ICszOCwxNSBAQCB0
ZXN0KGZ1bmN0aW9uKCkgewogICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1zeW50
YXgtdGVzdC00JywgaW5oZXJpdHM6IGZhbHNlLCBzeW50YXg6ICcqJ30pOwogICAgIENTUy5yZWdp
c3RlclByb3BlcnR5KHtuYW1lOiAnLS1zeW50YXgtdGVzdC01JywgaW5oZXJpdHM6IGZhbHNlLCBz
eW50YXg6ICcgKiAnfSk7CiB9LCAicmVnaXN0ZXJQcm9wZXJ0eSByZXF1aXJlcyBpbmhlcml0cyBh
bmQgbmFtZSIpOwordGVzdChmdW5jdGlvbigpIHsKKyAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25h
bWU6ICctLWluaXRpYWx2YWx1ZS10ZXN0LTAnLCBpbmhlcml0czogZmFsc2UsIHN5bnRheDogJzxs
ZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnY2FsYygxMHB4ICsgMTBpbiknfSk7CisgIGFzc2VydF9l
cXVhbHMod2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLmdldFByb3BlcnR5VmFsdWUoJy0taW5p
dGlhbHZhbHVlLXRlc3QtMCcpLnRvU3RyaW5nKCksICc5NzBweCcpOworCisgIGFzc2VydF90aHJv
d3MobmV3IFN5bnRheEVycm9yKCksCisgICAgKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25h
bWU6ICctLWluaXRpYWx2YWx1ZS10ZXN0LTEnLCBpbmhlcml0czogZmFsc2UsIHN5bnRheDogJzxs
ZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnMTBlbSd9KSk7CisgIGFzc2VydF90aHJvd3MobmV3IFN5
bnRheEVycm9yKCksCisgICAgKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWlu
aXRpYWx2YWx1ZS10ZXN0LTInLCBpbmhlcml0czogZmFsc2UsIHN5bnRheDogJzxsZW5ndGg+Jywg
aW5pdGlhbFZhbHVlOiAnY2FsYygxMHB4ICsgMTBlbSknfSkpOworICBhc3NlcnRfdGhyb3dzKG5l
dyBTeW50YXhFcnJvcigpLAorICAgICgpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAn
LS1pbml0aWFsdmFsdWUtdGVzdC0zJywgaW5oZXJpdHM6IGZhbHNlLCBzeW50YXg6ICc8bGVuZ3Ro
PicsIGluaXRpYWxWYWx1ZTogJ2NhbGMoMTBweCArIDEwJSknfSkpOworfSwgInJlZ2lzdGVyUHJv
cGVydHkgcmVxdWlyZXMgaW5pdGlhbFZhbHVlIHRvIGJlIGNvbXB1dGF0aW9uYWxseSBpbmRlcGVu
ZGVudCIpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVy
LXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVy
dHktZXhwZWN0ZWQudHh0CmluZGV4IDU2N2RiMzE3ODU0MTQzNmMyNjdiN2Q1ODZiMzNiMGU2MGIx
NGQxY2EuLmNmOWM4ZDQzZWQwYmFjYjIzMzAyNDExZDc3ZTE0YjZlYmQ2ZDQ3MjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1w
cm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHktZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9w
ZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0xLDcg
KzEsOCBAQAogCiBQQVNTIHJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgYSBEaWN0aW9uYXJ5IHR5
cGUgCi1GQUlMIHJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgYSBuYW1lIG1hdGNoaW5nIDxjdXN0
b20tcHJvcGVydHktbmFtZT4gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdp
c3RlclByb3BlcnR5KHtuYW1lOiAnbm8tbGVhZGluZy1kYXNoJywgaW5oZXJpdHM6IGZhbHNlfSki
IGRpZCBub3QgdGhyb3cKK1BBU1MgcmVnaXN0ZXJQcm9wZXJ0eSByZXF1aXJlcyBhIG5hbWUgbWF0
Y2hpbmcgPGN1c3RvbS1wcm9wZXJ0eS1uYW1lPiAKIEZBSUwgcmVnaXN0ZXJQcm9wZXJ0eSBvbmx5
IGFsbG93cyBvbWl0dGluZyBpbml0aWFsVmFsdWUgaWYgc3ludGF4IGlzICcqJyBhc3NlcnRfdGhy
b3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLXN5bnRh
eC10ZXN0LTMnLCBzeW50YXg6ICdsZW5ndGgnLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0
aHJvdwotUEFTUyByZWdpc3RlclByb3BlcnR5IGZhaWxzIGZvciBhbiBhbHJlYWR5IHJlZ2lzdGVy
ZWQgcHJvcGVydHkgCitGQUlMIHJlZ2lzdGVyUHJvcGVydHkgZmFpbHMgZm9yIGFuIGFscmVhZHkg
cmVnaXN0ZXJlZCBwcm9wZXJ0eSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJl
Z2lzdGVyUHJvcGVydHkoe25hbWU6ICctLXJlLXJlZ2lzdGVyJywgc3ludGF4OiAnPHBlcmNlbnRh
Z2U+JywgaW5pdGlhbFZhbHVlOiAnMCUnLCBpbmhlcml0czogZmFsc2V9KSIgdGhyZXcgb2JqZWN0
ICJTeW50YXhFcnJvcjogVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9y
IHRoZSBnaXZlbiBzeW50YXguIiAoIlN5bnRheEVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJbb2Jq
ZWN0IE9iamVjdF0iICgiSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yIikKIFBBU1MgcmVnaXN0ZXJQ
cm9wZXJ0eSByZXF1aXJlcyBpbmhlcml0cyAKK0ZBSUwgUmVnaXN0ZXJpbmcgYSBwcm9wZXJ0eSBz
aG91bGQgbm90IGNhdXNlIGEgdHJhbnNpdGlvbiBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2Vz
IG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFs
dWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVy
dGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4cGVjdGVk
LnR4dAppbmRleCAyZWE3OGUyOTgwNjA2OGU1YjNjM2Y2ZWM3OWY2YmY5YThhNmIxOGNkLi4zNzZl
NDhiZmJhMjUyNmM0NjBjZmFkOGY4MmNlZmZiOGFkYzI0MzE5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4
cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgUEFTUyBzeW50YXg6JyonLCBpbml0aWFsVmFsdWU6
J2EnIGlzIHZhbGlkCiBGQUlMIHN5bnRheDonICogJywgaW5pdGlhbFZhbHVlOidiJyBpcyB2YWxp
ZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5
bnRheC4KIFBBU1Mgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonMnB4JyBpcyB2YWxp
ZCAKIEZBSUwgc3ludGF4OicgPG51bWJlcj4nLCBpbml0aWFsVmFsdWU6JzUnIGlzIHZhbGlkIFRo
ZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4
LgotUEFTUyBzeW50YXg6JzxwZXJjZW50YWdlPiAnLCBpbml0aWFsVmFsdWU6JzEwJScgaXMgdmFs
aWQgCitGQUlMIHN5bnRheDonPHBlcmNlbnRhZ2U+ICcsIGluaXRpYWxWYWx1ZTonMTAlJyBpcyB2
YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVu
IHN5bnRheC4KIEZBSUwgc3ludGF4Oic8Y29sb3I+KycsIGluaXRpYWxWYWx1ZToncmVkJyBpcyB2
YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVu
IHN5bnRheC4KIEZBSUwgc3ludGF4OicgPGxlbmd0aD4rIHwgPHBlcmNlbnRhZ2U+JywgaW5pdGlh
bFZhbHVlOicycHggOHB4JyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5v
dCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIFBBU1Mgc3ludGF4Oic8bGVuZ3RoPnw8cGVy
Y2VudGFnZT58PGxlbmd0aC1wZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonMnB4JyBpcyB2YWxp
ZCAKQEAgLTIxLDE0ICsyMSwxOSBAQCBQQVNTIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFs
dWU6J2NhbGMoMnB4KjQgKyAxMHB4KScgaXMgdmFsaWQKIFBBU1Mgc3ludGF4Oic8bGVuZ3RoPics
IGluaXRpYWxWYWx1ZTonNy4xZS00Y20nIGlzIHZhbGlkIAogUEFTUyBzeW50YXg6JzxsZW5ndGg+
JywgaW5pdGlhbFZhbHVlOidjYWxjKDdpbiAtIDEycHgpJyBpcyB2YWxpZCAKIEZBSUwgc3ludGF4
Oic8bGVuZ3RoPisnLCBpbml0aWFsVmFsdWU6JzJweCA3cHggY2FsYyg4cHgpJyBpcyB2YWxpZCBU
aGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRh
eC4KK0ZBSUwgc3ludGF4Oic8bGVuZ3RoPiMnLCBpbml0aWFsVmFsdWU6JzJweCwgN3B4LCBjYWxj
KDhweCknIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZv
ciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJTCBzeW50YXg6JzxwZXJjZW50YWdlPicsIGluaXRpYWxW
YWx1ZTonLTkuM2UzJScgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3Qg
cGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCiBGQUlMIHN5bnRheDonPGxlbmd0aC1wZXJjZW50
YWdlPicsIGluaXRpYWxWYWx1ZTonLTU0JScgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFs
dWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCiBQQVNTIHN5bnRheDonPGxl
bmd0aC1wZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonMCcgaXMgdmFsaWQgCi1QQVNTIHN5bnRh
eDonPGxlbmd0aC1wZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonY2FsYygtMTFweCArIDEwLjQl
KScgaXMgdmFsaWQgCitGQUlMIHN5bnRheDonPGxlbmd0aC1wZXJjZW50YWdlPicsIGluaXRpYWxW
YWx1ZTonY2FsYygtMTFweCArIDEwLjQlKScgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFs
dWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCiBGQUlMIHN5bnRheDonPG51
bWJlcj4nLCBpbml0aWFsVmFsdWU6Jy0xMDknIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZh
bHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJTCBzeW50YXg6Jzxu
dW1iZXI+JywgaW5pdGlhbFZhbHVlOicyLjNlNCcgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwg
dmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCiBGQUlMIHN5bnRheDon
PGludGVnZXI+JywgaW5pdGlhbFZhbHVlOictMTA5JyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlh
bCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIEZBSUwgc3ludGF4
Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFsdWU6JzE5JyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlh
bCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgc3ludGF4
Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFsdWU6J2NhbGMoMSknIGlzIHZhbGlkIFRoZSBnaXZlbiBp
bml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCBz
eW50YXg6JzxpbnRlZ2VyPicsIGluaXRpYWxWYWx1ZTonY2FsYygxICsgMiknIGlzIHZhbGlkIFRo
ZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4
LgorRkFJTCBzeW50YXg6JzxpbnRlZ2VyPicsIGluaXRpYWxWYWx1ZTonY2FsYygzLjE0MTUpJyBp
cyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdp
dmVuIHN5bnRheC4KK0ZBSUwgc3ludGF4Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFsdWU6J2NhbGMo
My4xNDE1ICsgMy4xNDE1KScgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBu
b3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCiBGQUlMIHN5bnRheDonPGFuZ2xlPicsIGlu
aXRpYWxWYWx1ZTonMTBkZWcnIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMg
bm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJTCBzeW50YXg6JzxhbmdsZT4nLCBp
bml0aWFsVmFsdWU6JzIwLjVyYWQnIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRv
ZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJTCBzeW50YXg6JzxhbmdsZT4n
LCBpbml0aWFsVmFsdWU6J2NhbGMoNTBncmFkICsgMy4xNDE1OXJhZCknIGlzIHZhbGlkIFRoZSBn
aXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgpA
QCAtODQsNyArODksNyBAQCBQQVNTIHN5bnRheDonaW5oZXJpdCcsIGluaXRpYWxWYWx1ZTonaW5o
ZXJpdCcgaXMgaW52YWxpZAogUEFTUyBzeW50YXg6J3Vuc2V0JywgaW5pdGlhbFZhbHVlOid1bnNl
dCcgaXMgaW52YWxpZCAKIEZBSUwgc3ludGF4Oic8bGVuZ3RoPnxpbml0aWFsJywgaW5pdGlhbFZh
bHVlOicxMHB4JyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1Mu
cmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1
ZTogaW5pdGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwogRkFJTCBz
eW50YXg6JzxsZW5ndGg+fElOSEVSSVQnLCBpbml0aWFsVmFsdWU6JzEwcHgnIGlzIGludmFsaWQg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1l
OiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVy
aXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93Ci1GQUlMIHN5bnRheDonPHBlcmNlbnRhZ2U+fHVu
c0V0JywgaW5pdGlhbFZhbHVlOicyJScgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4
LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3Qg
dGhyb3cKK1BBU1Mgc3ludGF4Oic8cGVyY2VudGFnZT58dW5zRXQnLCBpbml0aWFsVmFsdWU6JzIl
JyBpcyBpbnZhbGlkIAogRkFJTCBzeW50YXg6JyonLCBpbml0aWFsVmFsdWU6J2luaXRpYWwnIGlz
IGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3Bl
cnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFs
dWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93CiBGQUlMIHN5bnRheDonKicsIGlu
aXRpYWxWYWx1ZTonaW5oZXJpdCcgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
KCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBp
bml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhy
b3cKIEZBSUwgc3ludGF4OicqJywgaW5pdGlhbFZhbHVlOid1bnNldCcgaXMgaW52YWxpZCBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5h
bWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6
IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKQEAgLTEwMywyNCArMTA4LDI2IEBAIEZBSUwgc3ludGF4
OicqJywgaW5pdGlhbFZhbHVlOid2YXIoLS1mb28pJyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6
IGZ1bmN0aW9uICIoCiBQQVNTIHN5bnRheDonYmFuYW5hJywgaW5pdGlhbFZhbHVlOidiQW5BbkEn
IGlzIGludmFsaWQgCiBQQVNTIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6J3Zhcigt
LW1vbyknIGlzIGludmFsaWQgCiBQQVNTIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6
JzEwJyBpcyBpbnZhbGlkIAotRkFJTCBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOicx
MCUnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3Rl
clByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0
aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93Ci1GQUlMIHN5bnRheDon
PGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6J2NhbGMoNXB4ICsgMTAlKScgaXMgaW52YWxpZCBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5h
bWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6
IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKK1BBU1Mgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxW
YWx1ZTonMTAlJyBpcyBpbnZhbGlkIAorUEFTUyBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZh
bHVlOidjYWxjKDVweCArIDEwJSknIGlzIGludmFsaWQgCiBQQVNTIHN5bnRheDonPGxlbmd0aD4n
LCBpbml0aWFsVmFsdWU6J2NhbGMoNXB4ICogM3B4IC8gNnB4KScgaXMgaW52YWxpZCAKLUZBSUwg
c3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonMTBlbScgaXMgaW52YWxpZCBhc3NlcnRf
dGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUs
IHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZh
bHNlfSkiIGRpZCBub3QgdGhyb3cKK1BBU1Mgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1
ZTonMTBlbScgaXMgaW52YWxpZCAKIEZBSUwgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1
ZTonMTB2bWluJyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1Mu
cmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1
ZTogaW5pdGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwotRkFJTCBz
eW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOidjYWxjKDRweCArIDNlbSknIGlzIGludmFs
aWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtu
YW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGlu
aGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93Ci1GQUlMIHN5bnRheDonPGxlbmd0aD4nLCBp
bml0aWFsVmFsdWU6J2NhbGMoNHB4ICsgY2FsYyg4ICogMmVtKSknIGlzIGludmFsaWQgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1l
LCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBm
YWxzZX0pIiBkaWQgbm90IHRocm93Ci1GQUlMIHN5bnRheDonPGxlbmd0aD4rJywgaW5pdGlhbFZh
bHVlOidjYWxjKDJleCArIDE2cHgpJyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
ICIoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgs
IGluaXRpYWxWYWx1ZTogaW5pdGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0
aHJvdworUEFTUyBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOidjYWxjKDRweCArIDNl
bSknIGlzIGludmFsaWQgCitQQVNTIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6J2Nh
bGMoNHB4ICsgY2FsYyg4ICogMmVtKSknIGlzIGludmFsaWQgCitQQVNTIHN5bnRheDonPGxlbmd0
aD4rJywgaW5pdGlhbFZhbHVlOidjYWxjKDJleCArIDE2cHgpJyBpcyBpbnZhbGlkIAogUEFTUyBz
eW50YXg6JzxsZW5ndGg+KycsIGluaXRpYWxWYWx1ZTonMTBweCBjYWxjKDIwcHggKyA0cmVtKScg
aXMgaW52YWxpZCAKK0ZBSUwgc3ludGF4Oic8bGVuZ3RoPisnLCBpbml0aWFsVmFsdWU6JycgaXMg
aW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVy
dHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1
ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKK0ZBSUwgc3ludGF4Oic8bGVuZ3Ro
PiMnLCBpbml0aWFsVmFsdWU6JycgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
KCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBp
bml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhy
b3cKIFBBU1Mgc3ludGF4Oic8cGVyY2VudGFnZT4gfCA8bGVuZ3RoPisnLCBpbml0aWFsVmFsdWU6
J2NhbGMoMTAwdmggLSAxMHB4KSAzMHB4JyBpcyBpbnZhbGlkIAogUEFTUyBzeW50YXg6JzxsZW5n
dGg+JywgaW5pdGlhbFZhbHVlOicxMHB4OycgaXMgaW52YWxpZCAKLUZBSUwgc3ludGF4Oic8bGVu
Z3RoLXBlcmNlbnRhZ2U+JywgaW5pdGlhbFZhbHVlOidjYWxjKDJweCArIDEwJSArIDdleCknIGlz
IGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3Bl
cnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFs
dWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93CitQQVNTIHN5bnRheDonPGxlbmd0
aC1wZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonY2FsYygycHggKyAxMCUgKyA3ZXgpJyBpcyBp
bnZhbGlkIAogRkFJTCBzeW50YXg6JzxwZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonMCcgaXMg
aW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVy
dHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1
ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKIFBBU1Mgc3ludGF4Oic8aW50ZWdl
cj4nLCBpbml0aWFsVmFsdWU6JzEuMCcgaXMgaW52YWxpZCAKIFBBU1Mgc3ludGF4Oic8aW50ZWdl
cj4nLCBpbml0aWFsVmFsdWU6JzFlMCcgaXMgaW52YWxpZCAKIFBBU1Mgc3ludGF4Oic8bnVtYmVy
Pnxmb28nLCBpbml0aWFsVmFsdWU6J2ZvbyB2YXIoLS1mb28sIGJsYSknIGlzIGludmFsaWQgCiBG
QUlMIHN5bnRheDonPGFuZ2xlPicsIGluaXRpYWxWYWx1ZTonMCcgaXMgaW52YWxpZCBhc3NlcnRf
dGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUs
IHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZh
bHNlfSkiIGRpZCBub3QgdGhyb3cKLUZBSUwgc3ludGF4Oic8YW5nbGU+JywgaW5pdGlhbFZhbHVl
OicxMCUnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdp
c3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBp
bml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93CitQQVNTIHN5bnRh
eDonPGFuZ2xlPicsIGluaXRpYWxWYWx1ZTonMTAlJyBpcyBpbnZhbGlkIAogRkFJTCBzeW50YXg6
Jzx0aW1lPicsIGluaXRpYWxWYWx1ZTonMnB4JyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1
bmN0aW9uICIoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBz
eW50YXgsIGluaXRpYWxWYWx1ZTogaW5pdGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlk
IG5vdCB0aHJvdwogUEFTUyBzeW50YXg6JzxyZXNvbHV0aW9uPicsIGluaXRpYWxWYWx1ZTonMTAn
IGlzIGludmFsaWQgCiBQQVNTIHN5bnRheDonPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCBpbml0aWFs
VmFsdWU6J3NjYWxlKCknIGlzIGludmFsaWQgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBp
L3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBp
L3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLmh0bWwKaW5kZXggMTVhNGFiNjA0MGVl
MjQzOGMwNzI4MmE0ZGUxZTliZWRiMmM4NjcxMi4uNGNlNTE0ZjAxYzg3OTE3ZDJlNWFhYzRkNDAy
MTc2YmE4OGRhZjVhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9w
ZXJ0eS1zeW50YXgtcGFyc2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXIt
cHJvcGVydHktc3ludGF4LXBhcnNpbmcuaHRtbApAQCAtNDYsNiArNDYsNyBAQCBhc3NlcnRfdmFs
aWQoIjxsZW5ndGg+IiwgImNhbGMoMnB4KjQgKyAxMHB4KSIpOwogYXNzZXJ0X3ZhbGlkKCI8bGVu
Z3RoPiIsICI3LjFlLTRjbSIpOwogYXNzZXJ0X3ZhbGlkKCI8bGVuZ3RoPiIsICJjYWxjKDdpbiAt
IDEycHgpIik7CiBhc3NlcnRfdmFsaWQoIjxsZW5ndGg+KyIsICIycHggN3B4IGNhbGMoOHB4KSIp
OworYXNzZXJ0X3ZhbGlkKCI8bGVuZ3RoPiMiLCAiMnB4LCA3cHgsIGNhbGMoOHB4KSIpOwogYXNz
ZXJ0X3ZhbGlkKCI8cGVyY2VudGFnZT4iLCAiLTkuM2UzJSIpOwogYXNzZXJ0X3ZhbGlkKCI8bGVu
Z3RoLXBlcmNlbnRhZ2U+IiwgIi01NCUiKTsKIGFzc2VydF92YWxpZCgiPGxlbmd0aC1wZXJjZW50
YWdlPiIsICIwIik7CkBAIC01NSw2ICs1NiwxMCBAQCBhc3NlcnRfdmFsaWQoIjxudW1iZXI+Iiwg
Ii0xMDkiKTsKIGFzc2VydF92YWxpZCgiPG51bWJlcj4iLCAiMi4zZTQiKTsKIGFzc2VydF92YWxp
ZCgiPGludGVnZXI+IiwgIi0xMDkiKTsKIGFzc2VydF92YWxpZCgiPGludGVnZXI+IiwgIjE5Iik7
Cithc3NlcnRfdmFsaWQoIjxpbnRlZ2VyPiIsICJjYWxjKDEpIik7Cithc3NlcnRfdmFsaWQoIjxp
bnRlZ2VyPiIsICJjYWxjKDEgKyAyKSIpOworYXNzZXJ0X3ZhbGlkKCI8aW50ZWdlcj4iLCAiY2Fs
YygzLjE0MTUpIik7Cithc3NlcnRfdmFsaWQoIjxpbnRlZ2VyPiIsICJjYWxjKDMuMTQxNSArIDMu
MTQxNSkiKTsKIAogYXNzZXJ0X3ZhbGlkKCI8YW5nbGU+IiwgIjEwZGVnIik7CiBhc3NlcnRfdmFs
aWQoIjxhbmdsZT4iLCAiMjAuNXJhZCIpOwpAQCAtMTQ3LDYgKzE1Miw4IEBAIGFzc2VydF9pbnZh
bGlkKCI8bGVuZ3RoPiIsICJjYWxjKDRweCArIDNlbSkiKTsKIGFzc2VydF9pbnZhbGlkKCI8bGVu
Z3RoPiIsICJjYWxjKDRweCArIGNhbGMoOCAqIDJlbSkpIik7CiBhc3NlcnRfaW52YWxpZCgiPGxl
bmd0aD4rIiwgImNhbGMoMmV4ICsgMTZweCkiKTsKIGFzc2VydF9pbnZhbGlkKCI8bGVuZ3RoPisi
LCAiMTBweCBjYWxjKDIwcHggKyA0cmVtKSIpOworYXNzZXJ0X2ludmFsaWQoIjxsZW5ndGg+KyIs
ICIiKTsKK2Fzc2VydF9pbnZhbGlkKCI8bGVuZ3RoPiMiLCAiIik7CiBhc3NlcnRfaW52YWxpZCgi
PHBlcmNlbnRhZ2U+IHwgPGxlbmd0aD4rIiwgImNhbGMoMTAwdmggLSAxMHB4KSAzMHB4Iik7CiBh
c3NlcnRfaW52YWxpZCgiPGxlbmd0aD4iLCAiMTBweDsiKTsKIGFzc2VydF9pbnZhbGlkKCI8bGVu
Z3RoLXBlcmNlbnRhZ2U+IiwgImNhbGMoMnB4ICsgMTAlICsgN2V4KSIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3Bl
cnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3Rlci1wcm9wZXJ0eS5odG1sCmluZGV4IDYyYWQyMzYyMmJkNGRkYzJlOGQ1MzRlYzcy
MDcyZjVlNWZlOWYzMzQuLjU4NDJiODNiMGE0ODcxNWYxMmVmZmE2MjEyY2MwY2NjYmQ4OTA4NjEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5Lmh0bWwKQEAgLTIsNiArMiw4IEBA
CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpLyNyZWdpc3Rlci1hLWN1c3RvbS1wcm9wZXJ0eSIgLz4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPXRhcmdldD48
L2Rpdj4KIDxzY3JpcHQ+CiAvLyBUZXN0cyBmb3IgZXJyb3IgY2hlY2tpbmcgZHVyaW5nIHByb3Bl
cnR5IHJlZ2lzdHJhdGlvbgogCkBAIC00NSw0ICs0NywyOSBAQCB0ZXN0KGZ1bmN0aW9uKCl7CiAg
ICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWluaGVyaXQtdGVzdC0yJywgc3ludGF4
OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKICAg
ICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVy
dHkoe25hbWU6ICctLWluaGVyaXQtdGVzdC0zJywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFs
VmFsdWU6ICcwcHgnfSkpOwogfSwgInJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgaW5oZXJpdHMi
KTsKKwordGVzdChmdW5jdGlvbigpeworICAgIHRyeSB7CisgICAgICAgIGxldCBuYW1lID0gZ2Vu
ZXJhdGVfbmFtZSgpOworCisgICAgICAgIHRhcmdldC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCAn
Z3JlZW4nKTsKKyAgICAgICAgdGFyZ2V0LnN0eWxlLnRyYW5zaXRpb25Qcm9wZXJ0eSA9IG5hbWU7
CisgICAgICAgIHRhcmdldC5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb24gPSAnMXMnOworICAgICAg
ICB0YXJnZXQuc3R5bGUudHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uID0gJ3N0ZXBzKDEsIGVuZCkn
OworCisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFBy
b3BlcnR5VmFsdWUobmFtZSksICdncmVlbicpOworCisgICAgICAgIENTUy5yZWdpc3RlclByb3Bl
cnR5KHsKKyAgICAgICAgICAgIG5hbWU6IG5hbWUsCisgICAgICAgICAgICBzeW50YXg6ICc8Y29s
b3I+JywKKyAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogJ3JlZCcsCisgICAgICAgICAgICBpbmhl
cml0czogZmFsc2UKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKHRhcmdldCkuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKSwgJ3JnYigwLCAxMjgsIDAp
Jyk7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgdGFyZ2V0LnN0eWxlID0gJyc7CisgICAgfQor
fSwgJ1JlZ2lzdGVyaW5nIGEgcHJvcGVydHkgc2hvdWxkIG5vdCBjYXVzZSBhIHRyYW5zaXRpb24n
KTsKKwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQt
cHJvcGVydGllcy1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jl
Z2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggNTY1NGU4
MmM2YTgyYTRjMmUyOWNiMWYzNTYwNDEyMjVkMjExZTIzYS4uZDIyMzRmMDg2MjJhZDcxZGNhMTk5
YjVlMTlmMTk3NjgxZWJkYTM4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rl
cmVkLXByb3BlcnRpZXMtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAt
NCw0ICs0LDYgQEAgUEFTUyBFeHBsaWNpdGx5IGluaGVyaXRpbmcgZnJvbSBhIHBhcmVudCB3aXRo
IGFuIGludmFsaWQgdmFsdWUgcmVzdWx0cyBpbiBpbml0aWEKIFBBU1MgRXhwbGljaXRseSBpbmhl
cml0aW5nIGZyb20gYSBwYXJlbnQgd2l0aCBubyB2YWx1ZSByZXN1bHRzIGluIGluaXRpYWwgdmFs
dWUuIAogUEFTUyBSZWZlcmVuY2UgdG8gdW5kZWZpbmVkIHZhcmlhYmxlIHJlc3VsdHMgaW4gaW5o
ZXJpdGVkIHZhbHVlIAogUEFTUyBSZWZlcmVuY2UgdG8gc3ludGF4LWluY29tcGF0aWJsZSB2YXJp
YWJsZSByZXN1bHRzIGluIGluaGVyaXRlZCB2YWx1ZSAKK1BBU1MgRm9udC1yZWxhdGl2ZSB1bml0
cyBhcmUgYWJzb2x1dGl6ZWQgYmVmb3JlIGJlZm9yZSBpbmhlcml0YW5jZSAKK1BBU1MgQ2FsYyBl
eHByZXNzaW9ucyBhcmUgcmVzb2x2ZWQgYmVmb3JlIGluaGVyaXRhbmNlIAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBy
b3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnRpZXMtaW5oZXJpdGFuY2UuaHRt
bAppbmRleCA4ZjllYWZlZTE5ZTVjMjUwMDgxMWYwNTcyMzkwMjgwOGEyNzc2MGRmLi42MTRhNzJh
Nzk3YmM5MWE3Njc0MmVmYzk5MGUwNzY2OWJlZTg3YzExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1
ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWluaGVyaXRhbmNlLmh0bWwKQEAgLTcy
LDQgKzcyLDE4IEBAIHRlc3QoZnVuY3Rpb24oKXsKICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoaW5uZXIpLmdldFByb3BlcnR5VmFsdWUoJy0taW5oZXJpdGVkLWxlbmd0aC01Jyks
ICc0MnB4Jyk7CiB9LCAiUmVmZXJlbmNlIHRvIHN5bnRheC1pbmNvbXBhdGlibGUgdmFyaWFibGUg
cmVzdWx0cyBpbiBpbmhlcml0ZWQgdmFsdWUiKTsKIAordGVzdChmdW5jdGlvbigpeworICAgIENT
Uy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1pbmhlcml0ZWQtZW0nLCBzeW50YXg6ICc8bGVu
Z3RoPicsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiB0cnVlfSk7CisgICAgb3V0ZXIu
c3R5bGUgPSAnZm9udC1zaXplOiAxMXB4OyAtLWluaGVyaXRlZC1lbTogMTBlbTsnOworICAgIGlu
bmVyLnN0eWxlID0gJ2ZvbnQtc2l6ZTogMjJweDsgLS11bnJlZ2lzdGVyZWQ6dmFyKC0taW5oZXJp
dGVkLWVtKTsnOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShpbm5lcikuZ2V0
UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQnKSwgJzExMHB4Jyk7Cit9LCAiRm9udC1yZWxh
dGl2ZSB1bml0cyBhcmUgYWJzb2x1dGl6ZWQgYmVmb3JlIGJlZm9yZSBpbmhlcml0YW5jZSIpOwor
Cit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWNh
bGMtbGVuZ3RoJywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhl
cml0czogdHJ1ZX0pOworICAgIG91dGVyLnN0eWxlID0gJy0tY2FsYy1sZW5ndGg6IGNhbGMoMTBw
eCArIDEwcHgpOyc7CisgICAgaW5uZXIuc3R5bGUgPSAnLS11bnJlZ2lzdGVyZWQ6dmFyKC0tY2Fs
Yy1sZW5ndGgpOyc7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGlubmVyKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLXVucmVnaXN0ZXJlZCcpLCAnMjBweCcpOworfSwgIkNhbGMgZXhw
cmVzc2lvbnMgYXJlIHJlc29sdmVkIGJlZm9yZSBpbmhlcml0YW5jZSIpOworCiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jb21wdXRh
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHkt
Y29tcHV0YXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDQyNmU5NmU0ZjBhMmMyYzZmODY3YmYzMGRm
ZWQ4OTVmYWI3Mjg3ODguLjFiZjdlYjZiOWQ3MDMyYjVmYThhNjlmNThhNWI1ZTUwMjJlMjcyMDQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jb21wdXRh
dGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3Bl
cnR5LWNvbXB1dGF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSw1NyBAQAogCi1GQUlMIENT
Uy5yZWdpc3RlclByb3BlcnR5IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNl
IGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotUEFTUyA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVk
IGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRTaXplU2V0IAotRkFJTCA8bGVuZ3RoLXBlcmNlbnRh
Z2U+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVTZXQg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImNhbGMoMTkwcHggKyAtMiUpIiBidXQgZ290ICJjYWxj
KDE5MHB4IC0gMiUpIgotRkFJTCA8bGVuZ3RoPiMgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0
bHkgZm9yIGRpdldpdGhGb250U2l6ZVNldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTBweCwg
MzBweCIgYnV0IGdvdCAiMHB4IgotRkFJTCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IyB2YWx1ZXMgYXJl
IGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRTaXplU2V0IGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICIzJSwgODBweCwgMjJweCIgYnV0IGdvdCAiMHB4IgotRkFJTCA8bGVuZ3RoPisg
dmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZVNldCBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiMTBweCAzMHB4IiBidXQgZ290ICIwcHgiCi1GQUlMIDxsZW5n
dGgtcGVyY2VudGFnZT4rIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRo
Rm9udFNpemVTZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjMlIDgwcHggMjJweCIgYnV0IGdv
dCAiMHB4IgotRkFJTCA8dHJhbnNmb3JtLWZ1bmN0aW9uPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNv
cnJlY3RseSBmb3IgZGl2V2l0aEZvbnRTaXplU2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0
cmFuc2xhdGVYKDJweCkiIGJ1dCBnb3QgIiB0cmFuc2xhdGVYKDJweCkiCi1QQVNTIDxsZW5ndGg+
IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVJbmhlcml0
ZWQgCi1GQUlMIDxsZW5ndGgtcGVyY2VudGFnZT4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0
bHkgZm9yIGRpdldpdGhGb250U2l6ZUluaGVyaXRlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
Y2FsYygxOTBweCArIC0yJSkiIGJ1dCBnb3QgImNhbGMoMTkwcHggLSAyJSkiCi1GQUlMIDxsZW5n
dGg+IyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRTaXplSW5o
ZXJpdGVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxMHB4LCAzMHB4IiBidXQgZ290ICIwcHgi
Ci1GQUlMIDxsZW5ndGgtcGVyY2VudGFnZT4jIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5
IGZvciBkaXZXaXRoRm9udFNpemVJbmhlcml0ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjMl
LCA4MHB4LCAyMnB4IiBidXQgZ290ICIwcHgiCi1GQUlMIDxsZW5ndGg+KyB2YWx1ZXMgYXJlIGNv
bXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRTaXplSW5oZXJpdGVkIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICIxMHB4IDMwcHgiIGJ1dCBnb3QgIjBweCIKLUZBSUwgPGxlbmd0aC1wZXJj
ZW50YWdlPisgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6
ZUluaGVyaXRlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMyUgODBweCAyMnB4IiBidXQgZ290
ICIwcHgiCi1GQUlMIDx0cmFuc2Zvcm0tZnVuY3Rpb24+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29y
cmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVJbmhlcml0ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInRyYW5zbGF0ZVgoMnB4KSIgYnV0IGdvdCAiIHRyYW5zbGF0ZVgoMnB4KSIKK1BBU1MgPGxl
bmd0aD4gdmFsdWVzIGNvbXB1dGVkIGFyZSBjb3JyZWN0bHkgdmlhIHZhcigpLXJlZmVyZW5jZSAK
K1BBU1MgPGxlbmd0aD4gdmFsdWVzIGNvbXB1dGVkIGFyZSBjb3JyZWN0bHkgdmlhIHZhcigpLXJl
ZmVyZW5jZSB3aGVuIGZvbnQtc2l6ZSBpcyBpbmhlcml0ZWQgCitQQVNTIDxsZW5ndGg+IHZhbHVl
cyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IHdoZW4gZm9udC1zaXplIGlzIGluaGVyaXRlZCBbMTRl
bV0gCitQQVNTIDxsZW5ndGg+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IHdoZW4gZm9u
dC1zaXplIGlzIGluaGVyaXRlZCBbY2FsYygxNGVtICsgMTBweCldIAorUEFTUyA8bGVuZ3RoPiB2
YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMTJweF0gCitQQVNTIDxsZW5ndGg+IHZhbHVl
cyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFsxM3Z3XSAKK1BBU1MgPGxlbmd0aD4gdmFsdWVzIGFy
ZSBjb21wdXRlZCBjb3JyZWN0bHkgWzE0ZW1dIAorUEFTUyA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNv
bXB1dGVkIGNvcnJlY3RseSBbMTV2bWluXSAKK1BBU1MgPGxlbmd0aD4gdmFsdWVzIGFyZSBjb21w
dXRlZCBjb3JyZWN0bHkgW2NhbGMoMTZweCAtIDdlbSArIDEwdmgpXSAKK1BBU1MgPGxlbmd0aC1w
ZXJjZW50YWdlPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMTdlbV0gCitGQUlMIDxs
ZW5ndGgtcGVyY2VudGFnZT4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzE4JV0gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE4JSIgYnV0IGdvdCAiMHB4IgorRkFJTCA8bGVuZ3RoLXBl
cmNlbnRhZ2U+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFtjYWxjKDE5ZW0gLSAyJSld
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJjYWxjKC0yJSArIDE5MHB4KSIgYnV0IGdvdCAiMHB4
IgorRkFJTCA8bGVuZ3RoPiMgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzEwcHgsIDNl
bV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjEwcHgsIDMwcHgiIGJ1dCBnb3QgIjBweCIKK0ZB
SUwgPGxlbmd0aD4jIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFs0ZW0gLDlweF0gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjQwcHgsIDlweCIgYnV0IGdvdCAiMHB4IgorUEFTUyA8bGVu
Z3RoPiMgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzhlbV0gCitGQUlMIDxsZW5ndGgt
cGVyY2VudGFnZT4jIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFszJSAsIDEwdm1heCAg
LCAyMnB4XSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMyUsIDgwcHgsIDIycHgiIGJ1dCBnb3Qg
IjBweCIKK0ZBSUwgPGxlbmd0aC1wZXJjZW50YWdlPiMgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3Jy
ZWN0bHkgW2NhbGMoNTAlICsgMWVtKSwgNHB4XSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2Fs
Yyg1MCUgKyAxMHB4KSwgNHB4IiBidXQgZ290ICIwcHgiCitGQUlMIDxsZW5ndGgtcGVyY2VudGFn
ZT4jIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFtjYWxjKDEzJSArIDM3cHgpXSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYygxMyUgKyAzN3B4KSIgYnV0IGdvdCAiMHB4IgorRkFJ
TCA8bGVuZ3RoPisgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzEwcHggM2VtXSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiMTBweCAzMHB4IiBidXQgZ290ICIwcHgiCitGQUlMIDxsZW5n
dGg+KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbNGVtIDlweF0gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIjQwcHggOXB4IiBidXQgZ290ICIwcHgiCitGQUlMIDxsZW5ndGgtcGVyY2Vu
dGFnZT4rIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFszJSAxMHZtYXggMjJweF0gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjMlIDgwcHggMjJweCIgYnV0IGdvdCAiMHB4IgorRkFJTCA8
bGVuZ3RoLXBlcmNlbnRhZ2U+KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYyg1
MCUgKyAxZW0pIDRweF0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImNhbGMoNTAlICsgMTBweCkg
NHB4IiBidXQgZ290ICIwcHgiCitGQUlMIDx0cmFuc2Zvcm0tZnVuY3Rpb24+IHZhbHVlcyBhcmUg
Y29tcHV0ZWQgY29ycmVjdGx5IFt0cmFuc2xhdGVYKDJweCldIFRoZSBnaXZlbiBpbml0aWFsIHZh
bHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8dHJhbnNmb3Jt
LWZ1bmN0aW9uPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbdHJhbnNsYXRlWCgxMGVt
KV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBz
eW50YXguCitGQUlMIDx0cmFuc2Zvcm0tZnVuY3Rpb24+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29y
cmVjdGx5IFt0cmFuc2xhdGVYKGNhbGMoMTFlbSArIDEwJSkpXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2
YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPHRyYW5zZm9y
bS1mdW5jdGlvbj4rIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFt0cmFuc2xhdGVYKDEw
JSkgc2NhbGUoMildIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0
aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8aW50ZWdlcj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3Jy
ZWN0bHkgWzE1XSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTUiIGJ1dCBnb3QgIjBweCIKK0ZB
SUwgPGludGVnZXI+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFtjYWxjKDE1ICsgMTUp
XSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMzAiIGJ1dCBnb3QgIjBweCIKK0ZBSUwgPGludGVn
ZXI+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFtjYWxjKDIuNCldIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICIyIiBidXQgZ290ICIwcHgiCitGQUlMIDxpbnRlZ2VyPiB2YWx1ZXMgYXJl
IGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYygyLjYpXSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
MyIgYnV0IGdvdCAiMHB4IgorRkFJTCA8aW50ZWdlcj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3Jy
ZWN0bHkgW2NhbGMoMi42ICsgMy4xKV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjYiIGJ1dCBn
b3QgIjBweCIKK0ZBSUwgPGludGVnZXI+KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBb
MTUgY2FsYygyLjQpIGNhbGMoMi42KV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE1IDIgMyIg
YnV0IGdvdCAiMHB4IgorRkFJTCA8Y29sb3I+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5
IFsjZmYwMDAwXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhl
IGdpdmVuIHN5bnRheC4KK0ZBSUwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3Rs
eSBbIzAwMGYwMF0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRo
ZSBnaXZlbiBzeW50YXguCitGQUlMIDxjb2xvcj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0
bHkgWyMwMDAwMGFdIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0
aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8Y29sb3I+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVj
dGx5IFsjYmFkYmVlXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3Ig
dGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJl
Y3RseSBbI2JhZGJlZTMzXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBm
b3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNv
cnJlY3RseSBbdG9tYXRvXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBm
b3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNv
cnJlY3RseSBbcGx1bV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9y
IHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDxjb2xvcj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3Jy
ZWN0bHkgW2N1cnJlbnRjb2xvcl0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFy
c2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitQQVNTICogdmFsdWVzIGFyZSBjb21wdXRlZCBjb3Jy
ZWN0bHkgW3RvbWF0b10gCitGQUlMIHRvbWF0byB8IHBsdW0gdmFsdWVzIGFyZSBjb21wdXRlZCBj
b3JyZWN0bHkgW3BsdW1dIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZv
ciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCB0b21hdG8gfCBwbHVtIHwgPGNvbG9yPiB2YWx1ZXMg
YXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbcGx1bV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9l
cyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitQQVNTICogdmFsdWVzIGFyZSBjb21w
dXRlZCBjb3JyZWN0bHkgWy01MGdyYWRdIAorRkFJTCA8YW5nbGU+IHZhbHVlcyBhcmUgY29tcHV0
ZWQgY29ycmVjdGx5IFsxODBkZWddIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBh
cnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8YW5nbGU+IHZhbHVlcyBhcmUgY29tcHV0
ZWQgY29ycmVjdGx5IFs0MDBncmFkXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBw
YXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPGFuZ2xlPiB2YWx1ZXMgYXJlIGNvbXB1
dGVkIGNvcnJlY3RseSBbY2FsYygzNjBkZWcgKyA0MDBncmFkKV0gVGhlIGdpdmVuIGluaXRpYWwg
dmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitQQVNTICogdmFsdWVz
IGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzUwc10gCitGQUlMIDx0aW1lPiB2YWx1ZXMgYXJlIGNv
bXB1dGVkIGNvcnJlY3RseSBbMXNdIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBh
cnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8dGltZT4gdmFsdWVzIGFyZSBjb21wdXRl
ZCBjb3JyZWN0bHkgWzEwMDBtc10gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFy
c2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDx0aW1lPiB2YWx1ZXMgYXJlIGNvbXB1dGVk
IGNvcnJlY3RseSBbY2FsYygxMDAwbXMgKyAxcyldIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRv
ZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorUEFTUyAqIHZhbHVlcyBhcmUgY29t
cHV0ZWQgY29ycmVjdGx5IFs1MGRwaV0gCitGQUlMIDxyZXNvbHV0aW9uPiB2YWx1ZXMgYXJlIGNv
bXB1dGVkIGNvcnJlY3RseSBbMWRwcHhdIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90
IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8cmVzb2x1dGlvbj4gdmFsdWVzIGFy
ZSBjb21wdXRlZCBjb3JyZWN0bHkgWzk2ZHBpXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2Vz
IG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPHJlc29sdXRpb24+IHZhbHVl
cyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFtjYWxjKDFkcHB4ICsgOTZkcGkpXSBUaGUgZ2l2ZW4g
aW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktY29tcHV0YXRpb24u
aHRtbAppbmRleCAzMGQ2YjRiZDYwOWJmMDFmMWJiMTBhNDg1YmFhNzg3ZjIyYjYzNWRjLi5iMWU1
ZDIzNzM4YjlkZGExZWEyODBkZmQzMjFiYzViMjgzOGI1MTlhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktY29tcHV0YXRpb24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktY29tcHV0YXRpb24uaHRtbApAQCAtMSwx
MTcgKzEsMTY0IEBACi08IURPQ1RZUEUgSFRNTD4KKzwhRE9DVFlQRSBodG1sPgogPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXByb3BlcnRp
ZXMtdmFsdWVzLWFwaS8jY2FsY3VsYXRpb24tb2YtY29tcHV0ZWQtdmFsdWVzIiAvPgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KIAogPHN0eWxlPgogI2RpdldpdGhGb250
U2l6ZVNldCwgI3BhcmVudERpdiB7CiAgICAgZm9udC1zaXplOiAxMHB4OwogfQotI2RpdldpdGhG
b250U2l6ZVNldCwgI2RpdldpdGhGb250U2l6ZUluaGVyaXRlZCB7Ci0gICAgLS1sZW5ndGgtMTog
MTJweDsKLSAgICAtLWxlbmd0aC0yOiAxM3Z3OwotICAgIC0tbGVuZ3RoLTM6IDE0ZW07Ci0gICAg
LS1sZW5ndGgtNDogMTV2bWluOwotICAgIC0tbGVuZ3RoLTU6IGNhbGMoMTZweCAtIDdlbSArIDEw
dmgpOwotICAgIC0tbGVuZ3RoLTY6IHZhcigtLWxlbmd0aC0zKTsKLSAgICAtLWxlbmd0aC1wZXJj
ZW50YWdlLTE6IDE3ZW07Ci0gICAgLS1sZW5ndGgtcGVyY2VudGFnZS0yOiAxOCU7Ci0gICAgLS1s
ZW5ndGgtcGVyY2VudGFnZS0zOiBjYWxjKDE5ZW0gLSAyJSk7Ci0gICAgLS1jc3YtMTogMTBweCwg
M2VtOwotICAgIC0tY3N2LTI6IDRlbSAsOXB4OwotICAgIC0tY3N2LTM6IDhlbTsKLSAgICAtLWNz
di00OiAzJSAsIDEwdm1heCAgLCAyMnB4OwotICAgIC0tY3N2LTU6IGNhbGMoNTAlICsgMWVtKSwg
NHB4OwotICAgIC0tY3N2LTY6IGNhbGMoMTMlICsgMzdweCk7Ci0gICAgLS1saXN0LTE6IDEwcHgg
M2VtOwotICAgIC0tbGlzdC0yOiA0ZW0gOXB4OwotICAgIC0tbGlzdC0zOiAzJSAxMHZtYXggMjJw
eDsKLSAgICAtLWxpc3QtNDogY2FsYyg1MCUgKyAxZW0pIDRweDsKLSAgICAtLXRyYW5zZm9ybS1m
dW5jdGlvbi0xOiB0cmFuc2xhdGVYKDJweCk7Ci0gICAgLS10cmFuc2Zvcm0tZnVuY3Rpb24tMjog
dHJhbnNsYXRlWCgxMGVtKTsKLSAgICAtLXRyYW5zZm9ybS1mdW5jdGlvbi0zOiB0cmFuc2xhdGVY
KGNhbGMoMTFlbSArIDEwJSkpOwotICAgIC0tdHJhbnNmb3JtLWZ1bmN0aW9uLTQ6IHRyYW5zbGF0
ZVgoMTAlKSBzY2FsZSgyKTsKLX0KIDwvc3R5bGU+CiAKIDxkaXYgaWQ9ZGl2V2l0aEZvbnRTaXpl
U2V0PjwvZGl2PgogPGRpdiBpZD1wYXJlbnREaXY+CiAgICAgPGRpdiBpZD1kaXZXaXRoRm9udFNp
emVJbmhlcml0ZWQ+PC9kaXY+CiA8L2Rpdj4KKzxkaXYgaWQ9InJlZiI+PC9kaXY+CiAKIDxzY3Jp
cHQ+Ci10ZXN0KCgpID0+IHsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVu
Z3RoLTEnLCBzeW50YXg6ICc8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRz
OiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1sZW5ndGgtMics
IHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNl
fSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWxlbmd0aC0zJywgc3ludGF4
OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAg
ICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoLTQnLCBzeW50YXg6ICc8bGVu
Z3RoPicsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5y
ZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1sZW5ndGgtNScsIHN5bnRheDogJzxsZW5ndGg+Jywg
aW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVy
UHJvcGVydHkoe25hbWU6ICctLWxlbmd0aC02Jywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFs
VmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0
eSh7bmFtZTogJy0tbGVuZ3RoLXBlcmNlbnRhZ2UtMScsIHN5bnRheDogJzxsZW5ndGgtcGVyY2Vu
dGFnZT4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1Mu
cmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoLXBlcmNlbnRhZ2UtMicsIHN5bnRheDog
JzxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFs
c2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoLXBlcmNlbnRh
Z2UtMycsIHN5bnRheDogJzxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6ICcwcHgn
LCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0t
Y3N2LTEnLCBzeW50YXg6ICc8bGVuZ3RoPiMnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0
czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tY3N2LTInLCBz
eW50YXg6ICc8bGVuZ3RoPiMnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9
KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tY3N2LTMnLCBzeW50YXg6ICc8
bGVuZ3RoPiMnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBD
U1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tY3N2LTQnLCBzeW50YXg6ICc8bGVuZ3RoLXBl
cmNlbnRhZ2U+IycsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAg
IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1jc3YtNScsIHN5bnRheDogJzxsZW5ndGgt
cGVyY2VudGFnZT4jJywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0g
ICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWNzdi02Jywgc3ludGF4OiAnPGxlbmd0
aC1wZXJjZW50YWdlPiMnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsK
LSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGlzdC0xJywgc3ludGF4OiAnPGxl
bmd0aD4rJywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NT
LnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWxpc3QtMicsIHN5bnRheDogJzxsZW5ndGg+Kycs
IGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3Rl
clByb3BlcnR5KHtuYW1lOiAnLS1saXN0LTMnLCBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+
KycsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdp
c3RlclByb3BlcnR5KHtuYW1lOiAnLS1saXN0LTQnLCBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRh
Z2U+KycsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5y
ZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS10cmFuc2Zvcm0tZnVuY3Rpb24tMScsIHN5bnRheDog
Jzx0cmFuc2Zvcm0tZnVuY3Rpb24+JywgaW5pdGlhbFZhbHVlOiAndHJhbnNsYXRlWCgwcHgpJywg
aW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLXRy
YW5zZm9ybS1mdW5jdGlvbi0yJywgc3ludGF4OiAnPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCBpbml0
aWFsVmFsdWU6ICd0cmFuc2xhdGVYKDBweCknLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1Mu
cmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tdHJhbnNmb3JtLWZ1bmN0aW9uLTMnLCBzeW50YXg6
ICc8dHJhbnNmb3JtLWZ1bmN0aW9uPicsIGluaXRpYWxWYWx1ZTogJ3RyYW5zbGF0ZVgoMHB4KScs
IGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS10
cmFuc2Zvcm0tZnVuY3Rpb24tNCcsIHN5bnRheDogJzx0cmFuc2Zvcm0tZnVuY3Rpb24+KycsIGlu
aXRpYWxWYWx1ZTogJ3RyYW5zbGF0ZVgoMHB4KScsIGluaGVyaXRzOiBmYWxzZX0pOwotfSwgIkNT
Uy5yZWdpc3RlclByb3BlcnR5Iik7Ci0KLWZvciAodmFyIGVsZW1lbnQgb2YgW2RpdldpdGhGb250
U2l6ZVNldCwgZGl2V2l0aEZvbnRTaXplSW5oZXJpdGVkXSkgewotICAgIHZhciBpZCA9IGVsZW1l
bnQuaWQ7Ci0gICAgdmFyIGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQp
OwogCi0gICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTEnKSwgJzEycHgnKTsKLSAgICAgICAg
YXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTIn
KSwgJzEwNHB4Jyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCctLWxlbmd0aC0zJyksICcxNDBweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxz
KGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtNCcpLCAnOTBweCcpOwot
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1s
ZW5ndGgtNScpLCAnNnB4Jyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC02JyksICcxNDBweCcpOwotICAgIH0sICI8bGVuZ3Ro
PiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgIiArIGlkKTsKKy8vIEdlbmVyYXRl
IGEgcHJvcGVydHkgYW5kIHRlbXBvcmFyaWx5IHNldCBpdHMgdmFsdWUuIFRoZW4gY2FsbCAnZm4n
IHdpdGgKKy8vIHRoZSBuYW1lIG9mIHRoZSBnZW5lcmF0ZWQgcHJvcGVydHkuCitmdW5jdGlvbiB3
aXRoX2N1c3RvbV9wcm9wZXJ0eShlbGVtZW50LCByZWcsIHZhbHVlLCBmbikgeworICAgIGlmIChl
bGVtZW50LmlkLmxlbmd0aCA9PSAwKQorICAgICAgICB0aHJvdyAnVGhlIHNwZWNpZmllZCBlbGVt
ZW50IG11c3QgaGF2ZSBhbiBJRCc7CiAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBh
c3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtcGVy
Y2VudGFnZS0xJyksICcxNzBweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtcGVyY2VudGFnZS0yJyksICcxOCUnKTsKLSAg
ICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVu
Z3RoLXBlcmNlbnRhZ2UtMycpLCAnY2FsYygxOTBweCArIC0yJSknKTsKLSAgICB9LCAiPGxlbmd0
aC1wZXJjZW50YWdlPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgIiArIGlkKTsK
KyAgICBsZXQgbmFtZSA9IGdlbmVyYXRlX3Byb3BlcnR5KHJlZyk7CiAKLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnLS1jc3YtMScpLCAnMTBweCwgMzBweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jc3YtMicpLCAnNDBweCwgOXB4Jyk7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNz
di0zJyksICc4MHB4Jyk7Ci0gICAgfSwgIjxsZW5ndGg+IyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNv
cnJlY3RseSBmb3IgIiArIGlkKTsKKyAgICAvLyBCZWNhdXNlIHdlIHdhbnQgdG8gaW5jbHVkZSB0
aGUgcGFyc2luZyBzdGVwLCBpbnNlcnQgYSBzdHlsZXNoZWV0CisgICAgLy8gbm9kZSB3aXRoIHRl
eHRDb250ZW50LgorICAgIGxldCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUn
KTsKKyAgICBub2RlLnRleHRDb250ZW50ID0gYCMke2VsZW1lbnQuaWR9IHsgJHtuYW1lfToke3Zh
bHVlfTsgfWA7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQobm9kZSk7CiAKLSAgICB0ZXN0KGZ1
bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgnLS1jc3YtNCcpLCAnMyUsIDgwcHgsIDIycHgnKTsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY3N2LTUnKSwgJ2NhbGMoMTBw
eCArIDUwJSksIDRweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS1jc3YtNicpLCAnY2FsYygzN3B4ICsgMTMlKScpOwotICAgIH0sICI8
bGVuZ3RoLXBlcmNlbnRhZ2U+IyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgIiAr
IGlkKTsKKyAgICB0cnkgeworICAgICAgICBmbihuYW1lKTsKKyAgICB9IGZpbmFsbHkgeworICAg
ICAgICBub2RlLnJlbW92ZSgpOworICAgIH0KK30KIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxp
c3QtMScpLCAnMTBweCAzMHB4Jyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxpc3QtMicpLCAnNDBweCA5cHgnKTsKLSAgICB9LCAiPGxl
bmd0aD4rIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciAiICsgaWQpOworZnVuY3Rp
b24gYXNzZXJ0X2NvbXB1dGVkX3ZhbHVlKGVsZW1lbnQsIHN5bnRheCwgdmFsdWUsIGV4cGVjdGVk
KSB7CisgICAgd2l0aF9jdXN0b21fcHJvcGVydHkoZWxlbWVudCwgc3ludGF4LCB2YWx1ZSwgKG5h
bWUpID0+IHsKKyAgICAgICAgbGV0IGFjdHVhbCA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCku
Z2V0UHJvcGVydHlWYWx1ZShuYW1lKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4
cGVjdGVkKTsKKyAgICB9KTsKK30KIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxpc3QtMycpLCAn
MyUgODBweCAyMnB4Jyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKCctLWxpc3QtNCcpLCAnY2FsYygxMHB4ICsgNTAlKSA0cHgnKTsKLSAgICB9
LCAiPGxlbmd0aC1wZXJjZW50YWdlPisgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9y
ICIgKyBpZCk7CisvLyBDb21wdXRlcyBhbiBhYnNvbHV0ZSByZWZlcmVuY2UgdmFsdWUgZm9yIHNv
bWUgbGVuZ3RoLgorLy8KKy8vIEUuZy4gdG8gZmlndXJlIG91dCBob3cgbWFueSBwaXhlbHMgJzEw
dmgnIGlzLCBkbyBsZW5ndGhfcmVmKCcxMHZoJykuCitmdW5jdGlvbiBsZW5ndGhfcmVmKHZhbHVl
LCByZWZub2RlID0gcmVmKSB7CisgICAgdHJ5IHsKKyAgICAgICAgLy8gVGhlIHJlZmVyZW5jZSBw
cm9wZXJ0eSAnbWluLWhlaWdodCcgaXMgY2hvc2VuIGFyYml0cmFyaWx5LCBidXQKKyAgICAgICAg
Ly8gYXZvaWQgcHJvcGVydGllcyB3aXRoICJyZXNvbHZlZCB2YWx1ZSBpcyB1c2VkIHZhbHVlIi1i
ZWhhdmlvcgorICAgICAgICAvLyBbMV0sIGFzIGl0IG1heSBhZmZlY3Qgcm91bmRpbmcsIGFuZCBj
dXN0b20gcHJvcGVydGllcyBkbyBub3QKKyAgICAgICAgLy8gaGF2ZSB0aGlzIGJlaGF2aW9yLgor
ICAgICAgICAvLworICAgICAgICAvLyBbMV0gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29t
LyNyZXNvbHZlZC12YWx1ZXMKKyAgICAgICAgY29uc3QgcmVmX3Byb3BlcnR5ID0gJ21pbi1oZWln
aHQnOworICAgICAgICByZWZub2RlLnN0eWxlID0gYCR7cmVmX3Byb3BlcnR5fTogJHt2YWx1ZX1g
OworICAgICAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShyZWZub2RlKS5nZXRQcm9wZXJ0eVZh
bHVlKHJlZl9wcm9wZXJ0eSk7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgcmVmbm9kZS5zdHls
ZSA9ICcnOworICAgIH0KK30KIAorZnVuY3Rpb24gdGVzdF9jb21wdXRlZF92YWx1ZShzeW50YXgs
IHZhbHVlLCBleHBlY3RlZCkgewogICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXRyYW5zZm9ybS1mdW5j
dGlvbi0xJyksICd0cmFuc2xhdGVYKDJweCknKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdHJhbnNmb3JtLWZ1bmN0aW9uLTInKSwgJ3Ry
YW5zbGF0ZVgoMTAwcHgpJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLXRyYW5zZm9ybS1mdW5jdGlvbi0zJyksICd0cmFuc2xhdGVYKGNh
bGMoMTEwcHggKyAxMCUpKScpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgnLS10cmFuc2Zvcm0tZnVuY3Rpb24tNCcpLCAndHJhbnNsYXRlWCgx
MCUpIHNjYWxlKDIpJyk7Ci0gICAgfSwgIjx0cmFuc2Zvcm0tZnVuY3Rpb24+IHZhbHVlcyBhcmUg
Y29tcHV0ZWQgY29ycmVjdGx5IGZvciAiICsgaWQpOworICAgICAgICBhc3NlcnRfY29tcHV0ZWRf
dmFsdWUoZGl2V2l0aEZvbnRTaXplU2V0LCBzeW50YXgsIHZhbHVlLCBleHBlY3RlZCk7CisgICAg
fSwgYCR7c3ludGF4fSB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbJHt2YWx1ZX1dYCk7
CiB9CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgICBjb25zdCBlbGVtZW50ID0gZGl2V2l0aEZvbnRT
aXplU2V0OworICAgIHdpdGhfY3VzdG9tX3Byb3BlcnR5KGVsZW1lbnQsICc8bGVuZ3RoPicsICcx
NGVtJywgKG5hbWUpID0+IHsKKyAgICAgICAgYXNzZXJ0X2NvbXB1dGVkX3ZhbHVlKGVsZW1lbnQs
ICc8bGVuZ3RoPicsIGB2YXIoJHtuYW1lfSlgLCAnMTQwcHgnKTsKKyAgICB9KTsKK30sICc8bGVu
Z3RoPiB2YWx1ZXMgY29tcHV0ZWQgYXJlIGNvcnJlY3RseSB2aWEgdmFyKCktcmVmZXJlbmNlJyk7
CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgICBjb25zdCBlbGVtZW50ID0gZGl2V2l0aEZvbnRTaXpl
SW5oZXJpdGVkOworICAgIHdpdGhfY3VzdG9tX3Byb3BlcnR5KGVsZW1lbnQsICc8bGVuZ3RoPics
ICcxNGVtJywgKG5hbWUpID0+IHsKKyAgICAgICAgYXNzZXJ0X2NvbXB1dGVkX3ZhbHVlKGVsZW1l
bnQsICc8bGVuZ3RoPicsIGB2YXIoJHtuYW1lfSlgLCAnMTQwcHgnKTsKKyAgICB9KTsKK30sICc8
bGVuZ3RoPiB2YWx1ZXMgY29tcHV0ZWQgYXJlIGNvcnJlY3RseSB2aWEgdmFyKCktcmVmZXJlbmNl
IHdoZW4gZm9udC1zaXplIGlzIGluaGVyaXRlZCcpOworCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAg
Y29uc3QgZWxlbWVudCA9IGRpdldpdGhGb250U2l6ZUluaGVyaXRlZDsKKyAgICBhc3NlcnRfY29t
cHV0ZWRfdmFsdWUoZWxlbWVudCwgJzxsZW5ndGg+JywgJzE0ZW0nLCAnMTQwcHgnKTsKK30sICc8
bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSB3aGVuIGZvbnQtc2l6ZSBpcyBp
bmhlcml0ZWQgWzE0ZW1dJyk7CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgICBjb25zdCBlbGVtZW50
ID0gZGl2V2l0aEZvbnRTaXplSW5oZXJpdGVkOworICAgIGFzc2VydF9jb21wdXRlZF92YWx1ZShl
bGVtZW50LCAnPGxlbmd0aD4nLCAnY2FsYygxNGVtICsgMTBweCknLCAnMTUwcHgnKTsKK30sICc8
bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSB3aGVuIGZvbnQtc2l6ZSBpcyBp
bmhlcml0ZWQgW2NhbGMoMTRlbSArIDEwcHgpXScpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8
bGVuZ3RoPicsICcxMnB4JywgJzEycHgnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGg+
JywgJzEzdncnLCBsZW5ndGhfcmVmKCcxM3Z3JykpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxl
bmd0aD4nLCAnMTRlbScsICcxNDBweCcpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aD4n
LCAnMTV2bWluJywgbGVuZ3RoX3JlZignMTV2bWluJykpOwordGVzdF9jb21wdXRlZF92YWx1ZSgn
PGxlbmd0aD4nLCAnY2FsYygxNnB4IC0gN2VtICsgMTB2aCknLCBsZW5ndGhfcmVmKCdjYWxjKDEw
dmggLSA1NHB4KScpKTsKKwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aC1wZXJjZW50YWdl
PicsICcxN2VtJywgJzE3MHB4Jyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoLXBlcmNl
bnRhZ2U+JywgJzE4JScsICcxOCUnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGgtcGVy
Y2VudGFnZT4nLCAnY2FsYygxOWVtIC0gMiUpJywgJ2NhbGMoLTIlICsgMTkwcHgpJyk7CisKK3Rl
c3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGg+IycsICcxMHB4LCAzZW0nLCAnMTBweCwgMzBweCcp
OwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aD4jJywgJzRlbSAsOXB4JywgJzQwcHgsIDlw
eCcpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aD4jJywgJzhlbScsICc4MHB4Jyk7CisK
K3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGgtcGVyY2VudGFnZT4jJywgJzMlICwgMTB2bWF4
ICAsIDIycHgnLCBbJzMlJywgbGVuZ3RoX3JlZignMTB2bWF4JyksICcyMnB4J10uam9pbignLCAn
KSk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoLXBlcmNlbnRhZ2U+IycsICdjYWxjKDUw
JSArIDFlbSksIDRweCcsICdjYWxjKDUwJSArIDEwcHgpLCA0cHgnKTsKK3Rlc3RfY29tcHV0ZWRf
dmFsdWUoJzxsZW5ndGgtcGVyY2VudGFnZT4jJywgJ2NhbGMoMTMlICsgMzdweCknLCAnY2FsYygx
MyUgKyAzN3B4KScpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoPisnLCAnMTBweCAz
ZW0nLCAnMTBweCAzMHB4Jyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoPisnLCAnNGVt
IDlweCcsICc0MHB4IDlweCcpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoLXBlcmNl
bnRhZ2U+KycsICczJSAxMHZtYXggMjJweCcsIFsnMyUnLCBsZW5ndGhfcmVmKCcxMHZtYXgnKSwg
JzIycHgnXS5qb2luKCcgJykpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aC1wZXJjZW50
YWdlPisnLCAnY2FsYyg1MCUgKyAxZW0pIDRweCcsICdjYWxjKDUwJSArIDEwcHgpIDRweCcpOwor
Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8dHJhbnNmb3JtLWZ1bmN0aW9uPicsICd0cmFuc2xhdGVY
KDJweCknLCAndHJhbnNsYXRlWCgycHgpJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8dHJhbnNm
b3JtLWZ1bmN0aW9uPicsICd0cmFuc2xhdGVYKDEwZW0pJywgJ3RyYW5zbGF0ZVgoMTAwcHgpJyk7
Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8dHJhbnNmb3JtLWZ1bmN0aW9uPicsICd0cmFuc2xhdGVY
KGNhbGMoMTFlbSArIDEwJSkpJywgJ3RyYW5zbGF0ZVgoY2FsYygxMCUgKyAxMTBweCkpJyk7Cit0
ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8dHJhbnNmb3JtLWZ1bmN0aW9uPisnLCAndHJhbnNsYXRlWCgx
MCUpIHNjYWxlKDIpJywgJ3RyYW5zbGF0ZVgoMTAlKSBzY2FsZSgyKScpOworCit0ZXN0X2NvbXB1
dGVkX3ZhbHVlKCc8aW50ZWdlcj4nLCAnMTUnLCAnMTUnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUo
JzxpbnRlZ2VyPicsICdjYWxjKDE1ICsgMTUpJywgJzMwJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVl
KCc8aW50ZWdlcj4nLCAnY2FsYygyLjQpJywgJzInKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxp
bnRlZ2VyPicsICdjYWxjKDIuNiknLCAnMycpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGludGVn
ZXI+JywgJ2NhbGMoMi42ICsgMy4xKScsICc2Jyk7CisKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxp
bnRlZ2VyPisnLCAnMTUgY2FsYygyLjQpIGNhbGMoMi42KScsICcxNSAyIDMnKTsKKwordGVzdF9j
b21wdXRlZF92YWx1ZSgnPGNvbG9yPicsICcjZmYwMDAwJywgJ3JnYigyNTUsIDAsIDApJyk7Cit0
ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8Y29sb3I+JywgJyMwMDBmMDAnLCAncmdiKDAsIDE1LCAwKScp
OwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGNvbG9yPicsICcjMDAwMDBhJywgJ3JnYigwLCAwLCAx
MCknKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxjb2xvcj4nLCAnI2JhZGJlZScsICdyZ2IoMTg2
LCAyMTksIDIzOCknKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxjb2xvcj4nLCAnI2JhZGJlZTMz
JywgJ3JnYmEoMTg2LCAyMTksIDIzOCwgMC4yKScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGNv
bG9yPicsICd0b21hdG8nLCAncmdiKDI1NSwgOTksIDcxKScpOwordGVzdF9jb21wdXRlZF92YWx1
ZSgnPGNvbG9yPicsICdwbHVtJywgJ3JnYigyMjEsIDE2MCwgMjIxKScpOwordGVzdF9jb21wdXRl
ZF92YWx1ZSgnPGNvbG9yPicsICdjdXJyZW50Y29sb3InLCAnY3VycmVudGNvbG9yJyk7CisKKy8v
IEN1c3RvbSBpZGVudCB2YWx1ZXMgdGhhdCBsb29rIGxpa2UgY29sb3Iga2V5d29yZHMgc2hvdWxk
IG5vdCBiZSBjb252ZXJ0ZWQuCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCcqJywgJ3RvbWF0bycsICd0
b21hdG8nKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJ3RvbWF0byB8IHBsdW0nLCAncGx1bScsICdw
bHVtJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCd0b21hdG8gfCBwbHVtIHwgPGNvbG9yPicsICdw
bHVtJywgJ3BsdW0nKTsKKwordGVzdF9jb21wdXRlZF92YWx1ZSgnKicsICctNTBncmFkJywgJy01
MGdyYWQnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxhbmdsZT4nLCAnMTgwZGVnJywgJzE4MGRl
ZycpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGFuZ2xlPicsICc0MDBncmFkJywgJzM2MGRlZycp
OwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGFuZ2xlPicsICdjYWxjKDM2MGRlZyArIDQwMGdyYWQp
JywgJzcyMGRlZycpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCcqJywgJzUwcycsICc1MHMnKTsK
K3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzx0aW1lPicsICcxcycsICcxcycpOwordGVzdF9jb21wdXRl
ZF92YWx1ZSgnPHRpbWU+JywgJzEwMDBtcycsICcxcycpOwordGVzdF9jb21wdXRlZF92YWx1ZSgn
PHRpbWU+JywgJ2NhbGMoMTAwMG1zICsgMXMpJywgJzJzJyk7CisKK3Rlc3RfY29tcHV0ZWRfdmFs
dWUoJyonLCAnNTBkcGknLCAnNTBkcGknKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxyZXNvbHV0
aW9uPicsICcxZHBweCcsICcxZHBweCcpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPHJlc29sdXRp
b24+JywgJzk2ZHBpJywgJzFkcHB4Jyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8cmVzb2x1dGlv
bj4nLCAnY2FsYygxZHBweCArIDk2ZHBpKScsICcyZHBweCcpOworCiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktY3Nzb20tZXhwZWN0
ZWQudHh0CmluZGV4IGVmY2M1YzJlY2Y4ZWY1YThlNDJmODJkZmM2M2U0ZmIxODJhNDc5ZWYuLjFk
ZmVhNzk1MDNmNTE5NjU2ZjgwOTEwMTkxMTQzNTRhMWYwM2ViN2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3Bl
cnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNzc29tLWV4cGVjdGVkLnR4dApA
QCAtMSw5ICsxLDkgQEAKIAogUEFTUyBDU1NPTSBzZXR0ZXJzIGZ1bmN0aW9uIGFzIGV4cGVjdGVk
IGZvciB1bnJlZ2lzdGVyZWQgcHJvcGVydGllcyAKIEZBSUwgQ1NTLnJlZ2lzdGVyUHJvcGVydHkg
VGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50
YXguCi1GQUlMIEZvcm1lcmx5IHZhbGlkIHZhbHVlcyBhcmUgc3RpbGwgcmVhZGFibGUgZnJvbSBp
bmxpbmUgc3R5bGVzIGJ1dCBhcmUgY29tcHV0ZWQgYXMgdGhlIHVuc2V0IHZhbHVlIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJibHVlIiBidXQgZ290ICJoZWxsbyIKK0ZBSUwgRm9ybWVybHkgdmFs
aWQgdmFsdWVzIGFyZSBzdGlsbCByZWFkYWJsZSBmcm9tIGlubGluZSBzdHlsZXMgYnV0IGFyZSBj
b21wdXRlZCBhcyB0aGUgdW5zZXQgdmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigw
LCAwLCAyNTUpIiBidXQgZ290ICJoZWxsbyIKIEZBSUwgVmFsdWVzIG5vdCBtYXRjaGluZyB0aGUg
cmVnaXN0ZXJlZCB0eXBlIGNhbid0IGJlIHNldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaGVs
bG8iIGJ1dCBnb3QgIjIwIgotRkFJTCBWYWx1ZXMgY2FuIGJlIHJlbW92ZWQgZnJvbSBpbmxpbmUg
c3R5bGVzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZWQiIGJ1dCBnb3QgIiByZWQiCitGQUlM
IFZhbHVlcyBjYW4gYmUgcmVtb3ZlZCBmcm9tIGlubGluZSBzdHlsZXMgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInJnYigyNTUsIDAsIDApIiBidXQgZ290ICIgcmVkIgogUEFTUyBTdHlsZXNoZWV0
cyBjYW4gYmUgbW9kaWZpZWQgYnkgQ1NTT00gCi1GQUlMIFZhbGlkIHZhbHVlcyBjYW4gYmUgc2V0
IG9uIGlubGluZSBzdHlsZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImJsdWUiIGJ1dCBnb3Qg
IiBibHVlIgorRkFJTCBWYWxpZCB2YWx1ZXMgY2FuIGJlIHNldCBvbiBpbmxpbmUgc3R5bGVzIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAxOTIsIDIwMykiIGJ1dCBnb3QgInBpbmsi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3Nv
bS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNzc29tLmh0bWwK
aW5kZXggMDE5Nzc4ZTk1ZTAzNjg5YWFhYjVlNDdhMGZkNmJlMjM4MmYzZmI5OS4uNTk0NDNiMzMy
M2E4OWY2NGUyYWU1YjA3NTA4ODE5YjI4NzJlYWQxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVz
LWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNzc29tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3RlcmVkLXByb3BlcnR5LWNzc29tLmh0bWwKQEAgLTQ2LDcgKzQ2LDcgQEAgdGVzdChm
dW5jdGlvbigpIHsKICAgYXNzZXJ0X2VxdWFscyhpbmxpbmVTdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCctLWxlbmd0aCcpLCAnNScpOwogICBhc3NlcnRfZXF1YWxzKGlubGluZVN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoJy0tY29sb3InKSwgJ2hlbGxvJyk7CiAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aCcpLCAnMHB4Jyk7Ci0gIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICdibHVlJyk7Cisg
IGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyks
ICdyZ2IoMCwgMCwgMjU1KScpOwogfSwgIkZvcm1lcmx5IHZhbGlkIHZhbHVlcyBhcmUgc3RpbGwg
cmVhZGFibGUgZnJvbSBpbmxpbmUgc3R5bGVzIGJ1dCBhcmUgY29tcHV0ZWQgYXMgdGhlIHVuc2V0
IHZhbHVlIik7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC02Miw3ICs2Miw3IEBAIHRlc3QoZnVu
Y3Rpb24oKSB7CiAgIGFzc2VydF9lcXVhbHMoaW5saW5lU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
LS1sZW5ndGgnKSwgJycpOwogICBhc3NlcnRfZXF1YWxzKGlubGluZVN0eWxlLmdldFByb3BlcnR5
VmFsdWUoJy0tY29sb3InKSwgJycpOwogICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgnKSwgJzEwcHgnKTsKLSAgYXNzZXJ0X2VxdWFscyhjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY29sb3InKSwgJ3JlZCcpOworICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAncmdiKDI1
NSwgMCwgMCknKTsKIH0sICJWYWx1ZXMgY2FuIGJlIHJlbW92ZWQgZnJvbSBpbmxpbmUgc3R5bGVz
Iik7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC04MCw5ICs4MCw5IEBAIHRlc3QoZnVuY3Rpb24o
KSB7CiAgIGFzc2VydF9lcXVhbHMoaW5saW5lU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5n
dGgnKSwgJzMwcHgnKTsKICAgYXNzZXJ0X2VxdWFscyhpbmxpbmVTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctLWNvbG9yJyksICdwaW5rJyk7CiAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aCcpLCAnMzBweCcpOwotICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAncGluaycpOworICBhc3Nl
cnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAncmdi
KDI1NSwgMTkyLCAyMDMpJyk7CiAgIGlubGluZVN0eWxlLnNldFByb3BlcnR5KCctLWNvbG9yJywg
J2luaGVyaXQnKTsKICAgYXNzZXJ0X2VxdWFscyhpbmxpbmVTdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCctLWNvbG9yJyksICdpbmhlcml0Jyk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICdibHVlJyk7CisgIGFzc2VydF9lcXVhbHMoY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICdyZ2IoMCwgMCwgMjU1KScp
OwogfSwgIlZhbGlkIHZhbHVlcyBjYW4gYmUgc2V0IG9uIGlubGluZSBzdHlsZXMiKTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWlu
aXRpYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5
LWluaXRpYWwtZXhwZWN0ZWQudHh0CmluZGV4IDg2YzVhMTFlMDIwNDk1ZjNiZTQzY2E4N2MwOGNm
N2Q0MmIxOThmOTcuLmEzYjc2MmE4NTFmMzViZGM2OWY3ZTQ2YzllNjZkYzUwNDdlNGU3OWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1pbml0aWFsLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktaW5p
dGlhbC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwxMSBAQAogCi1GQUlMIEluaXRpYWwgdmFsdWVz
IG9mIHJlZ2lzdGVyZWQgcHJvcGVydGllcyBjYW4gYmUgcmVmZXJlbmNlZCB3aGVuIG5vIGN1c3Rv
bSBwcm9wZXJ0aWVzIGFyZSBleHBsaWNpdGx5IHNldC4gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUg
ZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitQQVNTIEluaXRpYWwgdmFsdWUg
Zm9yIDxsZW5ndGg+IGNvcnJlY3RseSBjb21wdXRlZCBbY2FsYygxMHB4ICsgMTVweCldIAorRkFJ
TCBJbml0aWFsIHZhbHVlIGZvciA8bGVuZ3RoLXBlcmNlbnRhZ2U+IGNvcnJlY3RseSBjb21wdXRl
ZCBbY2FsYygxaW4gKyAxMCUgKyA0cHgpXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5v
dCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgSW5pdGlhbCB2YWx1ZSBmb3IgPGNv
bG9yPiBjb3JyZWN0bHkgY29tcHV0ZWQgW3BpbmssIGluaGVyaXRzXSBUaGUgZ2l2ZW4gaW5pdGlh
bCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgSW5pdGlh
bCB2YWx1ZSBmb3IgPGNvbG9yPiBjb3JyZWN0bHkgY29tcHV0ZWQgW3B1cnBsZV0gVGhlIGdpdmVu
IGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlM
IEluaXRpYWwgdmFsdWUgZm9yIDx0cmFuc2Zvcm0tZnVuY3Rpb24+IGNvcnJlY3RseSBjb21wdXRl
ZCBbcm90YXRlKDQyZGVnKV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2Ug
Zm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIEluaXRpYWwgdmFsdWUgZm9yIDx0cmFuc2Zvcm0t
bGlzdD4gY29ycmVjdGx5IGNvbXB1dGVkIFtzY2FsZShjYWxjKDIgKyAyKSldIFRoZSBnaXZlbiBp
bml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCBJ
bml0aWFsIHZhbHVlIGZvciA8dHJhbnNmb3JtLWxpc3Q+IGNvcnJlY3RseSBjb21wdXRlZCBbc2Nh
bGUoY2FsYygyICsgMSkpIHRyYW5zbGF0ZVgoY2FsYygzcHggKyAxcHgpKV0gVGhlIGdpdmVuIGlu
aXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIElu
aXRpYWwgaW5oZXJpdGVkIHZhbHVlIGNhbiBiZSBzdWJzdGl0dXRlZCBbcHVycGxlLCBjb2xvcl0g
VGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50
YXguCitGQUlMIEluaXRpYWwgbm9uLWluaGVyaXRlZCB2YWx1ZSBjYW4gYmUgc3Vic3RpdHV0ZWQg
W3BpbmssIGJhY2tncm91bmQtY29sb3JdIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90
IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMt
YXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktaW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9y
ZWdpc3RlcmVkLXByb3BlcnR5LWluaXRpYWwuaHRtbAppbmRleCBkNjU1YWY2NjFmN2ZkOTVlZDAy
ODljZGRiOWM1NTQ2NDY3ZDI4NTkyLi44MmEwMTJlMmY2ODUzMjc2MWIxODQyOGMzZWFlZDk0Nzll
YzhjN2U1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHkt
aW5pdGlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1p
bml0aWFsLmh0bWwKQEAgLTEsMzUgKzEsNDUgQEAKLTwhRE9DVFlQRSBIVE1MPgorPCFET0NUWVBF
IGh0bWw+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5p
Lm9yZy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpLyNkb20tcHJvcGVydHlkZXNjcmlwdG9yLWlu
aXRpYWx2YWx1ZSIgLz4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nz
LWhvdWRpbmkub3JnL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvI3JlZ2lzdGVyLWEtY3VzdG9t
LXByb3BlcnR5IiAvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHN0eWxlPgotI3RhcmdldCB7Ci0gIGJhY2tncm91bmQ6IHZhcigtLWluaGVyaXRl
ZC1jb2xvcik7Ci0gIGNvbG9yOiB2YXIoLS1ub24taW5oZXJpdGVkLWNvbG9yKTsKLX0KLTwvc3R5
bGU+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgogPGRpdiBp
ZD10YXJnZXQ+PC9kaXY+CiA8c2NyaXB0PgotdGVzdChmdW5jdGlvbigpIHsKLSAgICBDU1MucmVn
aXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoJywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0
aWFsVmFsdWU6ICdjYWxjKDEwcHggKyAxNXB4KScsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENT
Uy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1sZW5ndGgtcGVyY2VudGFnZScsIHN5bnRheDog
JzxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6ICdjYWxjKDFpbiArIDEwJSArIDRw
eCknLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTog
Jy0taW5oZXJpdGVkLWNvbG9yJywgc3ludGF4OiAnPGNvbG9yPicsIGluaXRpYWxWYWx1ZTogJ3Bp
bmsnLCBpbmhlcml0czogdHJ1ZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAn
LS1ub24taW5oZXJpdGVkLWNvbG9yJywgc3ludGF4OiAnPGNvbG9yPicsIGluaXRpYWxWYWx1ZTog
J3B1cnBsZScsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtu
YW1lOiAnLS10cmFuc2Zvcm0tZnVuY3Rpb24nLCBzeW50YXg6ICc8dHJhbnNmb3JtLWZ1bmN0aW9u
PicsIGluaXRpYWxWYWx1ZTogJ3JvdGF0ZSg0MmRlZyknLCBpbmhlcml0czogZmFsc2V9KTsKLSAg
ICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tc2luZ2xlLXRyYW5zZm9ybS1saXN0Jywg
c3ludGF4OiAnPHRyYW5zZm9ybS1saXN0PicsIGluaXRpYWxWYWx1ZTogJ3NjYWxlKGNhbGMoMiAr
IDIpKScsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1l
OiAnLS1tdWx0aXBsZS10cmFuc2Zvcm0tbGlzdCcsIHN5bnRheDogJzx0cmFuc2Zvcm0tbGlzdD4n
LCBpbml0aWFsVmFsdWU6ICdzY2FsZShjYWxjKDIgKyAxKSkgdHJhbnNsYXRlWChjYWxjKDNweCAr
IDFweCkpJywgaW5oZXJpdHM6IGZhbHNlfSk7CiAKLSAgICBjb21wdXRlZFN0eWxlID0gZ2V0Q29t
cHV0ZWRTdHlsZSh0YXJnZXQpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKCctLWxlbmd0aCcpLCAnMjVweCcpOwotICAgIGFzc2VydF9lcXVhbHMoY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC1wZXJjZW50YWdlJyksICdjYWxj
KDEwMHB4ICsgMTAlKScpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCctLWluaGVyaXRlZC1jb2xvcicpLCAncGluaycpOwotICAgIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLW5vbi1pbmhlcml0ZWQtY29sb3In
KSwgJ3B1cnBsZScpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eVZhbHVlKCctLXRyYW5zZm9ybS1mdW5jdGlvbicpLCAncm90YXRlKDQyZGVnKScpOwotICAgIGFz
c2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNpbmdsZS10cmFu
c2Zvcm0tbGlzdCcpLCAnc2NhbGUoNCknKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1tdWx0aXBsZS10cmFuc2Zvcm0tbGlzdCcpLCAnc2NhbGUo
MykgdHJhbnNsYXRlWCg0cHgpJyk7CitmdW5jdGlvbiB0ZXN0X2luaXRpYWxfdmFsdWUocmVnLCBl
eHBlY3RlZCkgeworICAgIGxldCBzdWZmaXggPSByZWcuaW5oZXJpdHMgPT09IHRydWUgPyAnLCBp
bmhlcml0cycgOiAnJzsKKyAgICB0ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgIGxldCBuYW1lID0g
Z2VuZXJhdGVfcHJvcGVydHkocmVnKTsKKyAgICAgICAgbGV0IGFjdHVhbCA9IGdldENvbXB1dGVk
U3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGFjdHVhbCwgZXhwZWN0ZWQpOworICAgIH0sIGBJbml0aWFsIHZhbHVlIGZvciAke3JlZy5z
eW50YXh9IGNvcnJlY3RseSBjb21wdXRlZCBbJHtyZWcuaW5pdGlhbFZhbHVlfSR7c3VmZml4fV1g
KTsKK30KKwordGVzdF9pbml0aWFsX3ZhbHVlKHsgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFs
VmFsdWU6ICdjYWxjKDEwcHggKyAxNXB4KScgfSwgJzI1cHgnKTsKK3Rlc3RfaW5pdGlhbF92YWx1
ZSh7IHN5bnRheDogJzxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6ICdjYWxjKDFp
biArIDEwJSArIDRweCknIH0sICdjYWxjKDEwJSArIDEwMHB4KScpOwordGVzdF9pbml0aWFsX3Zh
bHVlKHsgc3ludGF4OiAnPGNvbG9yPicsIGluaXRpYWxWYWx1ZTogJ3BpbmsnLCBpbmhlcml0czog
dHJ1ZSB9LCAncmdiKDI1NSwgMTkyLCAyMDMpJyk7Cit0ZXN0X2luaXRpYWxfdmFsdWUoeyBzeW50
YXg6ICc8Y29sb3I+JywgaW5pdGlhbFZhbHVlOiAncHVycGxlJyB9LCAncmdiKDEyOCwgMCwgMTI4
KScpOwordGVzdF9pbml0aWFsX3ZhbHVlKHsgc3ludGF4OiAnPHRyYW5zZm9ybS1mdW5jdGlvbj4n
LCBpbml0aWFsVmFsdWU6ICdyb3RhdGUoNDJkZWcpJyB9LCAncm90YXRlKDQyZGVnKScpOwordGVz
dF9pbml0aWFsX3ZhbHVlKHsgc3ludGF4OiAnPHRyYW5zZm9ybS1saXN0PicsIGluaXRpYWxWYWx1
ZTogJ3NjYWxlKGNhbGMoMiArIDIpKScgfSwgJ3NjYWxlKDQpJyk7Cit0ZXN0X2luaXRpYWxfdmFs
dWUoeyBzeW50YXg6ICc8dHJhbnNmb3JtLWxpc3Q+JywgaW5pdGlhbFZhbHVlOiAnc2NhbGUoY2Fs
YygyICsgMSkpIHRyYW5zbGF0ZVgoY2FsYygzcHggKyAxcHgpKScgfSwgJ3NjYWxlKDMpIHRyYW5z
bGF0ZVgoNHB4KScpOworCisvLyBUZXN0IHRoYXQgdGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIGN1
c3RvbSBwcm9wZXJ0eSAncmVnJyBpcyBzdWNjZXNzZnVsbHkKKy8vIHN1YnN0aXR1dGVkIGludG8g
J3Byb3BlcnR5Jy4KK2Z1bmN0aW9uIHRlc3Rfc3Vic3RpdHV0ZWRfdmFsdWUocmVnLCBwcm9wZXJ0
eSwgZXhwZWN0ZWQpIHsKKyAgICBsZXQgaW5oZXJpdHNfdGV4dCA9IHJlZy5pbmhlcml0cyA9PT0g
dHJ1ZSA/ICdpbmhlcml0ZWQnIDogJ25vbi1pbmhlcml0ZWQnOworICAgIHRlc3QoZnVuY3Rpb24o
KXsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGxldCBuYW1lID0gZ2VuZXJhdGVfcHJvcGVy
dHkocmVnKTsKKyAgICAgICAgICAgIHRhcmdldC5zdHlsZSA9IGAke3Byb3BlcnR5fTp2YXIoJHtu
YW1lfSk7YDsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJn
ZXQpLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpLCBleHBlY3RlZCk7CisgICAgICAgIH0gZmlu
YWxseSB7CisgICAgICAgICAgICB0YXJnZXQuc3R5bGUgPSAnJzsKKyAgICAgICAgfQorICAgIH0s
IGBJbml0aWFsICR7aW5oZXJpdHNfdGV4dH0gdmFsdWUgY2FuIGJlIHN1YnN0aXR1dGVkIFske3Jl
Zy5pbml0aWFsVmFsdWV9LCAke3Byb3BlcnR5fV1gKTsKK30KKwordGVzdF9zdWJzdGl0dXRlZF92
YWx1ZSh7IHN5bnRheDogJzxjb2xvcj4nLCBpbml0aWFsVmFsdWU6ICdwdXJwbGUnLCBpbmhlcml0
czogdHJ1ZSB9LCAnY29sb3InLCAncmdiKDEyOCwgMCwgMTI4KScpOwordGVzdF9zdWJzdGl0dXRl
ZF92YWx1ZSh7IHN5bnRheDogJzxjb2xvcj4nLCBpbml0aWFsVmFsdWU6ICdwaW5rJyB9LCAnYmFj
a2dyb3VuZC1jb2xvcicsICdyZ2IoMjU1LCAxOTIsIDIwMyknKTsKIAotICAgIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5iYWNrZ3JvdW5kQ29sb3IsICdyZ2IoMjU1LCAxOTIsIDIwMyknKTsK
LSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuY29sb3IsICdyZ2IoMTI4LCAwLCAxMjgp
Jyk7Ci19LCAiSW5pdGlhbCB2YWx1ZXMgb2YgcmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIGNhbiBiZSBy
ZWZlcmVuY2VkIHdoZW4gbm8gY3VzdG9tIHByb3BlcnRpZXMgYXJlIGV4cGxpY2l0bHkgc2V0LiIp
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jlc291cmNlcy91dGls
cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVzb3VyY2VzL3V0aWxzLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJl
ZjU5NTYwZjY4ZDg0ZWQwZDY4MWJiMjJlMDYxMWVhMjQ2NjAyNGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3Jlc291cmNlcy91dGlscy5qcwpAQCAtMCwwICsxLDk0IEBACits
ZXQgbmV4dF9wcm9wZXJ0eV9pZCA9IDE7CisKKy8vIEdlbmVyYXRlIGEgdW5pcXVlIHByb3BlcnR5
IG5hbWUgb24gdGhlIGZvcm0gLS1wcm9wLU4uCitmdW5jdGlvbiBnZW5lcmF0ZV9uYW1lKCkgewor
ICByZXR1cm4gYC0tcHJvcC0ke25leHRfcHJvcGVydHlfaWQrK31gOworfQorCisvLyBQcm9kdWNl
IGEgY29tcGF0aWJsZSBpbml0aWFsIHZhbHVlIGZvciB0aGUgc3BlY2lmaWVkIHN5bnRheC4KK2Z1
bmN0aW9uIGFueV9pbml0aWFsX3ZhbHVlKHN5bnRheCkgeworICBsZXQgY29tcG9uZW50cyA9IHN5
bnRheC5zcGxpdCgnfCcpLm1hcCh4ID0+IHgudHJpbSgpKQorICBsZXQgZmlyc3RfY29tcG9uZW50
ID0gY29tcG9uZW50c1swXTsKKworICBpZiAoZmlyc3RfY29tcG9uZW50LmVuZHNXaXRoKCcrJykg
fHwgZmlyc3RfY29tcG9uZW50LmVuZHNXaXRoKCcjJykpCisgICAgZmlyc3RfY29tcG9uZW50ID0g
Zmlyc3RfY29tcG9uZW50LnNsaWNlKDAsIC0xKTsKKworICBzd2l0Y2ggKGZpcnN0X2NvbXBvbmVu
dCkgeworICAgIGNhc2UgJyonOgorICAgIGNhc2UgJzxjdXN0b20taWRlbnQ+JzoKKyAgICAgIHJl
dHVybiAnTlVMTCc7CisgICAgY2FzZSAnPGFuZ2xlPic6CisgICAgICByZXR1cm4gJzBkZWcnOwor
ICAgIGNhc2UgJzxjb2xvcj4nOgorICAgICAgcmV0dXJuICdyZ2IoMCwgMCwgMCknOworICAgIGNh
c2UgJzxpbWFnZT4nOgorICAgIGNhc2UgJzx1cmw+JzoKKyAgICAgIHJldHVybiAndXJsKDApJzsK
KyAgICBjYXNlICc8aW50ZWdlcj4nOgorICAgIGNhc2UgJzxsZW5ndGgtcGVyY2VudGFnZT4nOgor
ICAgIGNhc2UgJzxsZW5ndGg+JzoKKyAgICBjYXNlICc8bnVtYmVyPic6CisgICAgICByZXR1cm4g
JzAnOworICAgIGNhc2UgJzxwZXJjZW50YWdlPic6CisgICAgICByZXR1cm4gJzAlJzsKKyAgICBj
YXNlICc8cmVzb2x1dGlvbj4nOgorICAgICAgcmV0dXJuICcwZHBpJzsKKyAgICBjYXNlICc8dGlt
ZT4nOgorICAgICAgcmV0dXJuICcwcyc7CisgICAgY2FzZSAnPHRyYW5zZm9ybS1mdW5jdGlvbj4n
OgorICAgIGNhc2UgJzx0cmFuc2Zvcm0tbGlzdD4nOgorICAgICAgcmV0dXJuICdtYXRyaXgoMCwg
MCwgMCwgMCwgMCwgMCknOworICAgIGRlZmF1bHQ6CisgICAgICAvLyBXZSBhc3N1bWUgc3ludGF4
IGlzIGEgc3BlY2lmaWMgY3VzdG9tIGlkZW50LgorICAgICAgcmV0dXJuIGZpcnN0X2NvbXBvbmVu
dDsKKyAgfQorfQorCisvLyBSZWdpc3RlcnMgYSB1bmlxdWUgcHJvcGVydHkgb24gdGhlIGZvcm0g
Jy0tcHJvcC1OJyBhbmQgcmV0dXJucyB0aGUgbmFtZS4KKy8vIEFueSB2YWx1ZSBleGNlcHQgJ3N5
bnRheCcgbWF5IGJlIG9taXR0ZWQsIGluIHdoaWNoIGNhc2UgdGhlIHByb3BlcnR5IHdpbGwKKy8v
IG5vdCBpbmhlcml0LCBhbmQgc29tZSB1bmRlZmluZWQgKGJ1dCBjb21wYXRpYmxlKSBpbml0aWFs
IHZhbHVlIHdpbGwgYmUKKy8vIGdlbmVyYXRlZC4gSWYgYSBzaW5nbGUgc3RyaW5nIGlzIHVzZWQg
YXMgdGhlIGFyZ3VtZW50LCBpdCBpcyBhc3N1bWVkIHRvIGJlCisvLyB0aGUgc3ludGF4LgorZnVu
Y3Rpb24gZ2VuZXJhdGVfcHJvcGVydHkocmVnKSB7CisgIC8vIFZlcmlmeSB0aGF0IG9ubHkgdmFs
aWQga2V5cyBhcmUgc3BlY2lmaWVkLiBUaGlzIHByZXZlbnRzIHRoZSBjYWxsZXIgZnJvbQorICAv
LyBhY2NpZGVudGFsbHkgc3VwcGx5aW5nICdpbmhlcml0ZWQnIGluc3RlYWQgb2YgJ2luaGVyaXRz
JywgZm9yIGV4YW1wbGUuCisgIGlmICh0eXBlb2YocmVnKSA9PT0gJ29iamVjdCcpIHsKKyAgICBj
b25zdCBwZXJtaXR0ZWQgPSBuZXcgU2V0KFsnbmFtZScsICdzeW50YXgnLCAnaW5pdGlhbFZhbHVl
JywgJ2luaGVyaXRzJ10pOworICAgIGlmICghT2JqZWN0LmtleXMocmVnKS5ldmVyeShrID0+IHBl
cm1pdHRlZC5oYXMoaykpKQorICAgICAgdGhyb3cgbmV3IEVycm9yKCdnZW5lcmF0ZV9wcm9wZXJ0
eTogaW52YWxpZCBwYXJhbWV0ZXInKTsKKyAgfQorCisgIGxldCBzeW50YXggPSB0eXBlb2YocmVn
KSA9PT0gJ3N0cmluZycgPyByZWcgOiByZWcuc3ludGF4OworICBsZXQgaW5pdGlhbCA9IHR5cGVv
ZihyZWcuaW5pdGlhbFZhbHVlKSA9PT0gJ3VuZGVmaW5lZCcgPyBhbnlfaW5pdGlhbF92YWx1ZShz
eW50YXgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6IHJlZy5pbml0aWFsVmFsdWU7CisgIGxldCBpbmhlcml0cyA9IHR5cGVvZihyZWcu
aW5oZXJpdHMpID09PSAndW5kZWZpbmVkJyA/IGZhbHNlIDogcmVnLmluaGVyaXRzOworCisgIGxl
dCBuYW1lID0gZ2VuZXJhdGVfbmFtZSgpOworICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7CisgICAg
bmFtZTogbmFtZSwKKyAgICBzeW50YXg6IHN5bnRheCwKKyAgICBpbml0aWFsVmFsdWU6IGluaXRp
YWwsCisgICAgaW5oZXJpdHM6IGluaGVyaXRzCisgIH0pOworICByZXR1cm4gbmFtZTsKK30KKwor
ZnVuY3Rpb24gYWxsX3N5bnRheGVzKCkgeworICByZXR1cm4gWworICAgICcqJywKKyAgICAnPGFu
Z2xlPicsCisgICAgJzxjb2xvcj4nLAorICAgICc8Y3VzdG9tLWlkZW50PicsCisgICAgJzxpbWFn
ZT4nLAorICAgICc8aW50ZWdlcj4nLAorICAgICc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywKKyAgICAn
PGxlbmd0aD4nLAorICAgICc8bnVtYmVyPicsCisgICAgJzxwZXJjZW50YWdlPicsCisgICAgJzxy
ZXNvbHV0aW9uPicsCisgICAgJzx0aW1lPicsCisgICAgJzx0cmFuc2Zvcm0tZnVuY3Rpb24+JywK
KyAgICAnPHRyYW5zZm9ybS1saXN0PicsCisgICAgJzx1cmw+JworICBdCit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzZTg1NTg3YmM5NTEw
MGY1ZmZhZjU2MWVjNmM2YWQzODE5YmUwZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1
ZXMtYXBpL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE3IEBACitUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3Jlc291cmNlcy91dGlscy5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS9zZWxmLXV0aWxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2Vs
Zi11dGlscy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNjZWMzN2VmNmQwYzQ3OGQ5MzJjNWE5
NTc4MDYyMjNkOWJiNjk0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2Vs
Zi11dGlscy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK0ZBSUwgRGVmYXVsdCBpbml0
aWFsIHZhbHVlcyBvZiBnZW5lcmF0ZWQgcHJvcGVydGllcyBhcmUgdmFsaWQgKHNlbGYtdGVzdCku
IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3lu
dGF4LgorUEFTUyBHZW5lcmF0ZWQgcHJvcGVydGllcyByZXNwZWN0IGluaGVyaXRzIGZsYWcgCitQ
QVNTIENhbid0IGdlbmVyYXRlIHByb3BlcnR5IHdpdGggdW5rbm93biBmaWVsZHMgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2VsZi11dGlscy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9zZWxmLXV0aWxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVhYTRiMmZiMDNiMjlmZWVlNDcxNzc2MjQ3
MTUyMzA3NjhhNDRhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2VsZi11
dGlscy5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNlbGYt
dGVzdCBmb3IgdXRpbHMuanM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS0xLyI+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1vdXRlcj48ZGl2
IGlkPWlubmVyPjwvZGl2PjwvZGl2PgorPHNjcmlwdD4KKwordGVzdChmdW5jdGlvbigpeworICBs
ZXQgc3ludGF4ZXMgPSBhbGxfc3ludGF4ZXMoKS5jb25jYXQoWworICAgICdmb28nLAorICAgICdi
YXIgfCA8bGVuZ3RoPicsCisgICAgJzxhbmdsZT4gfCA8bGVuZ3RoPicKKyAgXSk7CisgIC8vIERv
bid0IHRocm93OgorICBzeW50YXhlcy5mb3JFYWNoKGdlbmVyYXRlX3Byb3BlcnR5KTsKK30sICdE
ZWZhdWx0IGluaXRpYWwgdmFsdWVzIG9mIGdlbmVyYXRlZCBwcm9wZXJ0aWVzIGFyZSB2YWxpZCAo
c2VsZi10ZXN0KS4nKTsKKwordGVzdChmdW5jdGlvbigpeworICB0cnkgeworICAgIGxldCBpbmhl
cml0ZWQgPSBnZW5lcmF0ZV9wcm9wZXJ0eSh7IHN5bnRheDogJzxsZW5ndGg+JywgaW5oZXJpdHM6
IHRydWUgfSk7CisgICAgbGV0IG5vbl9pbmhlcml0ZWQgPSBnZW5lcmF0ZV9wcm9wZXJ0eSh7IHN5
bnRheDogJzxsZW5ndGg+JywgaW5oZXJpdHM6IGZhbHNlLCBpbml0aWFsVmFsdWU6ICc1cHgnIH0p
OworICAgIG91dGVyLnN0eWxlID0gYCR7aW5oZXJpdGVkfTogMTBweDsgJHtub25faW5oZXJpdGVk
fTogMTFweDtgOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShvdXRlcikuZ2V0
UHJvcGVydHlWYWx1ZShpbmhlcml0ZWQpLCAnMTBweCcpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0
Q29tcHV0ZWRTdHlsZShvdXRlcikuZ2V0UHJvcGVydHlWYWx1ZShub25faW5oZXJpdGVkKSwgJzEx
cHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaW5uZXIpLmdldFByb3Bl
cnR5VmFsdWUoaW5oZXJpdGVkKSwgJzEwcHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoaW5uZXIpLmdldFByb3BlcnR5VmFsdWUobm9uX2luaGVyaXRlZCksICc1cHgnKTsK
KyAgfSBmaW5hbGx5IHsKKyAgICBvdXRlci5zdHlsZSA9ICcnOworICAgIGlubmVyLnN0eWxlID0g
Jyc7CisgIH0KK30sICdHZW5lcmF0ZWQgcHJvcGVydGllcyByZXNwZWN0IGluaGVyaXRzIGZsYWcn
KTsKKwordGVzdChmdW5jdGlvbigpeworICBhc3NlcnRfdGhyb3dzKG5ldyBFcnJvcigpLCAoKSA9
PiBnZW5lcmF0ZV9wcm9wZXJ0eSh7c3ludGF4OiAnPGxlbmd0aD4nLCBmb286IDF9KSk7CisgIGFz
c2VydF90aHJvd3MobmV3IEVycm9yKCksICgpID0+IGdlbmVyYXRlX3Byb3BlcnR5KHtzeW50YXg6
ICc8bGVuZ3RoPicsIGluaGVyaXRlZDogZmFsc2V9KSk7CisgIGFzc2VydF90aHJvd3MobmV3IEVy
cm9yKCksICgpID0+IGdlbmVyYXRlX3Byb3BlcnR5KHtzeW50YXg6ICc8bGVuZ3RoPicsIGluaXRp
YWw6ICcxMHB4J30pKTsKK30sICdDYW5cJ3QgZ2VuZXJhdGUgcHJvcGVydHkgd2l0aCB1bmtub3du
IGZpZWxkcycpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlw
ZWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggMTM2NmMwYWRiMzYxYjFjMGMwNDJiNDQ5NjUzNDk5
YjBkMjc2YWNkYS4uYWFmOTBhNGEwNTM0MjliODFjZTFkZDNhZTk2MDg1MmY1N2YyYTkxOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAg
LTEsNjkgKzEsNiBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM0OTogVHlwZUVycm9yOiBDU1Mu
cHggaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnQ1NTLnB4KDE1KScsICdDU1MucHgnIGlzIHVuZGVm
aW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzODogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFy
JykKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IENTUy5weCBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdDU1MucHgoMTUpJywgJ0NTUy5weCcgaXMgdW5kZWZpbmVk
KQorSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xl
YXInKQogCiBGQUlMIENvbXB1dGVkICogaXMgcmVpZmllZCBhcyBDU1NVbnBhcnNlZFZhbHVlIHRh
cmdldC5jb21wdXRlZFN0eWxlTWFwIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5jb21w
dXRlZFN0eWxlTWFwKCknLCAndGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgQ29tcHV0ZWQgPGFuZ2xlPiBpcyByZWlmaWVkIGFzIENTU1VuaXRWYWx1ZSBUaGUgZ2l2
ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZB
SUwgQ29tcHV0ZWQgPGNvbG9yPiBpcyByZWlmaWVkIGFzIENTU1N0eWxlVmFsdWUgVGhlIGdpdmVu
IGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCi1GQUlM
IENvbXB1dGVkIDxjdXN0b20taWRlbnQ+IGlzIHJlaWZpZWQgYXMgQ1NTS2V5d29yZFZhbHVlIFRo
ZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4
LgotRkFJTCBDb21wdXRlZCA8aW1hZ2U+IFt1cmxdIGlzIHJlaWZpZWQgYXMgQ1NTSW1hZ2VWYWx1
ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5
bnRheC4KLUZBSUwgQ29tcHV0ZWQgPGludGVnZXI+IGlzIHJlaWZpZWQgYXMgQ1NTVW5pdFZhbHVl
IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3lu
dGF4LgotRkFJTCBDb21wdXRlZCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IFslXSBpcyByZWlmaWVkIGFz
IENTU1VuaXRWYWx1ZSB0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCgpJywgJ3RhcmdldC5jb21wdXRlZFN0eWxlTWFw
JyBpcyB1bmRlZmluZWQpCi1GQUlMIENvbXB1dGVkIDxsZW5ndGgtcGVyY2VudGFnZT4gW3B4XSBp
cyByZWlmaWVkIGFzIENTU1VuaXRWYWx1ZSB0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCgpJywgJ3RhcmdldC5jb21w
dXRlZFN0eWxlTWFwJyBpcyB1bmRlZmluZWQpCi1GQUlMIENvbXB1dGVkIDxsZW5ndGgtcGVyY2Vu
dGFnZT4gW3B4ICsgJV0gaXMgcmVpZmllZCBhcyBDU1NNYXRoU3VtIENhbid0IGZpbmQgdmFyaWFi
bGU6IENTU01hdGhTdW0KLUZBSUwgQ29tcHV0ZWQgPGxlbmd0aD4gaXMgcmVpZmllZCBhcyBDU1NV
bml0VmFsdWUgdGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAoKScsICd0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCcgaXMg
dW5kZWZpbmVkKQotRkFJTCBDb21wdXRlZCA8bnVtYmVyPiBpcyByZWlmaWVkIGFzIENTU1VuaXRW
YWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVu
IHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQgPHBlcmNlbnRhZ2U+IGlzIHJlaWZpZWQgYXMgQ1NTVW5p
dFZhbHVlIHRhcmdldC5jb21wdXRlZFN0eWxlTWFwIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Rh
cmdldC5jb21wdXRlZFN0eWxlTWFwKCknLCAndGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAnIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgQ29tcHV0ZWQgPHJlc29sdXRpb24+IGlzIHJlaWZpZWQgYXMgQ1NTVW5p
dFZhbHVlIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2
ZW4gc3ludGF4LgotRkFJTCBDb21wdXRlZCA8dGltZT4gaXMgcmVpZmllZCBhcyBDU1NVbml0VmFs
dWUgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBz
eW50YXguCi1GQUlMIENvbXB1dGVkIDx1cmw+IGlzIHJlaWZpZWQgYXMgQ1NTU3R5bGVWYWx1ZSBU
aGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRh
eC4KLUZBSUwgQ29tcHV0ZWQgaWRlbnQgaXMgcmVpZmllZCBhcyBDU1NLZXl3b3JkVmFsdWUgVGhl
IGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXgu
Ci1GQUlMIEZpcnN0IGNvbXB1dGVkIHZhbHVlIGNvcnJlY3RseSByZWlmaWVkIGluIHNwYWNlLXNl
cGFyYXRlZCBsaXN0IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0
aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBGaXJzdCBjb21wdXRlZCB2YWx1ZSBjb3JyZWN0bHkgcmVp
ZmllZCBpbiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2Vz
IG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQWxsIGNvbXB1dGVkIHZhbHVl
cyBjb3JyZWN0bHkgcmVpZmllZCBpbiBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBUaGUgZ2l2ZW4gaW5p
dGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQWxs
IGNvbXB1dGVkIHZhbHVlcyBjb3JyZWN0bHkgcmVpZmllZCBpbiBjb21tYS1zZXBhcmF0ZWQgbGlz
dCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5
bnRheC4KLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1
ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVmZXJlbmNlcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5
bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVm
ZXJlbmNlcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHls
ZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VucGFy
c2VkVmFsdWUgZm9yIHZhbHVlIHdpdGggdmFyIHJlZmVyZW5jZXMgaW4gbGlzdCB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNs
ZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgdmFs
dWUgd2l0aCB2YXIgcmVmZXJlbmNlcyBpbiBsaXN0IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVN
YXAuZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgKiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZB
SUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgKiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlM
IGF0dHJpYnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGFuZ2xlPiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0
eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZv
ciA8YW5nbGU+IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0
eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTU3R5
bGVWYWx1ZSBmb3IgPGNvbG9yPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJl
dHVybnMgQ1NTU3R5bGVWYWx1ZSBmb3IgPGNvbG9yPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0eWxl
TWFwLmdldCByZXR1cm5zIENTU0tleXdvcmRWYWx1ZSBmb3IgPGN1c3RvbS1pZGVudD4gdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1h
cC5jbGVhcicpCi1GQUlMIHN0eWxlTWFwLmdldCByZXR1cm5zIENTU0tleXdvcmRWYWx1ZSBmb3Ig
PGN1c3RvbS1pZGVudD4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1
bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBD
U1NJbWFnZVZhbHVlIGZvciA8aW1hZ2U+IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInKQotRkFJTCBzdHlsZU1hcC5n
ZXQgcmV0dXJucyBDU1NJbWFnZVZhbHVlIGZvciA8aW1hZ2U+IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRl
U3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8aW50ZWdlcj4gdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5j
bGVhcicpCi1GQUlMIHN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGludGVn
ZXI+IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFw
LmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVl
IGZvciA8bGVuZ3RoLXBlcmNlbnRhZ2U+IFsxMCVdIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInKQotRkFJTCBzdHls
ZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEw
JV0gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAu
Y2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUg
Zm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEwcHhdIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInKQotRkFJTCBzdHls
ZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEw
cHhdIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFw
LmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTTWF0aFN1bSBm
b3IgPGxlbmd0aC1wZXJjZW50YWdlPiBbY2FsYygxMHB4ICsgMTAlKV0gdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicp
Ci1GQUlMIHN0eWxlTWFwLmdldCByZXR1cm5zIENTU01hdGhTdW0gZm9yIDxsZW5ndGgtcGVyY2Vu
dGFnZT4gW2NhbGMoMTBweCArIDEwJSldIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0
IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPiB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwg
c3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlM
IGF0dHJpYnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPG51bWJlcj4g
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RhcmdldC5hdHRyaWJ1dGVT
dHlsZU1hcC5jbGVhcicpCi1GQUlMIHN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBm
b3IgPG51bWJlcj4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUu
c3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NV
bml0VmFsdWUgZm9yIDxwZXJjZW50YWdlPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAu
Z2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8cGVyY2VudGFnZT4gdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRy
aWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxyZXNvbHV0aW9uPiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0
eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZv
ciA8cmVzb2x1dGlvbj4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1
bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBD
U1NVbml0VmFsdWUgZm9yIDx0aW1lPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0
IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8dGltZT4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHls
ZU1hcC5nZXQgcmV0dXJucyBDU1NTdHlsZVZhbHVlIGZvciA8dXJsPiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykK
LUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTU3R5bGVWYWx1ZSBmb3IgPHVybD4gdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQot
RkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NLZXl3b3JkVmFsdWUgZm9yIHRo
aW5nMSB8IFRISU5HMiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFy
Z2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMg
Q1NTS2V5d29yZFZhbHVlIGZvciB0aGluZzEgfCBUSElORzIgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVT
dHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+KyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNs
ZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3Ro
PisgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAu
Y2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUg
Zm9yIDxsZW5ndGg+IyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFy
Z2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMg
Q1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPiMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5n
ZXRBbGwgcmV0dXJucyBhIGxpc3Qgb2YgQ1NTVW5pdFZhbHVlcyBmb3IgPGxlbmd0aD4rIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0YXJnZXQuYXR0cmlidXRlU3R5bGVN
YXAuY2xlYXInKQotRkFJTCBzdHlsZU1hcC5nZXRBbGwgcmV0dXJucyBhIGxpc3Qgb2YgQ1NTVW5p
dFZhbHVlcyBmb3IgPGxlbmd0aD4rIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0QWxs
IHJldHVybnMgYSBsaXN0IG9mIENTU1VuaXRWYWx1ZXMgZm9yIDxsZW5ndGg+IyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNs
ZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0QWxsIHJldHVybnMgYSBsaXN0IG9mIENTU1VuaXRWYWx1
ZXMgZm9yIDxsZW5ndGg+IyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
cnVsZS5zdHlsZU1hcC5jbGVhcicpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlw
ZWRvbS50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS50ZW50YXRpdmUu
aHRtbAppbmRleCA0ZTVlYWE3YjhmOGZkNjliOGNiOTA2YzNkM2ZmNDEzMThhNjYyYjg1Li4xNGE2
MjA0NDVjNjk3ZjdlM2VjOGUyYjYyMTZjNGI5NjRlYjdhYWU0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3R5cGVkb20udGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90
eXBlZG9tLnRlbnRhdGl2ZS5odG1sCkBAIC0zMyw2ICszMywxMyBAQCBmdW5jdGlvbiBnZW5fcHJv
cChzeW50YXgsIGluaXRpYWxWYWx1ZSkgewogICAgIHJldHVybiBuYW1lOwogfQogCisvLyBDbGVh
bnMgc3R5bGUgcnVsZXMgdXNlZCBmb3IgdGVzdGluZyBiZXR3ZWVuIGV2ZXJ5IHRlc3QuCithZGRf
cmVzdWx0X2NhbGxiYWNrKGZ1bmN0aW9uKCl7CisgICAgdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFw
LmNsZWFyKCk7CisgICAgLy8gQ2xlYXJzICdkaXYnIHJ1bGUgaW4gI3N0eWxlOgorICAgIHN0eWxl
LnNoZWV0LnJ1bGVzWzBdLnN0eWxlTWFwLmNsZWFyKCk7Cit9KTsKKwogLy8gT24gdGhlIHRhcmdl
dCBlbGVtZW50LCB2ZXJpZnkgdGhhdCBjb21wdXRlZCB2YWx1ZSBvZiAnbmFtZScgaXMgYW4gaW5z
dGFuY2UKIC8vIG9mICdleHBlY3RlZCcgYW5kIG5vdCBhbiBpbnN0YW5jZSBvZiBDU1NVbnBhcnNl
ZFZhbHVlLgogLy8KQEAgLTIxNCw4NiArMjIxLDg2IEBAIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFw
X2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBsZXQgbmFtZTIgPSBn
ZW5fcHJvcCgnPGxlbmd0aD4nLCAnMHB4Jyk7CiAgICAgc3R5bGVEZWNsLnNldFByb3BlcnR5KG5h
bWUyLCBgdmFyKCR7bmFtZTF9KWApOwogICAgIGFzc2VydF90cnVlKHByb3BlcnR5TWFwLmdldChu
YW1lMikgaW5zdGFuY2VvZiBDU1NVbnBhcnNlZFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0u
Z2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVmZXJlbmNl
c2ApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbnBhcnNl
ZFZhbHVlIGZvciB2YWx1ZSB3aXRoIHZhciByZWZlcmVuY2VzICgke25hbWV9KWApOwogCiB0ZXN0
X3N0eWxlX3Byb3BlcnR5X21hcF9nZXQoZnVuY3Rpb24oc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCl7
CiAgICAgbGV0IG5hbWUxID0gZ2VuX3Byb3AoJzxsZW5ndGg+JywgJzEwMHB4Jyk7CiAgICAgbGV0
IG5hbWUyID0gZ2VuX3Byb3AoJzxsZW5ndGg+IycsICcwcHgnKTsKICAgICBzdHlsZURlY2wuc2V0
UHJvcGVydHkobmFtZTIsIGAxcHgsIHZhcigke25hbWUxfSksIDNweGApOwogICAgIGFzc2VydF90
cnVlKHByb3BlcnR5TWFwLmdldChuYW1lMikgaW5zdGFuY2VvZiBDU1NVbnBhcnNlZFZhbHVlKTsK
LX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgdmFs
dWUgd2l0aCB2YXIgcmVmZXJlbmNlcyBpbiBsaXN0YCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3Bl
cnR5TWFwLmdldCByZXR1cm5zIENTU1VucGFyc2VkVmFsdWUgZm9yIHZhbHVlIHdpdGggdmFyIHJl
ZmVyZW5jZXMgaW4gbGlzdCAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBf
Z2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1
dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJyonLCAnaWYoKXt9JywgQ1NTVW5w
YXJzZWRWYWx1ZSk7Ci19LCBuYW1lID0+IGAke25hbWV9LmdldCByZXR1cm5zIENTU1VucGFyc2Vk
VmFsdWUgZm9yICpgKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMg
Q1NTVW5wYXJzZWRWYWx1ZSBmb3IgKiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0
eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9h
dHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxhbmdsZT4nLCAnNDJk
ZWcnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NV
bml0VmFsdWUgZm9yIDxhbmdsZT5gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0
IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8YW5nbGU+ICgke25hbWV9KWApOwogCiB0ZXN0X3N0
eWxlX3Byb3BlcnR5X21hcF9nZXQoZnVuY3Rpb24oc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCl7CiAg
ICAgYXNzZXJ0X2F0dHJpYnV0ZV9nZXRfdHlwZShzdHlsZURlY2wsIHByb3BlcnR5TWFwLCAnPGNv
bG9yPicsICcjZmVmZWZlJywgQ1NTU3R5bGVWYWx1ZSk7Ci19LCBuYW1lID0+IGAke25hbWV9Lmdl
dCByZXR1cm5zIENTU1N0eWxlVmFsdWUgZm9yIDxjb2xvcj5gKTsKK30sIG5hbWUgPT4gYFN0eWxl
UHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTU3R5bGVWYWx1ZSBmb3IgPGNvbG9yPiAoJHtuYW1l
fSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwg
cHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBw
cm9wZXJ0eU1hcCwgJzxjdXN0b20taWRlbnQ+JywgJ25vbmUnLCBDU1NLZXl3b3JkVmFsdWUpOwot
fSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NLZXl3b3JkVmFsdWUgZm9yIDxjdXN0
b20taWRlbnQ+YCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENT
U0tleXdvcmRWYWx1ZSBmb3IgPGN1c3RvbS1pZGVudD4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5
bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAg
ICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8aW1h
Z2U+JywgJ3VybCh0aGluZy5wbmcpJywgQ1NTSW1hZ2VWYWx1ZSk7Ci19LCBuYW1lID0+IGAke25h
bWV9LmdldCByZXR1cm5zIENTU0ltYWdlVmFsdWUgZm9yIDxpbWFnZT5gKTsKK30sIG5hbWUgPT4g
YFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTSW1hZ2VWYWx1ZSBmb3IgPGltYWdlPiAo
JHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxl
RGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVE
ZWNsLCBwcm9wZXJ0eU1hcCwgJzxpbnRlZ2VyPicsICcxMDAnLCBDU1NVbml0VmFsdWUpOwotfSwg
bmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxpbnRlZ2VyPmAp
OworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUg
Zm9yIDxpbnRlZ2VyPiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0
KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVf
Z2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxsZW5ndGgtcGVyY2VudGFnZT4nLCAn
MTAlJywgQ1NTVW5pdFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NT
VW5pdFZhbHVlIGZvciA8bGVuZ3RoLXBlcmNlbnRhZ2U+IFsxMCVdYCk7Cit9LCBuYW1lID0+IGBT
dHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGxlbmd0aC1wZXJj
ZW50YWdlPiBbMTAlXSAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0
KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVf
Z2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxsZW5ndGgtcGVyY2VudGFnZT4nLCAn
MTBweCcsIENTU1VuaXRWYWx1ZSk7Ci19LCBuYW1lID0+IGAke25hbWV9LmdldCByZXR1cm5zIENT
U1VuaXRWYWx1ZSBmb3IgPGxlbmd0aC1wZXJjZW50YWdlPiBbMTBweF1gKTsKK30sIG5hbWUgPT4g
YFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoLXBl
cmNlbnRhZ2U+IFsxMHB4XSAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBf
Z2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1
dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxsZW5ndGgtcGVyY2VudGFnZT4n
LCAnY2FsYygxMHB4ICsgMTAlKScsIENTU01hdGhTdW0pOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5n
ZXQgcmV0dXJucyBDU1NNYXRoU3VtIGZvciA8bGVuZ3RoLXBlcmNlbnRhZ2U+IFtjYWxjKDEwcHgg
KyAxMCUpXWApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NN
YXRoU3VtIGZvciA8bGVuZ3RoLXBlcmNlbnRhZ2U+IFtjYWxjKDEwcHggKyAxMCUpXSAoJHtuYW1l
fSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwg
cHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBw
cm9wZXJ0eU1hcCwgJzxsZW5ndGg+JywgJzEwcHgnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9
PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+YCk7Cit9LCBu
YW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGxl
bmd0aD4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlv
bihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBl
KHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8bnVtYmVyPicsICc0MicsIENTU1VuaXRWYWx1ZSk7
Ci19LCBuYW1lID0+IGAke25hbWV9LmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPG51bWJl
cj5gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZh
bHVlIGZvciA8bnVtYmVyPiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBf
Z2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1
dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxwZXJjZW50YWdlPicsICcxMCUn
LCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0
VmFsdWUgZm9yIDxwZXJjZW50YWdlPmApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5n
ZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxwZXJjZW50YWdlPiAoJHtuYW1lfSlgKTsKIAog
dGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlN
YXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1h
cCwgJzxyZXNvbHV0aW9uPicsICczMDBkcGknLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBg
JHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxyZXNvbHV0aW9uPmApOworfSwg
bmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxy
ZXNvbHV0aW9uPiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1
bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0
X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzx0aW1lPicsICc0MnMnLCBDU1NVbml0VmFs
dWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDx0
aW1lPmApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0
VmFsdWUgZm9yIDx0aW1lPiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBf
Z2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1
dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzx1cmw+JywgJ3VybChhKScsIENT
U1N0eWxlVmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NTdHlsZVZh
bHVlIGZvciA8dXJsPmApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJu
cyBDU1NTdHlsZVZhbHVlIGZvciA8dXJsPiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9w
ZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2Vy
dF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJ3RoaW5nMSB8IFRI
SU5HMicsICd0aGluZzEnLCBDU1NLZXl3b3JkVmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5n
ZXQgcmV0dXJucyBDU1NLZXl3b3JkVmFsdWUgZm9yIHRoaW5nMSB8IFRISU5HMmApOworfSwgbmFt
ZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NLZXl3b3JkVmFsdWUgZm9yIHRo
aW5nMSB8IFRISU5HMiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0
KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVf
Z2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxsZW5ndGg+KycsICcxMHB4IDIwcHgn
LCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0
VmFsdWUgZm9yIDxsZW5ndGg+K2ApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQg
cmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+KyAoJHtuYW1lfSlgKTsKIAogdGVzdF9z
dHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewog
ICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxs
ZW5ndGg+IycsICcxMHB4IDIwcHgnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1l
fS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+I2ApOworfSwgbmFtZSA9PiBg
U3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+IyAo
JHtuYW1lfSlgKTsKIAogLy8gYXR0cmlidXRlU3R5bGVNYXAuZ2V0QWxsCiAKQEAgLTMwMiwxNCAr
MzA5LDE0IEBAIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2ws
IHByb3BlcnR5TWFwKXsKICAgICBzdHlsZURlY2wuc2V0UHJvcGVydHkobmFtZSwgJzEwcHggMjBw
eCAzMHB4Jyk7CiAgICAgYXNzZXJ0X2VxdWFscyhwcm9wZXJ0eU1hcC5nZXRBbGwobmFtZSkubGVu
Z3RoLCAzKTsKICAgICBhc3NlcnRfdHJ1ZShwcm9wZXJ0eU1hcC5nZXRBbGwobmFtZSkuZXZlcnko
eCA9PiB4IGluc3RhbmNlb2YgQ1NTVW5pdFZhbHVlKSk7Ci19LCBuYW1lID0+IGAke25hbWV9Lmdl
dEFsbCByZXR1cm5zIGEgbGlzdCBvZiBDU1NVbml0VmFsdWVzIGZvciA8bGVuZ3RoPitgKTsKK30s
IG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0QWxsIHJldHVybnMgYSBsaXN0IG9mIENTU1Vu
aXRWYWx1ZXMgZm9yIDxsZW5ndGg+KyAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0
eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGxldCBuYW1l
ID0gZ2VuX3Byb3AoJzxsZW5ndGg+IycsICcwcHgnKTsKICAgICBzdHlsZURlY2wuc2V0UHJvcGVy
dHkobmFtZSwgJzEwcHgsIDIwcHgsIDMwcHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKHByb3BlcnR5
TWFwLmdldEFsbChuYW1lKS5sZW5ndGgsIDMpOwogICAgIGFzc2VydF90cnVlKHByb3BlcnR5TWFw
LmdldEFsbChuYW1lKS5ldmVyeSh4ID0+IHggaW5zdGFuY2VvZiBDU1NVbml0VmFsdWUpKTsKLX0s
IG5hbWUgPT4gYCR7bmFtZX0uZ2V0QWxsIHJldHVybnMgYSBsaXN0IG9mIENTU1VuaXRWYWx1ZXMg
Zm9yIDxsZW5ndGg+I2ApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXRBbGwgcmV0
dXJucyBhIGxpc3Qgb2YgQ1NTVW5pdFZhbHVlcyBmb3IgPGxlbmd0aD4jICgke25hbWV9KWApOwog
CiAvLyBTdHlsZVByb3BlcnR5TWFwLnNldAogCkBAIC0zMTgsMTMgKzMyNSwxNSBAQCBmdW5jdGlv
biB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXRfdXNpbmdfcHJvcGVydHlfbWFwKHByb3BlcnR5
TWFwTmFtZSwgcHJvcGVydAogICAgICAgICBsZXQgbmFtZSA9IGdlbl9wcm9wKG9wdGlvbnMuc3lu
dGF4LCBvcHRpb25zLmluaXRpYWxWYWx1ZSk7CiAgICAgICAgIHByb3BlcnR5TWFwLmNsZWFyKCk7
CiAKKyAgICAgICAgbGV0IGVuc3VyZUFycmF5ID0gdiA9PiB2LmNvbnN0cnVjdG9yID09PSBBcnJh
eSA/IHYgOiBbdl07CisKICAgICAgICAgZm9yIChsZXQgdmFsdWUgb2Ygb3B0aW9ucy5zaG91bGRB
Y2NlcHQpCi0gICAgICAgICAgICBwcm9wZXJ0eU1hcC5zZXQobmFtZSwgdmFsdWUpOworICAgICAg
ICAgICAgcHJvcGVydHlNYXAuc2V0KG5hbWUsIC4uLmVuc3VyZUFycmF5KHZhbHVlKSk7CiAKICAg
ICAgICAgZm9yIChsZXQgdmFsdWUgb2Ygb3B0aW9ucy5zaG91bGRSZWplY3QpIHsKLSAgICAgICAg
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBwcm9wZXJ0eU1hcC5zZXQo
bmFtZSwgdmFsdWUpKTsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCAoKSA9PiBwcm9wZXJ0eU1hcC5zZXQobmFtZSwgLi4uZW5zdXJlQXJyYXkodmFsdWUpKSk7CiAg
ICAgICAgIH0KLSAgICB9LCBgJHtwcm9wZXJ0eU1hcE5hbWV9LnNldCBhY2NlcHRzIGNvcnJlY3Qg
Q1NTVW5pdFZhbHVlcyBmb3IgJHtvcHRpb25zLnN5bnRheH1gKTsKKyAgICB9LCBgU3R5bGVQcm9w
ZXJ0eU1hcC5zZXQgYWNjZXB0cyBjb3JyZWN0IENTU1N0eWxlVmFsdWVzIGZvciAke29wdGlvbnMu
c3ludGF4fSAoJHtwcm9wZXJ0eU1hcE5hbWV9KWApOwogfQogCiAvLyBWZXJpZnkgdGhhdCB0aGUg
Y29ycmVjdCBDU1NTdHlsZVZhbHVlcyBhcmUgYWNjZXB0ZWQvcmVqZWN0ZWQgZm9yIGEgcmVnaXN0
ZXJlZApAQCAtMzUzLDc3ICszNjIsNzcgQEAgdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsK
ICAgICBzeW50YXg6ICc8YW5nbGU+JywKICAgICBpbml0aWFsVmFsdWU6ICcwZGVnJywKICAgICBz
aG91bGRBY2NlcHQ6IFtDU1MuZGVnKDQyKSwgQ1NTLnR1cm4oMiksICc0MmRlZyddLAotICAgIHNo
b3VsZFJlamVjdDogW3VucGFyc2VkKCc0MmRlZycpLCBDU1MucHgoMTUpLCAnNTBweCddLAorICAg
IHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0MmRlZycpLCBDU1MucHgoMTUpLCAnNTBweCcsIFtD
U1MuZGVnKDE1KSwgJzEwZGVnJ11dLAogfSk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3Nl
dCh7CiAgICAgc3ludGF4OiAnPGN1c3RvbS1pZGVudD4nLAogICAgIGluaXRpYWxWYWx1ZTogJ25v
bmUnLAogICAgIHNob3VsZEFjY2VwdDogW2tleXdvcmQoJ2ZvbycpLCAnZm9vJ10sCi0gICAgc2hv
dWxkUmVqZWN0OiBbdW5wYXJzZWQoJ2ZvbycpLCBDU1MucHgoMTUpLCAnMTVweCddLAorICAgIHNo
b3VsZFJlamVjdDogW3VucGFyc2VkKCdmb28nKSwgQ1NTLnB4KDE1KSwgJzE1cHgnLCBba2V5d29y
ZCgnZm9vJyksICdmb28nXV0sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsK
ICAgICBzeW50YXg6ICc8aW1hZ2U+JywKICAgICBpbml0aWFsVmFsdWU6ICd1cmwoYSknLAogICAg
IHNob3VsZEFjY2VwdDogW3VybF9pbWFnZSgndXJsKGIpJyksICd1cmwoYiknXSwKLSAgICBzaG91
bGRSZWplY3Q6IFt1bnBhcnNlZCgndXJsKGIpJyksIENTUy5weCgxMDApLCAnNTBweCddLAorICAg
IHNob3VsZFJlamVjdDogW3VucGFyc2VkKCd1cmwoYiknKSwgQ1NTLnB4KDEwMCksICc1MHB4Jywg
W3VybF9pbWFnZSgndXJsKDEpJyksICd1cmwoMiknXV0sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9w
ZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8aW50ZWdlcj4nLAogICAgIGluaXRpYWxWYWx1
ZTogJzAnLAotICAgIHNob3VsZEFjY2VwdDogW0NTUy5udW1iZXIoMSksIENTUy5udW1iZXIoLTQy
KSwgJzEnLCAnLTQyJ10sCi0gICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJzQyJyksIENTUy5w
eCgxMDApLCAnNTBweCddLAorICAgIHNob3VsZEFjY2VwdDogW0NTUy5udW1iZXIoMSksIENTUy5u
dW1iZXIoLTQyKSwgJzEnLCAnLTQyJywgJ2NhbGMoMi40KSddLAorICAgIHNob3VsZFJlamVjdDog
W3VucGFyc2VkKCc0MicpLCBDU1MucHgoMTAwKSwgJzUwcHgnLCBbQ1NTLm51bWJlcig0MiksICc0
MiddLCAnY2FsYygycHggKyAxcHgpJ10sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBf
c2V0KHsKICAgICBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywKICAgICBpbml0aWFsVmFs
dWU6ICcwcHgnLAogICAgIHNob3VsZEFjY2VwdDogW0NTUy5wZXJjZW50KDEwKSwgQ1NTLnB4KDEp
LCBDU1MuZW0oMSksICcxMHB4JywgJzEwJSddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2Vk
KCcxMCUnKSwgdW5wYXJzZWQoJzEwcHgnKSwgQ1NTLmRwaSgxKSwgJ3VybChiKSddLAorICAgIHNo
b3VsZFJlamVjdDogW3VucGFyc2VkKCcxMCUnKSwgdW5wYXJzZWQoJzEwcHgnKSwgQ1NTLmRwaSgx
KSwgJ3VybChiKScsIFtDU1MucGVyY2VudCgxMCksICcxMCUnXV0sCiB9KTsKIAogdGVzdF9zdHls
ZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8bGVuZ3RoPicsCiAgICAgaW5pdGlh
bFZhbHVlOiAnMHB4JywKICAgICBzaG91bGRBY2NlcHQ6IFtDU1MucHgoMTApLCBDU1MuZW0oMTAp
LCBDU1MudmgoMjAwKSwgc3VtKENTUy5weCgxMCksIENTUy5lbSgyMCkpLCAnMTBlbScsICdjYWxj
KDEwcHggKyAxMGVtKSddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCcxMHB4JyksIENT
Uy5wZXJjZW50KDEpLCAndXJsKGIpJ10sCisgICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJzEw
cHgnKSwgQ1NTLnBlcmNlbnQoMSksICd1cmwoYiknLCBbQ1NTLmVtKDEwKSwgJzEwcHgnXV0sCiB9
KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8bnVtYmVy
PicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMCcsCiAgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLm51bWJl
cigxMzM3KSwgQ1NTLm51bWJlcigtNDIuNSksICcxMzM3JywgJy00Mi41J10sCi0gICAgc2hvdWxk
UmVqZWN0OiBbdW5wYXJzZWQoJzQyJyksIENTUy5weCgxNSksICcjZmVmJ10sCisgICAgc2hvdWxk
UmVqZWN0OiBbdW5wYXJzZWQoJzQyJyksIENTUy5weCgxNSksICcjZmVmJywgW0NTUy5udW1iZXIo
LTQyLjUpLCAnNDIuNSddXSwKIH0pOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoewog
ICAgIHN5bnRheDogJzxwZXJjZW50YWdlPicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMCUnLAogICAg
IHNob3VsZEFjY2VwdDogW0NTUy5wZXJjZW50KDEwKSwgJzEwJSddLAotICAgIHNob3VsZFJlamVj
dDogW3VucGFyc2VkKCcxMCUnKSwgQ1NTLnB4KDEpLCAnI2ZlZiddLAorICAgIHNob3VsZFJlamVj
dDogW3VucGFyc2VkKCcxMCUnKSwgQ1NTLnB4KDEpLCAnI2ZlZicsIFtDU1MucGVyY2VudCgxMCks
ICcxJSddXSwKIH0pOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoewogICAgIHN5bnRh
eDogJzxyZXNvbHV0aW9uPicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMGRwaScsCiAgICAgc2hvdWxk
QWNjZXB0OiBbQ1NTLmRwaSgxMDApLCBDU1MuZHBjbSgxMCksIENTUy5kcHB4KDUwKSwgJzEwMGRw
aSddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0MicpLCBDU1MucHgoMTUpLCAnI2Zl
ZiddLAorICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0MicpLCBDU1MucHgoMTUpLCAnI2Zl
ZicsIFtDU1MuZHBpKDEpLCAnMmRwaSddXSwKIH0pOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21h
cF9zZXQoewogICAgIHN5bnRheDogJzx0aW1lPicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMHMnLAog
ICAgIHNob3VsZEFjY2VwdDogW0NTUy5zKDQyKSwgQ1NTLm1zKDE2KSwgJzE2bXMnXSwKLSAgICBz
aG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnNDJzJyksIENTUy5weCgxNSksICcjZmVmJ10sCisgICAg
c2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJzQycycpLCBDU1MucHgoMTUpLCAnI2ZlZicsIFtDU1Mu
cyg1KSwgJzZzJ11dLAogfSk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CiAgICAg
c3ludGF4OiAnPHVybD4nLAogICAgIGluaXRpYWxWYWx1ZTogJ3VybChhKScsCiAgICAgc2hvdWxk
QWNjZXB0OiBbdXJsX2ltYWdlKCd1cmwoYiknKV0sCi0gICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJz
ZWQoJ3VybChiKScpLCBDU1MucHgoMTAwKSwgJyNmZWYnXSwKKyAgICBzaG91bGRSZWplY3Q6IFt1
bnBhcnNlZCgndXJsKGIpJyksIENTUy5weCgxMDApLCAnI2ZlZicsIFt1cmxfaW1hZ2UoJ3VybCgx
KScpLCAndXJsKDIpJ11dLAogfSk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CkBA
IC00MzcsMTQgKzQ0NiwzMDggQEAgdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBz
eW50YXg6ICdub25lIHwgdGhpbmcgfCBUSElORycsCiAgICAgaW5pdGlhbFZhbHVlOiAnbm9uZScs
CiAgICAgc2hvdWxkQWNjZXB0OiBba2V5d29yZCgndGhpbmcnKSwga2V5d29yZCgnVEhJTkcnKSwg
J3RoaW5nJ10sCi0gICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJ3RoaW5nJyksIENTUy5weCgx
NSksIGtleXdvcmQoJ25vdGF0aGluZycpLCAnbm90YXRoaW5nJ10sCisgICAgc2hvdWxkUmVqZWN0
OiBbdW5wYXJzZWQoJ3RoaW5nJyksIENTUy5weCgxNSksIGtleXdvcmQoJ25vdGF0aGluZycpLCAn
bm90YXRoaW5nJywgW2tleXdvcmQoJ3RoaW5nJyksIGtleXdvcmQoJ3RoaW5nJyldXSwKIH0pOwog
CiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoewogICAgIHN5bnRheDogJzxhbmdsZT4gfCA8
bGVuZ3RoPicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMGRlZycsCiAgICAgc2hvdWxkQWNjZXB0OiBb
Q1NTLmRlZyg0MiksIENTUy50dXJuKDIpLCBDU1MucHgoMTApLCBDU1MuZW0oMTApLCAnMTBkZWcn
LCAnMTBweCddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0MmRlZycpLCB1bnBhcnNl
ZCgnMjBweCcpLCBDU1MucygxKSwgJyNmZWYnXSwKKyAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNl
ZCgnNDJkZWcnKSwgdW5wYXJzZWQoJzIwcHgnKSwgQ1NTLnMoMSksICcjZmVmJywgW0NTUy5kZWco
NDIpLCAnMjFkZWcnXV0sCit9KTsKKworLy8gU3R5bGVQcm9wZXJ0eU1hcC5zZXQgZm9yIGxpc3Qt
dmFsdWVkIHByb3BlcnRpZXM6CisKK3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAg
c3ludGF4OiAnPGFuZ2xlPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzBkZWcnLAorICAgIHNob3Vs
ZEFjY2VwdDogW0NTUy5kZWcoMTUpLCBbQ1NTLmRlZygxNSksICcxMGRlZyddLCAnMTVkZWcgMTBk
ZWcnXSwKKyAgICBzaG91bGRSZWplY3Q6IFtbQ1NTLmRlZygxNSksIENTUy5weCgxMCldLCAnMTVk
ZWcgMTBweCddLAorfSk7CisKK3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3lu
dGF4OiAnPGN1c3RvbS1pZGVudD4rJywKKyAgICBpbml0aWFsVmFsdWU6ICdub25lJywKKyAgICBz
aG91bGRBY2NlcHQ6IFtrZXl3b3JkKCdmb28nKSwgW2tleXdvcmQoJ2ZvbycpLCAnYmFyJ10sICdm
b28gYmFyJ10sCisgICAgc2hvdWxkUmVqZWN0OiBbW2tleXdvcmQoJ2ZvbycpLCBDU1MucHgoMTAp
XSwgJ2ZvbyAxMHB4J10sCit9KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAg
ICBzeW50YXg6ICc8aW1hZ2U+KycsCisgICAgaW5pdGlhbFZhbHVlOiAndXJsKGEpJywKKyAgICBz
aG91bGRBY2NlcHQ6IFt1cmxfaW1hZ2UoJ3VybCgxKScpLCBbdXJsX2ltYWdlKCd1cmwoMSknKSwg
J3VybCgyKSddLCAndXJsKDEpIHVybCgyKSddLAorICAgIHNob3VsZFJlamVjdDogW1t1cmxfaW1h
Z2UoJ3VybCgxKScpLCBDU1MucHgoMTApXSwgJ3VybCgxKSAxMHB4J10sCit9KTsKKwordGVzdF9z
dHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8aW50ZWdlcj4rJywKKyAgICBp
bml0aWFsVmFsdWU6ICcwJywKKyAgICBzaG91bGRBY2NlcHQ6IFtDU1MubnVtYmVyKDQyKSwgW0NT
Uy5udW1iZXIoNDIpLCAnNDInXSwgJzQyIDQyJywgJ2NhbGMoMi40KSBjYWxjKDIuNiknXSwKKyAg
ICBzaG91bGRSZWplY3Q6IFtbQ1NTLm51bWJlcig0MiksIGtleXdvcmQoJ25vaW50JyldLCAnNDIg
bm9pbnQnLCAnY2FsYygycHggKyAycHgpJ10sCit9KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9t
YXBfc2V0KHsKKyAgICBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+KycsCisgICAgaW5pdGlh
bFZhbHVlOiAnMHB4JywKKyAgICBzaG91bGRBY2NlcHQ6IFtDU1MucGVyY2VudCgxMCksIFtDU1Mu
cGVyY2VudCgxMCksICcxMCUnXV0sCisgICAgc2hvdWxkUmVqZWN0OiBbW0NTUy5wZXJjZW50KDEw
KSwga2V5d29yZCgnbm9sZW5ndGgnKV0sICcxMCUgbm9sZW5ndGgnXSwKK30pOworCit0ZXN0X3N0
eWxlX3Byb3BlcnR5X21hcF9zZXQoeworICAgIHN5bnRheDogJzxsZW5ndGg+KycsCisgICAgaW5p
dGlhbFZhbHVlOiAnMHB4JywKKyAgICBzaG91bGRBY2NlcHQ6IFtDU1MuZW0oMTApLCBbQ1NTLmVt
KDEwKSwgJzEwcHgnXV0sCisgICAgc2hvdWxkUmVqZWN0OiBbW0NTUy5lbSgxMCksIGtleXdvcmQo
J25vbGVuZ3RoJyksICcxMGVtIG5vbGVuZ3RoJ11dLAorfSk7CisKK3Rlc3Rfc3R5bGVfcHJvcGVy
dHlfbWFwX3NldCh7CisgICAgc3ludGF4OiAnPG51bWJlcj4rJywKKyAgICBpbml0aWFsVmFsdWU6
ICcwJywKKyAgICBzaG91bGRBY2NlcHQ6IFtDU1MubnVtYmVyKC00Mi41KSwgW0NTUy5udW1iZXIo
LTQyLjUpLCAnNDIuNSddLCAnLTQyLjUgNDIuNSddLAorICAgIHNob3VsZFJlamVjdDogW1tDU1Mu
bnVtYmVyKC00Mi41KSwgQ1NTLnB4KDEwKV0sICctNDIuNSAxMHB4J10sCit9KTsKKwordGVzdF9z
dHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8cGVyY2VudGFnZT4rJywKKyAg
ICBpbml0aWFsVmFsdWU6ICcwJScsCisgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLnBlcmNlbnQoMTAp
LCBbQ1NTLnBlcmNlbnQoMTApLCAnMSUnXSwgJzEwJSAxJSddLAorICAgIHNob3VsZFJlamVjdDog
W1tDU1MucGVyY2VudCgxMCksIGtleXdvcmQoJ2ZvbycpXSwgJzEwJSBmb28nXSwKK30pOworCit0
ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoeworICAgIHN5bnRheDogJzxyZXNvbHV0aW9uPisn
LAorICAgIGluaXRpYWxWYWx1ZTogJzBkcGknLAorICAgIHNob3VsZEFjY2VwdDogW0NTUy5kcGko
MSksIFtDU1MuZHBpKDEpLCAnMmRwaSddLCAnMWRwaSAyZHBpJ10sCisgICAgc2hvdWxkUmVqZWN0
OiBbW0NTUy5kcGkoMSksIGtleXdvcmQoJ2ZvbycpXSwgJzFkcGkgZm9vJ10sCit9KTsKKwordGVz
dF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8dGltZT4rJywKKyAgICBp
bml0aWFsVmFsdWU6ICcwcycsCisgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLnMoNSksIFtDU1Mucyg1
KSwgJzZzJ10sICc1cyA2cyddLAorICAgIHNob3VsZFJlamVjdDogW1tDU1Mucyg1KSwga2V5d29y
ZCgnZm9vJyldLCAnNXMgZm9vJ10sCit9KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0
KHsKKyAgICBzeW50YXg6ICc8dXJsPisnLAorICAgIGluaXRpYWxWYWx1ZTogJ3VybChhKScsCisg
ICAgc2hvdWxkQWNjZXB0OiBbdXJsX2ltYWdlKCd1cmwoMSknKSwgW3VybF9pbWFnZSgndXJsKDEp
JyksICd1cmwoMiknXSwgJ3VybCgxKSB1cmwoMiknXSwKKyAgICBzaG91bGRSZWplY3Q6IFtbdXJs
X2ltYWdlKCd1cmwoMSknKSwgQ1NTLnB4KDEwKV0sICd1cmwoMSkgMTBweCddLAorfSk7CisKK3Rl
c3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4OiAndGhpbmcrJywKKyAgICBp
bml0aWFsVmFsdWU6ICd0aGluZycsCisgICAgc2hvdWxkQWNjZXB0OiBba2V5d29yZCgndGhpbmcn
KSwgW2tleXdvcmQoJ3RoaW5nJyksICd0aGluZyddLCAndGhpbmcgdGhpbmcnXSwKKyAgICBzaG91
bGRSZWplY3Q6IFtba2V5d29yZCgndGhpbmcnKSwgQ1NTLnB4KDEwKV0sICd0aGluZyAxMHB4J10s
Cit9KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8bGVu
Z3RoPiMnLAorICAgIGluaXRpYWxWYWx1ZTogJzBweCcsCisgICAgc2hvdWxkQWNjZXB0OiBbQ1NT
LmVtKDEwKSwgW0NTUy5lbSgxMCksICcxMHB4J11dLAorICAgIHNob3VsZFJlamVjdDogW1tDU1Mu
ZW0oMTApLCBrZXl3b3JkKCdub2xlbmd0aCcpLCAnMTBlbSBub2xlbmd0aCddXSwKK30pOworCitm
dW5jdGlvbiB0ZXN0X2FwcGVuZF9mb3JfcHJvcGVydHlfbWFwKHByb3BlcnR5TWFwTmFtZSwgcHJv
cGVydHlNYXAsIG9wdGlvbnMpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgIGxldCBu
YW1lID0gZ2VuX3Byb3Aob3B0aW9ucy5zeW50YXgsIG9wdGlvbnMuaW5pdGlhbFZhbHVlKTsKKwor
ICAgICAgICBsZXQgZW5zdXJlQXJyYXkgPSB2ID0+IHYuY29uc3RydWN0b3IgPT09IEFycmF5ID8g
diA6IFt2XTsKKworICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiBvcHRpb25zLnZhbHVlcykgewor
ICAgICAgICAgICAgcHJvcGVydHlNYXAuY2xlYXIoKTsKKworICAgICAgICAgICAgaWYgKHZhbHVl
LmJhc2UgIT09IG51bGwpCisgICAgICAgICAgICAgICAgcHJvcGVydHlNYXAuc2V0KG5hbWUsIC4u
LmVuc3VyZUFycmF5KHZhbHVlLmJhc2UpKTsKKworICAgICAgICAgICAgLy8gSWYgJ251bGwnIGlz
IGV4cGVjdGVkLCBpdCBtZWFucyB3ZSBleHBlY3QgdGhlIGFwcGVuZCB0byBmYWlsLgorICAgICAg
ICAgICAgaWYgKHZhbHVlLmV4cGVjdCAhPT0gbnVsbCkgeworICAgICAgICAgICAgICAgIHByb3Bl
cnR5TWFwLmFwcGVuZChuYW1lLCAuLi5lbnN1cmVBcnJheSh2YWx1ZS5hcHBlbmQpKTsKKyAgICAg
ICAgICAgICAgICBsZXQgYWN0dWFsID0gQXJyYXkuZnJvbShwcm9wZXJ0eU1hcC5nZXRBbGwobmFt
ZSkpLmpvaW4oJyAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbCwgdmFs
dWUuZXhwZWN0KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHByb3BlcnR5TWFwLmFwcGVuZChuYW1lLCAu
Li5lbnN1cmVBcnJheSh2YWx1ZS5hcHBlbmQpKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9LCBgU3R5bGVQcm9wZXJ0eU1hcC5hcHBlbmQgYWNjZXB0cyBjb3JyZWN0IENTU1N0eWxl
VmFsdWVzIGZvciAke29wdGlvbnMuc3ludGF4fSAoJHtwcm9wZXJ0eU1hcE5hbWV9KWApOworfQor
CisvLyBWZXJpZnkgdGhhdCB0aGUgY29ycmVjdCBDU1NTdHlsZVZhbHVlcyBhcmUgYWNjZXB0ZWQv
cmVqZWN0ZWQgd2hlbgorLy8gYXBwZW5kaW5nIHZhbHVlcyB0byBsaXN0LXZhbHVlZCBwcm9wZXJ0
aWVzLgorLy8KKy8vIFRoZSBzYW1lIHRlc3QgaXMgcGVyZm9ybWVkIHR3aWNlOiBvbmNlIGZvciBh
dHRyaWJ1dGVTdHlsZU1hcCwgYW5kIG9uY2UKKy8vIGZvciBzdHlsZU1hcC4KK2Z1bmN0aW9uIHRl
c3RfYXBwZW5kKG9wdGlvbnMpIHsKKyAgICB0ZXN0X2FwcGVuZF9mb3JfcHJvcGVydHlfbWFwKCdh
dHRyaWJ1dGVTdHlsZU1hcCcsIHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcCwgb3B0aW9ucyk7Cisg
ICAgdGVzdF9hcHBlbmRfZm9yX3Byb3BlcnR5X21hcCgnc3R5bGVNYXAnLCBzdHlsZS5zaGVldC5y
dWxlc1swXS5zdHlsZU1hcCwgb3B0aW9ucyk7Cit9CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50
YXg6ICc8YW5nbGU+KycsCisgICAgaW5pdGlhbFZhbHVlOiAnMGRlZycsCisgICAgdmFsdWVzOiBb
CisgICAgICAgIHsgYmFzZTogW0NTUy5kZWcoMSldLCBhcHBlbmQ6IFtDU1MucHgoMSldLCBleHBl
Y3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLmRlZygxKV0sIGFwcGVuZDogW0NTUy5k
ZWcoMiksIENTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1Mu
ZGVnKDEpXSwgYXBwZW5kOiBbQ1NTLmRlZygyKSwgJzFweCddLCBleHBlY3Q6IG51bGwgfSwKKyAg
ICAgICAgeyBiYXNlOiBbQ1NTLmRlZygxKV0sIGFwcGVuZDogW0NTUy50dXJuKDIpLCBDU1MuZGVn
KDMpXSwgZXhwZWN0OiAnMWRlZyAydHVybiAzZGVnJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1Mu
ZGVnKDEpLCBDU1MuZGVnKDIpXSwgYXBwZW5kOiBbQ1NTLmRlZygzKV0sIGV4cGVjdDogJzFkZWcg
MmRlZyAzZGVnJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MuZGVnKDEpXSwgYXBwZW5kOiBbQ1NT
LmRlZygyKSwgJzNkZWcnXSwgZXhwZWN0OiAnMWRlZyAyZGVnIDNkZWcnIH0sCisgICAgICAgIHsg
YmFzZTogW0NTUy5kZWcoMSldLCBhcHBlbmQ6IFtDU1MuZGVnKDIpLCAnM3R1cm4gNGRlZyddLCBl
eHBlY3Q6ICcxZGVnIDJkZWcgM3R1cm4gNGRlZycgfSwKKyAgICAgICAgeyBiYXNlOiBudWxsLCBh
cHBlbmQ6IFtDU1MuZGVnKDEpLCAnMmRlZyddLCBleHBlY3Q6ICcxZGVnIDJkZWcnIH0sCisgICAg
XSwKK30pOworCit0ZXN0X2FwcGVuZCh7CisgICAgc3ludGF4OiAnPGN1c3RvbS1pZGVudD4rJywK
KyAgICBpbml0aWFsVmFsdWU6ICdub25lJywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAgeyBiYXNl
OiBba2V5d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwK
KyAgICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtrZXl3b3JkKCdiYXIn
KSwgQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQo
J2ZvbycpXSwgYXBwZW5kOiBba2V5d29yZCgnYmFyJyksICcxcHgnXSwgZXhwZWN0OiBudWxsIH0s
CisgICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5d29yZCgnYmFy
JyksIGtleXdvcmQoJ2JheicpXSwgZXhwZWN0OiAnZm9vIGJhciBiYXonIH0sCisgICAgICAgIHsg
YmFzZTogW2tleXdvcmQoJ2ZvbycpLCBrZXl3b3JkKCdiYXInKV0sIGFwcGVuZDogW2tleXdvcmQo
J2JheicpXSwgZXhwZWN0OiAnZm9vIGJhciBiYXonIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdv
cmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5d29yZCgnYmFyJyksICdiYXonXSwgZXhwZWN0OiAnZm9v
IGJhciBiYXonIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBb
a2V5d29yZCgnYmFyJyksICdiYXogemltJ10sIGV4cGVjdDogJ2ZvbyBiYXIgYmF6IHppbScgfSwK
KyAgICAgICAgeyBiYXNlOiBudWxsLCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwgJ2JhciddLCBl
eHBlY3Q6ICdmb28gYmFyJyB9LAorICAgIF0sCit9KTsKKworWyc8aW1hZ2U+KycsICc8dXJsPisn
XS5mb3JFYWNoKChzeW50YXgpID0+IHsKKyAgICB0ZXN0X2FwcGVuZCh7CisgICAgICAgIHN5bnRh
eDogc3ludGF4LAorICAgICAgICBpbml0aWFsVmFsdWU6ICd1cmwoMCknLAorICAgICAgICB2YWx1
ZXM6IFsKKyAgICAgICAgICAgIHsgYmFzZTogW3VybF9pbWFnZSgndXJsKCIxIiknKV0sIGFwcGVu
ZDogW0NTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICAgICAgeyBiYXNlOiBbdXJs
X2ltYWdlKCd1cmwoIjEiKScpXSwgYXBwZW5kOiBbdXJsX2ltYWdlKCd1cmwoIjIiKScpLCBDU1Mu
cHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgICAgIHsgYmFzZTogW3VybF9pbWFnZSgn
dXJsKCIxIiknKV0sIGFwcGVuZDogW3VybF9pbWFnZSgndXJsKCIyIiknKSwgJzFweCddLCBleHBl
Y3Q6IG51bGwgfSwKKyAgICAgICAgICAgIHsgYmFzZTogW3VybF9pbWFnZSgndXJsKCIxIiknKV0s
IGFwcGVuZDogW3VybF9pbWFnZSgndXJsKCIyIiknKSwgdXJsX2ltYWdlKCd1cmwoIjMiKScpXSwg
ZXhwZWN0OiAndXJsKCIxIikgdXJsKCIyIikgdXJsKCIzIiknIH0sCisgICAgICAgICAgICB7IGJh
c2U6IFt1cmxfaW1hZ2UoJ3VybCgiMSIpJyksIHVybF9pbWFnZSgndXJsKCIyIiknKV0sIGFwcGVu
ZDogW3VybF9pbWFnZSgndXJsKCIzIiknKV0sIGV4cGVjdDogJ3VybCgiMSIpIHVybCgiMiIpIHVy
bCgiMyIpJyB9LAorICAgICAgICAgICAgeyBiYXNlOiBbdXJsX2ltYWdlKCd1cmwoIjEiKScpXSwg
YXBwZW5kOiBbdXJsX2ltYWdlKCd1cmwoIjIiKScpLCAndXJsKCIzIiknXSwgZXhwZWN0OiAndXJs
KCIxIikgdXJsKCIyIikgdXJsKCIzIiknIH0sCisgICAgICAgICAgICB7IGJhc2U6IFt1cmxfaW1h
Z2UoJ3VybCgiMSIpJyldLCBhcHBlbmQ6IFt1cmxfaW1hZ2UoJ3VybCgiMiIpJyksICd1cmwoIjMi
KSB1cmwoIjQiKSddLCBleHBlY3Q6ICd1cmwoIjEiKSB1cmwoIjIiKSB1cmwoIjMiKSB1cmwoIjQi
KScgfSwKKyAgICAgICAgICAgIHsgYmFzZTogbnVsbCwgYXBwZW5kOiBbdXJsX2ltYWdlKCd1cmwo
IjEiKScpLCAndXJsKCIyIiknXSwgZXhwZWN0OiAndXJsKCIxIikgdXJsKCIyIiknIH0sCisgICAg
ICAgIF0sCisgICAgfSk7Cit9KTsKKwordGVzdF9hcHBlbmQoeworICAgIHN5bnRheDogJzxpbnRl
Z2VyPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzAnLAorICAgIHZhbHVlczogWworICAgICAgICB7
IGJhc2U6IFtDU1MubnVtYmVyKDEpXSwgYXBwZW5kOiBbQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxs
IH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5udW1iZXIoMSldLCBhcHBlbmQ6IFtDU1MubnVtYmVy
KDIpLCBDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51
bWJlcigxKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMiksICdub2ludCddLCBleHBlY3Q6IG51bGwg
fSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigxKV0sIGFwcGVuZDogW0NTUy5udW1iZXIo
MiksIENTUy5udW1iZXIoMyldLCBleHBlY3Q6ICcxIDIgMycgfSwKKyAgICAgICAgeyBiYXNlOiBb
Q1NTLm51bWJlcigxKSwgQ1NTLm51bWJlcigyKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMyldLCBl
eHBlY3Q6ICcxIDIgMycgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigxKV0sIGFwcGVu
ZDogW0NTUy5udW1iZXIoMiksICczJ10sIGV4cGVjdDogJzEgMiAzJyB9LAorICAgICAgICB7IGJh
c2U6IFtDU1MubnVtYmVyKDEpXSwgYXBwZW5kOiBbQ1NTLm51bWJlcigyKSwgJzMgNCddLCBleHBl
Y3Q6ICcxIDIgMyA0JyB9LAorICAgICAgICB7IGJhc2U6IG51bGwsIGFwcGVuZDogW0NTUy5udW1i
ZXIoMSksICcyJ10sIGV4cGVjdDogJzEgMicgfSwKKyAgICBdLAorfSk7CisKK3Rlc3RfYXBwZW5k
KHsKKyAgICBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+KycsCisgICAgaW5pdGlhbFZhbHVl
OiAnMHB4JywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBw
ZW5kOiBba2V5d29yZCgnbm9sZW5ndGgnKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJh
c2U6IFtDU1MucHgoMSldLCBhcHBlbmQ6IFtDU1MucHgoMiksIGtleXdvcmQoJ25vbGVuZ3RoJyld
LCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBb
Q1NTLnB4KDIpLCAnbm9sZW5ndGgnXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTog
W0NTUy5weCgxKV0sIGFwcGVuZDogW0NTUy5weCgyKSwgQ1NTLnBlcmNlbnQoMyldLCBleHBlY3Q6
ICcxcHggMnB4IDMlJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MucHgoMSksIENTUy5weCgyKV0s
IGFwcGVuZDogW0NTUy5wZXJjZW50KDMpXSwgZXhwZWN0OiAnMXB4IDJweCAzJScgfSwKKyAgICAg
ICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLnBlcmNlbnQoMiksICczcHgnXSwg
ZXhwZWN0OiAnMXB4IDIlIDNweCcgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBw
ZW5kOiBbQ1NTLnB4KDIpLCAnMyUgNHB4J10sIGV4cGVjdDogJzFweCAycHggMyUgNHB4JyB9LAor
ICAgICAgICB7IGJhc2U6IG51bGwsIGFwcGVuZDogW0NTUy5weCgxKSwgJzIlJ10sIGV4cGVjdDog
JzFweCAyJScgfSwKKyAgICBdLAorfSk7CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6ICc8
bGVuZ3RoPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzAnLAorICAgIHZhbHVlczogWworICAgICAg
ICB7IGJhc2U6IFtDU1MucHgoMSldLCBhcHBlbmQ6IFtrZXl3b3JkKCdub2xlbmd0aCcpXSwgZXhw
ZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5weCgxKV0sIGFwcGVuZDogW0NTUy5w
eCgyKSwga2V5d29yZCgnbm9sZW5ndGgnKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJh
c2U6IFtDU1MucHgoMSldLCBhcHBlbmQ6IFtDU1MucHgoMiksICdub2xlbmd0aCddLCBleHBlY3Q6
IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLmVtKDIp
LCBDU1MucHgoMyldLCBleHBlY3Q6ICcxcHggMmVtIDNweCcgfSwKKyAgICAgICAgeyBiYXNlOiBb
Q1NTLnB4KDEpLCBDU1MuZW0oMildLCBhcHBlbmQ6IFtDU1MudmgoMyldLCBleHBlY3Q6ICcxcHgg
MmVtIDN2aCcgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLmVt
KDIpLCAnM3B4J10sIGV4cGVjdDogJzFweCAyZW0gM3B4JyB9LAorICAgICAgICB7IGJhc2U6IFtD
U1MucHgoMSldLCBhcHBlbmQ6IFtDU1MucHgoMiksICczZW0gNGNtJ10sIGV4cGVjdDogJzFweCAy
cHggM2VtIDRjbScgfSwKKyAgICAgICAgeyBiYXNlOiBudWxsLCBhcHBlbmQ6IFtDU1MudmgoMSks
ICcycHgnXSwgZXhwZWN0OiAnMXZoIDJweCcgfSwKKyAgICBdLAorfSk7CisKK3Rlc3RfYXBwZW5k
KHsKKyAgICBzeW50YXg6ICc8bnVtYmVyPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzAnLAorICAg
IHZhbHVlczogWworICAgICAgICB7IGJhc2U6IFtDU1MubnVtYmVyKC0xKV0sIGFwcGVuZDogW2tl
eXdvcmQoJ05hTicpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5udW1i
ZXIoLTEpXSwgYXBwZW5kOiBbQ1NTLm51bWJlcigyLjUpLCBrZXl3b3JkKCdOYU4nKV0sIGV4cGVj
dDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MubnVtYmVyKC0xKV0sIGFwcGVuZDogW0NT
Uy5udW1iZXIoMi41KSwgJzFweCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBb
Q1NTLm51bWJlcigtMSldLCBhcHBlbmQ6IFtDU1MubnVtYmVyKDIuNSksIENTUy5udW1iZXIoMy4y
KV0sIGV4cGVjdDogJy0xIDIuNSAzLjInIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5udW1iZXIo
LTEpLCBDU1MubnVtYmVyKDIuNSldLCBhcHBlbmQ6IFtDU1MubnVtYmVyKDMuMildLCBleHBlY3Q6
ICctMSAyLjUgMy4yJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MubnVtYmVyKC0xKV0sIGFwcGVu
ZDogW0NTUy5udW1iZXIoMi41KSwgJzMuMiddLCBleHBlY3Q6ICctMSAyLjUgMy4yJyB9LAorICAg
ICAgICB7IGJhc2U6IFtDU1MubnVtYmVyKC0xKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMi41KSwg
JzMuMiA0J10sIGV4cGVjdDogJy0xIDIuNSAzLjIgNCcgfSwKKyAgICAgICAgeyBiYXNlOiBudWxs
LCBhcHBlbmQ6IFtDU1MubnVtYmVyKC0xKSwgJzIuNSddLCBleHBlY3Q6ICctMSAyLjUnIH0sCisg
ICAgXSwKK30pOworCit0ZXN0X2FwcGVuZCh7CisgICAgc3ludGF4OiAnPHBlcmNlbnRhZ2U+Kycs
CisgICAgaW5pdGlhbFZhbHVlOiAnMCUnLAorICAgIHZhbHVlczogWworICAgICAgICB7IGJhc2U6
IFtDU1MucGVyY2VudCgxKV0sIGFwcGVuZDogW0NTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAor
ICAgICAgICB7IGJhc2U6IFtDU1MucGVyY2VudCgxKV0sIGFwcGVuZDogW0NTUy5wZXJjZW50KDIp
LCBDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnBlcmNl
bnQoMSldLCBhcHBlbmQ6IFtDU1MucGVyY2VudCgyKSwgJzFweCddLCBleHBlY3Q6IG51bGwgfSwK
KyAgICAgICAgeyBiYXNlOiBbQ1NTLnBlcmNlbnQoMSldLCBhcHBlbmQ6IFtDU1MucGVyY2VudCgy
KSwgQ1NTLnBlcmNlbnQoMyldLCBleHBlY3Q6ICcxJSAyJSAzJScgfSwKKyAgICAgICAgeyBiYXNl
OiBbQ1NTLnBlcmNlbnQoMSksIENTUy5wZXJjZW50KDIpXSwgYXBwZW5kOiBbQ1NTLnBlcmNlbnQo
MyldLCBleHBlY3Q6ICcxJSAyJSAzJScgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnBlcmNlbnQo
MSldLCBhcHBlbmQ6IFtDU1MucGVyY2VudCgyKSwgJzMlJ10sIGV4cGVjdDogJzElIDIlIDMlJyB9
LAorICAgICAgICB7IGJhc2U6IFtDU1MucGVyY2VudCgxKV0sIGFwcGVuZDogW0NTUy5wZXJjZW50
KDIpLCAnMyUgNCUnXSwgZXhwZWN0OiAnMSUgMiUgMyUgNCUnIH0sCisgICAgICAgIHsgYmFzZTog
bnVsbCwgYXBwZW5kOiBbQ1NTLnBlcmNlbnQoMSksICcyJSddLCBleHBlY3Q6ICcxJSAyJScgfSwK
KyAgICBdLAorfSk7CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6ICc8cmVzb2x1dGlvbj4r
JywKKyAgICBpbml0aWFsVmFsdWU6ICcwZHBpJywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAgeyBi
YXNlOiBbQ1NTLmRwaSgxKV0sIGFwcGVuZDogW0NTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAor
ICAgICAgICB7IGJhc2U6IFtDU1MuZHBpKDEpXSwgYXBwZW5kOiBbQ1NTLmRwaSgyKSwgQ1NTLnB4
KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5kcGkoMSldLCBhcHBl
bmQ6IFtDU1MuZHBpKDIpLCAnMXB4J10sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6
IFtDU1MuZHBpKDEpXSwgYXBwZW5kOiBbQ1NTLmRwaSgyKSwgQ1NTLmRwaSgzKV0sIGV4cGVjdDog
JzFkcGkgMmRwaSAzZHBpJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MuZHBpKDEpLCBDU1MuZHBp
KDIpXSwgYXBwZW5kOiBbQ1NTLmRwaSgzKV0sIGV4cGVjdDogJzFkcGkgMmRwaSAzZHBpJyB9LAor
ICAgICAgICB7IGJhc2U6IFtDU1MuZHBpKDEpXSwgYXBwZW5kOiBbQ1NTLmRwaSgyKSwgJzNkcGkn
XSwgZXhwZWN0OiAnMWRwaSAyZHBpIDNkcGknIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5kcGko
MSldLCBhcHBlbmQ6IFtDU1MuZHBpKDIpLCAnM2RwaSA0ZHBpJ10sIGV4cGVjdDogJzFkcGkgMmRw
aSAzZHBpIDRkcGknIH0sCisgICAgICAgIHsgYmFzZTogbnVsbCwgYXBwZW5kOiBbQ1NTLmRwaSgx
KSwgJzJkcGknXSwgZXhwZWN0OiAnMWRwaSAyZHBpJyB9LAorICAgIF0sCit9KTsKKwordGVzdF9h
cHBlbmQoeworICAgIHN5bnRheDogJzx0aW1lPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzBzJywK
KyAgICB2YWx1ZXM6IFsKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnMoMSldLCBhcHBlbmQ6IFtDU1Mu
cHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnMoMSldLCBhcHBl
bmQ6IFtDU1MucygyKSwgQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFz
ZTogW0NTUy5zKDEpXSwgYXBwZW5kOiBbQ1NTLm1zKDIpLCAnMXB4J10sIGV4cGVjdDogbnVsbCB9
LAorICAgICAgICB7IGJhc2U6IFtDU1MucygxKV0sIGFwcGVuZDogW0NTUy5tcygyKSwgQ1NTLnMo
MyldLCBleHBlY3Q6ICcxcyAybXMgM3MnIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5zKDEpLCBD
U1MucygyKV0sIGFwcGVuZDogW0NTUy5zKDMpXSwgZXhwZWN0OiAnMXMgMnMgM3MnIH0sCisgICAg
ICAgIHsgYmFzZTogW0NTUy5zKDEpXSwgYXBwZW5kOiBbQ1NTLnMoMiksICczcyddLCBleHBlY3Q6
ICcxcyAycyAzcycgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnMoMSldLCBhcHBlbmQ6IFtDU1Mu
cygyKSwgJzNtcyA0cyddLCBleHBlY3Q6ICcxcyAycyAzbXMgNHMnIH0sCisgICAgICAgIHsgYmFz
ZTogbnVsbCwgYXBwZW5kOiBbQ1NTLnMoMSksICcycyddLCBleHBlY3Q6ICcxcyAycycgfSwKKyAg
ICBdLAorfSk7CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6ICdmb28rJywKKyAgICBpbml0
aWFsVmFsdWU6ICdmb28nLAorICAgIHZhbHVlczogWworICAgICAgICB7IGJhc2U6IFtrZXl3b3Jk
KCdmb28nKV0sIGFwcGVuZDogW0NTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7
IGJhc2U6IFtrZXl3b3JkKCdmb28nKV0sIGFwcGVuZDogW2tleXdvcmQoJ2ZvbycpLCBDU1MucHgo
MSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyldLCBh
cHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwgJzFweCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAg
eyBiYXNlOiBba2V5d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwga2V5d29y
ZCgnZm9vJyldLCBleHBlY3Q6ICdmb28gZm9vIGZvbycgfSwKKyAgICAgICAgeyBiYXNlOiBba2V5
d29yZCgnZm9vJyksIGtleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5d29yZCgnZm9vJyldLCBl
eHBlY3Q6ICdmb28gZm9vIGZvbycgfSwKKyAgICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyld
LCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwgJ2ZvbyddLCBleHBlY3Q6ICdmb28gZm9vIGZvbycg
fSwKKyAgICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtrZXl3b3JkKCdm
b28nKSwgJ2ZvbyBmb28nXSwgZXhwZWN0OiAnZm9vIGZvbyBmb28gZm9vJyB9LAorICAgICAgICB7
IGJhc2U6IG51bGwsIGFwcGVuZDogW2tleXdvcmQoJ2ZvbycpLCBrZXl3b3JkKCdmb28nKV0sIGV4
cGVjdDogJ2ZvbyBmb28nIH0sCisgICAgXSwKIH0pOwogCiAvLyBDU1NTdHlsZVZhbHVlLnBhcnNl
L3BhcnNlQWxsCkBAIC01MzcsNCArODQwLDE4MSBAQCB0ZXN0KGZ1bmN0aW9uKCl7CiAgICAgYXNz
ZXJ0X3BhcnNlZF90eXBlKGdlbl9wcm9wKCc8bGVuZ3RoPiMgfCBmYWlsJywgJ2ZhaWwnKSwgJzEw
cHgsIDIwcHgnLCBDU1NVbml0VmFsdWUpOwogfSwgJ0NTU1N0eWxlVmFsdWUucGFyc2VbQWxsXSBy
ZXR1cm5zIGxpc3Qgb2YgQ1NTVW5pdFZhbHVlcyBmb3IgPGxlbmd0aD4jJyk7CiAKKy8vIERpcmVj
dCBDU1NTdHlsZVZhbHVlIG9iamVjdHM6CisKK2Z1bmN0aW9uIGdlbl9hbGxfcHJvcHMoKSB7Cisg
ICAgcmV0dXJuIFsKKyAgICAgICAgZ2VuX3Byb3AoJyonLCAnZm9vJyksCisgICAgICAgIGdlbl9w
cm9wKCdmb28nLCAnZm9vJyksCisgICAgICAgIGdlbl9wcm9wKCc8YW5nbGU+JywgJzBkZWcnKSwK
KyAgICAgICAgZ2VuX3Byb3AoJzxjb2xvcj4nLCAncmdiKDEsIDIsIDMpJyksCisgICAgICAgIGdl
bl9wcm9wKCc8Y3VzdG9tLWlkZW50PicsICd0aGluZycpLAorICAgICAgICBnZW5fcHJvcCgnPGlt
YWdlPicsICd1cmwoYSknKSwKKyAgICAgICAgZ2VuX3Byb3AoJzxpbnRlZ2VyPicsICcwJyksCisg
ICAgICAgIGdlbl9wcm9wKCc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywgJ2NhbGMoMTBweCArIDEwJSkn
KSwKKyAgICAgICAgZ2VuX3Byb3AoJzxsZW5ndGg+JywgJzBweCcpLAorICAgICAgICBnZW5fcHJv
cCgnPG51bWJlcj4nLCAnMC41JyksCisgICAgICAgIGdlbl9wcm9wKCc8cGVyY2VudGFnZT4nLCAn
MCUnKSwKKyAgICAgICAgZ2VuX3Byb3AoJzxyZXNvbHV0aW9uPicsICcwZHBpJyksCisgICAgICAg
IGdlbl9wcm9wKCc8dGltZT4nLCAnMHMnKSwKKyAgICAgICAgZ2VuX3Byb3AoJzx0cmFuc2Zvcm0t
ZnVuY3Rpb24+JywgJ3JvdGF0ZVgoMGRlZyknKSwKKyAgICAgICAgZ2VuX3Byb3AoJzx0cmFuc2Zv
cm0tbGlzdD4nLCAncm90YXRlWCgwZGVnKScpLAorICAgICAgICBnZW5fcHJvcCgnPHVybD4nLCAn
dXJsKGEpJykKKyAgICBdOworfQorCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgbGV0IHByb3BzMCA9
IGdlbl9hbGxfcHJvcHMoKTsKKyAgICBsZXQgcHJvcHMxID0gZ2VuX2FsbF9wcm9wcygpOworCisg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wczAubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgbGV0
IHByb3AwID0gcHJvcHMwW2ldOworICAgICAgICBsZXQgcHJvcDEgPSBwcm9wczFbaV07CisKKyAg
ICAgICAgLy8gQWJ1c2UgY29tcHV0ZWRTdHlsZU1hcCB0byBnZXQgdGhlIGluaXRpYWxWYWx1ZSAo
anVzdCB0byBnZXQgc29tZQorICAgICAgICAvLyB2YWx1ZSB0aGF0IHdpbGwgcGFyc2UgZm9yIHBy
b3AwLzEncyBzeW50YXgpLgorICAgICAgICBsZXQgaW5pdGlhbFZhbHVlID0gdGFyZ2V0LmNvbXB1
dGVkU3R5bGVNYXAoKS5nZXQocHJvcDApOworCisgICAgICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91
dCBkaXJlY3QgQ1NTU3R5bGVWYWx1ZSBpbnN0YW5jZXMgaW4gdGhpcyB0ZXN0LgorICAgICAgICAv
LyBVbHRpbWF0ZWx5LCBpbiBzb21lIGZ1dHVyZSB2ZXJzaW9uIG9mIENTUyBUeXBlZE9NLCB3ZSBt
YXkgaGF2ZSBubworICAgICAgICAvLyBkaXJlY3QgQ1NTU3R5bGVWYWx1ZSBpbnN0YW5jZXMgYXQg
YWxsLCB3aGljaCBpcyBmaW5lLgorICAgICAgICBpZiAoaW5pdGlhbFZhbHVlLmNvbnN0cnVjdG9y
ICE9PSBDU1NTdHlsZVZhbHVlKSB7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQor
CisgICAgICAgIGxldCB2YWx1ZSA9IENTU1N0eWxlVmFsdWUucGFyc2UocHJvcDAsIGluaXRpYWxW
YWx1ZS50b1N0cmluZygpKTsKKworICAgICAgICAvLyBBIHZhbHVlIHBhcnNlZCBmb3IgcHJvcDAg
bXVzdCBiZSBhc3NpZ25hYmxlIHRvIHByb3AwLgorICAgICAgICB0YXJnZXQuYXR0cmlidXRlU3R5
bGVNYXAuY2xlYXIoKTsKKyAgICAgICAgdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLnNldChwcm9w
MCwgdmFsdWUpOyAvLyBEb24ndCB0aHJvdy4KKworICAgICAgICAvLyBBIHZhbHVlIHBhcnNlZCBm
b3IgcHJvcDAgbXVzdCBub3QgYmUgYXNzaWduYWJsZSB0byBwcm9wMSwgZXZlbiBpZgorICAgICAg
ICAvLyB0aGUgcHJvcGVydGllcyBoYXZlIGNvbXBhdGlibGUgc3ludGF4ZXMuCisgICAgICAgIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7CisgICAgICAgICAgICB0YXJnZXQu
YXR0cmlidXRlU3R5bGVNYXAuY2xlYXIoKTsKKyAgICAgICAgICAgIHRhcmdldC5hdHRyaWJ1dGVT
dHlsZU1hcC5zZXQocHJvcDEsIHZhbHVlKTsKKyAgICAgICAgfSk7CisgICAgfQorfSwgJ0RpcmVj
dCBDU1NTdHlsZVZhbHVlIGluc3RhbmNlcyBhcmUgdGllZCB0byB0aGVpciBhc3NvY2lhdGVkIHBy
b3BlcnR5Jyk7CisKKy8vIFN0eWxlUHJvcGVydHlNYXBSZWFkT25seSBpdGVyYXRpb24KKwordGVz
dChmdW5jdGlvbigpeworICAgIGxldCBuYW1lID0gZ2VuX3Byb3AoJzxsZW5ndGg+JywgJzEwcHgn
KTsKKyAgICBsZXQgcmVzdWx0ID0gQXJyYXkuZnJvbSh0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCgp
KS5maWx0ZXIoZSA9PiBlWzBdID09IG5hbWUpWzBdOworICAgIGFzc2VydF90cnVlKHR5cGVvZihy
ZXN1bHQpICE9PSAndW5kZWZpbmVkJyk7Cit9LCAnUmVnaXN0ZXJlZCBwcm9wZXJ0eSB3aXRoIGlu
aXRpYWwgdmFsdWUgc2hvdyB1cCBvbiBpdGVyYXRpb24gb2YgY29tcHV0ZWRTdHlsZU1hcCcpOwor
CisvLyBWZXJpZmllcyB0aGF0IGl0ZXJhdGluZyBhIFN0eWxlUHJvcGVydHlNYXBbUmVhZE9ubHld
IHlpZWxkcyBjb3JyZWN0bHkKKy8vIHR5cGVkIG9iamVjdHMgZm9yIGEgZ2l2ZW4gc3ludGF4L3Zh
bHVlLgorZnVuY3Rpb24gdGVzdF9pdGVyYXRpb25fdHlwZV9mb3JfcHJvcGVydHlfbWFwKHByb3Bl
cnR5TWFwTmFtZSwgcHJvcGVydHlNYXAsIG9wdGlvbnMpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKCl7
CisgICAgICAgIGxldCBuYW1lID0gZ2VuX3Byb3Aob3B0aW9ucy5zeW50YXgsIG9wdGlvbnMuaW5p
dGlhbFZhbHVlKTsKKyAgICAgICAgaWYgKHByb3BlcnR5TWFwIGluc3RhbmNlb2YgU3R5bGVQcm9w
ZXJ0eU1hcCkgeworICAgICAgICAgICAgLy8gT25seSBzZXQgdGhlIHZhbHVlIGlmIHRoZSBwcm9w
ZXJ0eU1hcCBpcyBtdXRhYmxlLgorICAgICAgICAgICAgcHJvcGVydHlNYXAuc2V0KG5hbWUsIG9w
dGlvbnMudmFsdWUpOworICAgICAgICB9CisgICAgICAgIGxldCByZXN1bHQgPSBBcnJheS5mcm9t
KHByb3BlcnR5TWFwKS5maWx0ZXIoZSA9PiBlWzBdID09IG5hbWUpWzBdOworICAgICAgICBsZXQg
dmFsdWUgPSByZXN1bHRbMV07CisgICAgICAgIGFzc2VydF90cnVlKG9wdGlvbnMuZXhwZWN0KHZh
bHVlKSk7CisgICAgfSwgYEl0ZXJhdGlvbiBvbiAke3Byb3BlcnR5TWFwTmFtZX0gcHJvZHVjZXMg
Y29ycmVjdCB0eXBlIGZvciAke29wdGlvbnMuc3ludGF4fWApOworfQorCitmdW5jdGlvbiB0ZXN0
X2l0ZXJhdGlvbl90eXBlKG9wdGlvbnMpIHsKKyAgICB0ZXN0X2l0ZXJhdGlvbl90eXBlX2Zvcl9w
cm9wZXJ0eV9tYXAoJ2NvbXB1dGVkU3R5bGVNYXAnLCB0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCgp
LCBvcHRpb25zKTsKKyAgICB0ZXN0X2l0ZXJhdGlvbl90eXBlX2Zvcl9wcm9wZXJ0eV9tYXAoJ2F0
dHJpYnV0ZVN0eWxlTWFwJywgdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLCBvcHRpb25zKTsKKyAg
ICB0ZXN0X2l0ZXJhdGlvbl90eXBlX2Zvcl9wcm9wZXJ0eV9tYXAoJ3N0eWxlTWFwJywgc3R5bGUu
c2hlZXQucnVsZXNbMF0uc3R5bGVNYXAsIG9wdGlvbnMpOworfQorCit0ZXN0X2l0ZXJhdGlvbl90
eXBlKHsKKyAgICBzeW50YXg6ICcqJywKKyAgICBpbml0aWFsVmFsdWU6ICdub25lJywKKyAgICB2
YWx1ZTogJ3RoaW5nJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGlu
c3RhbmNlb2YgQ1NTVW5wYXJzZWRWYWx1ZSwKK30pOworCit0ZXN0X2l0ZXJhdGlvbl90eXBlKHsK
KyAgICBzeW50YXg6ICc8YW5nbGU+JywKKyAgICBpbml0aWFsVmFsdWU6ICcwZGVnJywKKyAgICB2
YWx1ZTogJzQyZGVnJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGlu
c3RhbmNlb2YgQ1NTVW5pdFZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAg
IHN5bnRheDogJzxjdXN0b20taWRlbnQ+JywKKyAgICBpbml0aWFsVmFsdWU6ICdub25lJywKKyAg
ICB2YWx1ZTogJ3RoaW5nJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBd
IGluc3RhbmNlb2YgQ1NTS2V5d29yZFZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUo
eworICAgIHN5bnRheDogJzxpbWFnZT4nLAorICAgIGluaXRpYWxWYWx1ZTogJ3VybChhKScsCisg
ICAgdmFsdWU6ICd1cmwoYiknLAorICAgIGV4cGVjdDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZb
MF0gaW5zdGFuY2VvZiBDU1NJbWFnZVZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUo
eworICAgIHN5bnRheDogJzxpbnRlZ2VyPicsCisgICAgaW5pdGlhbFZhbHVlOiAnMCcsCisgICAg
dmFsdWU6ICcxMDAnLAorICAgIGV4cGVjdDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0gaW5z
dGFuY2VvZiBDU1NVbml0VmFsdWUsCit9KTsKKwordGVzdF9pdGVyYXRpb25fdHlwZSh7CisgICAg
c3ludGF4OiAnPGxlbmd0aD4nLAorICAgIGluaXRpYWxWYWx1ZTogJzBweCcsCisgICAgdmFsdWU6
ICcxMHB4JywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNl
b2YgQ1NTVW5pdFZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRh
eDogJzxudW1iZXI+JywKKyAgICBpbml0aWFsVmFsdWU6ICcwJywKKyAgICB2YWx1ZTogJzQyJywK
KyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTVW5p
dFZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJzxwZXJj
ZW50YWdlPicsCisgICAgaW5pdGlhbFZhbHVlOiAnMCUnLAorICAgIHZhbHVlOiAnMTAlJywKKyAg
ICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTVW5pdFZh
bHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJzxyZXNvbHV0
aW9uPicsCisgICAgaW5pdGlhbFZhbHVlOiAnMGRwaScsCisgICAgdmFsdWU6ICczMDBkcGknLAor
ICAgIGV4cGVjdDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0gaW5zdGFuY2VvZiBDU1NVbml0
VmFsdWUsCit9KTsKKwordGVzdF9pdGVyYXRpb25fdHlwZSh7CisgICAgc3ludGF4OiAnPHRpbWU+
JywKKyAgICBpbml0aWFsVmFsdWU6ICcwcycsCisgICAgdmFsdWU6ICcxMHMnLAorICAgIGV4cGVj
dDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0gaW5zdGFuY2VvZiBDU1NVbml0VmFsdWUsCit9
KTsKKwordGVzdF9pdGVyYXRpb25fdHlwZSh7CisgICAgc3ludGF4OiAnPHVybD4nLAorICAgIGlu
aXRpYWxWYWx1ZTogJ3VybChhKScsCisgICAgdmFsdWU6ICd1cmwoYiknLAorICAgIGV4cGVjdDog
diA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0uY29uc3RydWN0b3IgPT09IENTU1N0eWxlVmFsdWUs
Cit9KTsKKwordGVzdF9pdGVyYXRpb25fdHlwZSh7CisgICAgc3ludGF4OiAnbm9uZSB8IHRoaW5n
IHwgVEhJTkcnLAorICAgIGluaXRpYWxWYWx1ZTogJ25vbmUnLAorICAgIHZhbHVlOiAnVEhJTkcn
LAorICAgIGV4cGVjdDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0gaW5zdGFuY2VvZiBDU1NL
ZXl3b3JkVmFsdWUsCit9KTsKKwordGVzdF9pdGVyYXRpb25fdHlwZSh7CisgICAgc3ludGF4OiAn
PGFuZ2xlPiB8IDxsZW5ndGg+JywKKyAgICBpbml0aWFsVmFsdWU6ICcwZGVnJywKKyAgICB2YWx1
ZTogJzEwcHgnLAorICAgIGV4cGVjdDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0gaW5zdGFu
Y2VvZiBDU1NVbml0VmFsdWUsCit9KTsKKwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5p
dC1jeWNsZXMtZXhwZWN0ZWQudHh0CmluZGV4IGMwNmRhOWJhNzNkNTY5YjE0ZTE3MTA1MjJjZGNm
MzNkZGEzNGNmMTAuLjVlODE5YjNjNThkZWY3NGZlNzc3NDU3ZjVkNThjNGExOTU1NWRhMDQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9w
ZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdlbGVtZW50LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA3NDogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnZWxlbWVudC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicpCiAK
IEZBSUwgVW50aXRsZWQgVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnZWxlbWVudC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicpCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9w
ZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5p
dC1jeWNsZXMuaHRtbAppbmRleCBkNjUzNDg1NDNjNDE0NWJiZDY5M2FhYzY3MzcyMzkwYmZkOTFm
YzExLi5jMjZlMWNkYTFmNjg0MjY1NWU3ZTAxNThkNmE5MzRlNDcwZjQ4NmFlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS91bml0LWN5Y2xlcy5odG1sCkBAIC00LDEyICs0LDEyIEBACiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotICAgIGZ1bmN0aW9uIHJl
Z2lzdGVyX2xlbmd0aChuYW1lKSB7CisgICAgZnVuY3Rpb24gcmVnaXN0ZXJfbGVuZ3RoKG5hbWUs
IGluaGVyaXRzPXRydWUpIHsKICAgICAgICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoewogICAgICAg
ICAgICAgbmFtZTogbmFtZSwKICAgICAgICAgICAgIHN5bnRheDogJzxsZW5ndGg+JywKICAgICAg
ICAgICAgIGluaXRpYWxWYWx1ZTogJzBweCcsCi0gICAgICAgICAgICBpbmhlcml0czogZmFsc2UK
KyAgICAgICAgICAgIGluaGVyaXRzOiBpbmhlcml0cwogICAgICAgICB9KTsKICAgICB9CiAKQEAg
LTIyLDYgKzIyLDkgQEAKICAgICByZWdpc3Rlcl9sZW5ndGgoJy0tZm9udC1zaXplLXJlbS12aWEt
dmFyJyk7CiAgICAgcmVnaXN0ZXJfbGVuZ3RoKCctLWZvbnQtc2l6ZS1leC12aWEtdmFyJyk7CiAg
ICAgcmVnaXN0ZXJfbGVuZ3RoKCctLWZvbnQtc2l6ZS1jaC12aWEtdmFyJyk7CisgICAgcmVnaXN0
ZXJfbGVuZ3RoKCctLWZvbnQtc2l6ZS1lbS1pbmhlcml0ZWQnLCB0cnVlKTsKKyAgICByZWdpc3Rl
cl9sZW5ndGgoJy0tZm9udC1zaXplLWV4LWluaGVyaXRlZCcsIHRydWUpOworICAgIHJlZ2lzdGVy
X2xlbmd0aCgnLS1mb250LXNpemUtY2gtaW5oZXJpdGVkJywgdHJ1ZSk7CiA8L3NjcmlwdD4KIDxz
dHlsZT4KICAgICA6cm9vdCB7CkBAIC00MywxMiArNDYsMjAgQEAKICAgICAgICAgLS1mb250LXNp
emUtY2gtdmlhLXZhcjogdmFyKC0tdW5yZWdpc3RlcmVkLWNoKTsKICAgICB9CiAKKyAgICAjcGFy
ZW50IHsKKyAgICAgICAgLS1mb250LXNpemUtZW0taW5oZXJpdGVkOiA0ZW07CisgICAgICAgIC0t
Zm9udC1zaXplLWV4LWluaGVyaXRlZDogNGV4OworICAgICAgICAtLWZvbnQtc2l6ZS1jaC1pbmhl
cml0ZWQ6IDRjaDsKKyAgICB9CisKICAgICAjdGFyZ2V0IHsKICAgICAgICAgZm9udC1zaXplOiAx
MXB4OwogICAgIH0KIDwvc3R5bGU+CiAKLTxkaXYgaWQ9dGFyZ2V0PjwvZGl2PgorPGRpdiBpZD1w
YXJlbnQ+CisgICAgPGRpdiBpZD10YXJnZXQ+PC9kaXY+Cis8L2Rpdj4KIDxkaXYgaWQ9cmVmPjwv
ZGl2PgogCiA8c2NyaXB0PgpAQCAtMTcwLDQgKzE4MSwyNSBAQAogICAgICAgICBhc3NlcnRfcHJv
cGVydHlfZXF1YWxzKCctLWZvbnQtc2l6ZS1yZW0tdmlhLXZhcicsIGV4cGVjdGVkMTByZW0sIHJv
b3QpOwogICAgIH0sICdMZW5ndGhzIHdpdGggcmVtIHVuaXRzIGFyZSBkZXRlY3RlZCB2aWEgdmFy
IHJlZmVyZW5jZXMnKTsKIAorICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGxldCBleHBl
Y3RlZDRlbSA9IGNvbXB1dGVfZGltZW5zaW9uKCc0ZW0nLCAndW5zZXQnKTsKKyAgICAgICAgdGFy
Z2V0LnN0eWxlID0gJ2ZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWVtLWluaGVyaXRlZCk7JzsK
KyAgICAgICAgYXNzZXJ0X3Byb3BlcnR5X2VxdWFscygnZm9udC1zaXplJywgZXhwZWN0ZWQ0ZW0p
OworICAgICAgICBhc3NlcnRfcHJvcGVydHlfZXF1YWxzKCctLWZvbnQtc2l6ZS1lbS1pbmhlcml0
ZWQnLCBleHBlY3RlZDRlbSk7CisgICAgfSwgJ0luaGVyaXRlZCBsZW5ndGhzIHdpdGggZW0gdW5p
dHMgbWF5IGJlIHVzZWQnKTsKKworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGxldCBl
eHBlY3RlZDRleCA9IGNvbXB1dGVfZGltZW5zaW9uKCc0ZXgnLCAndW5zZXQnKTsKKyAgICAgICAg
dGFyZ2V0LnN0eWxlID0gJ2ZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWV4LWluaGVyaXRlZCk7
JzsKKyAgICAgICAgYXNzZXJ0X3Byb3BlcnR5X2VxdWFscygnZm9udC1zaXplJywgZXhwZWN0ZWQ0
ZXgpOworICAgICAgICBhc3NlcnRfcHJvcGVydHlfZXF1YWxzKCctLWZvbnQtc2l6ZS1leC1pbmhl
cml0ZWQnLCBleHBlY3RlZDRleCk7CisgICAgfSwgJ0luaGVyaXRlZCBsZW5ndGhzIHdpdGggZXgg
dW5pdHMgbWF5IGJlIHVzZWQnKTsKKworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGxl
dCBleHBlY3RlZDRjaCA9IGNvbXB1dGVfZGltZW5zaW9uKCc0Y2gnLCAndW5zZXQnKTsKKyAgICAg
ICAgdGFyZ2V0LnN0eWxlID0gJ2ZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWNoLWluaGVyaXRl
ZCk7JzsKKyAgICAgICAgYXNzZXJ0X3Byb3BlcnR5X2VxdWFscygnZm9udC1zaXplJywgZXhwZWN0
ZWQ0Y2gpOworICAgICAgICBhc3NlcnRfcHJvcGVydHlfZXF1YWxzKCctLWZvbnQtc2l6ZS1jaC1p
bmhlcml0ZWQnLCBleHBlY3RlZDRjaCk7CisgICAgfSwgJ0luaGVyaXRlZCBsZW5ndGhzIHdpdGgg
Y2ggdW5pdHMgbWF5IGJlIHVzZWQnKTsKKwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWN5Y2xlcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBy
b3BlcnRpZXMtdmFsdWVzLWFwaS92YXItcmVmZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy1j
eWNsZXMuaHRtbAppbmRleCA1OGQ2Yzg0NmFlM2E0YTFjNjJmMjM5Nzg2ZGZlODgyN2ViOTIxZDA1
Li42NWQxMTY5NzM1NWMxN2ZjYTM5YjRlOWZhMGRjZjBkYjQwNGUyMmViIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVy
dGllcy12YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWN5Y2xl
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXBy
b3BlcnRpZXMtY3ljbGVzLmh0bWwKQEAgLTI1LDE0ICsyNSwxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1yZWdpc3RlcmVkLTEtZCcsIHN5
bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnNHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7
CiAKICAgICBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0MSk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0x
LWEnKSwgJzFweCcpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eVZhbHVlKCctLXJlZ2lzdGVyZWQtMS1iJyksICcycHgnKTsKLQotICAgIGFzc2VydF9lcXVhbHMo
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMS1jJyksICcycHgn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1y
ZWdpc3RlcmVkLTEtZCcpLCAnMnB4Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkLTEtYScpLCAnMXB4Jyk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmxlZnQsICcxcHgnKTsKLSAgICBhc3NlcnRfZXF1YWxz
KGNvbXB1dGVkU3R5bGUudG9wLCAnMnB4Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0xLWEnKSwgJycpOworICAgIGFzc2Vy
dF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMS1i
JyksICcnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgnLS1yZWdpc3RlcmVkLTEtYycpLCAnMzBweCcpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMS1kJyksICc0cHgnKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lz
dGVyZWQtMS1hJyksICcnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUubGVmdCwg
JzUwcHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUudG9wLCAnNjBweCcpOwog
fSwgIkEgdmFyKCkgY3ljbGUgYmV0d2VlbiB0d28gcmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIGlzIGhh
bmRsZWQgY29ycmVjdGx5LiIpOwogPC9zY3JpcHQ+CiAKQEAgLTYzLDE4ICs2MiwxOCBAQCB0ZXN0
KGZ1bmN0aW9uKCkgewogICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1yZWdpc3Rl
cmVkLTItZScsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnNXB4JywgaW5oZXJp
dHM6IGZhbHNlfSk7CiAKICAgICBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0
Mik7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0t
cmVnaXN0ZXJlZC0yLWEnKSwgJzFweCcpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMi1hJyksICcnKTsKICAgICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQtMi1h
JyksICcnKTsKIAotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctLXJlZ2lzdGVyZWQtMi1iJyksICcxcHgnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTItYycpLCAnMXB4Jyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0
ZXJlZC0yLWInKSwgJzMwcHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTItYycpLCAnM3B4Jyk7CiAgICAgYXNzZXJ0X2Vx
dWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0yLWQnKSwg
JzQwcHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgnLS1yZWdpc3RlcmVkLTItZScpLCAnNXB4Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkLTItYicpLCAnMXB4Jyk7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdp
c3RlcmVkLTItYycpLCAnMXB4Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkLTItYicpLCAnNTBweCcpOworICAgIGFzc2Vy
dF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXVucmVnaXN0ZXJlZC0y
LWMnKSwgJycpOwogICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctLXVucmVnaXN0ZXJlZC0yLWQnKSwgJzYwcHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQtMi1lJyksICcnKTsK
LSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUubGVmdCwgJzFweCcpOworICAgIGFzc2Vy
dF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5sZWZ0LCAnNzBweCcpOwogICAgIGFzc2VydF9lcXVhbHMo
Y29tcHV0ZWRTdHlsZS50b3AsICc4MHB4Jyk7CiB9LCAiQSB2YXIoKSBjeWNsZSBiZXR3ZWVuIGEg
cmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIGFuZCBhbiB1bnJlZ2lzdGVyZWQgcHJvcGVydHkgaXMgaGFu
ZGxlZCBjb3JyZWN0bHkuIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRp
ZXMtdmFsdWVzLWFwaS92YXItcmVmZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQKaW5kZXggMzllNjc1ZDQzNGFlMWE5MGU1MmRhOWVhYjZmNDAyNjY0ZDljMDM3My4uNDI4
NWE0MWU4NWY0MGNjYTYxMTFiZTYzZjNiYmE2ZGQzYWZkZGY2YSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS92YXItcmVmZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS92YXItcmVmZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVy
dGllcy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSwxNSBAQAogCi1GQUlMIHZhcigpIHJlZmVyZW5j
ZXMgd29yayB3aXRoIHJlZ2lzdGVyZWQgcHJvcGVydGllcyBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiICAxMHB4IiBidXQgZ290ICIgMTBweCIKK1BBU1MgdmFyKCkgcmVmZXJlbmNlcyB3b3JrIHdp
dGggcmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIAogRkFJTCBSZWZlcmVuY2VzIHRvIHJlZ2lzdGVyZWQg
dmFyKCktcHJvcGVydGllcyB3b3JrIGluIHJlZ2lzdGVyZWQgbGlzdHMgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIjFweCwgMTBweCwgMnB4IiBidXQgZ290ICIwcHgiCiBGQUlMIFJlZmVyZW5jZXMg
dG8gbWl4ZWQgcmVnaXN0ZXJlZCBhbmQgdW5yZWdpc3RlcmVkIHZhcigpLXByb3BlcnRpZXMgd29y
ayBpbiByZWdpc3RlcmVkIGxpc3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxcHgsIDIwcHgs
IDEwcHgsIDJweCIgYnV0IGdvdCAiMHB4IgogRkFJTCBSZWdpc3RlcmVkIGxpc3RzIG1heSBiZSBj
b25jYXRlbmF0ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjFweCwgMTBweCwgMnB4LCAxcHgs
IDIwcHgsIDEwcHgsIDJweCIgYnV0IGdvdCAiMHB4IgorUEFTUyBGb250LXJlbGF0aXZlIHVuaXRz
IGFyZSBhYnNvbHV0aXplZCB3aGVuIHN1YnN0aXR1dGluZyAKK1BBU1MgQ2FsYyBleHByZXNzaW9u
cyBhcmUgcmVzb2x2ZWQgd2hlbiBzdWJzdGl0dXRpbmcgCitGQUlMIExpc3RzIHdpdGggcmVsYXRp
dmUgdW5pdHMgYXJlIGFic29sdXRpemVkIHdoZW4gc3Vic3RpdHV0aW5nIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICIxMTBweCwgMTIwcHgiIGJ1dCBnb3QgIjBweCIKK1BBU1MgVmFsaWQgZmFsbGJh
Y2sgZG9lcyBub3QgaW52YWxpZGF0ZSB2YXIoKS1yZWZlcmVuY2UgWzxsZW5ndGg+LCAxMHB4XSAK
K1BBU1MgVmFsaWQgZmFsbGJhY2sgZG9lcyBub3QgaW52YWxpZGF0ZSB2YXIoKS1yZWZlcmVuY2Ug
WzxsZW5ndGg+IHwgPGNvbG9yPiwgcmVkXSAKK1BBU1MgVmFsaWQgZmFsbGJhY2sgZG9lcyBub3Qg
aW52YWxpZGF0ZSB2YXIoKS1yZWZlcmVuY2UgWzxsZW5ndGg+IHwgbm9uZSwgbm9uZV0gCitGQUlM
IEludmFsaWQgZmFsbGJhY2sgaW52YWxpZGF0ZXMgdmFyKCktcmVmZXJlbmNlIFs8bGVuZ3RoPiwg
cmVkXSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICI0MHB4IgorRkFJTCBJbnZh
bGlkIGZhbGxiYWNrIGludmFsaWRhdGVzIHZhcigpLXJlZmVyZW5jZSBbPGxlbmd0aD4gfCBub25l
LCBub2xlbmd0aF0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0IGdvdCAiNDBweCIKK0ZB
SUwgSW52YWxpZCBmYWxsYmFjayBpbnZhbGlkYXRlcyB2YXIoKS1yZWZlcmVuY2UgWzxsZW5ndGg+
LCB2YXIoLS1ub3ZhcildIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgIjQwcHgi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVk
LXByb3BlcnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3Rl
cmVkLXByb3BlcnRpZXMuaHRtbAppbmRleCBkOGE4MzE1NzEyNTJjZGViM2U2YzNjNmU1ODJhMmI3
NDM3NmU5MDVjLi4xNjY3NTQ1NzRmYWEwMjU4MDc4NDcyMDlmMWFiMTU3MTExYTRhNmQ4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0
aWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS92YXItcmVmZXJlbmNlLXJlZ2lzdGVyZWQt
cHJvcGVydGllcy5odG1sCkBAIC0yLDYgKzIsNyBAQAogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS8j
ZG9tLWNzcy1yZWdpc3RlcnByb3BlcnR5IiAvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWxzLmpz
Ij48L3NjcmlwdD4KIDxzdHlsZT4KIGRpdiB7CiAgICAgLS1yZWdpc3RlcmVkLWxlbmd0aC0xOiAx
MHB4OwpAQCAtNTQsNyArNTUsNyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtbGVuZ3RoLTYn
KSwgJzgwcHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnLS1yZWdpc3RlcmVkLWxlbmd0aC03JyksICcxMjNweCcpOwogICAgIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC0xJyksICcgMjBweCcp
OwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxl
bmd0aC0yJyksICcgIDEwcHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtMicpLCAnIDEwcHgnKTsKICAgICBhc3NlcnRfZXF1YWxz
KGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtMycpLCAnIGNhbGMoMTIz
cHggKyAxMjNweCknKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgnLS1yZWdpc3RlcmVkLWxlbmd0aC1pbnZhbGlkJyksICcxNXB4Jyk7CiAKQEAgLTk2
LDUgKzk3LDc3IEBAIHRlc3QoZnVuY3Rpb24oKXsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLWxlbmd0aC1saXN0LTMnKSwgJzFw
eCwgMTBweCwgMnB4LCAxcHgsIDIwcHgsIDEwcHgsIDJweCcpOwogfSwgJ1JlZ2lzdGVyZWQgbGlz
dHMgbWF5IGJlIGNvbmNhdGVuYXRlZCcpOwogCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgQ1NTLnJl
Z2lzdGVyUHJvcGVydHkoeworICAgICAgICBuYW1lOiAnLS1sZW5ndGgtZW0nLAorICAgICAgICBz
eW50YXg6ICc8bGVuZ3RoPicsCisgICAgICAgIGluaXRpYWxWYWx1ZTogJzBweCcsCisgICAgICAg
IGluaGVyaXRzOiBmYWxzZQorICAgIH0pOworICAgIGVsZW1lbnQuc3R5bGUgPSAnZm9udC1zaXpl
OiAxMXB4OyAtLWxlbmd0aC1lbTogMTBlbTsgLS11bnJlZ2lzdGVyZWQ6dmFyKC0tbGVuZ3RoLWVt
KTsnOworICAgIGxldCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTsK
KyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJl
Z2lzdGVyZWQnKSwgJzExMHB4Jyk7CisgICAgZWxlbWVudC5zdHlsZSA9ICcnOworfSwgJ0ZvbnQt
cmVsYXRpdmUgdW5pdHMgYXJlIGFic29sdXRpemVkIHdoZW4gc3Vic3RpdHV0aW5nJyk7CisKK3Rl
c3QoZnVuY3Rpb24oKXsKKyAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7CisgICAgICAgIG5hbWU6
ICctLWxlbmd0aC1jYWxjJywKKyAgICAgICAgc3ludGF4OiAnPGxlbmd0aD4nLAorICAgICAgICBp
bml0aWFsVmFsdWU6ICcwcHgnLAorICAgICAgICBpbmhlcml0czogZmFsc2UKKyAgICB9KTsKKyAg
ICBlbGVtZW50LnN0eWxlID0gJ2ZvbnQtc2l6ZTogMTFweDsgLS1sZW5ndGgtY2FsYzogY2FsYygx
MGVtICsgMTBweCk7IC0tdW5yZWdpc3RlcmVkOnZhcigtLWxlbmd0aC1jYWxjKTsnOworICAgIGxl
dCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQnKSwg
JzEyMHB4Jyk7CisgICAgZWxlbWVudC5zdHlsZSA9ICcnOworfSwgJ0NhbGMgZXhwcmVzc2lvbnMg
YXJlIHJlc29sdmVkIHdoZW4gc3Vic3RpdHV0aW5nJyk7CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAg
ICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7CisgICAgICAgIG5hbWU6ICctLWxlbmd0aC1jYWxjLWxp
c3QnLAorICAgICAgICBzeW50YXg6ICc8bGVuZ3RoPiMnLAorICAgICAgICBpbml0aWFsVmFsdWU6
ICcwcHgnLAorICAgICAgICBpbmhlcml0czogZmFsc2UKKyAgICB9KTsKKyAgICBlbGVtZW50LnN0
eWxlID0gJ2ZvbnQtc2l6ZTogMTFweDsgLS1sZW5ndGgtY2FsYy1saXN0OiAxMGVtLCBjYWxjKDEw
ZW0gKyAxMHB4KTsgLS11bnJlZ2lzdGVyZWQ6dmFyKC0tbGVuZ3RoLWNhbGMtbGlzdCk7JzsKKyAg
ICBsZXQgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7CisgICAgYXNz
ZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVk
JyksICcxMTBweCwgMTIwcHgnKTsKKyAgICBlbGVtZW50LnN0eWxlID0gJyc7Cit9LCAnTGlzdHMg
d2l0aCByZWxhdGl2ZSB1bml0cyBhcmUgYWJzb2x1dGl6ZWQgd2hlbiBzdWJzdGl0dXRpbmcnKTsK
KworZnVuY3Rpb24gdGVzdF92YWxpZF9mYWxsYmFjayhzeW50YXgsIHZhbHVlLCBmYWxsYmFjaykg
eworICAgIHRlc3QoZnVuY3Rpb24oKXsKKyAgICAgICAgbGV0IG5hbWUgPSBnZW5lcmF0ZV9wcm9w
ZXJ0eShzeW50YXgpOworICAgICAgICB0cnkgeworICAgICAgICAgICAgZWxlbWVudC5zdHlsZSA9
IGAke25hbWV9OiAke3ZhbHVlfTsgLS14OnZhcigke25hbWV9LCR7ZmFsbGJhY2t9KWA7CisgICAg
ICAgICAgICBsZXQgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7Cisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
LS14JyksIHZhbHVlKTsKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgIGVsZW1lbnQu
c3R5bGUgPSAnJzsKKyAgICAgICAgfQorICAgIH0sIGBWYWxpZCBmYWxsYmFjayBkb2VzIG5vdCBp
bnZhbGlkYXRlIHZhcigpLXJlZmVyZW5jZSBbJHtzeW50YXh9LCAke2ZhbGxiYWNrfV1gKTsKK30K
KworZnVuY3Rpb24gdGVzdF9pbnZhbGlkX2ZhbGxiYWNrKHN5bnRheCwgdmFsdWUsIGZhbGxiYWNr
KSB7CisgICAgdGVzdChmdW5jdGlvbigpeworICAgICAgICBsZXQgbmFtZSA9IGdlbmVyYXRlX3By
b3BlcnR5KHN5bnRheCk7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxl
ID0gYCR7bmFtZX06ICR7dmFsdWV9OyAtLXg6dmFyKCR7bmFtZX0sJHtmYWxsYmFja30pYDsKKyAg
ICAgICAgICAgIGxldCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTsK
KyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCctLXgnKSwgJycpOworICAgICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgZWxlbWVudC5z
dHlsZSA9ICcnOworICAgICAgICB9CisgICAgfSwgYEludmFsaWQgZmFsbGJhY2sgaW52YWxpZGF0
ZXMgdmFyKCktcmVmZXJlbmNlIFske3N5bnRheH0sICR7ZmFsbGJhY2t9XWApOworfQorCit0ZXN0
X3ZhbGlkX2ZhbGxiYWNrKCc8bGVuZ3RoPicsICc0MHB4JywgJzEwcHgnKTsKK3Rlc3RfdmFsaWRf
ZmFsbGJhY2soJzxsZW5ndGg+IHwgPGNvbG9yPicsICc0MHB4JywgJ3JlZCcpOwordGVzdF92YWxp
ZF9mYWxsYmFjaygnPGxlbmd0aD4gfCBub25lJywgJzQwcHgnLCAnbm9uZScpOworCit0ZXN0X2lu
dmFsaWRfZmFsbGJhY2soJzxsZW5ndGg+JywgJzQwcHgnLCAncmVkJyk7Cit0ZXN0X2ludmFsaWRf
ZmFsbGJhY2soJzxsZW5ndGg+IHwgbm9uZScsICc0MHB4JywgJ25vbGVuZ3RoJyk7Cit0ZXN0X2lu
dmFsaWRfZmFsbGJhY2soJzxsZW5ndGg+JywgJzQwcHgnLCAndmFyKC0tbm92YXIpJyk7CiAKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0
aWVzLXZhbHVlcy1hcGkvdzNjLWltcG9ydC5sb2cKaW5kZXggODZjZDhkZDBjMTZmYTkxY2RkMGQ3
ODU5NDRhZGVjNzQyYzVlNzgwZC4uNjMwN2JjZGQ3OTQyZWE3NmU4ODE2YjdkODY0YWM5ZGNlZTI1
ZjlmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS93M2MtaW1wb3J0LmxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVy
dGllcy12YWx1ZXMtYXBpL3czYy1pbXBvcnQubG9nCkBAIC0yMyw2ICsyMyw3IEBAIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9u
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktY3Nzb20uaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9w
ZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1pbml0aWFsLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpL3NlbGYtdXRpbHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS50
ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvdXJsLXJlc29sdXRpb24uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357578</attachid>
            <date>2018-12-18 10:10:36 -0800</date>
            <delta_ts>2018-12-18 15:33:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192800-20181218101031.patch</filename>
            <type>text/plain</type>
            <size>142280</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM5MjJkMjVjNGExODg4
NzY5YzZiOTBkM2FmNzhkM2MyYzk0MWNmYy4uYWM5ZDUwZmQ1MmUzYjhhNGUzMDFlYWMwMTY4ODNj
ZTkxZmZhOWNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTEyLTE3ICBKdXN0
aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUg
Q1NTIFByb3BlcnRpZXMgYW5kIFZhbHVlcyBBUEkgdG8gdXNlIG5ldyBjeWNsZSBmYWxsYmFjayBi
ZWhhdmlvdXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MjgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAg
IE1ha2UgQ1NTIHZhcmlhYmxlcyB0aGF0IGFyZSByZWdpc3RlcmVkIGFuZCBpbnZvbHZlZCBpbiBh
IGN5Y2xlIGJlIHRyZWF0ZWQgYXMgaW52YWxpZC4gVGhpcyBhbHNvIGZpeGVzIGEgY3Jhc2ggaW4g
dGhlCisgICAgICAgIHdwdCB0ZXN0cyB3aGVyZSByZWxhdGl2ZSB1bml0cyBhbmQgY2FsYygpIGlu
IGEgcmVnaXN0ZXJlZCBwcm9wZXJ0eSdzIGluaXRpYWwgdmFsdWUgd291bGQgYnJlYWsgdGhpbmdz
IGluc3RlYWQgb2YgZmFpbGluZy4gCisKKyAgICAgICAgKiBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlW
YWx1ZS5oOgorICAgICAgICAqIGNzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnJlc29sdmVWYXJpYWJsZVJlZmVyZW5jZSk6CisgICAgICAgICogY3Nz
L0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
Q1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eTo6cmVnaXN0ZXJQcm9wZXJ0eSk6CisgICAgICAgICog
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6
YXBwbHlDYXNjYWRlZEN1c3RvbVByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpw
YXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZSk6CisKIDIwMTgtMTItMTMgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gU3VwcG9ydCBkcm9w
cGluZyBjb250YWN0IGNhcmQgZGF0YSAocHVibGljLnZjYXJkKSBpbiBlZGl0YWJsZSBjb250ZW50
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaAppbmRleCBmZTg1
MDI1NThjNDFlMzVkYWM5YmUwZTc4NDM5ZGM0MzdhYTliOTQ0Li5iZGFhNzRkNTVhMGY4NzE5MjZk
ZjU4NmI2NmJjMDJhYWM5MGU2NzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q3VzdG9tUHJvcGVydHlWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXN0b21Q
cm9wZXJ0eVZhbHVlLmgKQEAgLTY3LDYgKzY3LDggQEAgcHVibGljOgogICAgIAogICAgIHN0YXRp
YyBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gY3JlYXRlU3ludGF4TGVuZ3RoKGNvbnN0IEF0
b21pY1N0cmluZyYgbmFtZSwgTGVuZ3RoIHZhbHVlKQogICAgIHsKKyAgICAgICAgQVNTRVJUKCF2
YWx1ZS5pc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgQVNTRVJUKCF2YWx1ZS5pc0NhbGN1bGF0ZWQo
KSk7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU0N1c3RvbVByb3BlcnR5VmFsdWUo
bmFtZSwgeyBXVEZNb3ZlKHZhbHVlKSB9KSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKaW5kZXggNzdhNTIzZTRkN2RkYWRm
MDMwYTEyNDA1ZGU3ZmMyZmNjN2ExMTRmYy4uOTRkNjNhM2I1ODkxOGFlYWI0ZWZhOWQ3MDkzYjU4
Zjg1ZDc3ZTEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVm
ZXJlbmNlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVy
ZW5jZVZhbHVlLmNwcApAQCAtNzAsMTYgKzcwLDIwIEBAIHN0YXRpYyBib29sIHJlc29sdmVWYXJp
YWJsZVJlZmVyZW5jZShDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlLCBWZWN0b3I8Q1NTUGFyc2Vy
CiAKICAgICAvLyBBcHBseSBmYWxsYmFjayB0byBkZXRlY3QgY3ljbGVzCiAgICAgVmVjdG9yPENT
U1BhcnNlclRva2VuPiBmYWxsYmFja1Jlc3VsdDsKLSAgICByZXNvbHZlVmFyaWFibGVGYWxsYmFj
ayhDU1NQYXJzZXJUb2tlblJhbmdlKHJhbmdlKSwgZmFsbGJhY2tSZXN1bHQsIHN0YXRlKTsKKyAg
ICBib29sIGZhbGxiYWNrUmV0dXJuID0gcmVzb2x2ZVZhcmlhYmxlRmFsbGJhY2soQ1NTUGFyc2Vy
VG9rZW5SYW5nZShyYW5nZSksIGZhbGxiYWNrUmVzdWx0LCBzdGF0ZSk7CiAKICAgICBhdXRvKiBw
cm9wZXJ0eSA9IHN0eWxlLmdldEN1c3RvbVByb3BlcnR5KHZhcmlhYmxlTmFtZSk7CiAKLSAgICBp
ZiAoIXByb3BlcnR5IHx8IHByb3BlcnR5LT5pc1Vuc2V0KCkgfHwgcHJvcGVydHktPmlzSW52YWxp
ZCgpKSB7CisgICAgaWYgKCFwcm9wZXJ0eSB8fCBwcm9wZXJ0eS0+aXNVbnNldCgpKSB7CiAgICAg
ICAgIGF1dG8qIHJlZ2lzdGVyZWQgPSByZWdpc3RlcmVkUHJvcGVydGllcy5nZXQodmFyaWFibGVO
YW1lKTsKICAgICAgICAgaWYgKHJlZ2lzdGVyZWQgJiYgcmVnaXN0ZXJlZC0+aW5pdGlhbFZhbHVl
KCkpCiAgICAgICAgICAgICBwcm9wZXJ0eSA9IHJlZ2lzdGVyZWQtPmluaXRpYWxWYWx1ZSgpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZVZhcmlhYmxlRmFsbGJhY2so
cmFuZ2UsIHJlc3VsdCwgc3RhdGUpOworICAgIH0KKworICAgIGlmICghcHJvcGVydHkgfHwgcHJv
cGVydHktPmlzSW52YWxpZCgpKSB7CisgICAgICAgIGlmIChmYWxsYmFja1JldHVybikKKyAgICAg
ICAgICAgIHJlc3VsdC5hcHBlbmRWZWN0b3IoZmFsbGJhY2tSZXN1bHQpOworICAgICAgICByZXR1
cm4gZmFsbGJhY2tSZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUKHByb3BlcnR5LT5pc1Jlc29s
dmVkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3Vz
dG9tUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lzdGVyQ3VzdG9t
UHJvcGVydHkuY3BwCmluZGV4IGE4OTA2NjlmNjU1MDEwNjM2YmUyMWE3YTk4ZGE1ZjMwZGEwMjAz
NjguLjdlY2Q5M2Q3ZGMzZDQzMmVhZjgyYmM5NTZlNjFkNDg5YTUxMDYyNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9ET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eS5jcHAKQEAg
LTQwLDYgKzQwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBFeGNlcHRpb25Pcjx2b2lkPiBE
T01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5OjpyZWdpc3RlclByb3BlcnR5KERvY3VtZW50JiBk
b2N1bWVudCwgY29uc3QgRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9y
KQogeworICAgIGlmICghaXNDdXN0b21Qcm9wZXJ0eU5hbWUoZGVzY3JpcHRvci5uYW1lKSkKKyAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yLCAiVGhlIG5hbWUgb2YgdGhpcyBw
cm9wZXJ0eSBpcyBub3QgYSBjdXN0b20gcHJvcGVydHkgbmFtZS4iIH07CisKICAgICBSZWZQdHI8
Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gaW5pdGlhbFZhbHVlOwogICAgIGlmICghZGVzY3JpcHRv
ci5pbml0aWFsVmFsdWUuaXNFbXB0eSgpKSB7CiAgICAgICAgIENTU1Rva2VuaXplciB0b2tlbml6
ZXIoZGVzY3JpcHRvci5pbml0aWFsVmFsdWUpOwpAQCAtNTAsMTIgKzUzLDE3IEBAIEV4Y2VwdGlv
bk9yPHZvaWQ+IERPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHk6OnJlZ2lzdGVyUHJvcGVydHko
RG9jdW1lbnQmIGRvY3VtCiAgICAgICAgIHN0eWxlUmVzb2x2ZXIuYXBwbHlQcm9wZXJ0eVRvU3R5
bGUoQ1NTUHJvcGVydHlJbnZhbGlkLCBudWxscHRyLCBzdHlsZVJlc29sdmVyLmRlZmF1bHRTdHls
ZUZvckVsZW1lbnQoKSk7CiAgICAgICAgIHN0eWxlUmVzb2x2ZXIudXBkYXRlRm9udCgpOwogCisg
ICAgICAgIEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4gZGVwZW5kZW5jaWVzOworICAgICAgICBDU1NQ
cm9wZXJ0eVBhcnNlcjo6Y29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5VmFsdWVEZXBlbmRlbmNp
ZXMoZGVzY3JpcHRvci5zeW50YXgsIGZhbHNlLCBkZXBlbmRlbmNpZXMsIHRva2VuaXplci50b2tl
blJhbmdlKCksIHN0cmljdENTU1BhcnNlckNvbnRleHQoKSk7CisKKyAgICAgICAgaWYgKCFkZXBl
bmRlbmNpZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRh
eEVycm9yLCAiVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgbXVzdCBiZSBjb21wdXRhdGlvbmFsbHkg
aW5kZXBlbmRlbnQuIiB9OworCiAgICAgICAgIGluaXRpYWxWYWx1ZSA9IENTU1Byb3BlcnR5UGFy
c2VyOjpwYXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShkZXNjcmlwdG9yLm5hbWUsIGRlc2Ny
aXB0b3Iuc3ludGF4LCB0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCBzdHlsZVJlc29sdmVyLCBzdHJp
Y3RDU1NQYXJzZXJDb250ZXh0KCkpOwogCiAgICAgICAgIGlmICghaW5pdGlhbFZhbHVlIHx8ICFp
bml0aWFsVmFsdWUtPmlzUmVzb2x2ZWQoKSkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBTeW50YXhFcnJvciwgIlRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZv
ciB0aGUgZ2l2ZW4gc3ludGF4LiIgfTsKIAotICAgICAgICBIYXNoU2V0PENTU1Byb3BlcnR5SUQ+
IGRlcGVuZGVuY2llczsKICAgICAgICAgaW5pdGlhbFZhbHVlLT5jb2xsZWN0RGlyZWN0Q29tcHV0
YXRpb25hbERlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMpOwogICAgICAgICBpbml0aWFsVmFsdWUt
PmNvbGxlY3REaXJlY3RSb290Q29tcHV0YXRpb25hbERlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggNzRmYTNmNTM5OGZlNmZi
ZTQyNDZjZTZjMTBkMzhkNTlmOGUyYjNhNi4uZDVlZTkzNGQyMzAxZThiMzAxODJkZmQ5N2Q1MGQx
MDI2MjZhNDNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMjMxOSw2
ICsyMzE5LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseUNhc2NhZGVkQ3VzdG9tUHJvcGVy
dHkoY29uc3QgU3RyaW5nJiBuYW1lLCBBcHBseUNhc2NhZGUKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgYXV0byBwcm9wZXJ0eSA9IHN0YXRlLmNhc2NhZGUtPmN1c3RvbVByb3BlcnRpZXMoKS5nZXQo
bmFtZSk7CisgICAgYm9vbCBpbkN5Y2xlID0gc3RhdGUuaW5Qcm9ncmVzc1Byb3BlcnRpZXNDdXN0
b20uY29udGFpbnMobmFtZSk7CiAKICAgICBmb3IgKGF1dG8gaW5kZXggOiB7IFNlbGVjdG9yQ2hl
Y2tlcjo6TWF0Y2hEZWZhdWx0LCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoTGluaywgU2VsZWN0b3JD
aGVja2VyOjpNYXRjaFZpc2l0ZWQgfSkgewogICAgICAgICBpZiAoIXByb3BlcnR5LmNzc1ZhbHVl
W2luZGV4XSkKQEAgLTIzMjgsMTMgKzIzMjksOSBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5
Q2FzY2FkZWRDdXN0b21Qcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsIEFwcGx5Q2FzY2FkZQog
CiAgICAgICAgIFJlZjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiB2YWx1ZVRvQXBwbHkgPSBDU1ND
dXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGUoZG93bmNhc3Q8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZT4oKnByb3BlcnR5LmNzc1ZhbHVlW2luZGV4XSkpOwogCi0gICAgICAgIGlmIChzdGF0ZS5pblBy
b2dyZXNzUHJvcGVydGllc0N1c3RvbS5jb250YWlucyhuYW1lKSkgewotICAgICAgICAgICAgLy8g
V2UgYXJlIGluIGEgY3ljbGUsIHNvIHJlc2V0IHRoZSB2YWx1ZS4KLSAgICAgICAgICAgIHN0YXRl
LmFwcGxpZWRDdXN0b21Qcm9wZXJ0aWVzLmFkZChuYW1lKTsKLSAgICAgICAgICAgIC8vIFJlc29s
dmUgdGhpcyB2YWx1ZSBzbyB0aGF0IHdlIHJlc2V0IGl0cyBkZXBlbmRlbmNpZXMKLSAgICAgICAg
ICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZh
bHVlPj4odmFsdWVUb0FwcGx5LT52YWx1ZSgpKSkKLSAgICAgICAgICAgICAgICByZXNvbHZlZFZh
cmlhYmxlVmFsdWUoQ1NTUHJvcGVydHlDdXN0b20sIHZhbHVlVG9BcHBseS5nZXQoKSwgc3RhdGUp
OwotICAgICAgICAgICAgdmFsdWVUb0FwcGx5ID0gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3Jl
YXRlV2l0aElEKG5hbWUsIENTU1ZhbHVlVW5zZXQpOworICAgICAgICBpZiAoaW5DeWNsZSkgewor
ICAgICAgICAgICAgc3RhdGUuYXBwbGllZEN1c3RvbVByb3BlcnRpZXMuYWRkKG5hbWUpOyAvLyBN
YWtlIHN1cmUgd2UgZG8gbm90IHRyeSB0byBhcHBseSB0aGlzIHByb3BlcnR5IGFnYWluIHdoaWxl
IHJlc29sdmluZyBpdC4KKyAgICAgICAgICAgIHZhbHVlVG9BcHBseSA9IENTU0N1c3RvbVByb3Bl
cnR5VmFsdWU6OmNyZWF0ZVdpdGhJRChuYW1lLCBDU1NWYWx1ZUludmFsaWQpOwogICAgICAgICB9
CiAKICAgICAgICAgc3RhdGUuaW5Qcm9ncmVzc1Byb3BlcnRpZXNDdXN0b20uYWRkKG5hbWUpOwpA
QCAtMjM0Miw2ICsyMzM5LDkgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseUNhc2NhZGVkQ3Vz
dG9tUHJvcGVydHkoY29uc3QgU3RyaW5nJiBuYW1lLCBBcHBseUNhc2NhZGUKICAgICAgICAgaWYg
KFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+Pih2
YWx1ZVRvQXBwbHktPnZhbHVlKCkpKSB7CiAgICAgICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHBh
cnNlZFZhbHVlID0gcmVzb2x2ZWRWYXJpYWJsZVZhbHVlKENTU1Byb3BlcnR5Q3VzdG9tLCB2YWx1
ZVRvQXBwbHkuZ2V0KCksIHN0YXRlKTsKIAorICAgICAgICAgICAgaWYgKHN0YXRlLmFwcGxpZWRD
dXN0b21Qcm9wZXJ0aWVzLmNvbnRhaW5zKG5hbWUpKQorICAgICAgICAgICAgICAgIHJldHVybjsg
Ly8gVGhlcmUgd2FzIGEgY3ljbGUgYW5kIHRoZSB2YWx1ZSB3YXMgcmVzZXQsIHNvIGJhaWwuCisK
ICAgICAgICAgICAgIGlmICghcGFyc2VkVmFsdWUpCiAgICAgICAgICAgICAgICAgcGFyc2VkVmFs
dWUgPSBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVXaXRoSUQobmFtZSwgQ1NTVmFsdWVV
bnNldCk7CiAKQEAgLTIzNjUsOCArMjM2NSwyMyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5
Q2FzY2FkZWRDdXN0b21Qcm9wZXJ0eShjb25zdCBTdHJpbmcmIG5hbWUsIEFwcGx5Q2FzY2FkZQog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUN1c3Rv
bSwgdmFsdWVUb0FwcGx5LnB0cigpLCBzdGF0ZSwgaW5kZXgpOwogICAgICAgICB9Ci0gICAgICAg
IHN0YXRlLmluUHJvZ3Jlc3NQcm9wZXJ0aWVzQ3VzdG9tLnJlbW92ZShuYW1lKTsKLSAgICAgICAg
c3RhdGUuYXBwbGllZEN1c3RvbVByb3BlcnRpZXMuYWRkKG5hbWUpOworICAgIH0KKworICAgIHN0
YXRlLmluUHJvZ3Jlc3NQcm9wZXJ0aWVzQ3VzdG9tLnJlbW92ZShuYW1lKTsKKyAgICBzdGF0ZS5h
cHBsaWVkQ3VzdG9tUHJvcGVydGllcy5hZGQobmFtZSk7CisKKyAgICBmb3IgKGF1dG8gaW5kZXgg
OiB7IFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hEZWZhdWx0LCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNo
TGluaywgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFZpc2l0ZWQgfSkgeworICAgICAgICBpZiAoIXBy
b3BlcnR5LmNzc1ZhbHVlW2luZGV4XSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBp
ZiAoaW5kZXggIT0gU2VsZWN0b3JDaGVja2VyOjpNYXRjaERlZmF1bHQgJiYgdGhpcy0+c3RhdGUo
KS5zdHlsZSgpLT5pbnNpZGVMaW5rKCkgPT0gSW5zaWRlTGluazo6Tm90SW5zaWRlKQorICAgICAg
ICAgICAgY29udGludWU7CisKKyAgICAgICAgUmVmPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IHZh
bHVlVG9BcHBseSA9IENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZShkb3duY2FzdDxDU1ND
dXN0b21Qcm9wZXJ0eVZhbHVlPigqcHJvcGVydHkuY3NzVmFsdWVbaW5kZXhdKSk7CisKKyAgICAg
ICAgaWYgKGluQ3ljbGUgJiYgV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Q1NTVmFyaWFibGVS
ZWZlcmVuY2VWYWx1ZT4+KHZhbHVlVG9BcHBseS0+dmFsdWUoKSkpIHsKKyAgICAgICAgICAgIC8v
IFJlc29sdmUgdGhpcyB2YWx1ZSBzbyB0aGF0IHdlIHJlc2V0IGl0cyBkZXBlbmRlbmNpZXMuCisg
ICAgICAgICAgICByZXNvbHZlZFZhcmlhYmxlVmFsdWUoQ1NTUHJvcGVydHlDdXN0b20sIHZhbHVl
VG9BcHBseS5nZXQoKSwgc3RhdGUpOworICAgICAgICB9CiAgICAgfQogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDVjYjg5NDVi
MzhmYTgxMGIyNzczZTAyZjgzNjc4ZTliNjZiMjA5YzIuLjk4ZGY0MTg5NWEzMGM3YTBiZWQ2NTM1
YWZhZjU2OTBiY2ZiNmY2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCkBAIC00MzkzLDggKzQzOTMsMTEgQEAgUmVmUHRyPENTU0N1c3Rv
bVByb3BlcnR5VmFsdWU+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVR5cGVkQ3VzdG9tUHJvcGVy
dHlWYWx1ZSgKICAgICBpZiAoc3ludGF4ICE9ICIqIikgewogICAgICAgICBtX3JhbmdlLmNvbnN1
bWVXaGl0ZXNwYWNlKCk7CiAgICAgICAgIGF1dG8gcHJpbWl0aXZlVmFsID0gY29uc3VtZVdpZHRo
T3JIZWlnaHQobV9yYW5nZSwgbV9jb250ZXh0KTsKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbCAm
JiBwcmltaXRpdmVWYWwtPmlzUHJpbWl0aXZlVmFsdWUoKSkKLSAgICAgICAgICAgIHJldHVybiBD
U1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVTeW50YXhMZW5ndGgobmFtZSwgU3R5bGVCdWls
ZGVyQ29udmVydGVyOjpjb252ZXJ0TGVuZ3RoKHN0eWxlUmVzb2x2ZXIsICpwcmltaXRpdmVWYWwp
KTsKKyAgICAgICAgaWYgKHByaW1pdGl2ZVZhbCAmJiBwcmltaXRpdmVWYWwtPmlzUHJpbWl0aXZl
VmFsdWUoKSAmJiBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnByaW1pdGl2ZVZhbCkuaXNM
ZW5ndGgoKSkgeworICAgICAgICAgICAgYXV0byBsZW5ndGggPSBTdHlsZUJ1aWxkZXJDb252ZXJ0
ZXI6OmNvbnZlcnRMZW5ndGgoc3R5bGVSZXNvbHZlciwgKnByaW1pdGl2ZVZhbCk7CisgICAgICAg
ICAgICBpZiAoIWxlbmd0aC5pc0NhbGN1bGF0ZWQoKSAmJiAhbGVuZ3RoLmlzVW5kZWZpbmVkKCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZVN5
bnRheExlbmd0aChuYW1lLCBXVEZNb3ZlKGxlbmd0aCkpOworICAgICAgICB9CiAgICAgfSBlbHNl
IHsKICAgICAgICAgYXV0byBwcm9wZXJ0eVZhbHVlID0gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6
Y3JlYXRlU3ludGF4QWxsKG5hbWUsIENTU1ZhcmlhYmxlRGF0YTo6Y3JlYXRlKG1fcmFuZ2UpKTsK
ICAgICAgICAgd2hpbGUgKCFtX3JhbmdlLmF0RW5kKCkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDY4YmRhZjJkZDM3NTZm
NzJmYzkxODdjNTJhOGY3NWVmYjQyNDRmOS4uOWZiYTk1NWY2MjI3YTM0NDA2MDg3MWJlZWFiYWRi
MTA4OWY5NzEwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTEyLTE3ICBKdXN0aW4gTWlj
aGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgQ1NTIFBy
b3BlcnRpZXMgYW5kIFZhbHVlcyBBUEkgdG8gdXNlIG5ldyBjeWNsZSBmYWxsYmFjayBiZWhhdmlv
dXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mjgw
MAorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICogY3Nz
LWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9jcmFzaC5odG1sOgorICAgICAgICAqIGNzcy1jdXN0b20t
cHJvcGVydGllcy1hcGkvaW5oZXJpdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNzcy1jdXN0
b20tcHJvcGVydGllcy1hcGkvaW5oZXJpdHMuaHRtbDoKKyAgICAgICAgKiBjc3MtY3VzdG9tLXBy
b3BlcnRpZXMtYXBpL3JlZ2lzdGVyUHJvcGVydHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNz
cy1jdXN0b20tcHJvcGVydGllcy1hcGkvcmVnaXN0ZXJQcm9wZXJ0eS5odG1sOgorCiAyMDE4LTEy
LTEzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFj
T1NdIElubGluZSBXZWJWVFQgc3R5bGVzIHNob3VsZCBvdmVycmlkZSBzdHlsZXMgZnJvbSBDYXB0
aW9ucyBzZXR0aW5ncyBpbiBTeXN0ZW0gUHJlZmVyZW5jZXMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IDdmZjdmZDliNDY3NGFiYjJjMDM5N2ExYWY3NzM1MzVmZTBhNzIxOWQuLmIz
MGZjZTY0ZDE2YWM3ZTMyNDQ5YTVlZDdiYzM5ZmJmNWU4YzkyMmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE4LTEyLTE3ICBKdXN0aW4gTWljaGF1
ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgQ1NTIFByb3Bl
cnRpZXMgYW5kIFZhbHVlcyBBUEkgdG8gdXNlIG5ldyBjeWNsZSBmYWxsYmFjayBiZWhhdmlvdXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjgwMAor
CisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFJlLWltcG9y
dCB0ZXN0cyBhbmQgYWRqdXN0IGV4cGVjdGVkIHJlc3VsdHMuIFNvbWUgb2YgdGhlIHRlc3RzIGdv
IGZyb20gcGFzcyB0byBmYWlsIGJlY2F1c2UKKyAgICAgICAgdGhpcyBwYXRjaCBhZGRzIHNvbWUg
ZXh0cmEgZGVwZW5kZW5jeSBjaGVja2luZyB0byBwcm9wZXJ0eSByZWdpc3RyYXRpb25zIHRvIGZp
eCBhIGNyYXNoLCBidXQKKyAgICAgICAgbm93IHVuc3VwcG9ydGVkIHN5bnRheGVzIGxpa2UgPGxl
bmd0aC1wZXJjZW50YWdlPiBkbyBub3QgcmVnaXN0ZXIgcHJvcGVybHkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXIt
cHJvcGVydHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2lu
Zy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMt
YXBpL3JlZ2lzdGVyLXByb3BlcnR5Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5j
ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9uLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jb21wdXRhdGlvbi5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXBy
b3BlcnR5LWNzc29tLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS5o
dG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFs
dWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWluaXRpYWwtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdp
c3RlcmVkLXByb3BlcnR5LWluaXRpYWwuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVzb3VyY2VzL3V0aWxzLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGdlbmVyYXRlX25hbWUpOgorICAgICAgICAoYW55X2luaXRpYWxfdmFsdWUp
OgorICAgICAgICAoZ2VuZXJhdGVfcHJvcGVydHkpOgorICAgICAgICAoYWxsX3N5bnRheGVzKToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2VsZi11dGlscy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3Bl
cnRpZXMtdmFsdWVzLWFwaS9zZWxmLXV0aWxzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLnRlbnRh
dGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHJvcGVydGllcy12YWx1ZXMtYXBpL3R5cGVkb20udGVudGF0aXZlLmh0bWw6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VuaXQtY3lj
bGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1w
cm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1y
ZWdpc3RlcmVkLXByb3BlcnRpZXMtY3ljbGVzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0
ZXJlZC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVk
LXByb3BlcnRpZXMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1w
cm9wZXJ0aWVzLXZhbHVlcy1hcGkvdzNjLWltcG9ydC5sb2c6CisKIDIwMTgtMTItMTAgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBYTUxIdHRwUmVxdWVzdCByZW1vdmVz
IHNwYWNlcyBmcm9tIGNvbnRlbnQtdHlwZXMgYmVmb3JlIHByb2Nlc3NpbmcKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvY3Jhc2guaHRtbCBiL0xheW91
dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvY3Jhc2guaHRtbAppbmRleCA3ZjJjZDcw
YTJhMzFkZWFiOTlmMDAzMmM0MWZlYTdhNWM4YWI3ZjliLi42MjA1Njg4OTdkOTc3MmIzYTE1MmI4
N2Y3NWE1MjRkYTQxNTVmODI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXBy
b3BlcnRpZXMtYXBpL2NyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9w
ZXJ0aWVzLWFwaS9jcmFzaC5odG1sCkBAIC00OCwxNSArNDgsMTUgQEAgdGVzdChmdW5jdGlvbigp
IHsKIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGlubGluZVN0eWxlLnNldFByb3BlcnR5KCctLWJheics
ICcgICA0MHB4Jyk7CiAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctLWJheicpLCAnNDBweCcpOwotICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS1mb28nKSwgJzIwMHB4Jyk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWJhcicpLCAnMjAwcHgnKTsKKyAgYXNzZXJ0X2Vx
dWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tZm9vJyksICcnKTsKKyAgYXNz
ZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tYmFyJyksICcnKTsK
ICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tYmF6Jyks
ICc0MHB4Jyk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCdmb250LXNpemUnKSwgJzIwMHB4Jyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKSwgJzMwcHgnKTsKICAgaW5saW5lU3R5bGUucmVt
b3ZlUHJvcGVydHkoJy0tYmF6Jyk7CiAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKCctLWJheicpLCAnMjAwcHgnKTsKLSAgYXNzZXJ0X2VxdWFscyhjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tZm9vJyksICcyMDBweCcpOwotICBhc3NlcnRfZXF1
YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1iYXInKSwgJzIwMHB4Jyk7Ci0g
IGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUn
KSwgJzIwMHB4Jyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctLWZvbycpLCAnJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCctLWJhcicpLCAnJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKSwgJzMwcHgnKTsKICAgYXNzZXJ0X2VxdWFscyhj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tYmF6JyksICcyMDBweCcpOwogfSwgIlNl
dHRpbmcgdGhlIGlubGluZSBzdHlsZSBpcyBoYW5kbGVkIGNvcnJlY3RseSB3aGVuIHJlZ2lzdGVy
ZWQiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFw
aS9pbmhlcml0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRp
ZXMtYXBpL2luaGVyaXRzLWV4cGVjdGVkLnR4dAppbmRleCAwOWUyMDZjYmMwMDhjNjVhNmJlMmYx
NjY0YmFjNzBhYWU2MDY2YjE1Li41YWYxZGIzYWIyYTViMDY2OWU0OTkxZjE2NmU4ZmFhZmI4OWE3
YzE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2lu
aGVyaXRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRp
ZXMtYXBpL2luaGVyaXRzLWV4cGVjdGVkLnR4dApAQCAtMSw2MiArMSw2MiBAQAogU3BlY2lmaWVk
IGluIHBhcmVudCwgaW5oZXJpdHM9dHJ1ZQogCi0xMDBweCBncmVlbgordGVzdAogCiBTcGVjaWZp
ZWQgaW4gcGFyZW50LCBpbmhlcml0cz1mYWxzZQogCi0yMDBweCBncmVlbgordGVzdAogCiBTcGVj
aWZpZWQgaW4gcGFyZW50LCBub3QgcmVnaXN0ZXJlZAogCi0xMDBweCBncmVlbgordGVzdAogCiBJ
bml0aWFsCiAKLTIwMHB4IGdyZWVuCit0ZXN0CiAKIFVuc2V0LCBpbmhlcml0cz10cnVlCiAKLTEw
MHB4IGdyZWVuCit0ZXN0CiAKIFVuc2V0LCBpbmhlcml0cz1mYWxzZQogCi0yMDBweCBncmVlbgor
dGVzdAogCiBBIGN5Y2xlIGJldHdlZW4gYW4gaW5oZXJpdHM9dHJ1ZSBhbmQgaW5oZXJpdHM9ZmFs
c2UgcHJvcGVydHkKIAotMjAwcHggZ3JlZW4KK3Rlc3QKIAogQSBjeWNsZSBiZXR3ZWVuIGFuIGlu
aGVyaXRzPXRydWUgYW5kIGluaGVyaXRzPWZhbHNlIHByb3BlcnR5CiAKLTIwMHB4IGdyZWVuCit0
ZXN0CiAKIEEgY3ljbGUgYmV0d2VlbiBhbiBpbmhlcml0cz10cnVlIGFuZCBpbmhlcml0cz1mYWxz
ZSBwcm9wZXJ0eSB3aXRoIGZhbGxiYWNrCiAKLTIwMHB4IGdyZWVuCit0ZXN0CiAKIEluaGVyaXRh
bmNlIHNob3VsZCBub3QgY3JlYXRlIGEgY3ljbGUKIAotMTEwcHggZ3JlZW4KK3Rlc3QKIAogQSBj
eWNsZSBiZXR3ZWVuIHR3byB1bnJlZ2lzdGVyZWQgcHJvcGVydGllcwogCi0zMDBweCBncmVlbgor
dGVzdAogCiBSZXZlcnQsIGluaGVyaXRzPXRydWUKIAotMTkwcHggcHVycGxlCit0ZXN0CiAKIFJl
dmVydCwgaW5oZXJpdHM9ZmFsc2UKIAotMjAwcHggcHVycGxlCit0ZXN0CiAKIFJldmVydCwgdW5y
ZWdpc3RlcmVkCiAKLXB1cnBsZQordGVzdAogCiBJbmhlcml0LCB1bnJlZ2lzdGVyZWQKIAotcHVy
cGxlCit0ZXN0CiAKIFRlc3QgdGhhdCBpbmhlcml0ZWQgcHJvcGVydGllcyBkbyB2YXJpYWJsZSBz
dWJzdGl0dXRpb24gYmVmb3JlIGJlaW5nIGluaGVyaXRlZCAtIHJlZ2lzdGVyZWQKIApAQCAtNjgs
MTUgKzY4LDE1IEBAIHRlc3QKIAogTm8gaW5pdGlhbCB2YWx1ZSBpbiByZWdpc3RlcmVkIHByb3Bl
cnR5IHNob3VsZCBhY3QgbGlrZSB1bnJlZ2lzdGVyZWQKIAotMjAwcHggZ3JlZW4KK3Rlc3QKIAog
KHVucmVnaXN0ZXJlZCkKIAotNTAwcHggZ3JlZW4KK3Rlc3QKIAogSW5oZXJpdCBzaG91bGQgYmUg
c3Vic3RpdHV0ZWQgZm9yIHVucmVnaXN0ZXJlZCBwcm9wZXJ0eQogCi01MDBweCBncmVlbgordGVz
dAogCiAKIFBBU1MgUmVnaXN0cmF0aW9uIGlzIHN1Y2Nlc3NmdWwgCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2luaGVyaXRzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2luaGVyaXRzLmh0bWwKaW5kZXggOGVlNGZj
ZjI4ODAxZjNlZDljOTk2NzYxYTdkZjNlN2U0ZWMzMDNkYy4uN2ZhNTNkNTAzMjlkNzVhNmMzY2U1
MDlhOTJiMWU1YjY2OWI5ODQxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1w
cm9wZXJ0aWVzLWFwaS9pbmhlcml0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Nzcy1jdXN0b20t
cHJvcGVydGllcy1hcGkvaW5oZXJpdHMuaHRtbApAQCAtMjQ0LDM2ICsyNDQsMzYgQEAKIDwvc3R5
bGU+CiA8ZGl2PgogICA8cD4gU3BlY2lmaWVkIGluIHBhcmVudCwgaW5oZXJpdHM9dHJ1ZTwvcD4K
LSAgPGRpdiBpZD0icGFyZW50MSI+PGRpdiBpZD0iY2hpbGQxIj48cD4xMDBweCBncmVlbjwvcD48
L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDEiPjxkaXYgaWQ9ImNoaWxkMSI+PHA+dGVz
dDwvcD48L2Rpdj4gPC9kaXY+CiAgIDxwPiBTcGVjaWZpZWQgaW4gcGFyZW50LCBpbmhlcml0cz1m
YWxzZSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDIiPjxkaXYgaWQ9ImNoaWxkMiI+PHA+MjAwcHgg
Z3JlZW48L3A+PC9kaXY+IDwvZGl2PgorICA8ZGl2IGlkPSJwYXJlbnQyIj48ZGl2IGlkPSJjaGls
ZDIiPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2PgogICA8cD4gU3BlY2lmaWVkIGluIHBhcmVudCwg
bm90IHJlZ2lzdGVyZWQgPC9wPgotICA8ZGl2IGlkPSJwYXJlbnQzIj48ZGl2IGlkPSJjaGlsZDMi
PjxwPjEwMHB4IGdyZWVuPC9wPjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50MyI+PGRp
diBpZD0iY2hpbGQzIj48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KICAgPHA+IEluaXRpYWwgPC9w
PgotICA8ZGl2IGlkPSJwYXJlbnQ0Ij48ZGl2IGlkPSJjaGlsZDQiPjxwPjIwMHB4IGdyZWVuPC9w
PjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50NCI+PGRpdiBpZD0iY2hpbGQ0Ij48cD50
ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KICAgPHA+IFVuc2V0LCBpbmhlcml0cz10cnVlIDwvcD4KLSAg
PGRpdiBpZD0icGFyZW50NSI+PGRpdiBpZD0iY2hpbGQ1Ij48cD4xMDBweCBncmVlbjwvcD48L2Rp
dj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDUiPjxkaXYgaWQ9ImNoaWxkNSI+PHA+dGVzdDwv
cD48L2Rpdj4gPC9kaXY+CiAgIDxwPiBVbnNldCwgaW5oZXJpdHM9ZmFsc2UgPC9wPgotICA8ZGl2
IGlkPSJwYXJlbnQ2Ij48ZGl2IGlkPSJjaGlsZDYiPjxwPjIwMHB4IGdyZWVuPC9wPjwvZGl2PiA8
L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50NiI+PGRpdiBpZD0iY2hpbGQ2Ij48cD50ZXN0PC9wPjwv
ZGl2PiA8L2Rpdj4KICAgPHA+IEEgY3ljbGUgYmV0d2VlbiBhbiBpbmhlcml0cz10cnVlIGFuZCBp
bmhlcml0cz1mYWxzZSBwcm9wZXJ0eSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDciPjxkaXYgaWQ9
ImNoaWxkNyI+PHA+MjAwcHggZ3JlZW48L3A+PC9kaXY+IDwvZGl2PgorICA8ZGl2IGlkPSJwYXJl
bnQ3Ij48ZGl2IGlkPSJjaGlsZDciPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2PgogICA8cD4gQSBj
eWNsZSBiZXR3ZWVuIGFuIGluaGVyaXRzPXRydWUgYW5kIGluaGVyaXRzPWZhbHNlIHByb3BlcnR5
IDwvcD4KLSAgPGRpdiBpZD0icGFyZW50OCI+PGRpdiBpZD0iY2hpbGQ4Ij48cD4yMDBweCBncmVl
bjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDgiPjxkaXYgaWQ9ImNoaWxkOCI+
PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+CiAgIDxwPiBBIGN5Y2xlIGJldHdlZW4gYW4gaW5oZXJp
dHM9dHJ1ZSBhbmQgaW5oZXJpdHM9ZmFsc2UgcHJvcGVydHkgd2l0aCBmYWxsYmFjayA8L3A+Ci0g
IDxkaXYgaWQ9InBhcmVudDkiPjxkaXYgaWQ9ImNoaWxkOSI+PHA+MjAwcHggZ3JlZW48L3A+PC9k
aXY+IDwvZGl2PgorICA8ZGl2IGlkPSJwYXJlbnQ5Ij48ZGl2IGlkPSJjaGlsZDkiPjxwPnRlc3Q8
L3A+PC9kaXY+IDwvZGl2PgogICA8cD4gSW5oZXJpdGFuY2Ugc2hvdWxkIG5vdCBjcmVhdGUgYSBj
eWNsZSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDEwIj48ZGl2IGlkPSJjaGlsZDEwIj48cD4xMTBw
eCBncmVlbjwvcD48L2Rpdj48L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50MTAiPjxkaXYgaWQ9ImNo
aWxkMTAiPjxwPnRlc3Q8L3A+PC9kaXY+PC9kaXY+CiAgIDxwPiBBIGN5Y2xlIGJldHdlZW4gdHdv
IHVucmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIDwvcD4KLSAgPGRpdiBpZD0icGFyZW50MTEiPjxkaXYg
aWQ9ImNoaWxkMTEiPjxwPjMwMHB4IGdyZWVuPC9wPjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0i
cGFyZW50MTEiPjxkaXYgaWQ9ImNoaWxkMTEiPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2PgogCiAg
IDxwPiBSZXZlcnQsIGluaGVyaXRzPXRydWUgPC9wPgotICA8ZGl2IGlkPSJwYXJlbnQxMiI+PGRp
diBpZD0iY2hpbGQxMiI+PGRpdiBpZD0iY2hpbGRjaGlsZDEyIj48cD4xOTBweCBwdXJwbGU8L3A+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDEyIj48ZGl2IGlkPSJjaGlsZDEy
Ij48ZGl2IGlkPSJjaGlsZGNoaWxkMTIiPjxwPnRlc3Q8L3A+PC9kaXY+PC9kaXY+PC9kaXY+CiAg
IDxwPiBSZXZlcnQsIGluaGVyaXRzPWZhbHNlIDwvcD4KLSAgPGRpdiBpZD0icGFyZW50MTMiPjxk
aXYgaWQ9ImNoaWxkMTMiPjxkaXYgaWQ9ImNoaWxkY2hpbGQxMyI+PHA+MjAwcHggcHVycGxlPC9w
PjwvZGl2PjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50MTMiPjxkaXYgaWQ9ImNoaWxk
MTMiPjxkaXYgaWQ9ImNoaWxkY2hpbGQxMyI+PHA+dGVzdDwvcD48L2Rpdj48L2Rpdj4gPC9kaXY+
CiAgIDxwPiBSZXZlcnQsIHVucmVnaXN0ZXJlZCA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDE0Ij48
ZGl2IGlkPSJjaGlsZDE0Ij48ZGl2IGlkPSJjaGlsZGNoaWxkMTQiPjxwPnB1cnBsZTwvcD48L2Rp
dj48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDE0Ij48ZGl2IGlkPSJjaGlsZDE0Ij48
ZGl2IGlkPSJjaGlsZGNoaWxkMTQiPjxwPnRlc3Q8L3A+PC9kaXY+PC9kaXY+IDwvZGl2PgogICA8
cD4gSW5oZXJpdCwgdW5yZWdpc3RlcmVkIDwvcD4KLSAgPGRpdiBpZD0icGFyZW50MTQtMSI+PGRp
diBpZD0iY2hpbGQxNC0xIj48ZGl2IGlkPSJjaGlsZGNoaWxkMTQtMSI+PHA+cHVycGxlPC9wPjwv
ZGl2PjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50MTQtMSI+PGRpdiBpZD0iY2hpbGQx
NC0xIj48ZGl2IGlkPSJjaGlsZGNoaWxkMTQtMSI+PHA+dGVzdDwvcD48L2Rpdj48L2Rpdj4gPC9k
aXY+CiAKICAgPHA+IFRlc3QgdGhhdCBpbmhlcml0ZWQgcHJvcGVydGllcyBkbyB2YXJpYWJsZSBz
dWJzdGl0dXRpb24gYmVmb3JlIGJlaW5nIGluaGVyaXRlZCAtIHJlZ2lzdGVyZWQ8L3A+CiAgIDxk
aXYgaWQ9InBhcmVudDE1Ij48ZGl2IGlkPSJjaGlsZDE1Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rp
dj4KQEAgLTI4MSwxMiArMjgxLDEyIEBACiAgIDxkaXYgaWQ9InBhcmVudDE2Ij48ZGl2IGlkPSJj
aGlsZDE2Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KIAogICA8cD4gTm8gaW5pdGlhbCB2YWx1
ZSBpbiByZWdpc3RlcmVkIHByb3BlcnR5IHNob3VsZCBhY3QgbGlrZSB1bnJlZ2lzdGVyZWQ8L3A+
Ci0gIDxkaXYgaWQ9InBhcmVudDE3Ij48ZGl2IGlkPSJjaGlsZDE3Ij48cD4yMDBweCBncmVlbjwv
cD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDE3Ij48ZGl2IGlkPSJjaGlsZDE3Ij48
cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KICAgPHA+ICh1bnJlZ2lzdGVyZWQpIDwvcD4KLSAgPGRp
diBpZD0icGFyZW50MTgiPjxkaXYgaWQ9ImNoaWxkMTgiPjxwPjUwMHB4IGdyZWVuPC9wPjwvZGl2
PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50MTgiPjxkaXYgaWQ9ImNoaWxkMTgiPjxwPnRlc3Q8
L3A+PC9kaXY+IDwvZGl2PgogCiAgIDxwPkluaGVyaXQgc2hvdWxkIGJlIHN1YnN0aXR1dGVkIGZv
ciB1bnJlZ2lzdGVyZWQgcHJvcGVydHk8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDE5Ij48ZGl2IGlk
PSJjaGlsZDE5Ij48cD41MDBweCBncmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBh
cmVudDE5Ij48ZGl2IGlkPSJjaGlsZDE5Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KIDwvZGl2
PgogPHNjcmlwdD4KIApAQCAtMzQ2LDE5ICszNDYsMTkgQEAgdGVzdChmdW5jdGlvbigpIHsKICAg
dGVzdF9wcm9wKCdjaGlsZDYnLCAnLS1teS1jdXN0b20tcHJvcDInLCAnMjAwcHgnKTsKIH0sICJK
UyBBdHRyaWJ1dGVzIGFyZSB2YWxpZCBmb3IgZWxlbWVudCA2Iik7CiB0ZXN0KGZ1bmN0aW9uKCkg
ewotICB0ZXN0X3Byb3AoJ2NoaWxkNycsICd3aWR0aCcsICcyMDBweCcpOwotICB0ZXN0X3Byb3Ao
J2NoaWxkNycsICctLW15LWN1c3RvbS1wcm9wJywgJzEwMHB4Jyk7Ci0gIHRlc3RfcHJvcCgnY2hp
bGQ3JywgJy0tbXktY3VzdG9tLXByb3AyJywgJzIwMHB4Jyk7CisgIHRlc3RfcHJvcCgnY2hpbGQ3
JywgJ3dpZHRoJywgJzMwMHB4Jyk7CisgIHRlc3RfcHJvcCgnY2hpbGQ3JywgJy0tbXktY3VzdG9t
LXByb3AnLCAnJyk7CisgIHRlc3RfcHJvcCgnY2hpbGQ3JywgJy0tbXktY3VzdG9tLXByb3AyJywg
JycpOwogfSwgIkpTIEF0dHJpYnV0ZXMgYXJlIHZhbGlkIGZvciBlbGVtZW50IDciKTsKIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gIHRlc3RfcHJvcCgnY2hpbGQ4JywgJ3dpZHRoJywgJzIwMHB4Jyk7Ci0g
IHRlc3RfcHJvcCgnY2hpbGQ4JywgJy0tbXktY3VzdG9tLXByb3AnLCAnMjAwcHgnKTsKLSAgdGVz
dF9wcm9wKCdjaGlsZDgnLCAnLS1teS1jdXN0b20tcHJvcDInLCAnMjAwcHgnKTsKKyAgdGVzdF9w
cm9wKCdjaGlsZDgnLCAnd2lkdGgnLCAnMzAwcHgnKTsKKyAgdGVzdF9wcm9wKCdjaGlsZDgnLCAn
LS1teS1jdXN0b20tcHJvcCcsICcnKTsKKyAgdGVzdF9wcm9wKCdjaGlsZDgnLCAnLS1teS1jdXN0
b20tcHJvcDInLCAnJyk7CiB9LCAiSlMgQXR0cmlidXRlcyBhcmUgdmFsaWQgZm9yIGVsZW1lbnQg
OCIpOwogdGVzdChmdW5jdGlvbigpIHsKLSAgdGVzdF9wcm9wKCdjaGlsZDknLCAnd2lkdGgnLCAn
MjAwcHgnKTsKLSAgdGVzdF9wcm9wKCdjaGlsZDknLCAnLS1teS1jdXN0b20tcHJvcCcsICcxMDBw
eCcpOwotICB0ZXN0X3Byb3AoJ2NoaWxkOScsICctLW15LWN1c3RvbS1wcm9wMicsICcyMDBweCcp
OworICB0ZXN0X3Byb3AoJ2NoaWxkOScsICd3aWR0aCcsICczMDBweCcpOworICB0ZXN0X3Byb3Ao
J2NoaWxkOScsICctLW15LWN1c3RvbS1wcm9wJywgJycpOworICB0ZXN0X3Byb3AoJ2NoaWxkOScs
ICctLW15LWN1c3RvbS1wcm9wMicsICcnKTsKIH0sICJKUyBBdHRyaWJ1dGVzIGFyZSB2YWxpZCBm
b3IgZWxlbWVudCA5Iik7CiB0ZXN0KGZ1bmN0aW9uKCkgewogICB0ZXN0X3Byb3AoJ2NoaWxkMTAn
LCAnd2lkdGgnLCAnMTEwcHgnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nzcy1jdXN0b20t
cHJvcGVydGllcy1hcGkvcmVnaXN0ZXJQcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL3JlZ2lzdGVyUHJvcGVydHktZXhwZWN0ZWQudHh0
CmluZGV4IGIzMDgyZTExNzk5NzQ1ZGExZGUxMjc4NDU2NDc0OTNhZjBiNmQxYTEuLjQ0ZDIxNWFl
ODczYTg5MjFmYmJlNWY0NDZiNWU4ZTIwZDczYzMyZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvcmVnaXN0ZXJQcm9wZXJ0eS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9yZWdpc3RlclByb3Bl
cnR5LWV4cGVjdGVkLnR4dApAQCAtMyw0ICszLDUgQEAgUEFTUyByZWdpc3RlclByb3BlcnR5IHJl
cXVpcmVzIGEgRGljdGlvbmFyeSB0eXBlCiBQQVNTIHJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMg
YSBuYW1lIG1hdGNoaW5nIDxjdXN0b20tcHJvcGVydHktbmFtZT4gCiBQQVNTIHJlZ2lzdGVyUHJv
cGVydHkgYWx3YXlzIGFsbG93cyBvbWl0dGluZyBpbml0aWFsVmFsdWUgYW5kIHN5bnRheCwgcmVx
dWlyZXMgbmFtZSBhbmQgaW5oZXJpdHMgCiBQQVNTIHJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMg
aW5oZXJpdHMgYW5kIG5hbWUgCitQQVNTIHJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgaW5pdGlh
bFZhbHVlIHRvIGJlIGNvbXB1dGF0aW9uYWxseSBpbmRlcGVuZGVudCAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9yZWdpc3RlclByb3BlcnR5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL3JlZ2lzdGVyUHJvcGVy
dHkuaHRtbAppbmRleCAxZjU3NjY2NGRlODYzZjQ1MDM0YjkyZjQwODRhMzcyMjEzNGViZTk0Li4z
ZGJjYjBjY2FjNTcyZDIyZWIyODM0YWI4MTllYjdjYzk0Zjk1NzlkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL3JlZ2lzdGVyUHJvcGVydHkuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL3JlZ2lzdGVyUHJvcGVy
dHkuaHRtbApAQCAtMiw2ICsyLDcgQEAKIDwhLS0gaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL3NyYy8rLzAxY2U0MzE0MDllM2EwMTk4NTg2Nzc2MjZhOTgzYzU1MTY4
ZGE2ZGMvdGhpcmRfcGFydHkvV2ViS2l0L0xheW91dFRlc3RzL2N1c3RvbS1wcm9wZXJ0aWVzL3Jl
Z2lzdGVyLXByb3BlcnR5Lmh0bWwgLS0+CiA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0iZWwiPjwvZGl2PgogPHNjcmlwdD4KIC8v
IFRlc3RzIGZvciBlcnJvciBjaGVja2luZyBkdXJpbmcgcHJvcGVydHkgcmVnaXN0cmF0aW9uCiB0
ZXN0KGZ1bmN0aW9uKCkgewpAQCAtMTgsOSArMTksOSBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAg
IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1uYW1lMiwgbm8gbmVlZCBmb3IgZXNjYXBl
cycsIGluaGVyaXRzOiBmYWxzZX0pOwogICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBb
Jy0tbmFtZScsIDNdLCBpbmhlcml0czogZmFsc2V9KTsKICAgICAvLyBJbnZhbGlkIHByb3BlcnR5
IG5hbWVzCi0gICAgLy9hc3NlcnRfdGhyb3dzKG5ldyBTeW50YXhFcnJvcigpLCAoKSA9PiBDU1Mu
cmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJ25vLWxlYWRpbmctZGFzaCcsIGluaGVyaXRzOiBmYWxz
ZX0pKTsKLSAgICAvL2Fzc2VydF90aHJvd3MobmV3IFN5bnRheEVycm9yKCksICgpID0+IENTUy5y
ZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnJywgaW5oZXJpdHM6IGZhbHNlfSkpOwotICAgIC8vYXNz
ZXJ0X3Rocm93cyhuZXcgU3ludGF4RXJyb3IoKSwgKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHko
e25hbWU6ICdcXC0tbmFtZScsIGluaGVyaXRzOiBmYWxzZX0pKTsKKyAgICBhc3NlcnRfdGhyb3dz
KG5ldyBTeW50YXhFcnJvcigpLCAoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJ25v
LWxlYWRpbmctZGFzaCcsIGluaGVyaXRzOiBmYWxzZX0pKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5l
dyBTeW50YXhFcnJvcigpLCAoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJycsIGlu
aGVyaXRzOiBmYWxzZX0pKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBTeW50YXhFcnJvcigpLCAo
KSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJ1xcLS1uYW1lJywgaW5oZXJpdHM6IGZh
bHNlfSkpOwogfSwgInJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgYSBuYW1lIG1hdGNoaW5nIDxj
dXN0b20tcHJvcGVydHktbmFtZT4iKTsKIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgQ1NTLnJlZ2lz
dGVyUHJvcGVydHkoe25hbWU6ICctLXN5bnRheC10ZXN0LTEnLCBpbmhlcml0czogZmFsc2UsIHN5
bnRheDogJyonfSk7CkBAIC0zNyw0ICszOCwxNSBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIENT
Uy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1zeW50YXgtdGVzdC00JywgaW5oZXJpdHM6IGZh
bHNlLCBzeW50YXg6ICcqJ30pOwogICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1z
eW50YXgtdGVzdC01JywgaW5oZXJpdHM6IGZhbHNlLCBzeW50YXg6ICcgKiAnfSk7CiB9LCAicmVn
aXN0ZXJQcm9wZXJ0eSByZXF1aXJlcyBpbmhlcml0cyBhbmQgbmFtZSIpOwordGVzdChmdW5jdGlv
bigpIHsKKyAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWluaXRpYWx2YWx1ZS10ZXN0
LTAnLCBpbmhlcml0czogZmFsc2UsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAn
Y2FsYygxMHB4ICsgMTBpbiknfSk7CisgIGFzc2VydF9lcXVhbHMod2luZG93LmdldENvbXB1dGVk
U3R5bGUoZWwpLmdldFByb3BlcnR5VmFsdWUoJy0taW5pdGlhbHZhbHVlLXRlc3QtMCcpLnRvU3Ry
aW5nKCksICc5NzBweCcpOworCisgIGFzc2VydF90aHJvd3MobmV3IFN5bnRheEVycm9yKCksCisg
ICAgKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWluaXRpYWx2YWx1ZS10ZXN0
LTEnLCBpbmhlcml0czogZmFsc2UsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAn
MTBlbSd9KSk7CisgIGFzc2VydF90aHJvd3MobmV3IFN5bnRheEVycm9yKCksCisgICAgKCkgPT4g
Q1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWluaXRpYWx2YWx1ZS10ZXN0LTInLCBpbmhl
cml0czogZmFsc2UsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnY2FsYygxMHB4
ICsgMTBlbSknfSkpOworICBhc3NlcnRfdGhyb3dzKG5ldyBTeW50YXhFcnJvcigpLAorICAgICgp
ID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1pbml0aWFsdmFsdWUtdGVzdC0zJywg
aW5oZXJpdHM6IGZhbHNlLCBzeW50YXg6ICc8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJ2NhbGMo
MTBweCArIDEwJSknfSkpOworfSwgInJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgaW5pdGlhbFZh
bHVlIHRvIGJlIGNvbXB1dGF0aW9uYWxseSBpbmRlcGVuZGVudCIpOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9w
ZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHktZXhwZWN0ZWQudHh0CmluZGV4IDU2
N2RiMzE3ODU0MTQzNmMyNjdiN2Q1ODZiMzNiMGU2MGIxNGQxY2EuLmNmOWM4ZDQzZWQwYmFjYjIz
MzAyNDExZDc3ZTE0YjZlYmQ2ZDQ3MjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVn
aXN0ZXItcHJvcGVydHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0
ZXItcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsOCBAQAogCiBQQVNTIHJlZ2lzdGVy
UHJvcGVydHkgcmVxdWlyZXMgYSBEaWN0aW9uYXJ5IHR5cGUgCi1GQUlMIHJlZ2lzdGVyUHJvcGVy
dHkgcmVxdWlyZXMgYSBuYW1lIG1hdGNoaW5nIDxjdXN0b20tcHJvcGVydHktbmFtZT4gYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnbm8t
bGVhZGluZy1kYXNoJywgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKK1BBU1MgcmVn
aXN0ZXJQcm9wZXJ0eSByZXF1aXJlcyBhIG5hbWUgbWF0Y2hpbmcgPGN1c3RvbS1wcm9wZXJ0eS1u
YW1lPiAKIEZBSUwgcmVnaXN0ZXJQcm9wZXJ0eSBvbmx5IGFsbG93cyBvbWl0dGluZyBpbml0aWFs
VmFsdWUgaWYgc3ludGF4IGlzICcqJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NT
LnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLXN5bnRheC10ZXN0LTMnLCBzeW50YXg6ICdsZW5n
dGgnLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwotUEFTUyByZWdpc3RlclByb3Bl
cnR5IGZhaWxzIGZvciBhbiBhbHJlYWR5IHJlZ2lzdGVyZWQgcHJvcGVydHkgCitGQUlMIHJlZ2lz
dGVyUHJvcGVydHkgZmFpbHMgZm9yIGFuIGFscmVhZHkgcmVnaXN0ZXJlZCBwcm9wZXJ0eSBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICct
LXJlLXJlZ2lzdGVyJywgc3ludGF4OiAnPHBlcmNlbnRhZ2U+JywgaW5pdGlhbFZhbHVlOiAnMCUn
LCBpbmhlcml0czogZmFsc2V9KSIgdGhyZXcgb2JqZWN0ICJTeW50YXhFcnJvcjogVGhlIGdpdmVu
IGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguIiAoIlN5
bnRheEVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iICgiSW52YWxpZE1v
ZGlmaWNhdGlvbkVycm9yIikKIFBBU1MgcmVnaXN0ZXJQcm9wZXJ0eSByZXF1aXJlcyBpbmhlcml0
cyAKK0ZBSUwgUmVnaXN0ZXJpbmcgYSBwcm9wZXJ0eSBzaG91bGQgbm90IGNhdXNlIGEgdHJhbnNp
dGlvbiBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVu
IHN5bnRheC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0
eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVy
LXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4cGVjdGVkLnR4dAppbmRleCAyZWE3OGUyOTgwNjA2
OGU1YjNjM2Y2ZWM3OWY2YmY5YThhNmIxOGNkLi4zNzZlNDhiZmJhMjUyNmM0NjBjZmFkOGY4MmNl
ZmZiOGFkYzI0MzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3Bl
cnR5LXN5bnRheC1wYXJzaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jl
Z2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcg
QEAgUEFTUyBzeW50YXg6JyonLCBpbml0aWFsVmFsdWU6J2EnIGlzIHZhbGlkCiBGQUlMIHN5bnRh
eDonICogJywgaW5pdGlhbFZhbHVlOidiJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1
ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIFBBU1Mgc3ludGF4Oic8bGVu
Z3RoPicsIGluaXRpYWxWYWx1ZTonMnB4JyBpcyB2YWxpZCAKIEZBSUwgc3ludGF4OicgPG51bWJl
cj4nLCBpbml0aWFsVmFsdWU6JzUnIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRv
ZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotUEFTUyBzeW50YXg6JzxwZXJjZW50
YWdlPiAnLCBpbml0aWFsVmFsdWU6JzEwJScgaXMgdmFsaWQgCitGQUlMIHN5bnRheDonPHBlcmNl
bnRhZ2U+ICcsIGluaXRpYWxWYWx1ZTonMTAlJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2
YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIEZBSUwgc3ludGF4Oic8
Y29sb3I+KycsIGluaXRpYWxWYWx1ZToncmVkJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2
YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIEZBSUwgc3ludGF4Oicg
PGxlbmd0aD4rIHwgPHBlcmNlbnRhZ2U+JywgaW5pdGlhbFZhbHVlOicycHggOHB4JyBpcyB2YWxp
ZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5
bnRheC4KIFBBU1Mgc3ludGF4Oic8bGVuZ3RoPnw8cGVyY2VudGFnZT58PGxlbmd0aC1wZXJjZW50
YWdlPicsIGluaXRpYWxWYWx1ZTonMnB4JyBpcyB2YWxpZCAKQEAgLTIxLDE0ICsyMSwxOSBAQCBQ
QVNTIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6J2NhbGMoMnB4KjQgKyAxMHB4KScg
aXMgdmFsaWQKIFBBU1Mgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonNy4xZS00Y20n
IGlzIHZhbGlkIAogUEFTUyBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOidjYWxjKDdp
biAtIDEycHgpJyBpcyB2YWxpZCAKIEZBSUwgc3ludGF4Oic8bGVuZ3RoPisnLCBpbml0aWFsVmFs
dWU6JzJweCA3cHggY2FsYyg4cHgpJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBk
b2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgc3ludGF4Oic8bGVuZ3Ro
PiMnLCBpbml0aWFsVmFsdWU6JzJweCwgN3B4LCBjYWxjKDhweCknIGlzIHZhbGlkIFRoZSBnaXZl
biBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJ
TCBzeW50YXg6JzxwZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonLTkuM2UzJScgaXMgdmFsaWQg
VGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50
YXguCiBGQUlMIHN5bnRheDonPGxlbmd0aC1wZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonLTU0
JScgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRo
ZSBnaXZlbiBzeW50YXguCiBQQVNTIHN5bnRheDonPGxlbmd0aC1wZXJjZW50YWdlPicsIGluaXRp
YWxWYWx1ZTonMCcgaXMgdmFsaWQgCi1QQVNTIHN5bnRheDonPGxlbmd0aC1wZXJjZW50YWdlPics
IGluaXRpYWxWYWx1ZTonY2FsYygtMTFweCArIDEwLjQlKScgaXMgdmFsaWQgCitGQUlMIHN5bnRh
eDonPGxlbmd0aC1wZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonY2FsYygtMTFweCArIDEwLjQl
KScgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRo
ZSBnaXZlbiBzeW50YXguCiBGQUlMIHN5bnRheDonPG51bWJlcj4nLCBpbml0aWFsVmFsdWU6Jy0x
MDknIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0
aGUgZ2l2ZW4gc3ludGF4LgogRkFJTCBzeW50YXg6JzxudW1iZXI+JywgaW5pdGlhbFZhbHVlOicy
LjNlNCcgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9y
IHRoZSBnaXZlbiBzeW50YXguCiBGQUlMIHN5bnRheDonPGludGVnZXI+JywgaW5pdGlhbFZhbHVl
OictMTA5JyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBm
b3IgdGhlIGdpdmVuIHN5bnRheC4KIEZBSUwgc3ludGF4Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFs
dWU6JzE5JyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBm
b3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgc3ludGF4Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFs
dWU6J2NhbGMoMSknIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBh
cnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCBzeW50YXg6JzxpbnRlZ2VyPicsIGluaXRp
YWxWYWx1ZTonY2FsYygxICsgMiknIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRv
ZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCBzeW50YXg6JzxpbnRlZ2Vy
PicsIGluaXRpYWxWYWx1ZTonY2FsYygzLjE0MTUpJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlh
bCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgc3ludGF4
Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFsdWU6J2NhbGMoMy4xNDE1ICsgMy4xNDE1KScgaXMgdmFs
aWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBz
eW50YXguCiBGQUlMIHN5bnRheDonPGFuZ2xlPicsIGluaXRpYWxWYWx1ZTonMTBkZWcnIGlzIHZh
bGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4g
c3ludGF4LgogRkFJTCBzeW50YXg6JzxhbmdsZT4nLCBpbml0aWFsVmFsdWU6JzIwLjVyYWQnIGlz
IHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2
ZW4gc3ludGF4LgogRkFJTCBzeW50YXg6JzxhbmdsZT4nLCBpbml0aWFsVmFsdWU6J2NhbGMoNTBn
cmFkICsgMy4xNDE1OXJhZCknIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMg
bm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgpAQCAtODQsNyArODksNyBAQCBQQVNTIHN5
bnRheDonaW5oZXJpdCcsIGluaXRpYWxWYWx1ZTonaW5oZXJpdCcgaXMgaW52YWxpZAogUEFTUyBz
eW50YXg6J3Vuc2V0JywgaW5pdGlhbFZhbHVlOid1bnNldCcgaXMgaW52YWxpZCAKIEZBSUwgc3lu
dGF4Oic8bGVuZ3RoPnxpbml0aWFsJywgaW5pdGlhbFZhbHVlOicxMHB4JyBpcyBpbnZhbGlkIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTog
bmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTogaW5pdGlhbFZhbHVlLCBpbmhlcml0
czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwogRkFJTCBzeW50YXg6JzxsZW5ndGg+fElOSEVSSVQn
LCBpbml0aWFsVmFsdWU6JzEwcHgnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
IigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwg
aW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRo
cm93Ci1GQUlMIHN5bnRheDonPHBlcmNlbnRhZ2U+fHVuc0V0JywgaW5pdGlhbFZhbHVlOicyJScg
aXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJv
cGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxW
YWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKK1BBU1Mgc3ludGF4Oic8cGVy
Y2VudGFnZT58dW5zRXQnLCBpbml0aWFsVmFsdWU6JzIlJyBpcyBpbnZhbGlkIAogRkFJTCBzeW50
YXg6JyonLCBpbml0aWFsVmFsdWU6J2luaXRpYWwnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6
IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBk
aWQgbm90IHRocm93CiBGQUlMIHN5bnRheDonKicsIGluaXRpYWxWYWx1ZTonaW5oZXJpdCcgaXMg
aW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVy
dHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1
ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKIEZBSUwgc3ludGF4OicqJywgaW5p
dGlhbFZhbHVlOid1bnNldCcgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkg
PT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0
aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cK
QEAgLTEwMywyNCArMTA4LDI2IEBAIEZBSUwgc3ludGF4OicqJywgaW5pdGlhbFZhbHVlOid2YXIo
LS1mb28pJyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoCiBQQVNTIHN5bnRh
eDonYmFuYW5hJywgaW5pdGlhbFZhbHVlOidiQW5BbkEnIGlzIGludmFsaWQgCiBQQVNTIHN5bnRh
eDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6J3ZhcigtLW1vbyknIGlzIGludmFsaWQgCiBQQVNT
IHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6JzEwJyBpcyBpbnZhbGlkIAotRkFJTCBz
eW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOicxMCUnIGlzIGludmFsaWQgYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBz
eW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxz
ZX0pIiBkaWQgbm90IHRocm93Ci1GQUlMIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6
J2NhbGMoNXB4ICsgMTAlKScgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkg
PT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0
aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cK
K1BBU1Mgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonMTAlJyBpcyBpbnZhbGlkIAor
UEFTUyBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOidjYWxjKDVweCArIDEwJSknIGlz
IGludmFsaWQgCiBQQVNTIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6J2NhbGMoNXB4
ICogM3B4IC8gNnB4KScgaXMgaW52YWxpZCAKLUZBSUwgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRp
YWxWYWx1ZTonMTBlbScgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4g
Q1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFs
VmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKK1BB
U1Mgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonMTBlbScgaXMgaW52YWxpZCAKIEZB
SUwgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonMTB2bWluJyBpcyBpbnZhbGlkIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTog
bmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTogaW5pdGlhbFZhbHVlLCBpbmhlcml0
czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwotRkFJTCBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlh
bFZhbHVlOidjYWxjKDRweCArIDNlbSknIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRh
eCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90
IHRocm93Ci1GQUlMIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6J2NhbGMoNHB4ICsg
Y2FsYyg4ICogMmVtKSknIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+
IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlh
bFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93Ci1G
QUlMIHN5bnRheDonPGxlbmd0aD4rJywgaW5pdGlhbFZhbHVlOidjYWxjKDJleCArIDE2cHgpJyBp
cyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVnaXN0ZXJQcm9w
ZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTogaW5pdGlhbFZh
bHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdworUEFTUyBzeW50YXg6JzxsZW5n
dGg+JywgaW5pdGlhbFZhbHVlOidjYWxjKDRweCArIDNlbSknIGlzIGludmFsaWQgCitQQVNTIHN5
bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6J2NhbGMoNHB4ICsgY2FsYyg4ICogMmVtKSkn
IGlzIGludmFsaWQgCitQQVNTIHN5bnRheDonPGxlbmd0aD4rJywgaW5pdGlhbFZhbHVlOidjYWxj
KDJleCArIDE2cHgpJyBpcyBpbnZhbGlkIAogUEFTUyBzeW50YXg6JzxsZW5ndGg+KycsIGluaXRp
YWxWYWx1ZTonMTBweCBjYWxjKDIwcHggKyA0cmVtKScgaXMgaW52YWxpZCAKK0ZBSUwgc3ludGF4
Oic8bGVuZ3RoPisnLCBpbml0aWFsVmFsdWU6JycgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDog
c3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRp
ZCBub3QgdGhyb3cKK0ZBSUwgc3ludGF4Oic8bGVuZ3RoPiMnLCBpbml0aWFsVmFsdWU6JycgaXMg
aW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVy
dHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1
ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKIFBBU1Mgc3ludGF4Oic8cGVyY2Vu
dGFnZT4gfCA8bGVuZ3RoPisnLCBpbml0aWFsVmFsdWU6J2NhbGMoMTAwdmggLSAxMHB4KSAzMHB4
JyBpcyBpbnZhbGlkIAogUEFTUyBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOicxMHB4
OycgaXMgaW52YWxpZCAKLUZBSUwgc3ludGF4Oic8bGVuZ3RoLXBlcmNlbnRhZ2U+JywgaW5pdGlh
bFZhbHVlOidjYWxjKDJweCArIDEwJSArIDdleCknIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6
IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBk
aWQgbm90IHRocm93CitQQVNTIHN5bnRheDonPGxlbmd0aC1wZXJjZW50YWdlPicsIGluaXRpYWxW
YWx1ZTonY2FsYygycHggKyAxMCUgKyA3ZXgpJyBpcyBpbnZhbGlkIAogRkFJTCBzeW50YXg6Jzxw
ZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonMCcgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDog
c3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRp
ZCBub3QgdGhyb3cKIFBBU1Mgc3ludGF4Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFsdWU6JzEuMCcg
aXMgaW52YWxpZCAKIFBBU1Mgc3ludGF4Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFsdWU6JzFlMCcg
aXMgaW52YWxpZCAKIFBBU1Mgc3ludGF4Oic8bnVtYmVyPnxmb28nLCBpbml0aWFsVmFsdWU6J2Zv
byB2YXIoLS1mb28sIGJsYSknIGlzIGludmFsaWQgCiBGQUlMIHN5bnRheDonPGFuZ2xlPicsIGlu
aXRpYWxWYWx1ZTonMCcgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4g
Q1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBpbml0aWFs
VmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhyb3cKLUZB
SUwgc3ludGF4Oic8YW5nbGU+JywgaW5pdGlhbFZhbHVlOicxMCUnIGlzIGludmFsaWQgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1l
LCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBm
YWxzZX0pIiBkaWQgbm90IHRocm93CitQQVNTIHN5bnRheDonPGFuZ2xlPicsIGluaXRpYWxWYWx1
ZTonMTAlJyBpcyBpbnZhbGlkIAogRkFJTCBzeW50YXg6Jzx0aW1lPicsIGluaXRpYWxWYWx1ZTon
MnB4JyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVnaXN0
ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTogaW5p
dGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwogUEFTUyBzeW50YXg6
JzxyZXNvbHV0aW9uPicsIGluaXRpYWxWYWx1ZTonMTAnIGlzIGludmFsaWQgCiBQQVNTIHN5bnRh
eDonPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCBpbml0aWFsVmFsdWU6J3NjYWxlKCknIGlzIGludmFs
aWQgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRh
eC1wYXJzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRh
eC1wYXJzaW5nLmh0bWwKaW5kZXggMTVhNGFiNjA0MGVlMjQzOGMwNzI4MmE0ZGUxZTliZWRiMmM4
NjcxMi4uNGNlNTE0ZjAxYzg3OTE3ZDJlNWFhYzRkNDAyMTc2YmE4OGRhZjVhMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBy
b3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHktc3ludGF4LXBhcnNpbmcu
aHRtbApAQCAtNDYsNiArNDYsNyBAQCBhc3NlcnRfdmFsaWQoIjxsZW5ndGg+IiwgImNhbGMoMnB4
KjQgKyAxMHB4KSIpOwogYXNzZXJ0X3ZhbGlkKCI8bGVuZ3RoPiIsICI3LjFlLTRjbSIpOwogYXNz
ZXJ0X3ZhbGlkKCI8bGVuZ3RoPiIsICJjYWxjKDdpbiAtIDEycHgpIik7CiBhc3NlcnRfdmFsaWQo
IjxsZW5ndGg+KyIsICIycHggN3B4IGNhbGMoOHB4KSIpOworYXNzZXJ0X3ZhbGlkKCI8bGVuZ3Ro
PiMiLCAiMnB4LCA3cHgsIGNhbGMoOHB4KSIpOwogYXNzZXJ0X3ZhbGlkKCI8cGVyY2VudGFnZT4i
LCAiLTkuM2UzJSIpOwogYXNzZXJ0X3ZhbGlkKCI8bGVuZ3RoLXBlcmNlbnRhZ2U+IiwgIi01NCUi
KTsKIGFzc2VydF92YWxpZCgiPGxlbmd0aC1wZXJjZW50YWdlPiIsICIwIik7CkBAIC01NSw2ICs1
NiwxMCBAQCBhc3NlcnRfdmFsaWQoIjxudW1iZXI+IiwgIi0xMDkiKTsKIGFzc2VydF92YWxpZCgi
PG51bWJlcj4iLCAiMi4zZTQiKTsKIGFzc2VydF92YWxpZCgiPGludGVnZXI+IiwgIi0xMDkiKTsK
IGFzc2VydF92YWxpZCgiPGludGVnZXI+IiwgIjE5Iik7Cithc3NlcnRfdmFsaWQoIjxpbnRlZ2Vy
PiIsICJjYWxjKDEpIik7Cithc3NlcnRfdmFsaWQoIjxpbnRlZ2VyPiIsICJjYWxjKDEgKyAyKSIp
OworYXNzZXJ0X3ZhbGlkKCI8aW50ZWdlcj4iLCAiY2FsYygzLjE0MTUpIik7Cithc3NlcnRfdmFs
aWQoIjxpbnRlZ2VyPiIsICJjYWxjKDMuMTQxNSArIDMuMTQxNSkiKTsKIAogYXNzZXJ0X3ZhbGlk
KCI8YW5nbGU+IiwgIjEwZGVnIik7CiBhc3NlcnRfdmFsaWQoIjxhbmdsZT4iLCAiMjAuNXJhZCIp
OwpAQCAtMTQ3LDYgKzE1Miw4IEBAIGFzc2VydF9pbnZhbGlkKCI8bGVuZ3RoPiIsICJjYWxjKDRw
eCArIDNlbSkiKTsKIGFzc2VydF9pbnZhbGlkKCI8bGVuZ3RoPiIsICJjYWxjKDRweCArIGNhbGMo
OCAqIDJlbSkpIik7CiBhc3NlcnRfaW52YWxpZCgiPGxlbmd0aD4rIiwgImNhbGMoMmV4ICsgMTZw
eCkiKTsKIGFzc2VydF9pbnZhbGlkKCI8bGVuZ3RoPisiLCAiMTBweCBjYWxjKDIwcHggKyA0cmVt
KSIpOworYXNzZXJ0X2ludmFsaWQoIjxsZW5ndGg+KyIsICIiKTsKK2Fzc2VydF9pbnZhbGlkKCI8
bGVuZ3RoPiMiLCAiIik7CiBhc3NlcnRfaW52YWxpZCgiPHBlcmNlbnRhZ2U+IHwgPGxlbmd0aD4r
IiwgImNhbGMoMTAwdmggLSAxMHB4KSAzMHB4Iik7CiBhc3NlcnRfaW52YWxpZCgiPGxlbmd0aD4i
LCAiMTBweDsiKTsKIGFzc2VydF9pbnZhbGlkKCI8bGVuZ3RoLXBlcmNlbnRhZ2U+IiwgImNhbGMo
MnB4ICsgMTAlICsgN2V4KSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rl
ci1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS5odG1s
CmluZGV4IDYyYWQyMzYyMmJkNGRkYzJlOGQ1MzRlYzcyMDcyZjVlNWZlOWYzMzQuLjU4NDJiODNi
MGE0ODcxNWYxMmVmZmE2MjEyY2MwY2NjYmQ4OTA4NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvcmVnaXN0ZXItcHJvcGVydHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lz
dGVyLXByb3BlcnR5Lmh0bWwKQEAgLTIsNiArMiw4IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBp
LyNyZWdpc3Rlci1hLWN1c3RvbS1wcm9wZXJ0eSIgLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPXRhcmdldD48L2Rpdj4KIDxzY3JpcHQ+CiAvLyBUZXN0
cyBmb3IgZXJyb3IgY2hlY2tpbmcgZHVyaW5nIHByb3BlcnR5IHJlZ2lzdHJhdGlvbgogCkBAIC00
NSw0ICs0NywyOSBAQCB0ZXN0KGZ1bmN0aW9uKCl7CiAgICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHko
e25hbWU6ICctLWluaGVyaXQtdGVzdC0yJywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFs
dWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IoKSwgKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWluaGVyaXQtdGVz
dC0zJywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgnfSkpOwogfSwgInJl
Z2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgaW5oZXJpdHMiKTsKKwordGVzdChmdW5jdGlvbigpewor
ICAgIHRyeSB7CisgICAgICAgIGxldCBuYW1lID0gZ2VuZXJhdGVfbmFtZSgpOworCisgICAgICAg
IHRhcmdldC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCAnZ3JlZW4nKTsKKyAgICAgICAgdGFyZ2V0
LnN0eWxlLnRyYW5zaXRpb25Qcm9wZXJ0eSA9IG5hbWU7CisgICAgICAgIHRhcmdldC5zdHlsZS50
cmFuc2l0aW9uRHVyYXRpb24gPSAnMXMnOworICAgICAgICB0YXJnZXQuc3R5bGUudHJhbnNpdGlv
blRpbWluZ0Z1bmN0aW9uID0gJ3N0ZXBzKDEsIGVuZCknOworCisgICAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUobmFtZSksICdncmVl
bicpOworCisgICAgICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHsKKyAgICAgICAgICAgIG5hbWU6
IG5hbWUsCisgICAgICAgICAgICBzeW50YXg6ICc8Y29sb3I+JywKKyAgICAgICAgICAgIGluaXRp
YWxWYWx1ZTogJ3JlZCcsCisgICAgICAgICAgICBpbmhlcml0czogZmFsc2UKKyAgICAgICAgfSk7
CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldCkuZ2V0UHJv
cGVydHlWYWx1ZShuYW1lKSwgJ3JnYigwLCAxMjgsIDApJyk7CisgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgdGFyZ2V0LnN0eWxlID0gJyc7CisgICAgfQorfSwgJ1JlZ2lzdGVyaW5nIGEgcHJvcGVy
dHkgc2hvdWxkIG5vdCBjYXVzZSBhIHRyYW5zaXRpb24nKTsKKwogPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggNTY1NGU4MmM2YTgyYTRjMmUyOWNiMWYzNTYwNDEy
MjVkMjExZTIzYS4uZDIyMzRmMDg2MjJhZDcxZGNhMTk5YjVlMTlmMTk3NjgxZWJkYTM4OSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnRpZXMtaW5oZXJpdGFu
Y2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0
aWVzLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtNCw0ICs0LDYgQEAgUEFTUyBFeHBsaWNp
dGx5IGluaGVyaXRpbmcgZnJvbSBhIHBhcmVudCB3aXRoIGFuIGludmFsaWQgdmFsdWUgcmVzdWx0
cyBpbiBpbml0aWEKIFBBU1MgRXhwbGljaXRseSBpbmhlcml0aW5nIGZyb20gYSBwYXJlbnQgd2l0
aCBubyB2YWx1ZSByZXN1bHRzIGluIGluaXRpYWwgdmFsdWUuIAogUEFTUyBSZWZlcmVuY2UgdG8g
dW5kZWZpbmVkIHZhcmlhYmxlIHJlc3VsdHMgaW4gaW5oZXJpdGVkIHZhbHVlIAogUEFTUyBSZWZl
cmVuY2UgdG8gc3ludGF4LWluY29tcGF0aWJsZSB2YXJpYWJsZSByZXN1bHRzIGluIGluaGVyaXRl
ZCB2YWx1ZSAKK1BBU1MgRm9udC1yZWxhdGl2ZSB1bml0cyBhcmUgYWJzb2x1dGl6ZWQgYmVmb3Jl
IGJlZm9yZSBpbmhlcml0YW5jZSAKK1BBU1MgQ2FsYyBleHByZXNzaW9ucyBhcmUgcmVzb2x2ZWQg
YmVmb3JlIGluaGVyaXRhbmNlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lz
dGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdp
c3RlcmVkLXByb3BlcnRpZXMtaW5oZXJpdGFuY2UuaHRtbAppbmRleCA4ZjllYWZlZTE5ZTVjMjUw
MDgxMWYwNTcyMzkwMjgwOGEyNzc2MGRmLi42MTRhNzJhNzk3YmM5MWE3Njc0MmVmYzk5MGUwNzY2
OWJlZTg3YzExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVy
dGllcy1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1w
cm9wZXJ0aWVzLWluaGVyaXRhbmNlLmh0bWwKQEAgLTcyLDQgKzcyLDE4IEBAIHRlc3QoZnVuY3Rp
b24oKXsKICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaW5uZXIpLmdldFByb3Bl
cnR5VmFsdWUoJy0taW5oZXJpdGVkLWxlbmd0aC01JyksICc0MnB4Jyk7CiB9LCAiUmVmZXJlbmNl
IHRvIHN5bnRheC1pbmNvbXBhdGlibGUgdmFyaWFibGUgcmVzdWx0cyBpbiBpbmhlcml0ZWQgdmFs
dWUiKTsKIAordGVzdChmdW5jdGlvbigpeworICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1l
OiAnLS1pbmhlcml0ZWQtZW0nLCBzeW50YXg6ICc8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJzBw
eCcsIGluaGVyaXRzOiB0cnVlfSk7CisgICAgb3V0ZXIuc3R5bGUgPSAnZm9udC1zaXplOiAxMXB4
OyAtLWluaGVyaXRlZC1lbTogMTBlbTsnOworICAgIGlubmVyLnN0eWxlID0gJ2ZvbnQtc2l6ZTog
MjJweDsgLS11bnJlZ2lzdGVyZWQ6dmFyKC0taW5oZXJpdGVkLWVtKTsnOworICAgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShpbm5lcikuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lz
dGVyZWQnKSwgJzExMHB4Jyk7Cit9LCAiRm9udC1yZWxhdGl2ZSB1bml0cyBhcmUgYWJzb2x1dGl6
ZWQgYmVmb3JlIGJlZm9yZSBpbmhlcml0YW5jZSIpOworCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAg
Q1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWNhbGMtbGVuZ3RoJywgc3ludGF4OiAnPGxl
bmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogdHJ1ZX0pOworICAgIG91dGVy
LnN0eWxlID0gJy0tY2FsYy1sZW5ndGg6IGNhbGMoMTBweCArIDEwcHgpOyc7CisgICAgaW5uZXIu
c3R5bGUgPSAnLS11bnJlZ2lzdGVyZWQ6dmFyKC0tY2FsYy1sZW5ndGgpOyc7CisgICAgYXNzZXJ0
X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGlubmVyKS5nZXRQcm9wZXJ0eVZhbHVlKCctLXVucmVn
aXN0ZXJlZCcpLCAnMjBweCcpOworfSwgIkNhbGMgZXhwcmVzc2lvbnMgYXJlIHJlc29sdmVkIGJl
Zm9yZSBpbmhlcml0YW5jZSIpOworCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jb21wdXRhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktY29tcHV0YXRpb24tZXhwZWN0ZWQudHh0
CmluZGV4IDQyNmU5NmU0ZjBhMmMyYzZmODY3YmYzMGRmZWQ4OTVmYWI3Mjg3ODguLjFiZjdlYjZi
OWQ3MDMyYjVmYThhNjlmNThhNWI1ZTUwMjJlMjcyMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jb21wdXRhdGlvbi1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3Bl
cnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMSwxNyArMSw1NyBAQAogCi1GQUlMIENTUy5yZWdpc3RlclByb3BlcnR5IFRoZSBn
aXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4Lgot
UEFTUyA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2V2l0aEZv
bnRTaXplU2V0IAotRkFJTCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IHZhbHVlcyBhcmUgY29tcHV0ZWQg
Y29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVTZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
ImNhbGMoMTkwcHggKyAtMiUpIiBidXQgZ290ICJjYWxjKDE5MHB4IC0gMiUpIgotRkFJTCA8bGVu
Z3RoPiMgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZVNl
dCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTBweCwgMzBweCIgYnV0IGdvdCAiMHB4IgotRkFJ
TCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3Ig
ZGl2V2l0aEZvbnRTaXplU2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIzJSwgODBweCwgMjJw
eCIgYnV0IGdvdCAiMHB4IgotRkFJTCA8bGVuZ3RoPisgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3Jy
ZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZVNldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTBw
eCAzMHB4IiBidXQgZ290ICIwcHgiCi1GQUlMIDxsZW5ndGgtcGVyY2VudGFnZT4rIHZhbHVlcyBh
cmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVTZXQgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIjMlIDgwcHggMjJweCIgYnV0IGdvdCAiMHB4IgotRkFJTCA8dHJhbnNmb3Jt
LWZ1bmN0aW9uPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRT
aXplU2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0cmFuc2xhdGVYKDJweCkiIGJ1dCBnb3Qg
IiB0cmFuc2xhdGVYKDJweCkiCi1QQVNTIDxsZW5ndGg+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29y
cmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVJbmhlcml0ZWQgCi1GQUlMIDxsZW5ndGgtcGVyY2Vu
dGFnZT4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZUlu
aGVyaXRlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYygxOTBweCArIC0yJSkiIGJ1dCBn
b3QgImNhbGMoMTkwcHggLSAyJSkiCi1GQUlMIDxsZW5ndGg+IyB2YWx1ZXMgYXJlIGNvbXB1dGVk
IGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRTaXplSW5oZXJpdGVkIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICIxMHB4LCAzMHB4IiBidXQgZ290ICIwcHgiCi1GQUlMIDxsZW5ndGgtcGVyY2VudGFn
ZT4jIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVJbmhl
cml0ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjMlLCA4MHB4LCAyMnB4IiBidXQgZ290ICIw
cHgiCi1GQUlMIDxsZW5ndGg+KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2
V2l0aEZvbnRTaXplSW5oZXJpdGVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxMHB4IDMwcHgi
IGJ1dCBnb3QgIjBweCIKLUZBSUwgPGxlbmd0aC1wZXJjZW50YWdlPisgdmFsdWVzIGFyZSBjb21w
dXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZUluaGVyaXRlZCBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiMyUgODBweCAyMnB4IiBidXQgZ290ICIwcHgiCi1GQUlMIDx0cmFuc2Zvcm0t
ZnVuY3Rpb24+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNp
emVJbmhlcml0ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRyYW5zbGF0ZVgoMnB4KSIgYnV0
IGdvdCAiIHRyYW5zbGF0ZVgoMnB4KSIKK1BBU1MgPGxlbmd0aD4gdmFsdWVzIGNvbXB1dGVkIGFy
ZSBjb3JyZWN0bHkgdmlhIHZhcigpLXJlZmVyZW5jZSAKK1BBU1MgPGxlbmd0aD4gdmFsdWVzIGNv
bXB1dGVkIGFyZSBjb3JyZWN0bHkgdmlhIHZhcigpLXJlZmVyZW5jZSB3aGVuIGZvbnQtc2l6ZSBp
cyBpbmhlcml0ZWQgCitQQVNTIDxsZW5ndGg+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5
IHdoZW4gZm9udC1zaXplIGlzIGluaGVyaXRlZCBbMTRlbV0gCitQQVNTIDxsZW5ndGg+IHZhbHVl
cyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IHdoZW4gZm9udC1zaXplIGlzIGluaGVyaXRlZCBbY2Fs
YygxNGVtICsgMTBweCldIAorUEFTUyA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJl
Y3RseSBbMTJweF0gCitQQVNTIDxsZW5ndGg+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5
IFsxM3Z3XSAKK1BBU1MgPGxlbmd0aD4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzE0
ZW1dIAorUEFTUyA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMTV2bWlu
XSAKK1BBU1MgPGxlbmd0aD4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW2NhbGMoMTZw
eCAtIDdlbSArIDEwdmgpXSAKK1BBU1MgPGxlbmd0aC1wZXJjZW50YWdlPiB2YWx1ZXMgYXJlIGNv
bXB1dGVkIGNvcnJlY3RseSBbMTdlbV0gCitGQUlMIDxsZW5ndGgtcGVyY2VudGFnZT4gdmFsdWVz
IGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzE4JV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE4
JSIgYnV0IGdvdCAiMHB4IgorRkFJTCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IHZhbHVlcyBhcmUgY29t
cHV0ZWQgY29ycmVjdGx5IFtjYWxjKDE5ZW0gLSAyJSldIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJjYWxjKC0yJSArIDE5MHB4KSIgYnV0IGdvdCAiMHB4IgorRkFJTCA8bGVuZ3RoPiMgdmFsdWVz
IGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzEwcHgsIDNlbV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIjEwcHgsIDMwcHgiIGJ1dCBnb3QgIjBweCIKK0ZBSUwgPGxlbmd0aD4jIHZhbHVlcyBhcmUg
Y29tcHV0ZWQgY29ycmVjdGx5IFs0ZW0gLDlweF0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjQw
cHgsIDlweCIgYnV0IGdvdCAiMHB4IgorUEFTUyA8bGVuZ3RoPiMgdmFsdWVzIGFyZSBjb21wdXRl
ZCBjb3JyZWN0bHkgWzhlbV0gCitGQUlMIDxsZW5ndGgtcGVyY2VudGFnZT4jIHZhbHVlcyBhcmUg
Y29tcHV0ZWQgY29ycmVjdGx5IFszJSAsIDEwdm1heCAgLCAyMnB4XSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiMyUsIDgwcHgsIDIycHgiIGJ1dCBnb3QgIjBweCIKK0ZBSUwgPGxlbmd0aC1wZXJj
ZW50YWdlPiMgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW2NhbGMoNTAlICsgMWVtKSwg
NHB4XSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYyg1MCUgKyAxMHB4KSwgNHB4IiBidXQg
Z290ICIwcHgiCitGQUlMIDxsZW5ndGgtcGVyY2VudGFnZT4jIHZhbHVlcyBhcmUgY29tcHV0ZWQg
Y29ycmVjdGx5IFtjYWxjKDEzJSArIDM3cHgpXSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2Fs
YygxMyUgKyAzN3B4KSIgYnV0IGdvdCAiMHB4IgorRkFJTCA8bGVuZ3RoPisgdmFsdWVzIGFyZSBj
b21wdXRlZCBjb3JyZWN0bHkgWzEwcHggM2VtXSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTBw
eCAzMHB4IiBidXQgZ290ICIwcHgiCitGQUlMIDxsZW5ndGg+KyB2YWx1ZXMgYXJlIGNvbXB1dGVk
IGNvcnJlY3RseSBbNGVtIDlweF0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjQwcHggOXB4IiBi
dXQgZ290ICIwcHgiCitGQUlMIDxsZW5ndGgtcGVyY2VudGFnZT4rIHZhbHVlcyBhcmUgY29tcHV0
ZWQgY29ycmVjdGx5IFszJSAxMHZtYXggMjJweF0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjMl
IDgwcHggMjJweCIgYnV0IGdvdCAiMHB4IgorRkFJTCA8bGVuZ3RoLXBlcmNlbnRhZ2U+KyB2YWx1
ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYyg1MCUgKyAxZW0pIDRweF0gYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImNhbGMoNTAlICsgMTBweCkgNHB4IiBidXQgZ290ICIwcHgiCitGQUlM
IDx0cmFuc2Zvcm0tZnVuY3Rpb24+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFt0cmFu
c2xhdGVYKDJweCldIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0
aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8dHJhbnNmb3JtLWZ1bmN0aW9uPiB2YWx1ZXMgYXJlIGNv
bXB1dGVkIGNvcnJlY3RseSBbdHJhbnNsYXRlWCgxMGVtKV0gVGhlIGdpdmVuIGluaXRpYWwgdmFs
dWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDx0cmFuc2Zvcm0t
ZnVuY3Rpb24+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFt0cmFuc2xhdGVYKGNhbGMo
MTFlbSArIDEwJSkpXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3Ig
dGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPHRyYW5zZm9ybS1mdW5jdGlvbj4rIHZhbHVlcyBhcmUg
Y29tcHV0ZWQgY29ycmVjdGx5IFt0cmFuc2xhdGVYKDEwJSkgc2NhbGUoMildIFRoZSBnaXZlbiBp
bml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8
aW50ZWdlcj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzE1XSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiMTUiIGJ1dCBnb3QgIjBweCIKK0ZBSUwgPGludGVnZXI+IHZhbHVlcyBhcmUg
Y29tcHV0ZWQgY29ycmVjdGx5IFtjYWxjKDE1ICsgMTUpXSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiMzAiIGJ1dCBnb3QgIjBweCIKK0ZBSUwgPGludGVnZXI+IHZhbHVlcyBhcmUgY29tcHV0ZWQg
Y29ycmVjdGx5IFtjYWxjKDIuNCldIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIyIiBidXQgZ290
ICIwcHgiCitGQUlMIDxpbnRlZ2VyPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2Fs
YygyLjYpXSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMyIgYnV0IGdvdCAiMHB4IgorRkFJTCA8
aW50ZWdlcj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW2NhbGMoMi42ICsgMy4xKV0g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjYiIGJ1dCBnb3QgIjBweCIKK0ZBSUwgPGludGVnZXI+
KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMTUgY2FsYygyLjQpIGNhbGMoMi42KV0g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE1IDIgMyIgYnV0IGdvdCAiMHB4IgorRkFJTCA8Y29s
b3I+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFsjZmYwMDAwXSBUaGUgZ2l2ZW4gaW5p
dGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPGNv
bG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbIzAwMGYwMF0gVGhlIGdpdmVuIGlu
aXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDxj
b2xvcj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWyMwMDAwMGFdIFRoZSBnaXZlbiBp
bml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8
Y29sb3I+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFsjYmFkYmVlXSBUaGUgZ2l2ZW4g
aW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwg
PGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbI2JhZGJlZTMzXSBUaGUgZ2l2
ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZB
SUwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbdG9tYXRvXSBUaGUgZ2l2
ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZB
SUwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbcGx1bV0gVGhlIGdpdmVu
IGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlM
IDxjb2xvcj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW2N1cnJlbnRjb2xvcl0gVGhl
IGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXgu
CitQQVNTICogdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW3RvbWF0b10gCitGQUlMIHRv
bWF0byB8IHBsdW0gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW3BsdW1dIFRoZSBnaXZl
biBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJ
TCB0b21hdG8gfCBwbHVtIHwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBb
cGx1bV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZl
biBzeW50YXguCitQQVNTICogdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWy01MGdyYWRd
IAorRkFJTCA8YW5nbGU+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFsxODBkZWddIFRo
ZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4
LgorRkFJTCA8YW5nbGU+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFs0MDBncmFkXSBU
aGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRh
eC4KK0ZBSUwgPGFuZ2xlPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYygzNjBk
ZWcgKyA0MDBncmFkKV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9y
IHRoZSBnaXZlbiBzeW50YXguCitQQVNTICogdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkg
WzUwc10gCitGQUlMIDx0aW1lPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMXNdIFRo
ZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4
LgorRkFJTCA8dGltZT4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzEwMDBtc10gVGhl
IGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXgu
CitGQUlMIDx0aW1lPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYygxMDAwbXMg
KyAxcyldIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2
ZW4gc3ludGF4LgorUEFTUyAqIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFs1MGRwaV0g
CitGQUlMIDxyZXNvbHV0aW9uPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMWRwcHhd
IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3lu
dGF4LgorRkFJTCA8cmVzb2x1dGlvbj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzk2
ZHBpXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVu
IHN5bnRheC4KK0ZBSUwgPHJlc29sdXRpb24+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5
IFtjYWxjKDFkcHB4ICsgOTZkcGkpXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBw
YXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBp
L3JlZ2lzdGVyZWQtcHJvcGVydHktY29tcHV0YXRpb24uaHRtbAppbmRleCAzMGQ2YjRiZDYwOWJm
MDFmMWJiMTBhNDg1YmFhNzg3ZjIyYjYzNWRjLi5iMWU1ZDIzNzM4YjlkZGExZWEyODBkZmQzMjFi
YzViMjgzOGI1MTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJv
cGVydHktY29tcHV0YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQt
cHJvcGVydHktY29tcHV0YXRpb24uaHRtbApAQCAtMSwxMTcgKzEsMTY0IEBACi08IURPQ1RZUEUg
SFRNTD4KKzwhRE9DVFlQRSBodG1sPgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2Ry
YWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS8jY2FsY3VsYXRp
b24tb2YtY29tcHV0ZWQtdmFsdWVzIiAvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWxzLmpzIj48
L3NjcmlwdD4KIAogPHN0eWxlPgogI2RpdldpdGhGb250U2l6ZVNldCwgI3BhcmVudERpdiB7CiAg
ICAgZm9udC1zaXplOiAxMHB4OwogfQotI2RpdldpdGhGb250U2l6ZVNldCwgI2RpdldpdGhGb250
U2l6ZUluaGVyaXRlZCB7Ci0gICAgLS1sZW5ndGgtMTogMTJweDsKLSAgICAtLWxlbmd0aC0yOiAx
M3Z3OwotICAgIC0tbGVuZ3RoLTM6IDE0ZW07Ci0gICAgLS1sZW5ndGgtNDogMTV2bWluOwotICAg
IC0tbGVuZ3RoLTU6IGNhbGMoMTZweCAtIDdlbSArIDEwdmgpOwotICAgIC0tbGVuZ3RoLTY6IHZh
cigtLWxlbmd0aC0zKTsKLSAgICAtLWxlbmd0aC1wZXJjZW50YWdlLTE6IDE3ZW07Ci0gICAgLS1s
ZW5ndGgtcGVyY2VudGFnZS0yOiAxOCU7Ci0gICAgLS1sZW5ndGgtcGVyY2VudGFnZS0zOiBjYWxj
KDE5ZW0gLSAyJSk7Ci0gICAgLS1jc3YtMTogMTBweCwgM2VtOwotICAgIC0tY3N2LTI6IDRlbSAs
OXB4OwotICAgIC0tY3N2LTM6IDhlbTsKLSAgICAtLWNzdi00OiAzJSAsIDEwdm1heCAgLCAyMnB4
OwotICAgIC0tY3N2LTU6IGNhbGMoNTAlICsgMWVtKSwgNHB4OwotICAgIC0tY3N2LTY6IGNhbGMo
MTMlICsgMzdweCk7Ci0gICAgLS1saXN0LTE6IDEwcHggM2VtOwotICAgIC0tbGlzdC0yOiA0ZW0g
OXB4OwotICAgIC0tbGlzdC0zOiAzJSAxMHZtYXggMjJweDsKLSAgICAtLWxpc3QtNDogY2FsYyg1
MCUgKyAxZW0pIDRweDsKLSAgICAtLXRyYW5zZm9ybS1mdW5jdGlvbi0xOiB0cmFuc2xhdGVYKDJw
eCk7Ci0gICAgLS10cmFuc2Zvcm0tZnVuY3Rpb24tMjogdHJhbnNsYXRlWCgxMGVtKTsKLSAgICAt
LXRyYW5zZm9ybS1mdW5jdGlvbi0zOiB0cmFuc2xhdGVYKGNhbGMoMTFlbSArIDEwJSkpOwotICAg
IC0tdHJhbnNmb3JtLWZ1bmN0aW9uLTQ6IHRyYW5zbGF0ZVgoMTAlKSBzY2FsZSgyKTsKLX0KIDwv
c3R5bGU+CiAKIDxkaXYgaWQ9ZGl2V2l0aEZvbnRTaXplU2V0PjwvZGl2PgogPGRpdiBpZD1wYXJl
bnREaXY+CiAgICAgPGRpdiBpZD1kaXZXaXRoRm9udFNpemVJbmhlcml0ZWQ+PC9kaXY+CiA8L2Rp
dj4KKzxkaXYgaWQ9InJlZiI+PC9kaXY+CiAKIDxzY3JpcHQ+Ci10ZXN0KCgpID0+IHsKLSAgICBD
U1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoLTEnLCBzeW50YXg6ICc8bGVuZ3Ro
PicsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdp
c3RlclByb3BlcnR5KHtuYW1lOiAnLS1sZW5ndGgtMicsIHN5bnRheDogJzxsZW5ndGg+JywgaW5p
dGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJv
cGVydHkoe25hbWU6ICctLWxlbmd0aC0zJywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFs
dWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7
bmFtZTogJy0tbGVuZ3RoLTQnLCBzeW50YXg6ICc8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJzBw
eCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAn
LS1sZW5ndGgtNScsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5o
ZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWxlbmd0
aC02Jywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czog
ZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoLXBlcmNl
bnRhZ2UtMScsIHN5bnRheDogJzxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6ICcw
cHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTog
Jy0tbGVuZ3RoLXBlcmNlbnRhZ2UtMicsIHN5bnRheDogJzxsZW5ndGgtcGVyY2VudGFnZT4nLCBp
bml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQ
cm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoLXBlcmNlbnRhZ2UtMycsIHN5bnRheDogJzxsZW5ndGgt
cGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAg
ICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tY3N2LTEnLCBzeW50YXg6ICc8bGVuZ3Ro
PiMnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVn
aXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tY3N2LTInLCBzeW50YXg6ICc8bGVuZ3RoPiMnLCBpbml0
aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9w
ZXJ0eSh7bmFtZTogJy0tY3N2LTMnLCBzeW50YXg6ICc8bGVuZ3RoPiMnLCBpbml0aWFsVmFsdWU6
ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFt
ZTogJy0tY3N2LTQnLCBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+IycsIGluaXRpYWxWYWx1
ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtu
YW1lOiAnLS1jc3YtNScsIHN5bnRheDogJzxsZW5ndGgtcGVyY2VudGFnZT4jJywgaW5pdGlhbFZh
bHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHko
e25hbWU6ICctLWNzdi02Jywgc3ludGF4OiAnPGxlbmd0aC1wZXJjZW50YWdlPiMnLCBpbml0aWFs
VmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0
eSh7bmFtZTogJy0tbGlzdC0xJywgc3ludGF4OiAnPGxlbmd0aD4rJywgaW5pdGlhbFZhbHVlOiAn
MHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6
ICctLWxpc3QtMicsIHN5bnRheDogJzxsZW5ndGg+KycsIGluaXRpYWxWYWx1ZTogJzBweCcsIGlu
aGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1saXN0
LTMnLCBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+KycsIGluaXRpYWxWYWx1ZTogJzBweCcs
IGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1s
aXN0LTQnLCBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+KycsIGluaXRpYWxWYWx1ZTogJzBw
eCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAn
LS10cmFuc2Zvcm0tZnVuY3Rpb24tMScsIHN5bnRheDogJzx0cmFuc2Zvcm0tZnVuY3Rpb24+Jywg
aW5pdGlhbFZhbHVlOiAndHJhbnNsYXRlWCgwcHgpJywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAg
Q1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLXRyYW5zZm9ybS1mdW5jdGlvbi0yJywgc3lu
dGF4OiAnPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCBpbml0aWFsVmFsdWU6ICd0cmFuc2xhdGVYKDBw
eCknLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTog
Jy0tdHJhbnNmb3JtLWZ1bmN0aW9uLTMnLCBzeW50YXg6ICc8dHJhbnNmb3JtLWZ1bmN0aW9uPics
IGluaXRpYWxWYWx1ZTogJ3RyYW5zbGF0ZVgoMHB4KScsIGluaGVyaXRzOiBmYWxzZX0pOwotICAg
IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS10cmFuc2Zvcm0tZnVuY3Rpb24tNCcsIHN5
bnRheDogJzx0cmFuc2Zvcm0tZnVuY3Rpb24+KycsIGluaXRpYWxWYWx1ZTogJ3RyYW5zbGF0ZVgo
MHB4KScsIGluaGVyaXRzOiBmYWxzZX0pOwotfSwgIkNTUy5yZWdpc3RlclByb3BlcnR5Iik7Ci0K
LWZvciAodmFyIGVsZW1lbnQgb2YgW2RpdldpdGhGb250U2l6ZVNldCwgZGl2V2l0aEZvbnRTaXpl
SW5oZXJpdGVkXSkgewotICAgIHZhciBpZCA9IGVsZW1lbnQuaWQ7Ci0gICAgdmFyIGNvbXB1dGVk
U3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpOwogCi0gICAgdGVzdChmdW5jdGlvbigp
IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUo
Jy0tbGVuZ3RoLTEnKSwgJzEycHgnKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0
eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTInKSwgJzEwNHB4Jyk7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC0zJyks
ICcxNDBweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgnLS1sZW5ndGgtNCcpLCAnOTBweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtNScpLCAnNnB4Jyk7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0
aC02JyksICcxNDBweCcpOwotICAgIH0sICI8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNv
cnJlY3RseSBmb3IgIiArIGlkKTsKKy8vIEdlbmVyYXRlIGEgcHJvcGVydHkgYW5kIHRlbXBvcmFy
aWx5IHNldCBpdHMgdmFsdWUuIFRoZW4gY2FsbCAnZm4nIHdpdGgKKy8vIHRoZSBuYW1lIG9mIHRo
ZSBnZW5lcmF0ZWQgcHJvcGVydHkuCitmdW5jdGlvbiB3aXRoX2N1c3RvbV9wcm9wZXJ0eShlbGVt
ZW50LCByZWcsIHZhbHVlLCBmbikgeworICAgIGlmIChlbGVtZW50LmlkLmxlbmd0aCA9PSAwKQor
ICAgICAgICB0aHJvdyAnVGhlIHNwZWNpZmllZCBlbGVtZW50IG11c3QgaGF2ZSBhbiBJRCc7CiAK
LSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtcGVyY2VudGFnZS0xJyksICcxNzBweCcpOwot
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1s
ZW5ndGgtcGVyY2VudGFnZS0yJyksICcxOCUnKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLXBlcmNlbnRhZ2UtMycpLCAnY2Fs
YygxOTBweCArIC0yJSknKTsKLSAgICB9LCAiPGxlbmd0aC1wZXJjZW50YWdlPiB2YWx1ZXMgYXJl
IGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgIiArIGlkKTsKKyAgICBsZXQgbmFtZSA9IGdlbmVyYXRl
X3Byb3BlcnR5KHJlZyk7CiAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jc3YtMScpLCAnMTBweCwg
MzBweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnLS1jc3YtMicpLCAnNDBweCwgOXB4Jyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNzdi0zJyksICc4MHB4Jyk7Ci0gICAgfSwg
IjxsZW5ndGg+IyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgIiArIGlkKTsKKyAg
ICAvLyBCZWNhdXNlIHdlIHdhbnQgdG8gaW5jbHVkZSB0aGUgcGFyc2luZyBzdGVwLCBpbnNlcnQg
YSBzdHlsZXNoZWV0CisgICAgLy8gbm9kZSB3aXRoIHRleHRDb250ZW50LgorICAgIGxldCBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgICBub2RlLnRleHRDb250ZW50
ID0gYCMke2VsZW1lbnQuaWR9IHsgJHtuYW1lfToke3ZhbHVlfTsgfWA7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmQobm9kZSk7CiAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAgICAgICBhc3Nl
cnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jc3YtNCcpLCAnMyUs
IDgwcHgsIDIycHgnKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5VmFsdWUoJy0tY3N2LTUnKSwgJ2NhbGMoMTBweCArIDUwJSksIDRweCcpOwotICAgICAg
ICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jc3YtNicp
LCAnY2FsYygzN3B4ICsgMTMlKScpOwotICAgIH0sICI8bGVuZ3RoLXBlcmNlbnRhZ2U+IyB2YWx1
ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgIiArIGlkKTsKKyAgICB0cnkgeworICAgICAg
ICBmbihuYW1lKTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgICBub2RlLnJlbW92ZSgpOworICAg
IH0KK30KIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxpc3QtMScpLCAnMTBweCAzMHB4Jyk7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxp
c3QtMicpLCAnNDBweCA5cHgnKTsKLSAgICB9LCAiPGxlbmd0aD4rIHZhbHVlcyBhcmUgY29tcHV0
ZWQgY29ycmVjdGx5IGZvciAiICsgaWQpOworZnVuY3Rpb24gYXNzZXJ0X2NvbXB1dGVkX3ZhbHVl
KGVsZW1lbnQsIHN5bnRheCwgdmFsdWUsIGV4cGVjdGVkKSB7CisgICAgd2l0aF9jdXN0b21fcHJv
cGVydHkoZWxlbWVudCwgc3ludGF4LCB2YWx1ZSwgKG5hbWUpID0+IHsKKyAgICAgICAgbGV0IGFj
dHVhbCA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkKTsKKyAgICB9KTsKK30KIAot
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxpc3QtMycpLCAnMyUgODBweCAyMnB4Jyk7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxpc3QtNCcp
LCAnY2FsYygxMHB4ICsgNTAlKSA0cHgnKTsKLSAgICB9LCAiPGxlbmd0aC1wZXJjZW50YWdlPisg
dmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yICIgKyBpZCk7CisvLyBDb21wdXRlcyBh
biBhYnNvbHV0ZSByZWZlcmVuY2UgdmFsdWUgZm9yIHNvbWUgbGVuZ3RoLgorLy8KKy8vIEUuZy4g
dG8gZmlndXJlIG91dCBob3cgbWFueSBwaXhlbHMgJzEwdmgnIGlzLCBkbyBsZW5ndGhfcmVmKCcx
MHZoJykuCitmdW5jdGlvbiBsZW5ndGhfcmVmKHZhbHVlLCByZWZub2RlID0gcmVmKSB7CisgICAg
dHJ5IHsKKyAgICAgICAgLy8gVGhlIHJlZmVyZW5jZSBwcm9wZXJ0eSAnbWluLWhlaWdodCcgaXMg
Y2hvc2VuIGFyYml0cmFyaWx5LCBidXQKKyAgICAgICAgLy8gYXZvaWQgcHJvcGVydGllcyB3aXRo
ICJyZXNvbHZlZCB2YWx1ZSBpcyB1c2VkIHZhbHVlIi1iZWhhdmlvcgorICAgICAgICAvLyBbMV0s
IGFzIGl0IG1heSBhZmZlY3Qgcm91bmRpbmcsIGFuZCBjdXN0b20gcHJvcGVydGllcyBkbyBub3QK
KyAgICAgICAgLy8gaGF2ZSB0aGlzIGJlaGF2aW9yLgorICAgICAgICAvLworICAgICAgICAvLyBb
MV0gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLyNyZXNvbHZlZC12YWx1ZXMKKyAgICAg
ICAgY29uc3QgcmVmX3Byb3BlcnR5ID0gJ21pbi1oZWlnaHQnOworICAgICAgICByZWZub2RlLnN0
eWxlID0gYCR7cmVmX3Byb3BlcnR5fTogJHt2YWx1ZX1gOworICAgICAgICByZXR1cm4gZ2V0Q29t
cHV0ZWRTdHlsZShyZWZub2RlKS5nZXRQcm9wZXJ0eVZhbHVlKHJlZl9wcm9wZXJ0eSk7CisgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgcmVmbm9kZS5zdHlsZSA9ICcnOworICAgIH0KK30KIAorZnVu
Y3Rpb24gdGVzdF9jb21wdXRlZF92YWx1ZShzeW50YXgsIHZhbHVlLCBleHBlY3RlZCkgewogICAg
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLXRyYW5zZm9ybS1mdW5jdGlvbi0xJyksICd0cmFuc2xhdGVYKDJw
eCknKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFs
dWUoJy0tdHJhbnNmb3JtLWZ1bmN0aW9uLTInKSwgJ3RyYW5zbGF0ZVgoMTAwcHgpJyk7Ci0gICAg
ICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXRyYW5z
Zm9ybS1mdW5jdGlvbi0zJyksICd0cmFuc2xhdGVYKGNhbGMoMTEwcHggKyAxMCUpKScpOwotICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS10cmFu
c2Zvcm0tZnVuY3Rpb24tNCcpLCAndHJhbnNsYXRlWCgxMCUpIHNjYWxlKDIpJyk7Ci0gICAgfSwg
Ijx0cmFuc2Zvcm0tZnVuY3Rpb24+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciAi
ICsgaWQpOworICAgICAgICBhc3NlcnRfY29tcHV0ZWRfdmFsdWUoZGl2V2l0aEZvbnRTaXplU2V0
LCBzeW50YXgsIHZhbHVlLCBleHBlY3RlZCk7CisgICAgfSwgYCR7c3ludGF4fSB2YWx1ZXMgYXJl
IGNvbXB1dGVkIGNvcnJlY3RseSBbJHt2YWx1ZX1dYCk7CiB9CisKK3Rlc3QoZnVuY3Rpb24oKXsK
KyAgICBjb25zdCBlbGVtZW50ID0gZGl2V2l0aEZvbnRTaXplU2V0OworICAgIHdpdGhfY3VzdG9t
X3Byb3BlcnR5KGVsZW1lbnQsICc8bGVuZ3RoPicsICcxNGVtJywgKG5hbWUpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2NvbXB1dGVkX3ZhbHVlKGVsZW1lbnQsICc8bGVuZ3RoPicsIGB2YXIoJHtuYW1l
fSlgLCAnMTQwcHgnKTsKKyAgICB9KTsKK30sICc8bGVuZ3RoPiB2YWx1ZXMgY29tcHV0ZWQgYXJl
IGNvcnJlY3RseSB2aWEgdmFyKCktcmVmZXJlbmNlJyk7CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAg
ICBjb25zdCBlbGVtZW50ID0gZGl2V2l0aEZvbnRTaXplSW5oZXJpdGVkOworICAgIHdpdGhfY3Vz
dG9tX3Byb3BlcnR5KGVsZW1lbnQsICc8bGVuZ3RoPicsICcxNGVtJywgKG5hbWUpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2NvbXB1dGVkX3ZhbHVlKGVsZW1lbnQsICc8bGVuZ3RoPicsIGB2YXIoJHtu
YW1lfSlgLCAnMTQwcHgnKTsKKyAgICB9KTsKK30sICc8bGVuZ3RoPiB2YWx1ZXMgY29tcHV0ZWQg
YXJlIGNvcnJlY3RseSB2aWEgdmFyKCktcmVmZXJlbmNlIHdoZW4gZm9udC1zaXplIGlzIGluaGVy
aXRlZCcpOworCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgY29uc3QgZWxlbWVudCA9IGRpdldpdGhG
b250U2l6ZUluaGVyaXRlZDsKKyAgICBhc3NlcnRfY29tcHV0ZWRfdmFsdWUoZWxlbWVudCwgJzxs
ZW5ndGg+JywgJzE0ZW0nLCAnMTQwcHgnKTsKK30sICc8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1
dGVkIGNvcnJlY3RseSB3aGVuIGZvbnQtc2l6ZSBpcyBpbmhlcml0ZWQgWzE0ZW1dJyk7CisKK3Rl
c3QoZnVuY3Rpb24oKXsKKyAgICBjb25zdCBlbGVtZW50ID0gZGl2V2l0aEZvbnRTaXplSW5oZXJp
dGVkOworICAgIGFzc2VydF9jb21wdXRlZF92YWx1ZShlbGVtZW50LCAnPGxlbmd0aD4nLCAnY2Fs
YygxNGVtICsgMTBweCknLCAnMTUwcHgnKTsKK30sICc8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1
dGVkIGNvcnJlY3RseSB3aGVuIGZvbnQtc2l6ZSBpcyBpbmhlcml0ZWQgW2NhbGMoMTRlbSArIDEw
cHgpXScpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoPicsICcxMnB4JywgJzEycHgn
KTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGg+JywgJzEzdncnLCBsZW5ndGhfcmVmKCcx
M3Z3JykpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aD4nLCAnMTRlbScsICcxNDBweCcp
OwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aD4nLCAnMTV2bWluJywgbGVuZ3RoX3JlZign
MTV2bWluJykpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aD4nLCAnY2FsYygxNnB4IC0g
N2VtICsgMTB2aCknLCBsZW5ndGhfcmVmKCdjYWxjKDEwdmggLSA1NHB4KScpKTsKKwordGVzdF9j
b21wdXRlZF92YWx1ZSgnPGxlbmd0aC1wZXJjZW50YWdlPicsICcxN2VtJywgJzE3MHB4Jyk7Cit0
ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywgJzE4JScsICcxOCUnKTsK
K3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGgtcGVyY2VudGFnZT4nLCAnY2FsYygxOWVtIC0g
MiUpJywgJ2NhbGMoLTIlICsgMTkwcHgpJyk7CisKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5n
dGg+IycsICcxMHB4LCAzZW0nLCAnMTBweCwgMzBweCcpOwordGVzdF9jb21wdXRlZF92YWx1ZSgn
PGxlbmd0aD4jJywgJzRlbSAsOXB4JywgJzQwcHgsIDlweCcpOwordGVzdF9jb21wdXRlZF92YWx1
ZSgnPGxlbmd0aD4jJywgJzhlbScsICc4MHB4Jyk7CisKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxs
ZW5ndGgtcGVyY2VudGFnZT4jJywgJzMlICwgMTB2bWF4ICAsIDIycHgnLCBbJzMlJywgbGVuZ3Ro
X3JlZignMTB2bWF4JyksICcyMnB4J10uam9pbignLCAnKSk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVl
KCc8bGVuZ3RoLXBlcmNlbnRhZ2U+IycsICdjYWxjKDUwJSArIDFlbSksIDRweCcsICdjYWxjKDUw
JSArIDEwcHgpLCA0cHgnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGgtcGVyY2VudGFn
ZT4jJywgJ2NhbGMoMTMlICsgMzdweCknLCAnY2FsYygxMyUgKyAzN3B4KScpOworCit0ZXN0X2Nv
bXB1dGVkX3ZhbHVlKCc8bGVuZ3RoPisnLCAnMTBweCAzZW0nLCAnMTBweCAzMHB4Jyk7Cit0ZXN0
X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoPisnLCAnNGVtIDlweCcsICc0MHB4IDlweCcpOworCit0
ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoLXBlcmNlbnRhZ2U+KycsICczJSAxMHZtYXggMjJw
eCcsIFsnMyUnLCBsZW5ndGhfcmVmKCcxMHZtYXgnKSwgJzIycHgnXS5qb2luKCcgJykpOwordGVz
dF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aC1wZXJjZW50YWdlPisnLCAnY2FsYyg1MCUgKyAxZW0p
IDRweCcsICdjYWxjKDUwJSArIDEwcHgpIDRweCcpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8
dHJhbnNmb3JtLWZ1bmN0aW9uPicsICd0cmFuc2xhdGVYKDJweCknLCAndHJhbnNsYXRlWCgycHgp
Jyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8dHJhbnNmb3JtLWZ1bmN0aW9uPicsICd0cmFuc2xh
dGVYKDEwZW0pJywgJ3RyYW5zbGF0ZVgoMTAwcHgpJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8
dHJhbnNmb3JtLWZ1bmN0aW9uPicsICd0cmFuc2xhdGVYKGNhbGMoMTFlbSArIDEwJSkpJywgJ3Ry
YW5zbGF0ZVgoY2FsYygxMCUgKyAxMTBweCkpJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8dHJh
bnNmb3JtLWZ1bmN0aW9uPisnLCAndHJhbnNsYXRlWCgxMCUpIHNjYWxlKDIpJywgJ3RyYW5zbGF0
ZVgoMTAlKSBzY2FsZSgyKScpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8aW50ZWdlcj4nLCAn
MTUnLCAnMTUnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxpbnRlZ2VyPicsICdjYWxjKDE1ICsg
MTUpJywgJzMwJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8aW50ZWdlcj4nLCAnY2FsYygyLjQp
JywgJzInKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxpbnRlZ2VyPicsICdjYWxjKDIuNiknLCAn
MycpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGludGVnZXI+JywgJ2NhbGMoMi42ICsgMy4xKScs
ICc2Jyk7CisKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxpbnRlZ2VyPisnLCAnMTUgY2FsYygyLjQp
IGNhbGMoMi42KScsICcxNSAyIDMnKTsKKwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGNvbG9yPics
ICcjZmYwMDAwJywgJ3JnYigyNTUsIDAsIDApJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8Y29s
b3I+JywgJyMwMDBmMDAnLCAncmdiKDAsIDE1LCAwKScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgn
PGNvbG9yPicsICcjMDAwMDBhJywgJ3JnYigwLCAwLCAxMCknKTsKK3Rlc3RfY29tcHV0ZWRfdmFs
dWUoJzxjb2xvcj4nLCAnI2JhZGJlZScsICdyZ2IoMTg2LCAyMTksIDIzOCknKTsKK3Rlc3RfY29t
cHV0ZWRfdmFsdWUoJzxjb2xvcj4nLCAnI2JhZGJlZTMzJywgJ3JnYmEoMTg2LCAyMTksIDIzOCwg
MC4yKScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGNvbG9yPicsICd0b21hdG8nLCAncmdiKDI1
NSwgOTksIDcxKScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGNvbG9yPicsICdwbHVtJywgJ3Jn
YigyMjEsIDE2MCwgMjIxKScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGNvbG9yPicsICdjdXJy
ZW50Y29sb3InLCAnY3VycmVudGNvbG9yJyk7CisKKy8vIEN1c3RvbSBpZGVudCB2YWx1ZXMgdGhh
dCBsb29rIGxpa2UgY29sb3Iga2V5d29yZHMgc2hvdWxkIG5vdCBiZSBjb252ZXJ0ZWQuCit0ZXN0
X2NvbXB1dGVkX3ZhbHVlKCcqJywgJ3RvbWF0bycsICd0b21hdG8nKTsKK3Rlc3RfY29tcHV0ZWRf
dmFsdWUoJ3RvbWF0byB8IHBsdW0nLCAncGx1bScsICdwbHVtJyk7Cit0ZXN0X2NvbXB1dGVkX3Zh
bHVlKCd0b21hdG8gfCBwbHVtIHwgPGNvbG9yPicsICdwbHVtJywgJ3BsdW0nKTsKKwordGVzdF9j
b21wdXRlZF92YWx1ZSgnKicsICctNTBncmFkJywgJy01MGdyYWQnKTsKK3Rlc3RfY29tcHV0ZWRf
dmFsdWUoJzxhbmdsZT4nLCAnMTgwZGVnJywgJzE4MGRlZycpOwordGVzdF9jb21wdXRlZF92YWx1
ZSgnPGFuZ2xlPicsICc0MDBncmFkJywgJzM2MGRlZycpOwordGVzdF9jb21wdXRlZF92YWx1ZSgn
PGFuZ2xlPicsICdjYWxjKDM2MGRlZyArIDQwMGdyYWQpJywgJzcyMGRlZycpOworCit0ZXN0X2Nv
bXB1dGVkX3ZhbHVlKCcqJywgJzUwcycsICc1MHMnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzx0
aW1lPicsICcxcycsICcxcycpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPHRpbWU+JywgJzEwMDBt
cycsICcxcycpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPHRpbWU+JywgJ2NhbGMoMTAwMG1zICsg
MXMpJywgJzJzJyk7CisKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJyonLCAnNTBkcGknLCAnNTBkcGkn
KTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxyZXNvbHV0aW9uPicsICcxZHBweCcsICcxZHBweCcp
OwordGVzdF9jb21wdXRlZF92YWx1ZSgnPHJlc29sdXRpb24+JywgJzk2ZHBpJywgJzFkcHB4Jyk7
Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8cmVzb2x1dGlvbj4nLCAnY2FsYygxZHBweCArIDk2ZHBp
KScsICcyZHBweCcpOworCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkv
cmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBp
L3JlZ2lzdGVyZWQtcHJvcGVydHktY3Nzb20tZXhwZWN0ZWQudHh0CmluZGV4IGVmY2M1YzJlY2Y4
ZWY1YThlNDJmODJkZmM2M2U0ZmIxODJhNDc5ZWYuLjFkZmVhNzk1MDNmNTE5NjU2ZjgwOTEwMTkx
MTQzNTRhMWYwM2ViN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1w
cm9wZXJ0eS1jc3NvbS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rl
cmVkLXByb3BlcnR5LWNzc29tLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKIAogUEFTUyBD
U1NPTSBzZXR0ZXJzIGZ1bmN0aW9uIGFzIGV4cGVjdGVkIGZvciB1bnJlZ2lzdGVyZWQgcHJvcGVy
dGllcyAKIEZBSUwgQ1NTLnJlZ2lzdGVyUHJvcGVydHkgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUg
ZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIEZvcm1lcmx5IHZhbGlk
IHZhbHVlcyBhcmUgc3RpbGwgcmVhZGFibGUgZnJvbSBpbmxpbmUgc3R5bGVzIGJ1dCBhcmUgY29t
cHV0ZWQgYXMgdGhlIHVuc2V0IHZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJibHVlIiBi
dXQgZ290ICJoZWxsbyIKK0ZBSUwgRm9ybWVybHkgdmFsaWQgdmFsdWVzIGFyZSBzdGlsbCByZWFk
YWJsZSBmcm9tIGlubGluZSBzdHlsZXMgYnV0IGFyZSBjb21wdXRlZCBhcyB0aGUgdW5zZXQgdmFs
dWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigwLCAwLCAyNTUpIiBidXQgZ290ICJoZWxs
byIKIEZBSUwgVmFsdWVzIG5vdCBtYXRjaGluZyB0aGUgcmVnaXN0ZXJlZCB0eXBlIGNhbid0IGJl
IHNldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaGVsbG8iIGJ1dCBnb3QgIjIwIgotRkFJTCBW
YWx1ZXMgY2FuIGJlIHJlbW92ZWQgZnJvbSBpbmxpbmUgc3R5bGVzIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJyZWQiIGJ1dCBnb3QgIiByZWQiCitGQUlMIFZhbHVlcyBjYW4gYmUgcmVtb3ZlZCBm
cm9tIGlubGluZSBzdHlsZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInJnYigyNTUsIDAsIDAp
IiBidXQgZ290ICIgcmVkIgogUEFTUyBTdHlsZXNoZWV0cyBjYW4gYmUgbW9kaWZpZWQgYnkgQ1NT
T00gCi1GQUlMIFZhbGlkIHZhbHVlcyBjYW4gYmUgc2V0IG9uIGlubGluZSBzdHlsZXMgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgImJsdWUiIGJ1dCBnb3QgIiBibHVlIgorRkFJTCBWYWxpZCB2YWx1
ZXMgY2FuIGJlIHNldCBvbiBpbmxpbmUgc3R5bGVzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJy
Z2IoMjU1LCAxOTIsIDIwMykiIGJ1dCBnb3QgInBpbmsiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZh
bHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3RlcmVkLXByb3BlcnR5LWNzc29tLmh0bWwKaW5kZXggMDE5Nzc4ZTk1ZTAzNjg5YWFh
YjVlNDdhMGZkNmJlMjM4MmYzZmI5OS4uNTk0NDNiMzMyM2E4OWY2NGUyYWU1YjA3NTA4ODE5YjI4
NzJlYWQxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5
LWNzc29tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNz
c29tLmh0bWwKQEAgLTQ2LDcgKzQ2LDcgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgYXNzZXJ0X2Vx
dWFscyhpbmxpbmVTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aCcpLCAnNScpOwogICBh
c3NlcnRfZXF1YWxzKGlubGluZVN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY29sb3InKSwgJ2hl
bGxvJyk7CiAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCct
LWxlbmd0aCcpLCAnMHB4Jyk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCctLWNvbG9yJyksICdibHVlJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICdyZ2IoMCwgMCwgMjU1KScpOwogfSwg
IkZvcm1lcmx5IHZhbGlkIHZhbHVlcyBhcmUgc3RpbGwgcmVhZGFibGUgZnJvbSBpbmxpbmUgc3R5
bGVzIGJ1dCBhcmUgY29tcHV0ZWQgYXMgdGhlIHVuc2V0IHZhbHVlIik7CiAKIHRlc3QoZnVuY3Rp
b24oKSB7CkBAIC02Miw3ICs2Miw3IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF9lcXVh
bHMoaW5saW5lU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgnKSwgJycpOwogICBhc3Nl
cnRfZXF1YWxzKGlubGluZVN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY29sb3InKSwgJycpOwog
ICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgn
KSwgJzEwcHgnKTsKLSAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFs
dWUoJy0tY29sb3InKSwgJ3JlZCcpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAncmdiKDI1NSwgMCwgMCknKTsKIH0sICJWYWx1ZXMg
Y2FuIGJlIHJlbW92ZWQgZnJvbSBpbmxpbmUgc3R5bGVzIik7CiAKIHRlc3QoZnVuY3Rpb24oKSB7
CkBAIC04MCw5ICs4MCw5IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF9lcXVhbHMoaW5s
aW5lU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgnKSwgJzMwcHgnKTsKICAgYXNzZXJ0
X2VxdWFscyhpbmxpbmVTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICdwaW5rJyk7
CiAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0
aCcpLCAnMzBweCcpOwotICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnLS1jb2xvcicpLCAncGluaycpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAncmdiKDI1NSwgMTkyLCAyMDMpJyk7CiAgIGlu
bGluZVN0eWxlLnNldFByb3BlcnR5KCctLWNvbG9yJywgJ2luaGVyaXQnKTsKICAgYXNzZXJ0X2Vx
dWFscyhpbmxpbmVTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICdpbmhlcml0Jyk7
Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9y
JyksICdibHVlJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctLWNvbG9yJyksICdyZ2IoMCwgMCwgMjU1KScpOwogfSwgIlZhbGlkIHZhbHVlcyBjYW4g
YmUgc2V0IG9uIGlubGluZSBzdHlsZXMiKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWluaXRpYWwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRp
ZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWluaXRpYWwtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg2YzVhMTFlMDIwNDk1ZjNiZTQzY2E4N2MwOGNmN2Q0MmIxOThmOTcuLmEzYjc2MmE4NTFm
MzViZGM2OWY3ZTQ2YzllNjZkYzUwNDdlNGU3OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1pbml0aWFsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktaW5pdGlhbC1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSwxMSBAQAogCi1GQUlMIEluaXRpYWwgdmFsdWVzIG9mIHJlZ2lzdGVyZWQgcHJvcGVydGll
cyBjYW4gYmUgcmVmZXJlbmNlZCB3aGVuIG5vIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBleHBsaWNp
dGx5IHNldC4gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBn
aXZlbiBzeW50YXguCitQQVNTIEluaXRpYWwgdmFsdWUgZm9yIDxsZW5ndGg+IGNvcnJlY3RseSBj
b21wdXRlZCBbY2FsYygxMHB4ICsgMTVweCldIAorRkFJTCBJbml0aWFsIHZhbHVlIGZvciA8bGVu
Z3RoLXBlcmNlbnRhZ2U+IGNvcnJlY3RseSBjb21wdXRlZCBbY2FsYygxaW4gKyAxMCUgKyA0cHgp
XSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5
bnRheC4KK0ZBSUwgSW5pdGlhbCB2YWx1ZSBmb3IgPGNvbG9yPiBjb3JyZWN0bHkgY29tcHV0ZWQg
W3BpbmssIGluaGVyaXRzXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBm
b3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgSW5pdGlhbCB2YWx1ZSBmb3IgPGNvbG9yPiBjb3Jy
ZWN0bHkgY29tcHV0ZWQgW3B1cnBsZV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3Qg
cGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIEluaXRpYWwgdmFsdWUgZm9yIDx0cmFu
c2Zvcm0tZnVuY3Rpb24+IGNvcnJlY3RseSBjb21wdXRlZCBbcm90YXRlKDQyZGVnKV0gVGhlIGdp
dmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitG
QUlMIEluaXRpYWwgdmFsdWUgZm9yIDx0cmFuc2Zvcm0tbGlzdD4gY29ycmVjdGx5IGNvbXB1dGVk
IFtzY2FsZShjYWxjKDIgKyAyKSldIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBh
cnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCBJbml0aWFsIHZhbHVlIGZvciA8dHJhbnNm
b3JtLWxpc3Q+IGNvcnJlY3RseSBjb21wdXRlZCBbc2NhbGUoY2FsYygyICsgMSkpIHRyYW5zbGF0
ZVgoY2FsYygzcHggKyAxcHgpKV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFy
c2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIEluaXRpYWwgaW5oZXJpdGVkIHZhbHVlIGNh
biBiZSBzdWJzdGl0dXRlZCBbcHVycGxlLCBjb2xvcl0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUg
ZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIEluaXRpYWwgbm9uLWlu
aGVyaXRlZCB2YWx1ZSBjYW4gYmUgc3Vic3RpdHV0ZWQgW3BpbmssIGJhY2tncm91bmQtY29sb3Jd
IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3lu
dGF4LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHkt
aW5pdGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWluaXRp
YWwuaHRtbAppbmRleCBkNjU1YWY2NjFmN2ZkOTVlZDAyODljZGRiOWM1NTQ2NDY3ZDI4NTkyLi44
MmEwMTJlMmY2ODUzMjc2MWIxODQyOGMzZWFlZDk0NzllYzhjN2U1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktaW5pdGlhbC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1pbml0aWFsLmh0bWwKQEAgLTEsMzUgKzEs
NDUgQEAKLTwhRE9DVFlQRSBIVE1MPgorPCFET0NUWVBFIGh0bWw+CiA8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGllcy12YWx1
ZXMtYXBpLyNkb20tcHJvcGVydHlkZXNjcmlwdG9yLWluaXRpYWx2YWx1ZSIgLz4KIDxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy1wcm9wZXJ0
aWVzLXZhbHVlcy1hcGkvI3JlZ2lzdGVyLWEtY3VzdG9tLXByb3BlcnR5IiAvPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHN0eWxlPgotI3Rhcmdl
dCB7Ci0gIGJhY2tncm91bmQ6IHZhcigtLWluaGVyaXRlZC1jb2xvcik7Ci0gIGNvbG9yOiB2YXIo
LS1ub24taW5oZXJpdGVkLWNvbG9yKTsKLX0KLTwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgogPGRpdiBpZD10YXJnZXQ+PC9kaXY+CiA8c2NyaXB0
PgotdGVzdChmdW5jdGlvbigpIHsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0t
bGVuZ3RoJywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICdjYWxjKDEwcHggKyAx
NXB4KScsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1l
OiAnLS1sZW5ndGgtcGVyY2VudGFnZScsIHN5bnRheDogJzxsZW5ndGgtcGVyY2VudGFnZT4nLCBp
bml0aWFsVmFsdWU6ICdjYWxjKDFpbiArIDEwJSArIDRweCknLCBpbmhlcml0czogZmFsc2V9KTsK
LSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0taW5oZXJpdGVkLWNvbG9yJywgc3lu
dGF4OiAnPGNvbG9yPicsIGluaXRpYWxWYWx1ZTogJ3BpbmsnLCBpbmhlcml0czogdHJ1ZX0pOwot
ICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1ub24taW5oZXJpdGVkLWNvbG9yJywg
c3ludGF4OiAnPGNvbG9yPicsIGluaXRpYWxWYWx1ZTogJ3B1cnBsZScsIGluaGVyaXRzOiBmYWxz
ZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS10cmFuc2Zvcm0tZnVuY3Rp
b24nLCBzeW50YXg6ICc8dHJhbnNmb3JtLWZ1bmN0aW9uPicsIGluaXRpYWxWYWx1ZTogJ3JvdGF0
ZSg0MmRlZyknLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7
bmFtZTogJy0tc2luZ2xlLXRyYW5zZm9ybS1saXN0Jywgc3ludGF4OiAnPHRyYW5zZm9ybS1saXN0
PicsIGluaXRpYWxWYWx1ZTogJ3NjYWxlKGNhbGMoMiArIDIpKScsIGluaGVyaXRzOiBmYWxzZX0p
OwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1tdWx0aXBsZS10cmFuc2Zvcm0t
bGlzdCcsIHN5bnRheDogJzx0cmFuc2Zvcm0tbGlzdD4nLCBpbml0aWFsVmFsdWU6ICdzY2FsZShj
YWxjKDIgKyAxKSkgdHJhbnNsYXRlWChjYWxjKDNweCArIDFweCkpJywgaW5oZXJpdHM6IGZhbHNl
fSk7CiAKLSAgICBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpOwotICAg
IGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aCcp
LCAnMjVweCcpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctLWxlbmd0aC1wZXJjZW50YWdlJyksICdjYWxjKDEwMHB4ICsgMTAlKScpOwotICAgIGFz
c2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWluaGVyaXRlZC1j
b2xvcicpLCAncGluaycpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCctLW5vbi1pbmhlcml0ZWQtY29sb3InKSwgJ3B1cnBsZScpOwotICAgIGFzc2Vy
dF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXRyYW5zZm9ybS1mdW5j
dGlvbicpLCAncm90YXRlKDQyZGVnKScpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNpbmdsZS10cmFuc2Zvcm0tbGlzdCcpLCAnc2NhbGUoNCkn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1t
dWx0aXBsZS10cmFuc2Zvcm0tbGlzdCcpLCAnc2NhbGUoMykgdHJhbnNsYXRlWCg0cHgpJyk7Citm
dW5jdGlvbiB0ZXN0X2luaXRpYWxfdmFsdWUocmVnLCBleHBlY3RlZCkgeworICAgIGxldCBzdWZm
aXggPSByZWcuaW5oZXJpdHMgPT09IHRydWUgPyAnLCBpbmhlcml0cycgOiAnJzsKKyAgICB0ZXN0
KGZ1bmN0aW9uKCl7CisgICAgICAgIGxldCBuYW1lID0gZ2VuZXJhdGVfcHJvcGVydHkocmVnKTsK
KyAgICAgICAgbGV0IGFjdHVhbCA9IGdldENvbXB1dGVkU3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0
eVZhbHVlKG5hbWUpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQpOwor
ICAgIH0sIGBJbml0aWFsIHZhbHVlIGZvciAke3JlZy5zeW50YXh9IGNvcnJlY3RseSBjb21wdXRl
ZCBbJHtyZWcuaW5pdGlhbFZhbHVlfSR7c3VmZml4fV1gKTsKK30KKwordGVzdF9pbml0aWFsX3Zh
bHVlKHsgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICdjYWxjKDEwcHggKyAxNXB4
KScgfSwgJzI1cHgnKTsKK3Rlc3RfaW5pdGlhbF92YWx1ZSh7IHN5bnRheDogJzxsZW5ndGgtcGVy
Y2VudGFnZT4nLCBpbml0aWFsVmFsdWU6ICdjYWxjKDFpbiArIDEwJSArIDRweCknIH0sICdjYWxj
KDEwJSArIDEwMHB4KScpOwordGVzdF9pbml0aWFsX3ZhbHVlKHsgc3ludGF4OiAnPGNvbG9yPics
IGluaXRpYWxWYWx1ZTogJ3BpbmsnLCBpbmhlcml0czogdHJ1ZSB9LCAncmdiKDI1NSwgMTkyLCAy
MDMpJyk7Cit0ZXN0X2luaXRpYWxfdmFsdWUoeyBzeW50YXg6ICc8Y29sb3I+JywgaW5pdGlhbFZh
bHVlOiAncHVycGxlJyB9LCAncmdiKDEyOCwgMCwgMTI4KScpOwordGVzdF9pbml0aWFsX3ZhbHVl
KHsgc3ludGF4OiAnPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCBpbml0aWFsVmFsdWU6ICdyb3RhdGUo
NDJkZWcpJyB9LCAncm90YXRlKDQyZGVnKScpOwordGVzdF9pbml0aWFsX3ZhbHVlKHsgc3ludGF4
OiAnPHRyYW5zZm9ybS1saXN0PicsIGluaXRpYWxWYWx1ZTogJ3NjYWxlKGNhbGMoMiArIDIpKScg
fSwgJ3NjYWxlKDQpJyk7Cit0ZXN0X2luaXRpYWxfdmFsdWUoeyBzeW50YXg6ICc8dHJhbnNmb3Jt
LWxpc3Q+JywgaW5pdGlhbFZhbHVlOiAnc2NhbGUoY2FsYygyICsgMSkpIHRyYW5zbGF0ZVgoY2Fs
YygzcHggKyAxcHgpKScgfSwgJ3NjYWxlKDMpIHRyYW5zbGF0ZVgoNHB4KScpOworCisvLyBUZXN0
IHRoYXQgdGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIGN1c3RvbSBwcm9wZXJ0eSAncmVnJyBpcyBz
dWNjZXNzZnVsbHkKKy8vIHN1YnN0aXR1dGVkIGludG8gJ3Byb3BlcnR5Jy4KK2Z1bmN0aW9uIHRl
c3Rfc3Vic3RpdHV0ZWRfdmFsdWUocmVnLCBwcm9wZXJ0eSwgZXhwZWN0ZWQpIHsKKyAgICBsZXQg
aW5oZXJpdHNfdGV4dCA9IHJlZy5pbmhlcml0cyA9PT0gdHJ1ZSA/ICdpbmhlcml0ZWQnIDogJ25v
bi1pbmhlcml0ZWQnOworICAgIHRlc3QoZnVuY3Rpb24oKXsKKyAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgIGxldCBuYW1lID0gZ2VuZXJhdGVfcHJvcGVydHkocmVnKTsKKyAgICAgICAgICAgIHRh
cmdldC5zdHlsZSA9IGAke3Byb3BlcnR5fTp2YXIoJHtuYW1lfSk7YDsKKyAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUocHJv
cGVydHkpLCBleHBlY3RlZCk7CisgICAgICAgIH0gZmluYWxseSB7CisgICAgICAgICAgICB0YXJn
ZXQuc3R5bGUgPSAnJzsKKyAgICAgICAgfQorICAgIH0sIGBJbml0aWFsICR7aW5oZXJpdHNfdGV4
dH0gdmFsdWUgY2FuIGJlIHN1YnN0aXR1dGVkIFske3JlZy5pbml0aWFsVmFsdWV9LCAke3Byb3Bl
cnR5fV1gKTsKK30KKwordGVzdF9zdWJzdGl0dXRlZF92YWx1ZSh7IHN5bnRheDogJzxjb2xvcj4n
LCBpbml0aWFsVmFsdWU6ICdwdXJwbGUnLCBpbmhlcml0czogdHJ1ZSB9LCAnY29sb3InLCAncmdi
KDEyOCwgMCwgMTI4KScpOwordGVzdF9zdWJzdGl0dXRlZF92YWx1ZSh7IHN5bnRheDogJzxjb2xv
cj4nLCBpbml0aWFsVmFsdWU6ICdwaW5rJyB9LCAnYmFja2dyb3VuZC1jb2xvcicsICdyZ2IoMjU1
LCAxOTIsIDIwMyknKTsKIAotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IsICdyZ2IoMjU1LCAxOTIsIDIwMyknKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuY29sb3IsICdyZ2IoMTI4LCAwLCAxMjgpJyk7Ci19LCAiSW5pdGlhbCB2YWx1ZXMg
b2YgcmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIGNhbiBiZSByZWZlcmVuY2VkIHdoZW4gbm8gY3VzdG9t
IHByb3BlcnRpZXMgYXJlIGV4cGxpY2l0bHkgc2V0LiIpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJv
cGVydGllcy12YWx1ZXMtYXBpL3Jlc291cmNlcy91dGlscy5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkv
cmVzb3VyY2VzL3V0aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlZjU5NTYwZjY4ZDg0ZWQwZDY4MWJiMjJl
MDYxMWVhMjQ2NjAyNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jlc291
cmNlcy91dGlscy5qcwpAQCAtMCwwICsxLDk0IEBACitsZXQgbmV4dF9wcm9wZXJ0eV9pZCA9IDE7
CisKKy8vIEdlbmVyYXRlIGEgdW5pcXVlIHByb3BlcnR5IG5hbWUgb24gdGhlIGZvcm0gLS1wcm9w
LU4uCitmdW5jdGlvbiBnZW5lcmF0ZV9uYW1lKCkgeworICByZXR1cm4gYC0tcHJvcC0ke25leHRf
cHJvcGVydHlfaWQrK31gOworfQorCisvLyBQcm9kdWNlIGEgY29tcGF0aWJsZSBpbml0aWFsIHZh
bHVlIGZvciB0aGUgc3BlY2lmaWVkIHN5bnRheC4KK2Z1bmN0aW9uIGFueV9pbml0aWFsX3ZhbHVl
KHN5bnRheCkgeworICBsZXQgY29tcG9uZW50cyA9IHN5bnRheC5zcGxpdCgnfCcpLm1hcCh4ID0+
IHgudHJpbSgpKQorICBsZXQgZmlyc3RfY29tcG9uZW50ID0gY29tcG9uZW50c1swXTsKKworICBp
ZiAoZmlyc3RfY29tcG9uZW50LmVuZHNXaXRoKCcrJykgfHwgZmlyc3RfY29tcG9uZW50LmVuZHNX
aXRoKCcjJykpCisgICAgZmlyc3RfY29tcG9uZW50ID0gZmlyc3RfY29tcG9uZW50LnNsaWNlKDAs
IC0xKTsKKworICBzd2l0Y2ggKGZpcnN0X2NvbXBvbmVudCkgeworICAgIGNhc2UgJyonOgorICAg
IGNhc2UgJzxjdXN0b20taWRlbnQ+JzoKKyAgICAgIHJldHVybiAnTlVMTCc7CisgICAgY2FzZSAn
PGFuZ2xlPic6CisgICAgICByZXR1cm4gJzBkZWcnOworICAgIGNhc2UgJzxjb2xvcj4nOgorICAg
ICAgcmV0dXJuICdyZ2IoMCwgMCwgMCknOworICAgIGNhc2UgJzxpbWFnZT4nOgorICAgIGNhc2Ug
Jzx1cmw+JzoKKyAgICAgIHJldHVybiAndXJsKDApJzsKKyAgICBjYXNlICc8aW50ZWdlcj4nOgor
ICAgIGNhc2UgJzxsZW5ndGgtcGVyY2VudGFnZT4nOgorICAgIGNhc2UgJzxsZW5ndGg+JzoKKyAg
ICBjYXNlICc8bnVtYmVyPic6CisgICAgICByZXR1cm4gJzAnOworICAgIGNhc2UgJzxwZXJjZW50
YWdlPic6CisgICAgICByZXR1cm4gJzAlJzsKKyAgICBjYXNlICc8cmVzb2x1dGlvbj4nOgorICAg
ICAgcmV0dXJuICcwZHBpJzsKKyAgICBjYXNlICc8dGltZT4nOgorICAgICAgcmV0dXJuICcwcyc7
CisgICAgY2FzZSAnPHRyYW5zZm9ybS1mdW5jdGlvbj4nOgorICAgIGNhc2UgJzx0cmFuc2Zvcm0t
bGlzdD4nOgorICAgICAgcmV0dXJuICdtYXRyaXgoMCwgMCwgMCwgMCwgMCwgMCknOworICAgIGRl
ZmF1bHQ6CisgICAgICAvLyBXZSBhc3N1bWUgc3ludGF4IGlzIGEgc3BlY2lmaWMgY3VzdG9tIGlk
ZW50LgorICAgICAgcmV0dXJuIGZpcnN0X2NvbXBvbmVudDsKKyAgfQorfQorCisvLyBSZWdpc3Rl
cnMgYSB1bmlxdWUgcHJvcGVydHkgb24gdGhlIGZvcm0gJy0tcHJvcC1OJyBhbmQgcmV0dXJucyB0
aGUgbmFtZS4KKy8vIEFueSB2YWx1ZSBleGNlcHQgJ3N5bnRheCcgbWF5IGJlIG9taXR0ZWQsIGlu
IHdoaWNoIGNhc2UgdGhlIHByb3BlcnR5IHdpbGwKKy8vIG5vdCBpbmhlcml0LCBhbmQgc29tZSB1
bmRlZmluZWQgKGJ1dCBjb21wYXRpYmxlKSBpbml0aWFsIHZhbHVlIHdpbGwgYmUKKy8vIGdlbmVy
YXRlZC4gSWYgYSBzaW5nbGUgc3RyaW5nIGlzIHVzZWQgYXMgdGhlIGFyZ3VtZW50LCBpdCBpcyBh
c3N1bWVkIHRvIGJlCisvLyB0aGUgc3ludGF4LgorZnVuY3Rpb24gZ2VuZXJhdGVfcHJvcGVydHko
cmVnKSB7CisgIC8vIFZlcmlmeSB0aGF0IG9ubHkgdmFsaWQga2V5cyBhcmUgc3BlY2lmaWVkLiBU
aGlzIHByZXZlbnRzIHRoZSBjYWxsZXIgZnJvbQorICAvLyBhY2NpZGVudGFsbHkgc3VwcGx5aW5n
ICdpbmhlcml0ZWQnIGluc3RlYWQgb2YgJ2luaGVyaXRzJywgZm9yIGV4YW1wbGUuCisgIGlmICh0
eXBlb2YocmVnKSA9PT0gJ29iamVjdCcpIHsKKyAgICBjb25zdCBwZXJtaXR0ZWQgPSBuZXcgU2V0
KFsnbmFtZScsICdzeW50YXgnLCAnaW5pdGlhbFZhbHVlJywgJ2luaGVyaXRzJ10pOworICAgIGlm
ICghT2JqZWN0LmtleXMocmVnKS5ldmVyeShrID0+IHBlcm1pdHRlZC5oYXMoaykpKQorICAgICAg
dGhyb3cgbmV3IEVycm9yKCdnZW5lcmF0ZV9wcm9wZXJ0eTogaW52YWxpZCBwYXJhbWV0ZXInKTsK
KyAgfQorCisgIGxldCBzeW50YXggPSB0eXBlb2YocmVnKSA9PT0gJ3N0cmluZycgPyByZWcgOiBy
ZWcuc3ludGF4OworICBsZXQgaW5pdGlhbCA9IHR5cGVvZihyZWcuaW5pdGlhbFZhbHVlKSA9PT0g
J3VuZGVmaW5lZCcgPyBhbnlfaW5pdGlhbF92YWx1ZShzeW50YXgpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlZy5pbml0aWFsVmFs
dWU7CisgIGxldCBpbmhlcml0cyA9IHR5cGVvZihyZWcuaW5oZXJpdHMpID09PSAndW5kZWZpbmVk
JyA/IGZhbHNlIDogcmVnLmluaGVyaXRzOworCisgIGxldCBuYW1lID0gZ2VuZXJhdGVfbmFtZSgp
OworICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7CisgICAgbmFtZTogbmFtZSwKKyAgICBzeW50YXg6
IHN5bnRheCwKKyAgICBpbml0aWFsVmFsdWU6IGluaXRpYWwsCisgICAgaW5oZXJpdHM6IGluaGVy
aXRzCisgIH0pOworICByZXR1cm4gbmFtZTsKK30KKworZnVuY3Rpb24gYWxsX3N5bnRheGVzKCkg
eworICByZXR1cm4gWworICAgICcqJywKKyAgICAnPGFuZ2xlPicsCisgICAgJzxjb2xvcj4nLAor
ICAgICc8Y3VzdG9tLWlkZW50PicsCisgICAgJzxpbWFnZT4nLAorICAgICc8aW50ZWdlcj4nLAor
ICAgICc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywKKyAgICAnPGxlbmd0aD4nLAorICAgICc8bnVtYmVy
PicsCisgICAgJzxwZXJjZW50YWdlPicsCisgICAgJzxyZXNvbHV0aW9uPicsCisgICAgJzx0aW1l
PicsCisgICAgJzx0cmFuc2Zvcm0tZnVuY3Rpb24+JywKKyAgICAnPHRyYW5zZm9ybS1saXN0Pics
CisgICAgJzx1cmw+JworICBdCit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVzb3VyY2VzL3czYy1pbXBv
cnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmUzZTg1NTg3YmM5NTEwMGY1ZmZhZjU2MWVjNmM2YWQzODE5YmUw
ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jlc291cmNlcy93M2MtaW1w
b3J0LmxvZwpAQCAtMCwwICsxLDE3IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4K
KworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jlc291
cmNlcy91dGlscy5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9zZWxmLXV0aWxzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2VsZi11dGlscy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDNjZWMzN2VmNmQwYzQ3OGQ5MzJjNWE5NTc4MDYyMjNkOWJiNjk0MQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2VsZi11dGlscy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACisKK0ZBSUwgRGVmYXVsdCBpbml0aWFsIHZhbHVlcyBvZiBnZW5lcmF0ZWQg
cHJvcGVydGllcyBhcmUgdmFsaWQgKHNlbGYtdGVzdCkuIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVl
IGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorUEFTUyBHZW5lcmF0ZWQgcHJv
cGVydGllcyByZXNwZWN0IGluaGVyaXRzIGZsYWcgCitQQVNTIENhbid0IGdlbmVyYXRlIHByb3Bl
cnR5IHdpdGggdW5rbm93biBmaWVsZHMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkv
c2VsZi11dGlscy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9zZWxmLXV0aWxzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDVhYTRiMmZiMDNiMjlmZWVlNDcxNzc2MjQ3MTUyMzA3NjhhNDRhMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2VsZi11dGlscy5odG1sCkBAIC0wLDAgKzEsNDEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNlbGYtdGVzdCBmb3IgdXRpbHMuanM8L3RpdGxl
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS0xLyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbHMu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD1vdXRlcj48ZGl2IGlkPWlubmVyPjwvZGl2PjwvZGl2Pgor
PHNjcmlwdD4KKwordGVzdChmdW5jdGlvbigpeworICBsZXQgc3ludGF4ZXMgPSBhbGxfc3ludGF4
ZXMoKS5jb25jYXQoWworICAgICdmb28nLAorICAgICdiYXIgfCA8bGVuZ3RoPicsCisgICAgJzxh
bmdsZT4gfCA8bGVuZ3RoPicKKyAgXSk7CisgIC8vIERvbid0IHRocm93OgorICBzeW50YXhlcy5m
b3JFYWNoKGdlbmVyYXRlX3Byb3BlcnR5KTsKK30sICdEZWZhdWx0IGluaXRpYWwgdmFsdWVzIG9m
IGdlbmVyYXRlZCBwcm9wZXJ0aWVzIGFyZSB2YWxpZCAoc2VsZi10ZXN0KS4nKTsKKwordGVzdChm
dW5jdGlvbigpeworICB0cnkgeworICAgIGxldCBpbmhlcml0ZWQgPSBnZW5lcmF0ZV9wcm9wZXJ0
eSh7IHN5bnRheDogJzxsZW5ndGg+JywgaW5oZXJpdHM6IHRydWUgfSk7CisgICAgbGV0IG5vbl9p
bmhlcml0ZWQgPSBnZW5lcmF0ZV9wcm9wZXJ0eSh7IHN5bnRheDogJzxsZW5ndGg+JywgaW5oZXJp
dHM6IGZhbHNlLCBpbml0aWFsVmFsdWU6ICc1cHgnIH0pOworICAgIG91dGVyLnN0eWxlID0gYCR7
aW5oZXJpdGVkfTogMTBweDsgJHtub25faW5oZXJpdGVkfTogMTFweDtgOworICAgIGFzc2VydF9l
cXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShvdXRlcikuZ2V0UHJvcGVydHlWYWx1ZShpbmhlcml0ZWQp
LCAnMTBweCcpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShvdXRlcikuZ2V0
UHJvcGVydHlWYWx1ZShub25faW5oZXJpdGVkKSwgJzExcHgnKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoaW5uZXIpLmdldFByb3BlcnR5VmFsdWUoaW5oZXJpdGVkKSwgJzEw
cHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaW5uZXIpLmdldFByb3Bl
cnR5VmFsdWUobm9uX2luaGVyaXRlZCksICc1cHgnKTsKKyAgfSBmaW5hbGx5IHsKKyAgICBvdXRl
ci5zdHlsZSA9ICcnOworICAgIGlubmVyLnN0eWxlID0gJyc7CisgIH0KK30sICdHZW5lcmF0ZWQg
cHJvcGVydGllcyByZXNwZWN0IGluaGVyaXRzIGZsYWcnKTsKKwordGVzdChmdW5jdGlvbigpewor
ICBhc3NlcnRfdGhyb3dzKG5ldyBFcnJvcigpLCAoKSA9PiBnZW5lcmF0ZV9wcm9wZXJ0eSh7c3lu
dGF4OiAnPGxlbmd0aD4nLCBmb286IDF9KSk7CisgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCks
ICgpID0+IGdlbmVyYXRlX3Byb3BlcnR5KHtzeW50YXg6ICc8bGVuZ3RoPicsIGluaGVyaXRlZDog
ZmFsc2V9KSk7CisgIGFzc2VydF90aHJvd3MobmV3IEVycm9yKCksICgpID0+IGdlbmVyYXRlX3By
b3BlcnR5KHtzeW50YXg6ICc8bGVuZ3RoPicsIGluaXRpYWw6ICcxMHB4J30pKTsKK30sICdDYW5c
J3QgZ2VuZXJhdGUgcHJvcGVydHkgd2l0aCB1bmtub3duIGZpZWxkcycpOworCis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5k
ZXggMTM2NmMwYWRiMzYxYjFjMGMwNDJiNDQ5NjUzNDk5YjBkMjc2YWNkYS4uYWFmOTBhNGEwNTM0
MjliODFjZTFkZDNhZTk2MDg1MmY1N2YyYTkxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS90eXBlZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90
eXBlZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEsNjkgKzEsNiBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDM0OTogVHlwZUVycm9yOiBDU1MucHggaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnQ1NTLnB4KDE1KScsICdDU1MucHgnIGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAzODogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKIAotSGFybmVzcyBFcnJvciAoRkFJ
TCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IENTUy5weCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdD
U1MucHgoMTUpJywgJ0NTUy5weCcgaXMgdW5kZWZpbmVkKQorSGFybmVzcyBFcnJvciAoRkFJTCks
IG1lc3NhZ2UgPSBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInKQogCiBGQUlMIENvbXB1dGVkICog
aXMgcmVpZmllZCBhcyBDU1NVbnBhcnNlZFZhbHVlIHRhcmdldC5jb21wdXRlZFN0eWxlTWFwIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5jb21wdXRlZFN0eWxlTWFwKCknLCAndGFyZ2V0
LmNvbXB1dGVkU3R5bGVNYXAnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQ29tcHV0ZWQgPGFuZ2xlPiBp
cyByZWlmaWVkIGFzIENTU1VuaXRWYWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5v
dCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQgPGNvbG9yPiBpcyBy
ZWlmaWVkIGFzIENTU1N0eWxlVmFsdWUgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3Qg
cGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIENvbXB1dGVkIDxjdXN0b20taWRlbnQ+
IGlzIHJlaWZpZWQgYXMgQ1NTS2V5d29yZFZhbHVlIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRv
ZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBDb21wdXRlZCA8aW1hZ2U+
IFt1cmxdIGlzIHJlaWZpZWQgYXMgQ1NTSW1hZ2VWYWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1
ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQgPGlu
dGVnZXI+IGlzIHJlaWZpZWQgYXMgQ1NTVW5pdFZhbHVlIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVl
IGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBDb21wdXRlZCA8bGVu
Z3RoLXBlcmNlbnRhZ2U+IFslXSBpcyByZWlmaWVkIGFzIENTU1VuaXRWYWx1ZSB0YXJnZXQuY29t
cHV0ZWRTdHlsZU1hcCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuY29tcHV0ZWRTdHls
ZU1hcCgpJywgJ3RhcmdldC5jb21wdXRlZFN0eWxlTWFwJyBpcyB1bmRlZmluZWQpCi1GQUlMIENv
bXB1dGVkIDxsZW5ndGgtcGVyY2VudGFnZT4gW3B4XSBpcyByZWlmaWVkIGFzIENTU1VuaXRWYWx1
ZSB0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQu
Y29tcHV0ZWRTdHlsZU1hcCgpJywgJ3RhcmdldC5jb21wdXRlZFN0eWxlTWFwJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIENvbXB1dGVkIDxsZW5ndGgtcGVyY2VudGFnZT4gW3B4ICsgJV0gaXMgcmVpZmll
ZCBhcyBDU1NNYXRoU3VtIENhbid0IGZpbmQgdmFyaWFibGU6IENTU01hdGhTdW0KLUZBSUwgQ29t
cHV0ZWQgPGxlbmd0aD4gaXMgcmVpZmllZCBhcyBDU1NVbml0VmFsdWUgdGFyZ2V0LmNvbXB1dGVk
U3R5bGVNYXAgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAo
KScsICd0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCcgaXMgdW5kZWZpbmVkKQotRkFJTCBDb21wdXRl
ZCA8bnVtYmVyPiBpcyByZWlmaWVkIGFzIENTU1VuaXRWYWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2
YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQg
PHBlcmNlbnRhZ2U+IGlzIHJlaWZpZWQgYXMgQ1NTVW5pdFZhbHVlIHRhcmdldC5jb21wdXRlZFN0
eWxlTWFwIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5jb21wdXRlZFN0eWxlTWFwKCkn
LCAndGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQ29tcHV0ZWQg
PHJlc29sdXRpb24+IGlzIHJlaWZpZWQgYXMgQ1NTVW5pdFZhbHVlIFRoZSBnaXZlbiBpbml0aWFs
IHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBDb21wdXRl
ZCA8dGltZT4gaXMgcmVpZmllZCBhcyBDU1NVbml0VmFsdWUgVGhlIGdpdmVuIGluaXRpYWwgdmFs
dWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIENvbXB1dGVkIDx1
cmw+IGlzIHJlaWZpZWQgYXMgQ1NTU3R5bGVWYWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBk
b2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQgaWRlbnQg
aXMgcmVpZmllZCBhcyBDU1NLZXl3b3JkVmFsdWUgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9l
cyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIEZpcnN0IGNvbXB1dGVkIHZh
bHVlIGNvcnJlY3RseSByZWlmaWVkIGluIHNwYWNlLXNlcGFyYXRlZCBsaXN0IFRoZSBnaXZlbiBp
bml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBG
aXJzdCBjb21wdXRlZCB2YWx1ZSBjb3JyZWN0bHkgcmVpZmllZCBpbiBjb21tYS1zZXBhcmF0ZWQg
bGlzdCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVu
IHN5bnRheC4KLUZBSUwgQWxsIGNvbXB1dGVkIHZhbHVlcyBjb3JyZWN0bHkgcmVpZmllZCBpbiBz
cGFjZS1zZXBhcmF0ZWQgbGlzdCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJz
ZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQWxsIGNvbXB1dGVkIHZhbHVlcyBjb3JyZWN0
bHkgcmVpZmllZCBpbiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1
ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgYXR0cmlidXRlU3R5
bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVm
ZXJlbmNlcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0
dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5w
YXJzZWRWYWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVmZXJlbmNlcyB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJp
YnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VucGFyc2VkVmFsdWUgZm9yIHZhbHVlIHdpdGgg
dmFyIHJlZmVyZW5jZXMgaW4gbGlzdCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0
IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVmZXJlbmNlcyBp
biBsaXN0IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxl
TWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5wYXJz
ZWRWYWx1ZSBmb3IgKiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFy
Z2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMg
Q1NTVW5wYXJzZWRWYWx1ZSBmb3IgKiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldCBy
ZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGFuZ2xlPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5
bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8YW5nbGU+IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0
cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTU3R5bGVWYWx1ZSBmb3IgPGNvbG9yPiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxl
TWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTU3R5bGVWYWx1ZSBmb3Ig
PGNvbG9yPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHls
ZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU0tleXdv
cmRWYWx1ZSBmb3IgPGN1c3RvbS1pZGVudD4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicpCi1GQUlMIHN0eWxlTWFw
LmdldCByZXR1cm5zIENTU0tleXdvcmRWYWx1ZSBmb3IgPGN1c3RvbS1pZGVudD4gdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJ
TCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NJbWFnZVZhbHVlIGZvciA8aW1hZ2U+
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0YXJnZXQuYXR0cmlidXRl
U3R5bGVNYXAuY2xlYXInKQotRkFJTCBzdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NJbWFnZVZhbHVl
IGZvciA8aW1hZ2U+IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxl
LnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NT
VW5pdFZhbHVlIGZvciA8aW50ZWdlcj4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicpCi1GQUlMIHN0eWxlTWFwLmdl
dCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGludGVnZXI+IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRl
U3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoLXBlcmNlbnRhZ2U+
IFsxMCVdIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0YXJnZXQuYXR0
cmlidXRlU3R5bGVNYXAuY2xlYXInKQotRkFJTCBzdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0
VmFsdWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEwJV0gdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVT
dHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4g
WzEwcHhdIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0YXJnZXQuYXR0
cmlidXRlU3R5bGVNYXAuY2xlYXInKQotRkFJTCBzdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0
VmFsdWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEwcHhdIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRl
U3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTTWF0aFN1bSBmb3IgPGxlbmd0aC1wZXJjZW50YWdlPiBb
Y2FsYygxMHB4ICsgMTAlKV0gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicpCi1GQUlMIHN0eWxlTWFwLmdldCByZXR1
cm5zIENTU01hdGhTdW0gZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gW2NhbGMoMTBweCArIDEwJSld
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNs
ZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZv
ciA8bGVuZ3RoPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0
LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NT
VW5pdFZhbHVlIGZvciA8bGVuZ3RoPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldCBy
ZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPG51bWJlcj4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicpCi1GQUlMIHN0
eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPG51bWJlcj4gdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBh
dHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxwZXJjZW50YWdl
PiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0
ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVl
IGZvciA8cGVyY2VudGFnZT4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJu
cyBDU1NVbml0VmFsdWUgZm9yIDxyZXNvbHV0aW9uPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5
bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8cmVzb2x1dGlvbj4gdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJ
TCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDx0aW1lPiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0
eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZv
ciA8dGltZT4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5
bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NTdHls
ZVZhbHVlIGZvciA8dXJsPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
dGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVy
bnMgQ1NTU3R5bGVWYWx1ZSBmb3IgPHVybD4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5n
ZXQgcmV0dXJucyBDU1NLZXl3b3JkVmFsdWUgZm9yIHRoaW5nMSB8IFRISU5HMiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNs
ZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTS2V5d29yZFZhbHVlIGZvciB0aGlu
ZzEgfCBUSElORzIgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUu
c3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NV
bml0VmFsdWUgZm9yIDxsZW5ndGg+KyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0
IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPisgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVT
dHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+IyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNs
ZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3Ro
PiMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAu
Y2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXRBbGwgcmV0dXJucyBhIGxpc3Qgb2Yg
Q1NTVW5pdFZhbHVlcyBmb3IgPGxlbmd0aD4rIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInKQotRkFJTCBzdHlsZU1h
cC5nZXRBbGwgcmV0dXJucyBhIGxpc3Qgb2YgQ1NTVW5pdFZhbHVlcyBmb3IgPGxlbmd0aD4rIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFy
JykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0QWxsIHJldHVybnMgYSBsaXN0IG9mIENTU1Vu
aXRWYWx1ZXMgZm9yIDxsZW5ndGg+IyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKLUZBSUwgc3R5bGVNYXAuZ2V0
QWxsIHJldHVybnMgYSBsaXN0IG9mIENTU1VuaXRWYWx1ZXMgZm9yIDxsZW5ndGg+IyB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS50ZW50YXRpdmUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0
aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS50ZW50YXRpdmUuaHRtbAppbmRleCA0ZTVlYWE3YjhmOGZk
NjliOGNiOTA2YzNkM2ZmNDEzMThhNjYyYjg1Li4xNGE2MjA0NDVjNjk3ZjdlM2VjOGUyYjYyMTZj
NGI5NjRlYjdhYWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3R5cGVkb20udGVudGF0
aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLnRlbnRhdGl2ZS5odG1sCkBA
IC0zMyw2ICszMywxMyBAQCBmdW5jdGlvbiBnZW5fcHJvcChzeW50YXgsIGluaXRpYWxWYWx1ZSkg
ewogICAgIHJldHVybiBuYW1lOwogfQogCisvLyBDbGVhbnMgc3R5bGUgcnVsZXMgdXNlZCBmb3Ig
dGVzdGluZyBiZXR3ZWVuIGV2ZXJ5IHRlc3QuCithZGRfcmVzdWx0X2NhbGxiYWNrKGZ1bmN0aW9u
KCl7CisgICAgdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyKCk7CisgICAgLy8gQ2xlYXJz
ICdkaXYnIHJ1bGUgaW4gI3N0eWxlOgorICAgIHN0eWxlLnNoZWV0LnJ1bGVzWzBdLnN0eWxlTWFw
LmNsZWFyKCk7Cit9KTsKKwogLy8gT24gdGhlIHRhcmdldCBlbGVtZW50LCB2ZXJpZnkgdGhhdCBj
b21wdXRlZCB2YWx1ZSBvZiAnbmFtZScgaXMgYW4gaW5zdGFuY2UKIC8vIG9mICdleHBlY3RlZCcg
YW5kIG5vdCBhbiBpbnN0YW5jZSBvZiBDU1NVbnBhcnNlZFZhbHVlLgogLy8KQEAgLTIxNCw4NiAr
MjIxLDg2IEBAIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2ws
IHByb3BlcnR5TWFwKXsKICAgICBsZXQgbmFtZTIgPSBnZW5fcHJvcCgnPGxlbmd0aD4nLCAnMHB4
Jyk7CiAgICAgc3R5bGVEZWNsLnNldFByb3BlcnR5KG5hbWUyLCBgdmFyKCR7bmFtZTF9KWApOwog
ICAgIGFzc2VydF90cnVlKHByb3BlcnR5TWFwLmdldChuYW1lMikgaW5zdGFuY2VvZiBDU1NVbnBh
cnNlZFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRW
YWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVmZXJlbmNlc2ApOworfSwgbmFtZSA9PiBgU3R5bGVQ
cm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbnBhcnNlZFZhbHVlIGZvciB2YWx1ZSB3aXRoIHZh
ciByZWZlcmVuY2VzICgke25hbWV9KWApOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9nZXQo
ZnVuY3Rpb24oc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCl7CiAgICAgbGV0IG5hbWUxID0gZ2VuX3By
b3AoJzxsZW5ndGg+JywgJzEwMHB4Jyk7CiAgICAgbGV0IG5hbWUyID0gZ2VuX3Byb3AoJzxsZW5n
dGg+IycsICcwcHgnKTsKICAgICBzdHlsZURlY2wuc2V0UHJvcGVydHkobmFtZTIsIGAxcHgsIHZh
cigke25hbWUxfSksIDNweGApOwogICAgIGFzc2VydF90cnVlKHByb3BlcnR5TWFwLmdldChuYW1l
MikgaW5zdGFuY2VvZiBDU1NVbnBhcnNlZFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0
IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVmZXJlbmNlcyBp
biBsaXN0YCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENTU1Vu
cGFyc2VkVmFsdWUgZm9yIHZhbHVlIHdpdGggdmFyIHJlZmVyZW5jZXMgaW4gbGlzdCAoJHtuYW1l
fSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwg
cHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBw
cm9wZXJ0eU1hcCwgJyonLCAnaWYoKXt9JywgQ1NTVW5wYXJzZWRWYWx1ZSk7Ci19LCBuYW1lID0+
IGAke25hbWV9LmdldCByZXR1cm5zIENTU1VucGFyc2VkVmFsdWUgZm9yICpgKTsKK30sIG5hbWUg
PT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgKiAo
JHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxl
RGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVE
ZWNsLCBwcm9wZXJ0eU1hcCwgJzxhbmdsZT4nLCAnNDJkZWcnLCBDU1NVbml0VmFsdWUpOwotfSwg
bmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxhbmdsZT5gKTsK
K30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZv
ciA8YW5nbGU+ICgke25hbWV9KWApOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9nZXQoZnVu
Y3Rpb24oc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCl7CiAgICAgYXNzZXJ0X2F0dHJpYnV0ZV9nZXRf
dHlwZShzdHlsZURlY2wsIHByb3BlcnR5TWFwLCAnPGNvbG9yPicsICcjZmVmZWZlJywgQ1NTU3R5
bGVWYWx1ZSk7Ci19LCBuYW1lID0+IGAke25hbWV9LmdldCByZXR1cm5zIENTU1N0eWxlVmFsdWUg
Zm9yIDxjb2xvcj5gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMg
Q1NTU3R5bGVWYWx1ZSBmb3IgPGNvbG9yPiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9w
ZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2Vy
dF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxjdXN0b20taWRl
bnQ+JywgJ25vbmUnLCBDU1NLZXl3b3JkVmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQg
cmV0dXJucyBDU1NLZXl3b3JkVmFsdWUgZm9yIDxjdXN0b20taWRlbnQ+YCk7Cit9LCBuYW1lID0+
IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENTU0tleXdvcmRWYWx1ZSBmb3IgPGN1c3Rv
bS1pZGVudD4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5j
dGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0cmlidXRlX2dldF90
eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8aW1hZ2U+JywgJ3VybCh0aGluZy5wbmcpJywg
Q1NTSW1hZ2VWYWx1ZSk7Ci19LCBuYW1lID0+IGAke25hbWV9LmdldCByZXR1cm5zIENTU0ltYWdl
VmFsdWUgZm9yIDxpbWFnZT5gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJl
dHVybnMgQ1NTSW1hZ2VWYWx1ZSBmb3IgPGltYWdlPiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHls
ZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAg
IGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxpbnRl
Z2VyPicsICcxMDAnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0
dXJucyBDU1NVbml0VmFsdWUgZm9yIDxpbnRlZ2VyPmApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9w
ZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxpbnRlZ2VyPiAoJHtuYW1lfSlg
KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJv
cGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9w
ZXJ0eU1hcCwgJzxsZW5ndGgtcGVyY2VudGFnZT4nLCAnMTAlJywgQ1NTVW5pdFZhbHVlKTsKLX0s
IG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoLXBl
cmNlbnRhZ2U+IFsxMCVdYCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1
cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGxlbmd0aC1wZXJjZW50YWdlPiBbMTAlXSAoJHtuYW1lfSlg
KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJv
cGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9w
ZXJ0eU1hcCwgJzxsZW5ndGgtcGVyY2VudGFnZT4nLCAnMTBweCcsIENTU1VuaXRWYWx1ZSk7Ci19
LCBuYW1lID0+IGAke25hbWV9LmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGxlbmd0aC1w
ZXJjZW50YWdlPiBbMTBweF1gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJl
dHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoLXBlcmNlbnRhZ2U+IFsxMHB4XSAoJHtuYW1l
fSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwg
cHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBw
cm9wZXJ0eU1hcCwgJzxsZW5ndGgtcGVyY2VudGFnZT4nLCAnY2FsYygxMHB4ICsgMTAlKScsIENT
U01hdGhTdW0pOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NNYXRoU3VtIGZv
ciA8bGVuZ3RoLXBlcmNlbnRhZ2U+IFtjYWxjKDEwcHggKyAxMCUpXWApOworfSwgbmFtZSA9PiBg
U3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NNYXRoU3VtIGZvciA8bGVuZ3RoLXBlcmNl
bnRhZ2U+IFtjYWxjKDEwcHggKyAxMCUpXSAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9w
ZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2Vy
dF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxsZW5ndGg+Jywg
JzEwcHgnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBD
U1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+YCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3BlcnR5TWFw
LmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGxlbmd0aD4gKCR7bmFtZX0pYCk7CiAKIHRl
c3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFw
KXsKICAgICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAs
ICc8bnVtYmVyPicsICc0MicsIENTU1VuaXRWYWx1ZSk7Ci19LCBuYW1lID0+IGAke25hbWV9Lmdl
dCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPG51bWJlcj5gKTsKK30sIG5hbWUgPT4gYFN0eWxl
UHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bnVtYmVyPiAoJHtuYW1l
fSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwg
cHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBw
cm9wZXJ0eU1hcCwgJzxwZXJjZW50YWdlPicsICcxMCUnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFt
ZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxwZXJjZW50YWdlPmAp
OworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUg
Zm9yIDxwZXJjZW50YWdlPiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBf
Z2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1
dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxyZXNvbHV0aW9uPicsICczMDBk
cGknLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NV
bml0VmFsdWUgZm9yIDxyZXNvbHV0aW9uPmApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1h
cC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxyZXNvbHV0aW9uPiAoJHtuYW1lfSlgKTsK
IAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVy
dHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0
eU1hcCwgJzx0aW1lPicsICc0MnMnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1l
fS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDx0aW1lPmApOworfSwgbmFtZSA9PiBgU3R5
bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDx0aW1lPiAoJHtuYW1l
fSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwg
cHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBw
cm9wZXJ0eU1hcCwgJzx1cmw+JywgJ3VybChhKScsIENTU1N0eWxlVmFsdWUpOwotfSwgbmFtZSA9
PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NTdHlsZVZhbHVlIGZvciA8dXJsPmApOworfSwgbmFt
ZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NTdHlsZVZhbHVlIGZvciA8dXJs
PiAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0
eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5
bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJ3RoaW5nMSB8IFRISU5HMicsICd0aGluZzEnLCBDU1NLZXl3
b3JkVmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NLZXl3b3JkVmFs
dWUgZm9yIHRoaW5nMSB8IFRISU5HMmApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5n
ZXQgcmV0dXJucyBDU1NLZXl3b3JkVmFsdWUgZm9yIHRoaW5nMSB8IFRISU5HMiAoJHtuYW1lfSlg
KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJv
cGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9w
ZXJ0eU1hcCwgJzxsZW5ndGg+KycsICcxMHB4IDIwcHgnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFt
ZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+K2ApOwor
fSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9y
IDxsZW5ndGg+KyAoJHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1
bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlNYXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0
X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCwgJzxsZW5ndGg+IycsICcxMHB4IDIwcHgnLCBD
U1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFs
dWUgZm9yIDxsZW5ndGg+I2ApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0
dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+IyAoJHtuYW1lfSlgKTsKIAogLy8gYXR0cmli
dXRlU3R5bGVNYXAuZ2V0QWxsCiAKQEAgLTMwMiwxNCArMzA5LDE0IEBAIHRlc3Rfc3R5bGVfcHJv
cGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBzdHls
ZURlY2wuc2V0UHJvcGVydHkobmFtZSwgJzEwcHggMjBweCAzMHB4Jyk7CiAgICAgYXNzZXJ0X2Vx
dWFscyhwcm9wZXJ0eU1hcC5nZXRBbGwobmFtZSkubGVuZ3RoLCAzKTsKICAgICBhc3NlcnRfdHJ1
ZShwcm9wZXJ0eU1hcC5nZXRBbGwobmFtZSkuZXZlcnkoeCA9PiB4IGluc3RhbmNlb2YgQ1NTVW5p
dFZhbHVlKSk7Ci19LCBuYW1lID0+IGAke25hbWV9LmdldEFsbCByZXR1cm5zIGEgbGlzdCBvZiBD
U1NVbml0VmFsdWVzIGZvciA8bGVuZ3RoPitgKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlN
YXAuZ2V0QWxsIHJldHVybnMgYSBsaXN0IG9mIENTU1VuaXRWYWx1ZXMgZm9yIDxsZW5ndGg+KyAo
JHtuYW1lfSlgKTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxl
RGVjbCwgcHJvcGVydHlNYXApewogICAgIGxldCBuYW1lID0gZ2VuX3Byb3AoJzxsZW5ndGg+Iycs
ICcwcHgnKTsKICAgICBzdHlsZURlY2wuc2V0UHJvcGVydHkobmFtZSwgJzEwcHgsIDIwcHgsIDMw
cHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKHByb3BlcnR5TWFwLmdldEFsbChuYW1lKS5sZW5ndGgs
IDMpOwogICAgIGFzc2VydF90cnVlKHByb3BlcnR5TWFwLmdldEFsbChuYW1lKS5ldmVyeSh4ID0+
IHggaW5zdGFuY2VvZiBDU1NVbml0VmFsdWUpKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0QWxs
IHJldHVybnMgYSBsaXN0IG9mIENTU1VuaXRWYWx1ZXMgZm9yIDxsZW5ndGg+I2ApOworfSwgbmFt
ZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXRBbGwgcmV0dXJucyBhIGxpc3Qgb2YgQ1NTVW5pdFZh
bHVlcyBmb3IgPGxlbmd0aD4jICgke25hbWV9KWApOwogCiAvLyBTdHlsZVByb3BlcnR5TWFwLnNl
dAogCkBAIC0zMTgsMTMgKzMyNSwxNSBAQCBmdW5jdGlvbiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21h
cF9zZXRfdXNpbmdfcHJvcGVydHlfbWFwKHByb3BlcnR5TWFwTmFtZSwgcHJvcGVydAogICAgICAg
ICBsZXQgbmFtZSA9IGdlbl9wcm9wKG9wdGlvbnMuc3ludGF4LCBvcHRpb25zLmluaXRpYWxWYWx1
ZSk7CiAgICAgICAgIHByb3BlcnR5TWFwLmNsZWFyKCk7CiAKKyAgICAgICAgbGV0IGVuc3VyZUFy
cmF5ID0gdiA9PiB2LmNvbnN0cnVjdG9yID09PSBBcnJheSA/IHYgOiBbdl07CisKICAgICAgICAg
Zm9yIChsZXQgdmFsdWUgb2Ygb3B0aW9ucy5zaG91bGRBY2NlcHQpCi0gICAgICAgICAgICBwcm9w
ZXJ0eU1hcC5zZXQobmFtZSwgdmFsdWUpOworICAgICAgICAgICAgcHJvcGVydHlNYXAuc2V0KG5h
bWUsIC4uLmVuc3VyZUFycmF5KHZhbHVlKSk7CiAKICAgICAgICAgZm9yIChsZXQgdmFsdWUgb2Yg
b3B0aW9ucy5zaG91bGRSZWplY3QpIHsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCAoKSA9PiBwcm9wZXJ0eU1hcC5zZXQobmFtZSwgdmFsdWUpKTsKKyAgICAgICAg
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBwcm9wZXJ0eU1hcC5zZXQo
bmFtZSwgLi4uZW5zdXJlQXJyYXkodmFsdWUpKSk7CiAgICAgICAgIH0KLSAgICB9LCBgJHtwcm9w
ZXJ0eU1hcE5hbWV9LnNldCBhY2NlcHRzIGNvcnJlY3QgQ1NTVW5pdFZhbHVlcyBmb3IgJHtvcHRp
b25zLnN5bnRheH1gKTsKKyAgICB9LCBgU3R5bGVQcm9wZXJ0eU1hcC5zZXQgYWNjZXB0cyBjb3Jy
ZWN0IENTU1N0eWxlVmFsdWVzIGZvciAke29wdGlvbnMuc3ludGF4fSAoJHtwcm9wZXJ0eU1hcE5h
bWV9KWApOwogfQogCiAvLyBWZXJpZnkgdGhhdCB0aGUgY29ycmVjdCBDU1NTdHlsZVZhbHVlcyBh
cmUgYWNjZXB0ZWQvcmVqZWN0ZWQgZm9yIGEgcmVnaXN0ZXJlZApAQCAtMzUzLDc3ICszNjIsNzcg
QEAgdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8YW5nbGU+JywK
ICAgICBpbml0aWFsVmFsdWU6ICcwZGVnJywKICAgICBzaG91bGRBY2NlcHQ6IFtDU1MuZGVnKDQy
KSwgQ1NTLnR1cm4oMiksICc0MmRlZyddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0
MmRlZycpLCBDU1MucHgoMTUpLCAnNTBweCddLAorICAgIHNob3VsZFJlamVjdDogW3VucGFyc2Vk
KCc0MmRlZycpLCBDU1MucHgoMTUpLCAnNTBweCcsIFtDU1MuZGVnKDE1KSwgJzEwZGVnJ11dLAog
fSk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CiAgICAgc3ludGF4OiAnPGN1c3Rv
bS1pZGVudD4nLAogICAgIGluaXRpYWxWYWx1ZTogJ25vbmUnLAogICAgIHNob3VsZEFjY2VwdDog
W2tleXdvcmQoJ2ZvbycpLCAnZm9vJ10sCi0gICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJ2Zv
bycpLCBDU1MucHgoMTUpLCAnMTVweCddLAorICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCdm
b28nKSwgQ1NTLnB4KDE1KSwgJzE1cHgnLCBba2V5d29yZCgnZm9vJyksICdmb28nXV0sCiB9KTsK
IAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8aW1hZ2U+JywK
ICAgICBpbml0aWFsVmFsdWU6ICd1cmwoYSknLAogICAgIHNob3VsZEFjY2VwdDogW3VybF9pbWFn
ZSgndXJsKGIpJyksICd1cmwoYiknXSwKLSAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgndXJs
KGIpJyksIENTUy5weCgxMDApLCAnNTBweCddLAorICAgIHNob3VsZFJlamVjdDogW3VucGFyc2Vk
KCd1cmwoYiknKSwgQ1NTLnB4KDEwMCksICc1MHB4JywgW3VybF9pbWFnZSgndXJsKDEpJyksICd1
cmwoMiknXV0sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50
YXg6ICc8aW50ZWdlcj4nLAogICAgIGluaXRpYWxWYWx1ZTogJzAnLAotICAgIHNob3VsZEFjY2Vw
dDogW0NTUy5udW1iZXIoMSksIENTUy5udW1iZXIoLTQyKSwgJzEnLCAnLTQyJ10sCi0gICAgc2hv
dWxkUmVqZWN0OiBbdW5wYXJzZWQoJzQyJyksIENTUy5weCgxMDApLCAnNTBweCddLAorICAgIHNo
b3VsZEFjY2VwdDogW0NTUy5udW1iZXIoMSksIENTUy5udW1iZXIoLTQyKSwgJzEnLCAnLTQyJywg
J2NhbGMoMi40KSddLAorICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0MicpLCBDU1MucHgo
MTAwKSwgJzUwcHgnLCBbQ1NTLm51bWJlcig0MiksICc0MiddLCAnY2FsYygycHggKyAxcHgpJ10s
CiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8bGVu
Z3RoLXBlcmNlbnRhZ2U+JywKICAgICBpbml0aWFsVmFsdWU6ICcwcHgnLAogICAgIHNob3VsZEFj
Y2VwdDogW0NTUy5wZXJjZW50KDEwKSwgQ1NTLnB4KDEpLCBDU1MuZW0oMSksICcxMHB4JywgJzEw
JSddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCcxMCUnKSwgdW5wYXJzZWQoJzEwcHgn
KSwgQ1NTLmRwaSgxKSwgJ3VybChiKSddLAorICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCcx
MCUnKSwgdW5wYXJzZWQoJzEwcHgnKSwgQ1NTLmRwaSgxKSwgJ3VybChiKScsIFtDU1MucGVyY2Vu
dCgxMCksICcxMCUnXV0sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAg
ICBzeW50YXg6ICc8bGVuZ3RoPicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMHB4JywKICAgICBzaG91
bGRBY2NlcHQ6IFtDU1MucHgoMTApLCBDU1MuZW0oMTApLCBDU1MudmgoMjAwKSwgc3VtKENTUy5w
eCgxMCksIENTUy5lbSgyMCkpLCAnMTBlbScsICdjYWxjKDEwcHggKyAxMGVtKSddLAotICAgIHNo
b3VsZFJlamVjdDogW3VucGFyc2VkKCcxMHB4JyksIENTUy5wZXJjZW50KDEpLCAndXJsKGIpJ10s
CisgICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJzEwcHgnKSwgQ1NTLnBlcmNlbnQoMSksICd1
cmwoYiknLCBbQ1NTLmVtKDEwKSwgJzEwcHgnXV0sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0
eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8bnVtYmVyPicsCiAgICAgaW5pdGlhbFZhbHVlOiAn
MCcsCiAgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLm51bWJlcigxMzM3KSwgQ1NTLm51bWJlcigtNDIu
NSksICcxMzM3JywgJy00Mi41J10sCi0gICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJzQyJyks
IENTUy5weCgxNSksICcjZmVmJ10sCisgICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJzQyJyks
IENTUy5weCgxNSksICcjZmVmJywgW0NTUy5udW1iZXIoLTQyLjUpLCAnNDIuNSddXSwKIH0pOwog
CiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoewogICAgIHN5bnRheDogJzxwZXJjZW50YWdl
PicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMCUnLAogICAgIHNob3VsZEFjY2VwdDogW0NTUy5wZXJj
ZW50KDEwKSwgJzEwJSddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCcxMCUnKSwgQ1NT
LnB4KDEpLCAnI2ZlZiddLAorICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCcxMCUnKSwgQ1NT
LnB4KDEpLCAnI2ZlZicsIFtDU1MucGVyY2VudCgxMCksICcxJSddXSwKIH0pOwogCiB0ZXN0X3N0
eWxlX3Byb3BlcnR5X21hcF9zZXQoewogICAgIHN5bnRheDogJzxyZXNvbHV0aW9uPicsCiAgICAg
aW5pdGlhbFZhbHVlOiAnMGRwaScsCiAgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLmRwaSgxMDApLCBD
U1MuZHBjbSgxMCksIENTUy5kcHB4KDUwKSwgJzEwMGRwaSddLAotICAgIHNob3VsZFJlamVjdDog
W3VucGFyc2VkKCc0MicpLCBDU1MucHgoMTUpLCAnI2ZlZiddLAorICAgIHNob3VsZFJlamVjdDog
W3VucGFyc2VkKCc0MicpLCBDU1MucHgoMTUpLCAnI2ZlZicsIFtDU1MuZHBpKDEpLCAnMmRwaSdd
XSwKIH0pOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoewogICAgIHN5bnRheDogJzx0
aW1lPicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMHMnLAogICAgIHNob3VsZEFjY2VwdDogW0NTUy5z
KDQyKSwgQ1NTLm1zKDE2KSwgJzE2bXMnXSwKLSAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgn
NDJzJyksIENTUy5weCgxNSksICcjZmVmJ10sCisgICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQo
JzQycycpLCBDU1MucHgoMTUpLCAnI2ZlZicsIFtDU1Mucyg1KSwgJzZzJ11dLAogfSk7CiAKIHRl
c3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CiAgICAgc3ludGF4OiAnPHVybD4nLAogICAgIGlu
aXRpYWxWYWx1ZTogJ3VybChhKScsCiAgICAgc2hvdWxkQWNjZXB0OiBbdXJsX2ltYWdlKCd1cmwo
YiknKV0sCi0gICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJ3VybChiKScpLCBDU1MucHgoMTAw
KSwgJyNmZWYnXSwKKyAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgndXJsKGIpJyksIENTUy5w
eCgxMDApLCAnI2ZlZicsIFt1cmxfaW1hZ2UoJ3VybCgxKScpLCAndXJsKDIpJ11dLAogfSk7CiAK
IHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CkBAIC00MzcsMTQgKzQ0NiwzMDggQEAgdGVz
dF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICdub25lIHwgdGhpbmcgfCBU
SElORycsCiAgICAgaW5pdGlhbFZhbHVlOiAnbm9uZScsCiAgICAgc2hvdWxkQWNjZXB0OiBba2V5
d29yZCgndGhpbmcnKSwga2V5d29yZCgnVEhJTkcnKSwgJ3RoaW5nJ10sCi0gICAgc2hvdWxkUmVq
ZWN0OiBbdW5wYXJzZWQoJ3RoaW5nJyksIENTUy5weCgxNSksIGtleXdvcmQoJ25vdGF0aGluZycp
LCAnbm90YXRoaW5nJ10sCisgICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJ3RoaW5nJyksIENT
Uy5weCgxNSksIGtleXdvcmQoJ25vdGF0aGluZycpLCAnbm90YXRoaW5nJywgW2tleXdvcmQoJ3Ro
aW5nJyksIGtleXdvcmQoJ3RoaW5nJyldXSwKIH0pOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21h
cF9zZXQoewogICAgIHN5bnRheDogJzxhbmdsZT4gfCA8bGVuZ3RoPicsCiAgICAgaW5pdGlhbFZh
bHVlOiAnMGRlZycsCiAgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLmRlZyg0MiksIENTUy50dXJuKDIp
LCBDU1MucHgoMTApLCBDU1MuZW0oMTApLCAnMTBkZWcnLCAnMTBweCddLAotICAgIHNob3VsZFJl
amVjdDogW3VucGFyc2VkKCc0MmRlZycpLCB1bnBhcnNlZCgnMjBweCcpLCBDU1MucygxKSwgJyNm
ZWYnXSwKKyAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnNDJkZWcnKSwgdW5wYXJzZWQoJzIw
cHgnKSwgQ1NTLnMoMSksICcjZmVmJywgW0NTUy5kZWcoNDIpLCAnMjFkZWcnXV0sCit9KTsKKwor
Ly8gU3R5bGVQcm9wZXJ0eU1hcC5zZXQgZm9yIGxpc3QtdmFsdWVkIHByb3BlcnRpZXM6CisKK3Rl
c3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4OiAnPGFuZ2xlPisnLAorICAg
IGluaXRpYWxWYWx1ZTogJzBkZWcnLAorICAgIHNob3VsZEFjY2VwdDogW0NTUy5kZWcoMTUpLCBb
Q1NTLmRlZygxNSksICcxMGRlZyddLCAnMTVkZWcgMTBkZWcnXSwKKyAgICBzaG91bGRSZWplY3Q6
IFtbQ1NTLmRlZygxNSksIENTUy5weCgxMCldLCAnMTVkZWcgMTBweCddLAorfSk7CisKK3Rlc3Rf
c3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4OiAnPGN1c3RvbS1pZGVudD4rJywK
KyAgICBpbml0aWFsVmFsdWU6ICdub25lJywKKyAgICBzaG91bGRBY2NlcHQ6IFtrZXl3b3JkKCdm
b28nKSwgW2tleXdvcmQoJ2ZvbycpLCAnYmFyJ10sICdmb28gYmFyJ10sCisgICAgc2hvdWxkUmVq
ZWN0OiBbW2tleXdvcmQoJ2ZvbycpLCBDU1MucHgoMTApXSwgJ2ZvbyAxMHB4J10sCit9KTsKKwor
dGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8aW1hZ2U+KycsCisg
ICAgaW5pdGlhbFZhbHVlOiAndXJsKGEpJywKKyAgICBzaG91bGRBY2NlcHQ6IFt1cmxfaW1hZ2Uo
J3VybCgxKScpLCBbdXJsX2ltYWdlKCd1cmwoMSknKSwgJ3VybCgyKSddLCAndXJsKDEpIHVybCgy
KSddLAorICAgIHNob3VsZFJlamVjdDogW1t1cmxfaW1hZ2UoJ3VybCgxKScpLCBDU1MucHgoMTAp
XSwgJ3VybCgxKSAxMHB4J10sCit9KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsK
KyAgICBzeW50YXg6ICc8aW50ZWdlcj4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcwJywKKyAgICBz
aG91bGRBY2NlcHQ6IFtDU1MubnVtYmVyKDQyKSwgW0NTUy5udW1iZXIoNDIpLCAnNDInXSwgJzQy
IDQyJywgJ2NhbGMoMi40KSBjYWxjKDIuNiknXSwKKyAgICBzaG91bGRSZWplY3Q6IFtbQ1NTLm51
bWJlcig0MiksIGtleXdvcmQoJ25vaW50JyldLCAnNDIgbm9pbnQnLCAnY2FsYygycHggKyAycHgp
J10sCit9KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8
bGVuZ3RoLXBlcmNlbnRhZ2U+KycsCisgICAgaW5pdGlhbFZhbHVlOiAnMHB4JywKKyAgICBzaG91
bGRBY2NlcHQ6IFtDU1MucGVyY2VudCgxMCksIFtDU1MucGVyY2VudCgxMCksICcxMCUnXV0sCisg
ICAgc2hvdWxkUmVqZWN0OiBbW0NTUy5wZXJjZW50KDEwKSwga2V5d29yZCgnbm9sZW5ndGgnKV0s
ICcxMCUgbm9sZW5ndGgnXSwKK30pOworCit0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoewor
ICAgIHN5bnRheDogJzxsZW5ndGg+KycsCisgICAgaW5pdGlhbFZhbHVlOiAnMHB4JywKKyAgICBz
aG91bGRBY2NlcHQ6IFtDU1MuZW0oMTApLCBbQ1NTLmVtKDEwKSwgJzEwcHgnXV0sCisgICAgc2hv
dWxkUmVqZWN0OiBbW0NTUy5lbSgxMCksIGtleXdvcmQoJ25vbGVuZ3RoJyksICcxMGVtIG5vbGVu
Z3RoJ11dLAorfSk7CisKK3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4
OiAnPG51bWJlcj4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcwJywKKyAgICBzaG91bGRBY2NlcHQ6
IFtDU1MubnVtYmVyKC00Mi41KSwgW0NTUy5udW1iZXIoLTQyLjUpLCAnNDIuNSddLCAnLTQyLjUg
NDIuNSddLAorICAgIHNob3VsZFJlamVjdDogW1tDU1MubnVtYmVyKC00Mi41KSwgQ1NTLnB4KDEw
KV0sICctNDIuNSAxMHB4J10sCit9KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsK
KyAgICBzeW50YXg6ICc8cGVyY2VudGFnZT4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcwJScsCisg
ICAgc2hvdWxkQWNjZXB0OiBbQ1NTLnBlcmNlbnQoMTApLCBbQ1NTLnBlcmNlbnQoMTApLCAnMSUn
XSwgJzEwJSAxJSddLAorICAgIHNob3VsZFJlamVjdDogW1tDU1MucGVyY2VudCgxMCksIGtleXdv
cmQoJ2ZvbycpXSwgJzEwJSBmb28nXSwKK30pOworCit0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9z
ZXQoeworICAgIHN5bnRheDogJzxyZXNvbHV0aW9uPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzBk
cGknLAorICAgIHNob3VsZEFjY2VwdDogW0NTUy5kcGkoMSksIFtDU1MuZHBpKDEpLCAnMmRwaSdd
LCAnMWRwaSAyZHBpJ10sCisgICAgc2hvdWxkUmVqZWN0OiBbW0NTUy5kcGkoMSksIGtleXdvcmQo
J2ZvbycpXSwgJzFkcGkgZm9vJ10sCit9KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0
KHsKKyAgICBzeW50YXg6ICc8dGltZT4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcwcycsCisgICAg
c2hvdWxkQWNjZXB0OiBbQ1NTLnMoNSksIFtDU1Mucyg1KSwgJzZzJ10sICc1cyA2cyddLAorICAg
IHNob3VsZFJlamVjdDogW1tDU1Mucyg1KSwga2V5d29yZCgnZm9vJyldLCAnNXMgZm9vJ10sCit9
KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8dXJsPisn
LAorICAgIGluaXRpYWxWYWx1ZTogJ3VybChhKScsCisgICAgc2hvdWxkQWNjZXB0OiBbdXJsX2lt
YWdlKCd1cmwoMSknKSwgW3VybF9pbWFnZSgndXJsKDEpJyksICd1cmwoMiknXSwgJ3VybCgxKSB1
cmwoMiknXSwKKyAgICBzaG91bGRSZWplY3Q6IFtbdXJsX2ltYWdlKCd1cmwoMSknKSwgQ1NTLnB4
KDEwKV0sICd1cmwoMSkgMTBweCddLAorfSk7CisKK3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3Nl
dCh7CisgICAgc3ludGF4OiAndGhpbmcrJywKKyAgICBpbml0aWFsVmFsdWU6ICd0aGluZycsCisg
ICAgc2hvdWxkQWNjZXB0OiBba2V5d29yZCgndGhpbmcnKSwgW2tleXdvcmQoJ3RoaW5nJyksICd0
aGluZyddLCAndGhpbmcgdGhpbmcnXSwKKyAgICBzaG91bGRSZWplY3Q6IFtba2V5d29yZCgndGhp
bmcnKSwgQ1NTLnB4KDEwKV0sICd0aGluZyAxMHB4J10sCit9KTsKKwordGVzdF9zdHlsZV9wcm9w
ZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8bGVuZ3RoPiMnLAorICAgIGluaXRpYWxWYWx1
ZTogJzBweCcsCisgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLmVtKDEwKSwgW0NTUy5lbSgxMCksICcx
MHB4J11dLAorICAgIHNob3VsZFJlamVjdDogW1tDU1MuZW0oMTApLCBrZXl3b3JkKCdub2xlbmd0
aCcpLCAnMTBlbSBub2xlbmd0aCddXSwKK30pOworCitmdW5jdGlvbiB0ZXN0X2FwcGVuZF9mb3Jf
cHJvcGVydHlfbWFwKHByb3BlcnR5TWFwTmFtZSwgcHJvcGVydHlNYXAsIG9wdGlvbnMpIHsKKyAg
ICB0ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgIGxldCBuYW1lID0gZ2VuX3Byb3Aob3B0aW9ucy5z
eW50YXgsIG9wdGlvbnMuaW5pdGlhbFZhbHVlKTsKKworICAgICAgICBsZXQgZW5zdXJlQXJyYXkg
PSB2ID0+IHYuY29uc3RydWN0b3IgPT09IEFycmF5ID8gdiA6IFt2XTsKKworICAgICAgICBmb3Ig
KGxldCB2YWx1ZSBvZiBvcHRpb25zLnZhbHVlcykgeworICAgICAgICAgICAgcHJvcGVydHlNYXAu
Y2xlYXIoKTsKKworICAgICAgICAgICAgaWYgKHZhbHVlLmJhc2UgIT09IG51bGwpCisgICAgICAg
ICAgICAgICAgcHJvcGVydHlNYXAuc2V0KG5hbWUsIC4uLmVuc3VyZUFycmF5KHZhbHVlLmJhc2Up
KTsKKworICAgICAgICAgICAgLy8gSWYgJ251bGwnIGlzIGV4cGVjdGVkLCBpdCBtZWFucyB3ZSBl
eHBlY3QgdGhlIGFwcGVuZCB0byBmYWlsLgorICAgICAgICAgICAgaWYgKHZhbHVlLmV4cGVjdCAh
PT0gbnVsbCkgeworICAgICAgICAgICAgICAgIHByb3BlcnR5TWFwLmFwcGVuZChuYW1lLCAuLi5l
bnN1cmVBcnJheSh2YWx1ZS5hcHBlbmQpKTsKKyAgICAgICAgICAgICAgICBsZXQgYWN0dWFsID0g
QXJyYXkuZnJvbShwcm9wZXJ0eU1hcC5nZXRBbGwobmFtZSkpLmpvaW4oJyAnKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbCwgdmFsdWUuZXhwZWN0KTsKKyAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
ICgpID0+IHByb3BlcnR5TWFwLmFwcGVuZChuYW1lLCAuLi5lbnN1cmVBcnJheSh2YWx1ZS5hcHBl
bmQpKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9LCBgU3R5bGVQcm9wZXJ0eU1h
cC5hcHBlbmQgYWNjZXB0cyBjb3JyZWN0IENTU1N0eWxlVmFsdWVzIGZvciAke29wdGlvbnMuc3lu
dGF4fSAoJHtwcm9wZXJ0eU1hcE5hbWV9KWApOworfQorCisvLyBWZXJpZnkgdGhhdCB0aGUgY29y
cmVjdCBDU1NTdHlsZVZhbHVlcyBhcmUgYWNjZXB0ZWQvcmVqZWN0ZWQgd2hlbgorLy8gYXBwZW5k
aW5nIHZhbHVlcyB0byBsaXN0LXZhbHVlZCBwcm9wZXJ0aWVzLgorLy8KKy8vIFRoZSBzYW1lIHRl
c3QgaXMgcGVyZm9ybWVkIHR3aWNlOiBvbmNlIGZvciBhdHRyaWJ1dGVTdHlsZU1hcCwgYW5kIG9u
Y2UKKy8vIGZvciBzdHlsZU1hcC4KK2Z1bmN0aW9uIHRlc3RfYXBwZW5kKG9wdGlvbnMpIHsKKyAg
ICB0ZXN0X2FwcGVuZF9mb3JfcHJvcGVydHlfbWFwKCdhdHRyaWJ1dGVTdHlsZU1hcCcsIHRhcmdl
dC5hdHRyaWJ1dGVTdHlsZU1hcCwgb3B0aW9ucyk7CisgICAgdGVzdF9hcHBlbmRfZm9yX3Byb3Bl
cnR5X21hcCgnc3R5bGVNYXAnLCBzdHlsZS5zaGVldC5ydWxlc1swXS5zdHlsZU1hcCwgb3B0aW9u
cyk7Cit9CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6ICc8YW5nbGU+KycsCisgICAgaW5p
dGlhbFZhbHVlOiAnMGRlZycsCisgICAgdmFsdWVzOiBbCisgICAgICAgIHsgYmFzZTogW0NTUy5k
ZWcoMSldLCBhcHBlbmQ6IFtDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBi
YXNlOiBbQ1NTLmRlZygxKV0sIGFwcGVuZDogW0NTUy5kZWcoMiksIENTUy5weCgxKV0sIGV4cGVj
dDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MuZGVnKDEpXSwgYXBwZW5kOiBbQ1NTLmRl
ZygyKSwgJzFweCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLmRlZygx
KV0sIGFwcGVuZDogW0NTUy50dXJuKDIpLCBDU1MuZGVnKDMpXSwgZXhwZWN0OiAnMWRlZyAydHVy
biAzZGVnJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MuZGVnKDEpLCBDU1MuZGVnKDIpXSwgYXBw
ZW5kOiBbQ1NTLmRlZygzKV0sIGV4cGVjdDogJzFkZWcgMmRlZyAzZGVnJyB9LAorICAgICAgICB7
IGJhc2U6IFtDU1MuZGVnKDEpXSwgYXBwZW5kOiBbQ1NTLmRlZygyKSwgJzNkZWcnXSwgZXhwZWN0
OiAnMWRlZyAyZGVnIDNkZWcnIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5kZWcoMSldLCBhcHBl
bmQ6IFtDU1MuZGVnKDIpLCAnM3R1cm4gNGRlZyddLCBleHBlY3Q6ICcxZGVnIDJkZWcgM3R1cm4g
NGRlZycgfSwKKyAgICAgICAgeyBiYXNlOiBudWxsLCBhcHBlbmQ6IFtDU1MuZGVnKDEpLCAnMmRl
ZyddLCBleHBlY3Q6ICcxZGVnIDJkZWcnIH0sCisgICAgXSwKK30pOworCit0ZXN0X2FwcGVuZCh7
CisgICAgc3ludGF4OiAnPGN1c3RvbS1pZGVudD4rJywKKyAgICBpbml0aWFsVmFsdWU6ICdub25l
JywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyldLCBhcHBl
bmQ6IFtDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBba2V5d29y
ZCgnZm9vJyldLCBhcHBlbmQ6IFtrZXl3b3JkKCdiYXInKSwgQ1NTLnB4KDEpXSwgZXhwZWN0OiBu
dWxsIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5d29y
ZCgnYmFyJyksICcxcHgnXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdv
cmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5d29yZCgnYmFyJyksIGtleXdvcmQoJ2JheicpXSwgZXhw
ZWN0OiAnZm9vIGJhciBiYXonIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpLCBr
ZXl3b3JkKCdiYXInKV0sIGFwcGVuZDogW2tleXdvcmQoJ2JheicpXSwgZXhwZWN0OiAnZm9vIGJh
ciBiYXonIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5
d29yZCgnYmFyJyksICdiYXonXSwgZXhwZWN0OiAnZm9vIGJhciBiYXonIH0sCisgICAgICAgIHsg
YmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5d29yZCgnYmFyJyksICdiYXogemlt
J10sIGV4cGVjdDogJ2ZvbyBiYXIgYmF6IHppbScgfSwKKyAgICAgICAgeyBiYXNlOiBudWxsLCBh
cHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwgJ2JhciddLCBleHBlY3Q6ICdmb28gYmFyJyB9LAorICAg
IF0sCit9KTsKKworWyc8aW1hZ2U+KycsICc8dXJsPisnXS5mb3JFYWNoKChzeW50YXgpID0+IHsK
KyAgICB0ZXN0X2FwcGVuZCh7CisgICAgICAgIHN5bnRheDogc3ludGF4LAorICAgICAgICBpbml0
aWFsVmFsdWU6ICd1cmwoMCknLAorICAgICAgICB2YWx1ZXM6IFsKKyAgICAgICAgICAgIHsgYmFz
ZTogW3VybF9pbWFnZSgndXJsKCIxIiknKV0sIGFwcGVuZDogW0NTUy5weCgxKV0sIGV4cGVjdDog
bnVsbCB9LAorICAgICAgICAgICAgeyBiYXNlOiBbdXJsX2ltYWdlKCd1cmwoIjEiKScpXSwgYXBw
ZW5kOiBbdXJsX2ltYWdlKCd1cmwoIjIiKScpLCBDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwK
KyAgICAgICAgICAgIHsgYmFzZTogW3VybF9pbWFnZSgndXJsKCIxIiknKV0sIGFwcGVuZDogW3Vy
bF9pbWFnZSgndXJsKCIyIiknKSwgJzFweCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgICAg
IHsgYmFzZTogW3VybF9pbWFnZSgndXJsKCIxIiknKV0sIGFwcGVuZDogW3VybF9pbWFnZSgndXJs
KCIyIiknKSwgdXJsX2ltYWdlKCd1cmwoIjMiKScpXSwgZXhwZWN0OiAndXJsKCIxIikgdXJsKCIy
IikgdXJsKCIzIiknIH0sCisgICAgICAgICAgICB7IGJhc2U6IFt1cmxfaW1hZ2UoJ3VybCgiMSIp
JyksIHVybF9pbWFnZSgndXJsKCIyIiknKV0sIGFwcGVuZDogW3VybF9pbWFnZSgndXJsKCIzIikn
KV0sIGV4cGVjdDogJ3VybCgiMSIpIHVybCgiMiIpIHVybCgiMyIpJyB9LAorICAgICAgICAgICAg
eyBiYXNlOiBbdXJsX2ltYWdlKCd1cmwoIjEiKScpXSwgYXBwZW5kOiBbdXJsX2ltYWdlKCd1cmwo
IjIiKScpLCAndXJsKCIzIiknXSwgZXhwZWN0OiAndXJsKCIxIikgdXJsKCIyIikgdXJsKCIzIikn
IH0sCisgICAgICAgICAgICB7IGJhc2U6IFt1cmxfaW1hZ2UoJ3VybCgiMSIpJyldLCBhcHBlbmQ6
IFt1cmxfaW1hZ2UoJ3VybCgiMiIpJyksICd1cmwoIjMiKSB1cmwoIjQiKSddLCBleHBlY3Q6ICd1
cmwoIjEiKSB1cmwoIjIiKSB1cmwoIjMiKSB1cmwoIjQiKScgfSwKKyAgICAgICAgICAgIHsgYmFz
ZTogbnVsbCwgYXBwZW5kOiBbdXJsX2ltYWdlKCd1cmwoIjEiKScpLCAndXJsKCIyIiknXSwgZXhw
ZWN0OiAndXJsKCIxIikgdXJsKCIyIiknIH0sCisgICAgICAgIF0sCisgICAgfSk7Cit9KTsKKwor
dGVzdF9hcHBlbmQoeworICAgIHN5bnRheDogJzxpbnRlZ2VyPisnLAorICAgIGluaXRpYWxWYWx1
ZTogJzAnLAorICAgIHZhbHVlczogWworICAgICAgICB7IGJhc2U6IFtDU1MubnVtYmVyKDEpXSwg
YXBwZW5kOiBbQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NT
Uy5udW1iZXIoMSldLCBhcHBlbmQ6IFtDU1MubnVtYmVyKDIpLCBDU1MucHgoMSldLCBleHBlY3Q6
IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigxKV0sIGFwcGVuZDogW0NTUy5u
dW1iZXIoMiksICdub2ludCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NT
Lm51bWJlcigxKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMiksIENTUy5udW1iZXIoMyldLCBleHBl
Y3Q6ICcxIDIgMycgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigxKSwgQ1NTLm51bWJl
cigyKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMyldLCBleHBlY3Q6ICcxIDIgMycgfSwKKyAgICAg
ICAgeyBiYXNlOiBbQ1NTLm51bWJlcigxKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMiksICczJ10s
IGV4cGVjdDogJzEgMiAzJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MubnVtYmVyKDEpXSwgYXBw
ZW5kOiBbQ1NTLm51bWJlcigyKSwgJzMgNCddLCBleHBlY3Q6ICcxIDIgMyA0JyB9LAorICAgICAg
ICB7IGJhc2U6IG51bGwsIGFwcGVuZDogW0NTUy5udW1iZXIoMSksICcyJ10sIGV4cGVjdDogJzEg
MicgfSwKKyAgICBdLAorfSk7CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6ICc8bGVuZ3Ro
LXBlcmNlbnRhZ2U+KycsCisgICAgaW5pdGlhbFZhbHVlOiAnMHB4JywKKyAgICB2YWx1ZXM6IFsK
KyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBba2V5d29yZCgnbm9sZW5ndGgn
KV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MucHgoMSldLCBhcHBlbmQ6
IFtDU1MucHgoMiksIGtleXdvcmQoJ25vbGVuZ3RoJyldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAg
ICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLnB4KDIpLCAnbm9sZW5ndGgnXSwg
ZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5weCgxKV0sIGFwcGVuZDogW0NT
Uy5weCgyKSwgQ1NTLnBlcmNlbnQoMyldLCBleHBlY3Q6ICcxcHggMnB4IDMlJyB9LAorICAgICAg
ICB7IGJhc2U6IFtDU1MucHgoMSksIENTUy5weCgyKV0sIGFwcGVuZDogW0NTUy5wZXJjZW50KDMp
XSwgZXhwZWN0OiAnMXB4IDJweCAzJScgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwg
YXBwZW5kOiBbQ1NTLnBlcmNlbnQoMiksICczcHgnXSwgZXhwZWN0OiAnMXB4IDIlIDNweCcgfSwK
KyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLnB4KDIpLCAnMyUgNHB4
J10sIGV4cGVjdDogJzFweCAycHggMyUgNHB4JyB9LAorICAgICAgICB7IGJhc2U6IG51bGwsIGFw
cGVuZDogW0NTUy5weCgxKSwgJzIlJ10sIGV4cGVjdDogJzFweCAyJScgfSwKKyAgICBdLAorfSk7
CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6ICc8bGVuZ3RoPisnLAorICAgIGluaXRpYWxW
YWx1ZTogJzAnLAorICAgIHZhbHVlczogWworICAgICAgICB7IGJhc2U6IFtDU1MucHgoMSldLCBh
cHBlbmQ6IFtrZXl3b3JkKCdub2xlbmd0aCcpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsg
YmFzZTogW0NTUy5weCgxKV0sIGFwcGVuZDogW0NTUy5weCgyKSwga2V5d29yZCgnbm9sZW5ndGgn
KV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MucHgoMSldLCBhcHBlbmQ6
IFtDU1MucHgoMiksICdub2xlbmd0aCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNl
OiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLmVtKDIpLCBDU1MucHgoMyldLCBleHBlY3Q6ICcx
cHggMmVtIDNweCcgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpLCBDU1MuZW0oMildLCBh
cHBlbmQ6IFtDU1MudmgoMyldLCBleHBlY3Q6ICcxcHggMmVtIDN2aCcgfSwKKyAgICAgICAgeyBi
YXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLmVtKDIpLCAnM3B4J10sIGV4cGVjdDogJzFw
eCAyZW0gM3B4JyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MucHgoMSldLCBhcHBlbmQ6IFtDU1Mu
cHgoMiksICczZW0gNGNtJ10sIGV4cGVjdDogJzFweCAycHggM2VtIDRjbScgfSwKKyAgICAgICAg
eyBiYXNlOiBudWxsLCBhcHBlbmQ6IFtDU1MudmgoMSksICcycHgnXSwgZXhwZWN0OiAnMXZoIDJw
eCcgfSwKKyAgICBdLAorfSk7CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6ICc8bnVtYmVy
PisnLAorICAgIGluaXRpYWxWYWx1ZTogJzAnLAorICAgIHZhbHVlczogWworICAgICAgICB7IGJh
c2U6IFtDU1MubnVtYmVyKC0xKV0sIGFwcGVuZDogW2tleXdvcmQoJ05hTicpXSwgZXhwZWN0OiBu
dWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5udW1iZXIoLTEpXSwgYXBwZW5kOiBbQ1NTLm51
bWJlcigyLjUpLCBrZXl3b3JkKCdOYU4nKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJh
c2U6IFtDU1MubnVtYmVyKC0xKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMi41KSwgJzFweCddLCBl
eHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigtMSldLCBhcHBlbmQ6
IFtDU1MubnVtYmVyKDIuNSksIENTUy5udW1iZXIoMy4yKV0sIGV4cGVjdDogJy0xIDIuNSAzLjIn
IH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5udW1iZXIoLTEpLCBDU1MubnVtYmVyKDIuNSldLCBh
cHBlbmQ6IFtDU1MubnVtYmVyKDMuMildLCBleHBlY3Q6ICctMSAyLjUgMy4yJyB9LAorICAgICAg
ICB7IGJhc2U6IFtDU1MubnVtYmVyKC0xKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMi41KSwgJzMu
MiddLCBleHBlY3Q6ICctMSAyLjUgMy4yJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MubnVtYmVy
KC0xKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMi41KSwgJzMuMiA0J10sIGV4cGVjdDogJy0xIDIu
NSAzLjIgNCcgfSwKKyAgICAgICAgeyBiYXNlOiBudWxsLCBhcHBlbmQ6IFtDU1MubnVtYmVyKC0x
KSwgJzIuNSddLCBleHBlY3Q6ICctMSAyLjUnIH0sCisgICAgXSwKK30pOworCit0ZXN0X2FwcGVu
ZCh7CisgICAgc3ludGF4OiAnPHBlcmNlbnRhZ2U+KycsCisgICAgaW5pdGlhbFZhbHVlOiAnMCUn
LAorICAgIHZhbHVlczogWworICAgICAgICB7IGJhc2U6IFtDU1MucGVyY2VudCgxKV0sIGFwcGVu
ZDogW0NTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MucGVy
Y2VudCgxKV0sIGFwcGVuZDogW0NTUy5wZXJjZW50KDIpLCBDU1MucHgoMSldLCBleHBlY3Q6IG51
bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnBlcmNlbnQoMSldLCBhcHBlbmQ6IFtDU1MucGVy
Y2VudCgyKSwgJzFweCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnBl
cmNlbnQoMSldLCBhcHBlbmQ6IFtDU1MucGVyY2VudCgyKSwgQ1NTLnBlcmNlbnQoMyldLCBleHBl
Y3Q6ICcxJSAyJSAzJScgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnBlcmNlbnQoMSksIENTUy5w
ZXJjZW50KDIpXSwgYXBwZW5kOiBbQ1NTLnBlcmNlbnQoMyldLCBleHBlY3Q6ICcxJSAyJSAzJScg
fSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnBlcmNlbnQoMSldLCBhcHBlbmQ6IFtDU1MucGVyY2Vu
dCgyKSwgJzMlJ10sIGV4cGVjdDogJzElIDIlIDMlJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1Mu
cGVyY2VudCgxKV0sIGFwcGVuZDogW0NTUy5wZXJjZW50KDIpLCAnMyUgNCUnXSwgZXhwZWN0OiAn
MSUgMiUgMyUgNCUnIH0sCisgICAgICAgIHsgYmFzZTogbnVsbCwgYXBwZW5kOiBbQ1NTLnBlcmNl
bnQoMSksICcyJSddLCBleHBlY3Q6ICcxJSAyJScgfSwKKyAgICBdLAorfSk7CisKK3Rlc3RfYXBw
ZW5kKHsKKyAgICBzeW50YXg6ICc8cmVzb2x1dGlvbj4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcw
ZHBpJywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAgeyBiYXNlOiBbQ1NTLmRwaSgxKV0sIGFwcGVu
ZDogW0NTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MuZHBp
KDEpXSwgYXBwZW5kOiBbQ1NTLmRwaSgyKSwgQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisg
ICAgICAgIHsgYmFzZTogW0NTUy5kcGkoMSldLCBhcHBlbmQ6IFtDU1MuZHBpKDIpLCAnMXB4J10s
IGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MuZHBpKDEpXSwgYXBwZW5kOiBb
Q1NTLmRwaSgyKSwgQ1NTLmRwaSgzKV0sIGV4cGVjdDogJzFkcGkgMmRwaSAzZHBpJyB9LAorICAg
ICAgICB7IGJhc2U6IFtDU1MuZHBpKDEpLCBDU1MuZHBpKDIpXSwgYXBwZW5kOiBbQ1NTLmRwaSgz
KV0sIGV4cGVjdDogJzFkcGkgMmRwaSAzZHBpJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1MuZHBp
KDEpXSwgYXBwZW5kOiBbQ1NTLmRwaSgyKSwgJzNkcGknXSwgZXhwZWN0OiAnMWRwaSAyZHBpIDNk
cGknIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5kcGkoMSldLCBhcHBlbmQ6IFtDU1MuZHBpKDIp
LCAnM2RwaSA0ZHBpJ10sIGV4cGVjdDogJzFkcGkgMmRwaSAzZHBpIDRkcGknIH0sCisgICAgICAg
IHsgYmFzZTogbnVsbCwgYXBwZW5kOiBbQ1NTLmRwaSgxKSwgJzJkcGknXSwgZXhwZWN0OiAnMWRw
aSAyZHBpJyB9LAorICAgIF0sCit9KTsKKwordGVzdF9hcHBlbmQoeworICAgIHN5bnRheDogJzx0
aW1lPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzBzJywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAg
eyBiYXNlOiBbQ1NTLnMoMSldLCBhcHBlbmQ6IFtDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwK
KyAgICAgICAgeyBiYXNlOiBbQ1NTLnMoMSldLCBhcHBlbmQ6IFtDU1MucygyKSwgQ1NTLnB4KDEp
XSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5zKDEpXSwgYXBwZW5kOiBb
Q1NTLm1zKDIpLCAnMXB4J10sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1Mu
cygxKV0sIGFwcGVuZDogW0NTUy5tcygyKSwgQ1NTLnMoMyldLCBleHBlY3Q6ICcxcyAybXMgM3Mn
IH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5zKDEpLCBDU1MucygyKV0sIGFwcGVuZDogW0NTUy5z
KDMpXSwgZXhwZWN0OiAnMXMgMnMgM3MnIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5zKDEpXSwg
YXBwZW5kOiBbQ1NTLnMoMiksICczcyddLCBleHBlY3Q6ICcxcyAycyAzcycgfSwKKyAgICAgICAg
eyBiYXNlOiBbQ1NTLnMoMSldLCBhcHBlbmQ6IFtDU1MucygyKSwgJzNtcyA0cyddLCBleHBlY3Q6
ICcxcyAycyAzbXMgNHMnIH0sCisgICAgICAgIHsgYmFzZTogbnVsbCwgYXBwZW5kOiBbQ1NTLnMo
MSksICcycyddLCBleHBlY3Q6ICcxcyAycycgfSwKKyAgICBdLAorfSk7CisKK3Rlc3RfYXBwZW5k
KHsKKyAgICBzeW50YXg6ICdmb28rJywKKyAgICBpbml0aWFsVmFsdWU6ICdmb28nLAorICAgIHZh
bHVlczogWworICAgICAgICB7IGJhc2U6IFtrZXl3b3JkKCdmb28nKV0sIGFwcGVuZDogW0NTUy5w
eCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtrZXl3b3JkKCdmb28nKV0s
IGFwcGVuZDogW2tleXdvcmQoJ2ZvbycpLCBDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAg
ICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwg
JzFweCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyld
LCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwga2V5d29yZCgnZm9vJyldLCBleHBlY3Q6ICdmb28g
Zm9vIGZvbycgfSwKKyAgICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyksIGtleXdvcmQoJ2Zv
bycpXSwgYXBwZW5kOiBba2V5d29yZCgnZm9vJyldLCBleHBlY3Q6ICdmb28gZm9vIGZvbycgfSwK
KyAgICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28n
KSwgJ2ZvbyddLCBleHBlY3Q6ICdmb28gZm9vIGZvbycgfSwKKyAgICAgICAgeyBiYXNlOiBba2V5
d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwgJ2ZvbyBmb28nXSwgZXhwZWN0
OiAnZm9vIGZvbyBmb28gZm9vJyB9LAorICAgICAgICB7IGJhc2U6IG51bGwsIGFwcGVuZDogW2tl
eXdvcmQoJ2ZvbycpLCBrZXl3b3JkKCdmb28nKV0sIGV4cGVjdDogJ2ZvbyBmb28nIH0sCisgICAg
XSwKIH0pOwogCiAvLyBDU1NTdHlsZVZhbHVlLnBhcnNlL3BhcnNlQWxsCkBAIC01MzcsNCArODQw
LDE4MSBAQCB0ZXN0KGZ1bmN0aW9uKCl7CiAgICAgYXNzZXJ0X3BhcnNlZF90eXBlKGdlbl9wcm9w
KCc8bGVuZ3RoPiMgfCBmYWlsJywgJ2ZhaWwnKSwgJzEwcHgsIDIwcHgnLCBDU1NVbml0VmFsdWUp
OwogfSwgJ0NTU1N0eWxlVmFsdWUucGFyc2VbQWxsXSByZXR1cm5zIGxpc3Qgb2YgQ1NTVW5pdFZh
bHVlcyBmb3IgPGxlbmd0aD4jJyk7CiAKKy8vIERpcmVjdCBDU1NTdHlsZVZhbHVlIG9iamVjdHM6
CisKK2Z1bmN0aW9uIGdlbl9hbGxfcHJvcHMoKSB7CisgICAgcmV0dXJuIFsKKyAgICAgICAgZ2Vu
X3Byb3AoJyonLCAnZm9vJyksCisgICAgICAgIGdlbl9wcm9wKCdmb28nLCAnZm9vJyksCisgICAg
ICAgIGdlbl9wcm9wKCc8YW5nbGU+JywgJzBkZWcnKSwKKyAgICAgICAgZ2VuX3Byb3AoJzxjb2xv
cj4nLCAncmdiKDEsIDIsIDMpJyksCisgICAgICAgIGdlbl9wcm9wKCc8Y3VzdG9tLWlkZW50Pics
ICd0aGluZycpLAorICAgICAgICBnZW5fcHJvcCgnPGltYWdlPicsICd1cmwoYSknKSwKKyAgICAg
ICAgZ2VuX3Byb3AoJzxpbnRlZ2VyPicsICcwJyksCisgICAgICAgIGdlbl9wcm9wKCc8bGVuZ3Ro
LXBlcmNlbnRhZ2U+JywgJ2NhbGMoMTBweCArIDEwJSknKSwKKyAgICAgICAgZ2VuX3Byb3AoJzxs
ZW5ndGg+JywgJzBweCcpLAorICAgICAgICBnZW5fcHJvcCgnPG51bWJlcj4nLCAnMC41JyksCisg
ICAgICAgIGdlbl9wcm9wKCc8cGVyY2VudGFnZT4nLCAnMCUnKSwKKyAgICAgICAgZ2VuX3Byb3Ao
JzxyZXNvbHV0aW9uPicsICcwZHBpJyksCisgICAgICAgIGdlbl9wcm9wKCc8dGltZT4nLCAnMHMn
KSwKKyAgICAgICAgZ2VuX3Byb3AoJzx0cmFuc2Zvcm0tZnVuY3Rpb24+JywgJ3JvdGF0ZVgoMGRl
ZyknKSwKKyAgICAgICAgZ2VuX3Byb3AoJzx0cmFuc2Zvcm0tbGlzdD4nLCAncm90YXRlWCgwZGVn
KScpLAorICAgICAgICBnZW5fcHJvcCgnPHVybD4nLCAndXJsKGEpJykKKyAgICBdOworfQorCit0
ZXN0KGZ1bmN0aW9uKCl7CisgICAgbGV0IHByb3BzMCA9IGdlbl9hbGxfcHJvcHMoKTsKKyAgICBs
ZXQgcHJvcHMxID0gZ2VuX2FsbF9wcm9wcygpOworCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBw
cm9wczAubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgbGV0IHByb3AwID0gcHJvcHMwW2ldOworICAg
ICAgICBsZXQgcHJvcDEgPSBwcm9wczFbaV07CisKKyAgICAgICAgLy8gQWJ1c2UgY29tcHV0ZWRT
dHlsZU1hcCB0byBnZXQgdGhlIGluaXRpYWxWYWx1ZSAoanVzdCB0byBnZXQgc29tZQorICAgICAg
ICAvLyB2YWx1ZSB0aGF0IHdpbGwgcGFyc2UgZm9yIHByb3AwLzEncyBzeW50YXgpLgorICAgICAg
ICBsZXQgaW5pdGlhbFZhbHVlID0gdGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAoKS5nZXQocHJvcDAp
OworCisgICAgICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBkaXJlY3QgQ1NTU3R5bGVWYWx1ZSBp
bnN0YW5jZXMgaW4gdGhpcyB0ZXN0LgorICAgICAgICAvLyBVbHRpbWF0ZWx5LCBpbiBzb21lIGZ1
dHVyZSB2ZXJzaW9uIG9mIENTUyBUeXBlZE9NLCB3ZSBtYXkgaGF2ZSBubworICAgICAgICAvLyBk
aXJlY3QgQ1NTU3R5bGVWYWx1ZSBpbnN0YW5jZXMgYXQgYWxsLCB3aGljaCBpcyBmaW5lLgorICAg
ICAgICBpZiAoaW5pdGlhbFZhbHVlLmNvbnN0cnVjdG9yICE9PSBDU1NTdHlsZVZhbHVlKSB7Cisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGxldCB2YWx1ZSA9IENT
U1N0eWxlVmFsdWUucGFyc2UocHJvcDAsIGluaXRpYWxWYWx1ZS50b1N0cmluZygpKTsKKworICAg
ICAgICAvLyBBIHZhbHVlIHBhcnNlZCBmb3IgcHJvcDAgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIHBy
b3AwLgorICAgICAgICB0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIoKTsKKyAgICAgICAg
dGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLnNldChwcm9wMCwgdmFsdWUpOyAvLyBEb24ndCB0aHJv
dy4KKworICAgICAgICAvLyBBIHZhbHVlIHBhcnNlZCBmb3IgcHJvcDAgbXVzdCBub3QgYmUgYXNz
aWduYWJsZSB0byBwcm9wMSwgZXZlbiBpZgorICAgICAgICAvLyB0aGUgcHJvcGVydGllcyBoYXZl
IGNvbXBhdGlibGUgc3ludGF4ZXMuCisgICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJv
cigpLCAoKSA9PiB7CisgICAgICAgICAgICB0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIo
KTsKKyAgICAgICAgICAgIHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5zZXQocHJvcDEsIHZhbHVl
KTsKKyAgICAgICAgfSk7CisgICAgfQorfSwgJ0RpcmVjdCBDU1NTdHlsZVZhbHVlIGluc3RhbmNl
cyBhcmUgdGllZCB0byB0aGVpciBhc3NvY2lhdGVkIHByb3BlcnR5Jyk7CisKKy8vIFN0eWxlUHJv
cGVydHlNYXBSZWFkT25seSBpdGVyYXRpb24KKwordGVzdChmdW5jdGlvbigpeworICAgIGxldCBu
YW1lID0gZ2VuX3Byb3AoJzxsZW5ndGg+JywgJzEwcHgnKTsKKyAgICBsZXQgcmVzdWx0ID0gQXJy
YXkuZnJvbSh0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCgpKS5maWx0ZXIoZSA9PiBlWzBdID09IG5h
bWUpWzBdOworICAgIGFzc2VydF90cnVlKHR5cGVvZihyZXN1bHQpICE9PSAndW5kZWZpbmVkJyk7
Cit9LCAnUmVnaXN0ZXJlZCBwcm9wZXJ0eSB3aXRoIGluaXRpYWwgdmFsdWUgc2hvdyB1cCBvbiBp
dGVyYXRpb24gb2YgY29tcHV0ZWRTdHlsZU1hcCcpOworCisvLyBWZXJpZmllcyB0aGF0IGl0ZXJh
dGluZyBhIFN0eWxlUHJvcGVydHlNYXBbUmVhZE9ubHldIHlpZWxkcyBjb3JyZWN0bHkKKy8vIHR5
cGVkIG9iamVjdHMgZm9yIGEgZ2l2ZW4gc3ludGF4L3ZhbHVlLgorZnVuY3Rpb24gdGVzdF9pdGVy
YXRpb25fdHlwZV9mb3JfcHJvcGVydHlfbWFwKHByb3BlcnR5TWFwTmFtZSwgcHJvcGVydHlNYXAs
IG9wdGlvbnMpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgIGxldCBuYW1lID0gZ2Vu
X3Byb3Aob3B0aW9ucy5zeW50YXgsIG9wdGlvbnMuaW5pdGlhbFZhbHVlKTsKKyAgICAgICAgaWYg
KHByb3BlcnR5TWFwIGluc3RhbmNlb2YgU3R5bGVQcm9wZXJ0eU1hcCkgeworICAgICAgICAgICAg
Ly8gT25seSBzZXQgdGhlIHZhbHVlIGlmIHRoZSBwcm9wZXJ0eU1hcCBpcyBtdXRhYmxlLgorICAg
ICAgICAgICAgcHJvcGVydHlNYXAuc2V0KG5hbWUsIG9wdGlvbnMudmFsdWUpOworICAgICAgICB9
CisgICAgICAgIGxldCByZXN1bHQgPSBBcnJheS5mcm9tKHByb3BlcnR5TWFwKS5maWx0ZXIoZSA9
PiBlWzBdID09IG5hbWUpWzBdOworICAgICAgICBsZXQgdmFsdWUgPSByZXN1bHRbMV07CisgICAg
ICAgIGFzc2VydF90cnVlKG9wdGlvbnMuZXhwZWN0KHZhbHVlKSk7CisgICAgfSwgYEl0ZXJhdGlv
biBvbiAke3Byb3BlcnR5TWFwTmFtZX0gcHJvZHVjZXMgY29ycmVjdCB0eXBlIGZvciAke29wdGlv
bnMuc3ludGF4fWApOworfQorCitmdW5jdGlvbiB0ZXN0X2l0ZXJhdGlvbl90eXBlKG9wdGlvbnMp
IHsKKyAgICB0ZXN0X2l0ZXJhdGlvbl90eXBlX2Zvcl9wcm9wZXJ0eV9tYXAoJ2NvbXB1dGVkU3R5
bGVNYXAnLCB0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCgpLCBvcHRpb25zKTsKKyAgICB0ZXN0X2l0
ZXJhdGlvbl90eXBlX2Zvcl9wcm9wZXJ0eV9tYXAoJ2F0dHJpYnV0ZVN0eWxlTWFwJywgdGFyZ2V0
LmF0dHJpYnV0ZVN0eWxlTWFwLCBvcHRpb25zKTsKKyAgICB0ZXN0X2l0ZXJhdGlvbl90eXBlX2Zv
cl9wcm9wZXJ0eV9tYXAoJ3N0eWxlTWFwJywgc3R5bGUuc2hlZXQucnVsZXNbMF0uc3R5bGVNYXAs
IG9wdGlvbnMpOworfQorCit0ZXN0X2l0ZXJhdGlvbl90eXBlKHsKKyAgICBzeW50YXg6ICcqJywK
KyAgICBpbml0aWFsVmFsdWU6ICdub25lJywKKyAgICB2YWx1ZTogJ3RoaW5nJywKKyAgICBleHBl
Y3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTVW5wYXJzZWRWYWx1
ZSwKK30pOworCit0ZXN0X2l0ZXJhdGlvbl90eXBlKHsKKyAgICBzeW50YXg6ICc8YW5nbGU+JywK
KyAgICBpbml0aWFsVmFsdWU6ICcwZGVnJywKKyAgICB2YWx1ZTogJzQyZGVnJywKKyAgICBleHBl
Y3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTVW5pdFZhbHVlLAor
fSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJzxjdXN0b20taWRlbnQ+
JywKKyAgICBpbml0aWFsVmFsdWU6ICdub25lJywKKyAgICB2YWx1ZTogJ3RoaW5nJywKKyAgICBl
eHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTS2V5d29yZFZh
bHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJzxpbWFnZT4n
LAorICAgIGluaXRpYWxWYWx1ZTogJ3VybChhKScsCisgICAgdmFsdWU6ICd1cmwoYiknLAorICAg
IGV4cGVjdDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0gaW5zdGFuY2VvZiBDU1NJbWFnZVZh
bHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJzxpbnRlZ2Vy
PicsCisgICAgaW5pdGlhbFZhbHVlOiAnMCcsCisgICAgdmFsdWU6ICcxMDAnLAorICAgIGV4cGVj
dDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0gaW5zdGFuY2VvZiBDU1NVbml0VmFsdWUsCit9
KTsKKwordGVzdF9pdGVyYXRpb25fdHlwZSh7CisgICAgc3ludGF4OiAnPGxlbmd0aD4nLAorICAg
IGluaXRpYWxWYWx1ZTogJzBweCcsCisgICAgdmFsdWU6ICcxMHB4JywKKyAgICBleHBlY3Q6IHYg
PT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTVW5pdFZhbHVlLAorfSk7CisK
K3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJzxudW1iZXI+JywKKyAgICBpbml0
aWFsVmFsdWU6ICcwJywKKyAgICB2YWx1ZTogJzQyJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5n
dGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTVW5pdFZhbHVlLAorfSk7CisKK3Rlc3RfaXRl
cmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJzxwZXJjZW50YWdlPicsCisgICAgaW5pdGlhbFZh
bHVlOiAnMCUnLAorICAgIHZhbHVlOiAnMTAlJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGgg
PT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTVW5pdFZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0
aW9uX3R5cGUoeworICAgIHN5bnRheDogJzxyZXNvbHV0aW9uPicsCisgICAgaW5pdGlhbFZhbHVl
OiAnMGRwaScsCisgICAgdmFsdWU6ICczMDBkcGknLAorICAgIGV4cGVjdDogdiA9PiB2Lmxlbmd0
aCA9PSAxICYmIHZbMF0gaW5zdGFuY2VvZiBDU1NVbml0VmFsdWUsCit9KTsKKwordGVzdF9pdGVy
YXRpb25fdHlwZSh7CisgICAgc3ludGF4OiAnPHRpbWU+JywKKyAgICBpbml0aWFsVmFsdWU6ICcw
cycsCisgICAgdmFsdWU6ICcxMHMnLAorICAgIGV4cGVjdDogdiA9PiB2Lmxlbmd0aCA9PSAxICYm
IHZbMF0gaW5zdGFuY2VvZiBDU1NVbml0VmFsdWUsCit9KTsKKwordGVzdF9pdGVyYXRpb25fdHlw
ZSh7CisgICAgc3ludGF4OiAnPHVybD4nLAorICAgIGluaXRpYWxWYWx1ZTogJ3VybChhKScsCisg
ICAgdmFsdWU6ICd1cmwoYiknLAorICAgIGV4cGVjdDogdiA9PiB2Lmxlbmd0aCA9PSAxICYmIHZb
MF0uY29uc3RydWN0b3IgPT09IENTU1N0eWxlVmFsdWUsCit9KTsKKwordGVzdF9pdGVyYXRpb25f
dHlwZSh7CisgICAgc3ludGF4OiAnbm9uZSB8IHRoaW5nIHwgVEhJTkcnLAorICAgIGluaXRpYWxW
YWx1ZTogJ25vbmUnLAorICAgIHZhbHVlOiAnVEhJTkcnLAorICAgIGV4cGVjdDogdiA9PiB2Lmxl
bmd0aCA9PSAxICYmIHZbMF0gaW5zdGFuY2VvZiBDU1NLZXl3b3JkVmFsdWUsCit9KTsKKwordGVz
dF9pdGVyYXRpb25fdHlwZSh7CisgICAgc3ludGF4OiAnPGFuZ2xlPiB8IDxsZW5ndGg+JywKKyAg
ICBpbml0aWFsVmFsdWU6ICcwZGVnJywKKyAgICB2YWx1ZTogJzEwcHgnLAorICAgIGV4cGVjdDog
diA9PiB2Lmxlbmd0aCA9PSAxICYmIHZbMF0gaW5zdGFuY2VvZiBDU1NVbml0VmFsdWUsCit9KTsK
KwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGMwNmRhOWJhNzNkNTY5YjE0ZTE3MTA1MjJjZGNmMzNkZGEzNGNmMTAuLjVlODE5YjNjNThk
ZWY3NGZlNzc3NDU3ZjVkNThjNGExOTU1NWRhMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvdW5pdC1jeWNsZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1j
eWNsZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDYzOiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdl
bGVtZW50LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJykKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3
NDogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZWxl
bWVudC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicpCiAKIEZBSUwgVW50aXRsZWQgVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZWxlbWVudC5hdHRyaWJ1
dGVTdHlsZU1hcC5jbGVhcicpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1j
eWNsZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMuaHRtbAppbmRleCBkNjUz
NDg1NDNjNDE0NWJiZDY5M2FhYzY3MzcyMzkwYmZkOTFmYzExLi5jMjZlMWNkYTFmNjg0MjY1NWU3
ZTAxNThkNmE5MzRlNDcwZjQ4NmFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VuaXQt
Y3ljbGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS91bml0LWN5Y2xlcy5odG1sCkBAIC00
LDEyICs0LDEyIEBACiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0PgotICAgIGZ1bmN0aW9uIHJlZ2lzdGVyX2xlbmd0aChuYW1lKSB7Cisg
ICAgZnVuY3Rpb24gcmVnaXN0ZXJfbGVuZ3RoKG5hbWUsIGluaGVyaXRzPXRydWUpIHsKICAgICAg
ICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoewogICAgICAgICAgICAgbmFtZTogbmFtZSwKICAgICAg
ICAgICAgIHN5bnRheDogJzxsZW5ndGg+JywKICAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogJzBw
eCcsCi0gICAgICAgICAgICBpbmhlcml0czogZmFsc2UKKyAgICAgICAgICAgIGluaGVyaXRzOiBp
bmhlcml0cwogICAgICAgICB9KTsKICAgICB9CiAKQEAgLTIyLDYgKzIyLDkgQEAKICAgICByZWdp
c3Rlcl9sZW5ndGgoJy0tZm9udC1zaXplLXJlbS12aWEtdmFyJyk7CiAgICAgcmVnaXN0ZXJfbGVu
Z3RoKCctLWZvbnQtc2l6ZS1leC12aWEtdmFyJyk7CiAgICAgcmVnaXN0ZXJfbGVuZ3RoKCctLWZv
bnQtc2l6ZS1jaC12aWEtdmFyJyk7CisgICAgcmVnaXN0ZXJfbGVuZ3RoKCctLWZvbnQtc2l6ZS1l
bS1pbmhlcml0ZWQnLCB0cnVlKTsKKyAgICByZWdpc3Rlcl9sZW5ndGgoJy0tZm9udC1zaXplLWV4
LWluaGVyaXRlZCcsIHRydWUpOworICAgIHJlZ2lzdGVyX2xlbmd0aCgnLS1mb250LXNpemUtY2gt
aW5oZXJpdGVkJywgdHJ1ZSk7CiA8L3NjcmlwdD4KIDxzdHlsZT4KICAgICA6cm9vdCB7CkBAIC00
MywxMiArNDYsMjAgQEAKICAgICAgICAgLS1mb250LXNpemUtY2gtdmlhLXZhcjogdmFyKC0tdW5y
ZWdpc3RlcmVkLWNoKTsKICAgICB9CiAKKyAgICAjcGFyZW50IHsKKyAgICAgICAgLS1mb250LXNp
emUtZW0taW5oZXJpdGVkOiA0ZW07CisgICAgICAgIC0tZm9udC1zaXplLWV4LWluaGVyaXRlZDog
NGV4OworICAgICAgICAtLWZvbnQtc2l6ZS1jaC1pbmhlcml0ZWQ6IDRjaDsKKyAgICB9CisKICAg
ICAjdGFyZ2V0IHsKICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgIH0KIDwvc3R5bGU+CiAK
LTxkaXYgaWQ9dGFyZ2V0PjwvZGl2PgorPGRpdiBpZD1wYXJlbnQ+CisgICAgPGRpdiBpZD10YXJn
ZXQ+PC9kaXY+Cis8L2Rpdj4KIDxkaXYgaWQ9cmVmPjwvZGl2PgogCiA8c2NyaXB0PgpAQCAtMTcw
LDQgKzE4MSwyNSBAQAogICAgICAgICBhc3NlcnRfcHJvcGVydHlfZXF1YWxzKCctLWZvbnQtc2l6
ZS1yZW0tdmlhLXZhcicsIGV4cGVjdGVkMTByZW0sIHJvb3QpOwogICAgIH0sICdMZW5ndGhzIHdp
dGggcmVtIHVuaXRzIGFyZSBkZXRlY3RlZCB2aWEgdmFyIHJlZmVyZW5jZXMnKTsKIAorICAgIHRl
c3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGxldCBleHBlY3RlZDRlbSA9IGNvbXB1dGVfZGltZW5z
aW9uKCc0ZW0nLCAndW5zZXQnKTsKKyAgICAgICAgdGFyZ2V0LnN0eWxlID0gJ2ZvbnQtc2l6ZTog
dmFyKC0tZm9udC1zaXplLWVtLWluaGVyaXRlZCk7JzsKKyAgICAgICAgYXNzZXJ0X3Byb3BlcnR5
X2VxdWFscygnZm9udC1zaXplJywgZXhwZWN0ZWQ0ZW0pOworICAgICAgICBhc3NlcnRfcHJvcGVy
dHlfZXF1YWxzKCctLWZvbnQtc2l6ZS1lbS1pbmhlcml0ZWQnLCBleHBlY3RlZDRlbSk7CisgICAg
fSwgJ0luaGVyaXRlZCBsZW5ndGhzIHdpdGggZW0gdW5pdHMgbWF5IGJlIHVzZWQnKTsKKworICAg
IHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGxldCBleHBlY3RlZDRleCA9IGNvbXB1dGVfZGlt
ZW5zaW9uKCc0ZXgnLCAndW5zZXQnKTsKKyAgICAgICAgdGFyZ2V0LnN0eWxlID0gJ2ZvbnQtc2l6
ZTogdmFyKC0tZm9udC1zaXplLWV4LWluaGVyaXRlZCk7JzsKKyAgICAgICAgYXNzZXJ0X3Byb3Bl
cnR5X2VxdWFscygnZm9udC1zaXplJywgZXhwZWN0ZWQ0ZXgpOworICAgICAgICBhc3NlcnRfcHJv
cGVydHlfZXF1YWxzKCctLWZvbnQtc2l6ZS1leC1pbmhlcml0ZWQnLCBleHBlY3RlZDRleCk7Cisg
ICAgfSwgJ0luaGVyaXRlZCBsZW5ndGhzIHdpdGggZXggdW5pdHMgbWF5IGJlIHVzZWQnKTsKKwor
ICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIGxldCBleHBlY3RlZDRjaCA9IGNvbXB1dGVf
ZGltZW5zaW9uKCc0Y2gnLCAndW5zZXQnKTsKKyAgICAgICAgdGFyZ2V0LnN0eWxlID0gJ2ZvbnQt
c2l6ZTogdmFyKC0tZm9udC1zaXplLWNoLWluaGVyaXRlZCk7JzsKKyAgICAgICAgYXNzZXJ0X3By
b3BlcnR5X2VxdWFscygnZm9udC1zaXplJywgZXhwZWN0ZWQ0Y2gpOworICAgICAgICBhc3NlcnRf
cHJvcGVydHlfZXF1YWxzKCctLWZvbnQtc2l6ZS1jaC1pbmhlcml0ZWQnLCBleHBlY3RlZDRjaCk7
CisgICAgfSwgJ0luaGVyaXRlZCBsZW5ndGhzIHdpdGggY2ggdW5pdHMgbWF5IGJlIHVzZWQnKTsK
KwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2Ut
cmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWN5Y2xlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS92YXIt
cmVmZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy1jeWNsZXMuaHRtbAppbmRleCA1OGQ2Yzg0
NmFlM2E0YTFjNjJmMjM5Nzg2ZGZlODgyN2ViOTIxZDA1Li42NWQxMTY5NzM1NWMxN2ZjYTM5YjRl
OWZhMGRjZjBkYjQwNGUyMmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Zhci1yZWZl
cmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWN5Y2xlcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMtY3ljbGVzLmh0bWwKQEAg
LTI1LDE0ICsyNSwxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIENTUy5yZWdpc3RlclByb3Bl
cnR5KHtuYW1lOiAnLS1yZWdpc3RlcmVkLTEtZCcsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlh
bFZhbHVlOiAnNHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7CiAKICAgICBjb21wdXRlZFN0eWxlID0g
Z2V0Q29tcHV0ZWRTdHlsZSh0ZXN0MSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0xLWEnKSwgJzFweCcpOwotICAgIGFzc2Vy
dF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMS1i
JyksICcycHgnKTsKLQotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eVZhbHVlKCctLXJlZ2lzdGVyZWQtMS1jJyksICcycHgnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTEtZCcpLCAnMnB4Jyk7
Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdW5y
ZWdpc3RlcmVkLTEtYScpLCAnMXB4Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxl
LmxlZnQsICcxcHgnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUudG9wLCAnMnB4
Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0t
cmVnaXN0ZXJlZC0xLWEnKSwgJycpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMS1iJyksICcnKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTEtYycpLCAn
MzBweCcpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCctLXJlZ2lzdGVyZWQtMS1kJyksICc0cHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQtMS1hJyksICcnKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUubGVmdCwgJzUwcHgnKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGNvbXB1dGVkU3R5bGUudG9wLCAnNjBweCcpOwogfSwgIkEgdmFyKCkgY3ljbGUgYmV0d2Vl
biB0d28gcmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIGlzIGhhbmRsZWQgY29ycmVjdGx5LiIpOwogPC9z
Y3JpcHQ+CiAKQEAgLTYzLDE4ICs2MiwxOCBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIENTUy5y
ZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1yZWdpc3RlcmVkLTItZScsIHN5bnRheDogJzxsZW5n
dGg+JywgaW5pdGlhbFZhbHVlOiAnNXB4JywgaW5oZXJpdHM6IGZhbHNlfSk7CiAKICAgICBjb21w
dXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0Mik7Ci0gICAgYXNzZXJ0X2VxdWFscyhj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0yLWEnKSwgJzFweCcp
OworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJl
Z2lzdGVyZWQtMi1hJyksICcnKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQtMi1hJyksICcnKTsKIAotICAgIGFzc2VydF9l
cXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMi1iJyks
ICcxcHgnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgnLS1yZWdpc3RlcmVkLTItYycpLCAnMXB4Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0yLWInKSwgJzMwcHgnKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3Rl
cmVkLTItYycpLCAnM3B4Jyk7CiAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0yLWQnKSwgJzQwcHgnKTsKICAgICBhc3NlcnRfZXF1
YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTItZScpLCAn
NXB4Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUo
Jy0tdW5yZWdpc3RlcmVkLTItYicpLCAnMXB4Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkLTItYycpLCAnMXB4Jyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdp
c3RlcmVkLTItYicpLCAnNTBweCcpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLXVucmVnaXN0ZXJlZC0yLWMnKSwgJycpOwogICAgIGFzc2VydF9l
cXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXVucmVnaXN0ZXJlZC0yLWQn
KSwgJzYwcHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnLS11bnJlZ2lzdGVyZWQtMi1lJyksICcnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUubGVmdCwgJzFweCcpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5s
ZWZ0LCAnNzBweCcpOwogICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS50b3AsICc4MHB4
Jyk7CiB9LCAiQSB2YXIoKSBjeWNsZSBiZXR3ZWVuIGEgcmVnaXN0ZXJlZCBwcm9wZXJ0aWVzIGFu
ZCBhbiB1bnJlZ2lzdGVyZWQgcHJvcGVydHkgaXMgaGFuZGxlZCBjb3JyZWN0bHkuIik7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3Rl
cmVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS92YXItcmVmZXJl
bmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy1leHBlY3RlZC50eHQKaW5kZXggMzllNjc1ZDQzNGFl
MWE5MGU1MmRhOWVhYjZmNDAyNjY0ZDljMDM3My4uNDI4NWE0MWU4NWY0MGNjYTYxMTFiZTYzZjNi
YmE2ZGQzYWZkZGY2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS92YXItcmVmZXJlbmNl
LXJlZ2lzdGVyZWQtcHJvcGVydGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS92YXItcmVmZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy1leHBlY3RlZC50eHQKQEAgLTEs
NiArMSwxNSBAQAogCi1GQUlMIHZhcigpIHJlZmVyZW5jZXMgd29yayB3aXRoIHJlZ2lzdGVyZWQg
cHJvcGVydGllcyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiICAxMHB4IiBidXQgZ290ICIgMTBw
eCIKK1BBU1MgdmFyKCkgcmVmZXJlbmNlcyB3b3JrIHdpdGggcmVnaXN0ZXJlZCBwcm9wZXJ0aWVz
IAogRkFJTCBSZWZlcmVuY2VzIHRvIHJlZ2lzdGVyZWQgdmFyKCktcHJvcGVydGllcyB3b3JrIGlu
IHJlZ2lzdGVyZWQgbGlzdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjFweCwgMTBweCwgMnB4
IiBidXQgZ290ICIwcHgiCiBGQUlMIFJlZmVyZW5jZXMgdG8gbWl4ZWQgcmVnaXN0ZXJlZCBhbmQg
dW5yZWdpc3RlcmVkIHZhcigpLXByb3BlcnRpZXMgd29yayBpbiByZWdpc3RlcmVkIGxpc3RzIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICIxcHgsIDIwcHgsIDEwcHgsIDJweCIgYnV0IGdvdCAiMHB4
IgogRkFJTCBSZWdpc3RlcmVkIGxpc3RzIG1heSBiZSBjb25jYXRlbmF0ZWQgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIjFweCwgMTBweCwgMnB4LCAxcHgsIDIwcHgsIDEwcHgsIDJweCIgYnV0IGdv
dCAiMHB4IgorUEFTUyBGb250LXJlbGF0aXZlIHVuaXRzIGFyZSBhYnNvbHV0aXplZCB3aGVuIHN1
YnN0aXR1dGluZyAKK1BBU1MgQ2FsYyBleHByZXNzaW9ucyBhcmUgcmVzb2x2ZWQgd2hlbiBzdWJz
dGl0dXRpbmcgCitGQUlMIExpc3RzIHdpdGggcmVsYXRpdmUgdW5pdHMgYXJlIGFic29sdXRpemVk
IHdoZW4gc3Vic3RpdHV0aW5nIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxMTBweCwgMTIwcHgi
IGJ1dCBnb3QgIjBweCIKK1BBU1MgVmFsaWQgZmFsbGJhY2sgZG9lcyBub3QgaW52YWxpZGF0ZSB2
YXIoKS1yZWZlcmVuY2UgWzxsZW5ndGg+LCAxMHB4XSAKK1BBU1MgVmFsaWQgZmFsbGJhY2sgZG9l
cyBub3QgaW52YWxpZGF0ZSB2YXIoKS1yZWZlcmVuY2UgWzxsZW5ndGg+IHwgPGNvbG9yPiwgcmVk
XSAKK1BBU1MgVmFsaWQgZmFsbGJhY2sgZG9lcyBub3QgaW52YWxpZGF0ZSB2YXIoKS1yZWZlcmVu
Y2UgWzxsZW5ndGg+IHwgbm9uZSwgbm9uZV0gCitGQUlMIEludmFsaWQgZmFsbGJhY2sgaW52YWxp
ZGF0ZXMgdmFyKCktcmVmZXJlbmNlIFs8bGVuZ3RoPiwgcmVkXSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiIiBidXQgZ290ICI0MHB4IgorRkFJTCBJbnZhbGlkIGZhbGxiYWNrIGludmFsaWRhdGVz
IHZhcigpLXJlZmVyZW5jZSBbPGxlbmd0aD4gfCBub25lLCBub2xlbmd0aF0gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIiIgYnV0IGdvdCAiNDBweCIKK0ZBSUwgSW52YWxpZCBmYWxsYmFjayBpbnZh
bGlkYXRlcyB2YXIoKS1yZWZlcmVuY2UgWzxsZW5ndGg+LCB2YXIoLS1ub3ZhcildIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgIjQwcHgiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZh
bHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMuaHRtbAppbmRl
eCBkOGE4MzE1NzEyNTJjZGViM2U2YzNjNmU1ODJhMmI3NDM3NmU5MDVjLi4xNjY3NTQ1NzRmYWEw
MjU4MDc4NDcyMDlmMWFiMTU3MTExYTRhNmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBp
L3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFs
dWVzLWFwaS92YXItcmVmZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy5odG1sCkBAIC0yLDYg
KzIsNyBAQAogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3MtaG91ZGlu
aS5vcmcvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS8jZG9tLWNzcy1yZWdpc3RlcnByb3BlcnR5
IiAvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KIDxzdHlsZT4KIGRp
diB7CiAgICAgLS1yZWdpc3RlcmVkLWxlbmd0aC0xOiAxMHB4OwpAQCAtNTQsNyArNTUsNyBAQCB0
ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtbGVuZ3RoLTYnKSwgJzgwcHgnKTsKICAgICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLWxlbmd0
aC03JyksICcxMjNweCcpOwogICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCctLWxlbmd0aC0xJyksICcgMjBweCcpOwotICAgIGFzc2VydF9lcXVhbHMoY29t
cHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC0yJyksICcgIDEwcHgnKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgt
MicpLCAnIDEwcHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgnLS1sZW5ndGgtMycpLCAnIGNhbGMoMTIzcHggKyAxMjNweCknKTsKICAgICBhc3Nl
cnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLWxl
bmd0aC1pbnZhbGlkJyksICcxNXB4Jyk7CiAKQEAgLTk2LDUgKzk3LDc3IEBAIHRlc3QoZnVuY3Rp
b24oKXsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
LS1yZWdpc3RlcmVkLWxlbmd0aC1saXN0LTMnKSwgJzFweCwgMTBweCwgMnB4LCAxcHgsIDIwcHgs
IDEwcHgsIDJweCcpOwogfSwgJ1JlZ2lzdGVyZWQgbGlzdHMgbWF5IGJlIGNvbmNhdGVuYXRlZCcp
OwogCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoeworICAgICAg
ICBuYW1lOiAnLS1sZW5ndGgtZW0nLAorICAgICAgICBzeW50YXg6ICc8bGVuZ3RoPicsCisgICAg
ICAgIGluaXRpYWxWYWx1ZTogJzBweCcsCisgICAgICAgIGluaGVyaXRzOiBmYWxzZQorICAgIH0p
OworICAgIGVsZW1lbnQuc3R5bGUgPSAnZm9udC1zaXplOiAxMXB4OyAtLWxlbmd0aC1lbTogMTBl
bTsgLS11bnJlZ2lzdGVyZWQ6dmFyKC0tbGVuZ3RoLWVtKTsnOworICAgIGxldCBjb21wdXRlZFN0
eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQnKSwgJzExMHB4Jyk7Cisg
ICAgZWxlbWVudC5zdHlsZSA9ICcnOworfSwgJ0ZvbnQtcmVsYXRpdmUgdW5pdHMgYXJlIGFic29s
dXRpemVkIHdoZW4gc3Vic3RpdHV0aW5nJyk7CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgICBDU1Mu
cmVnaXN0ZXJQcm9wZXJ0eSh7CisgICAgICAgIG5hbWU6ICctLWxlbmd0aC1jYWxjJywKKyAgICAg
ICAgc3ludGF4OiAnPGxlbmd0aD4nLAorICAgICAgICBpbml0aWFsVmFsdWU6ICcwcHgnLAorICAg
ICAgICBpbmhlcml0czogZmFsc2UKKyAgICB9KTsKKyAgICBlbGVtZW50LnN0eWxlID0gJ2ZvbnQt
c2l6ZTogMTFweDsgLS1sZW5ndGgtY2FsYzogY2FsYygxMGVtICsgMTBweCk7IC0tdW5yZWdpc3Rl
cmVkOnZhcigtLWxlbmd0aC1jYWxjKTsnOworICAgIGxldCBjb21wdXRlZFN0eWxlID0gZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50KTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQnKSwgJzEyMHB4Jyk7CisgICAgZWxlbWVudC5z
dHlsZSA9ICcnOworfSwgJ0NhbGMgZXhwcmVzc2lvbnMgYXJlIHJlc29sdmVkIHdoZW4gc3Vic3Rp
dHV0aW5nJyk7CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7
CisgICAgICAgIG5hbWU6ICctLWxlbmd0aC1jYWxjLWxpc3QnLAorICAgICAgICBzeW50YXg6ICc8
bGVuZ3RoPiMnLAorICAgICAgICBpbml0aWFsVmFsdWU6ICcwcHgnLAorICAgICAgICBpbmhlcml0
czogZmFsc2UKKyAgICB9KTsKKyAgICBlbGVtZW50LnN0eWxlID0gJ2ZvbnQtc2l6ZTogMTFweDsg
LS1sZW5ndGgtY2FsYy1saXN0OiAxMGVtLCBjYWxjKDEwZW0gKyAxMHB4KTsgLS11bnJlZ2lzdGVy
ZWQ6dmFyKC0tbGVuZ3RoLWNhbGMtbGlzdCk7JzsKKyAgICBsZXQgY29tcHV0ZWRTdHlsZSA9IGdl
dENvbXB1dGVkU3R5bGUoZWxlbWVudCk7CisgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkJyksICcxMTBweCwgMTIwcHgnKTsKKyAg
ICBlbGVtZW50LnN0eWxlID0gJyc7Cit9LCAnTGlzdHMgd2l0aCByZWxhdGl2ZSB1bml0cyBhcmUg
YWJzb2x1dGl6ZWQgd2hlbiBzdWJzdGl0dXRpbmcnKTsKKworZnVuY3Rpb24gdGVzdF92YWxpZF9m
YWxsYmFjayhzeW50YXgsIHZhbHVlLCBmYWxsYmFjaykgeworICAgIHRlc3QoZnVuY3Rpb24oKXsK
KyAgICAgICAgbGV0IG5hbWUgPSBnZW5lcmF0ZV9wcm9wZXJ0eShzeW50YXgpOworICAgICAgICB0
cnkgeworICAgICAgICAgICAgZWxlbWVudC5zdHlsZSA9IGAke25hbWV9OiAke3ZhbHVlfTsgLS14
OnZhcigke25hbWV9LCR7ZmFsbGJhY2t9KWA7CisgICAgICAgICAgICBsZXQgY29tcHV0ZWRTdHls
ZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS14JyksIHZhbHVlKTsKKyAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUgPSAnJzsKKyAgICAgICAgfQor
ICAgIH0sIGBWYWxpZCBmYWxsYmFjayBkb2VzIG5vdCBpbnZhbGlkYXRlIHZhcigpLXJlZmVyZW5j
ZSBbJHtzeW50YXh9LCAke2ZhbGxiYWNrfV1gKTsKK30KKworZnVuY3Rpb24gdGVzdF9pbnZhbGlk
X2ZhbGxiYWNrKHN5bnRheCwgdmFsdWUsIGZhbGxiYWNrKSB7CisgICAgdGVzdChmdW5jdGlvbigp
eworICAgICAgICBsZXQgbmFtZSA9IGdlbmVyYXRlX3Byb3BlcnR5KHN5bnRheCk7CisgICAgICAg
IHRyeSB7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxlID0gYCR7bmFtZX06ICR7dmFsdWV9OyAt
LXg6dmFyKCR7bmFtZX0sJHtmYWxsYmFja30pYDsKKyAgICAgICAgICAgIGxldCBjb21wdXRlZFN0
eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXgnKSwgJycpOworICAgICAgICB9
IGZpbmFsbHkgeworICAgICAgICAgICAgZWxlbWVudC5zdHlsZSA9ICcnOworICAgICAgICB9Cisg
ICAgfSwgYEludmFsaWQgZmFsbGJhY2sgaW52YWxpZGF0ZXMgdmFyKCktcmVmZXJlbmNlIFske3N5
bnRheH0sICR7ZmFsbGJhY2t9XWApOworfQorCit0ZXN0X3ZhbGlkX2ZhbGxiYWNrKCc8bGVuZ3Ro
PicsICc0MHB4JywgJzEwcHgnKTsKK3Rlc3RfdmFsaWRfZmFsbGJhY2soJzxsZW5ndGg+IHwgPGNv
bG9yPicsICc0MHB4JywgJ3JlZCcpOwordGVzdF92YWxpZF9mYWxsYmFjaygnPGxlbmd0aD4gfCBu
b25lJywgJzQwcHgnLCAnbm9uZScpOworCit0ZXN0X2ludmFsaWRfZmFsbGJhY2soJzxsZW5ndGg+
JywgJzQwcHgnLCAncmVkJyk7Cit0ZXN0X2ludmFsaWRfZmFsbGJhY2soJzxsZW5ndGg+IHwgbm9u
ZScsICc0MHB4JywgJ25vbGVuZ3RoJyk7Cit0ZXN0X2ludmFsaWRfZmFsbGJhY2soJzxsZW5ndGg+
JywgJzQwcHgnLCAndmFyKC0tbm92YXIpJyk7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRp
ZXMtdmFsdWVzLWFwaS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdzNjLWltcG9y
dC5sb2cKaW5kZXggODZjZDhkZDBjMTZmYTkxY2RkMGQ3ODU5NDRhZGVjNzQyYzVlNzgwZC4uNjMw
N2JjZGQ3OTQyZWE3NmU4ODE2YjdkODY0YWM5ZGNlZTI1ZjlmOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3czYy1pbXBv
cnQubG9nCkBAIC0yMyw2ICsyMyw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9uLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBp
L3JlZ2lzdGVyZWQtcHJvcGVydHktY3Nzb20uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0
ZXJlZC1wcm9wZXJ0eS1pbml0aWFsLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3NlbGYtdXRpbHMu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS50ZW50YXRpdmUuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZh
bHVlcy1hcGkvdW5pdC1jeWNsZXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdXJsLXJlc29sdXRp
b24uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357624</attachid>
            <date>2018-12-18 15:33:28 -0800</date>
            <delta_ts>2018-12-18 19:21:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192800-20181218153321.patch</filename>
            <type>text/plain</type>
            <size>143934</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmVmYWVjZGJlYWM5ZTg3
MDE3NDQzNmYyM2UwMWRkZjczNDgwNjEyMi4uZjFkNzI5YWY4ZDFmMjMxZjUwYmIzODU4ZTgyNjY0
OGZmZDgzYTQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTEyLTE3ICBKdXN0
aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUg
Q1NTIFByb3BlcnRpZXMgYW5kIFZhbHVlcyBBUEkgdG8gdXNlIG5ldyBjeWNsZSBmYWxsYmFjayBi
ZWhhdmlvdXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MjgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAg
IE1ha2UgQ1NTIHZhcmlhYmxlcyB0aGF0IGFyZSByZWdpc3RlcmVkIGFuZCBpbnZvbHZlZCBpbiBh
IGN5Y2xlIGJlIHRyZWF0ZWQgYXMgaW52YWxpZC4gVGhpcyBhbHNvIGZpeGVzIGEgY3Jhc2ggaW4g
dGhlCisgICAgICAgIHdwdCB0ZXN0cyB3aGVyZSByZWxhdGl2ZSB1bml0cyBhbmQgY2FsYygpIGlu
IGEgcmVnaXN0ZXJlZCBwcm9wZXJ0eSdzIGluaXRpYWwgdmFsdWUgd291bGQgYnJlYWsgdGhpbmdz
IGluc3RlYWQgb2YgZmFpbGluZy4gCisKKyAgICAgICAgKiBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlW
YWx1ZS5oOgorICAgICAgICAqIGNzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnJlc29sdmVWYXJpYWJsZVJlZmVyZW5jZSk6CisgICAgICAgICogY3Nz
L0RPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
Q1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eTo6cmVnaXN0ZXJQcm9wZXJ0eSk6CisgICAgICAgICog
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6
YXBwbHlDYXNjYWRlZEN1c3RvbVByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpw
YXJzZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZSk6CisKIDIwMTgtMTItMTggIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU29tZSBpT1MgYXBwIGNyYXNoIGluIEZy
YW1lTG9hZGVyOjpjaGVja0NvbXBsZXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXN0b21Q
cm9wZXJ0eVZhbHVlLmgKaW5kZXggZmU4NTAyNTU4YzQxZTM1ZGFjOWJlMGU3ODQzOWRjNDM3YWE5
Yjk0NC4uYmRhYTc0ZDU1YTBmODcxOTI2ZGY1ODZiNjZiYzAyYWFjOTBlNjc4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCkBAIC02Nyw2ICs2Nyw4IEBA
IHB1YmxpYzoKICAgICAKICAgICBzdGF0aWMgUmVmPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IGNy
ZWF0ZVN5bnRheExlbmd0aChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIExlbmd0aCB2YWx1ZSkK
ICAgICB7CisgICAgICAgIEFTU0VSVCghdmFsdWUuaXNVbmRlZmluZWQoKSk7CisgICAgICAgIEFT
U0VSVCghdmFsdWUuaXNDYWxjdWxhdGVkKCkpOwogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUsIHsgV1RGTW92ZSh2YWx1ZSkgfSkpOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNl
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUu
Y3BwCmluZGV4IDc3YTUyM2U0ZDdkZGFkZjAzMGExMjQwNWRlN2ZjMmZjYzdhMTE0ZmMuLjk0ZDYz
YTNiNTg5MThhZWFiNGVmYTlkNzA5M2I1OGY4NWQ3N2UxMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKQEAgLTcwLDE2ICs3MCwyMCBA
QCBzdGF0aWMgYm9vbCByZXNvbHZlVmFyaWFibGVSZWZlcmVuY2UoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSByYW5nZSwgVmVjdG9yPENTU1BhcnNlcgogCiAgICAgLy8gQXBwbHkgZmFsbGJhY2sgdG8gZGV0
ZWN0IGN5Y2xlcwogICAgIFZlY3RvcjxDU1NQYXJzZXJUb2tlbj4gZmFsbGJhY2tSZXN1bHQ7Ci0g
ICAgcmVzb2x2ZVZhcmlhYmxlRmFsbGJhY2soQ1NTUGFyc2VyVG9rZW5SYW5nZShyYW5nZSksIGZh
bGxiYWNrUmVzdWx0LCBzdGF0ZSk7CisgICAgYm9vbCBmYWxsYmFja1JldHVybiA9IHJlc29sdmVW
YXJpYWJsZUZhbGxiYWNrKENTU1BhcnNlclRva2VuUmFuZ2UocmFuZ2UpLCBmYWxsYmFja1Jlc3Vs
dCwgc3RhdGUpOwogCiAgICAgYXV0byogcHJvcGVydHkgPSBzdHlsZS5nZXRDdXN0b21Qcm9wZXJ0
eSh2YXJpYWJsZU5hbWUpOwogCi0gICAgaWYgKCFwcm9wZXJ0eSB8fCBwcm9wZXJ0eS0+aXNVbnNl
dCgpIHx8IHByb3BlcnR5LT5pc0ludmFsaWQoKSkgeworICAgIGlmICghcHJvcGVydHkgfHwgcHJv
cGVydHktPmlzVW5zZXQoKSkgewogICAgICAgICBhdXRvKiByZWdpc3RlcmVkID0gcmVnaXN0ZXJl
ZFByb3BlcnRpZXMuZ2V0KHZhcmlhYmxlTmFtZSk7CiAgICAgICAgIGlmIChyZWdpc3RlcmVkICYm
IHJlZ2lzdGVyZWQtPmluaXRpYWxWYWx1ZSgpKQogICAgICAgICAgICAgcHJvcGVydHkgPSByZWdp
c3RlcmVkLT5pbml0aWFsVmFsdWUoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJu
IHJlc29sdmVWYXJpYWJsZUZhbGxiYWNrKHJhbmdlLCByZXN1bHQsIHN0YXRlKTsKKyAgICB9CisK
KyAgICBpZiAoIXByb3BlcnR5IHx8IHByb3BlcnR5LT5pc0ludmFsaWQoKSkgeworICAgICAgICBp
ZiAoZmFsbGJhY2tSZXR1cm4pCisgICAgICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKGZhbGxi
YWNrUmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGZhbGxiYWNrUmV0dXJuOwogICAgIH0KIAogICAg
IEFTU0VSVChwcm9wZXJ0eS0+aXNSZXNvbHZlZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9ET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9ET01DU1NSZWdpc3RlckN1c3RvbVByb3BlcnR5LmNwcAppbmRleCBhODkwNjY5ZjY1NTAx
MDYzNmJlMjFhN2E5OGRhNWYzMGRhMDIwMzY4Li43ZWNkOTNkN2RjM2Q0MzJlYWY4MmJjOTU2ZTYx
ZDQ4OWE1MTA2MjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRE9NQ1NTUmVnaXN0
ZXJDdXN0b21Qcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RPTUNTU1JlZ2lz
dGVyQ3VzdG9tUHJvcGVydHkuY3BwCkBAIC00MCw2ICs0MCw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogRXhjZXB0aW9uT3I8dm9pZD4gRE9NQ1NTUmVnaXN0ZXJDdXN0b21Qcm9wZXJ0eTo6cmVn
aXN0ZXJQcm9wZXJ0eShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IERPTUNTU0N1c3RvbVByb3Bl
cnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvcikKIHsKKyAgICBpZiAoIWlzQ3VzdG9tUHJvcGVydHlO
YW1lKGRlc2NyaXB0b3IubmFtZSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBTeW50YXhF
cnJvciwgIlRoZSBuYW1lIG9mIHRoaXMgcHJvcGVydHkgaXMgbm90IGEgY3VzdG9tIHByb3BlcnR5
IG5hbWUuIiB9OworCiAgICAgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IGluaXRpYWxW
YWx1ZTsKICAgICBpZiAoIWRlc2NyaXB0b3IuaW5pdGlhbFZhbHVlLmlzRW1wdHkoKSkgewogICAg
ICAgICBDU1NUb2tlbml6ZXIgdG9rZW5pemVyKGRlc2NyaXB0b3IuaW5pdGlhbFZhbHVlKTsKQEAg
LTUwLDEyICs1MywxNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBET01DU1NSZWdpc3RlckN1c3RvbVBy
b3BlcnR5OjpyZWdpc3RlclByb3BlcnR5KERvY3VtZW50JiBkb2N1bQogICAgICAgICBzdHlsZVJl
c29sdmVyLmFwcGx5UHJvcGVydHlUb1N0eWxlKENTU1Byb3BlcnR5SW52YWxpZCwgbnVsbHB0ciwg
c3R5bGVSZXNvbHZlci5kZWZhdWx0U3R5bGVGb3JFbGVtZW50KCkpOwogICAgICAgICBzdHlsZVJl
c29sdmVyLnVwZGF0ZUZvbnQoKTsKIAorICAgICAgICBIYXNoU2V0PENTU1Byb3BlcnR5SUQ+IGRl
cGVuZGVuY2llczsKKyAgICAgICAgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbGxlY3RQYXJzZWRDdXN0
b21Qcm9wZXJ0eVZhbHVlRGVwZW5kZW5jaWVzKGRlc2NyaXB0b3Iuc3ludGF4LCBmYWxzZSwgZGVw
ZW5kZW5jaWVzLCB0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCBzdHJpY3RDU1NQYXJzZXJDb250ZXh0
KCkpOworCisgICAgICAgIGlmICghZGVwZW5kZW5jaWVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBTeW50YXhFcnJvciwgIlRoZSBnaXZlbiBpbml0aWFsIHZhbHVl
IG11c3QgYmUgY29tcHV0YXRpb25hbGx5IGluZGVwZW5kZW50LiIgfTsKKwogICAgICAgICBpbml0
aWFsVmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFs
dWUoZGVzY3JpcHRvci5uYW1lLCBkZXNjcmlwdG9yLnN5bnRheCwgdG9rZW5pemVyLnRva2VuUmFu
Z2UoKSwgc3R5bGVSZXNvbHZlciwgc3RyaWN0Q1NTUGFyc2VyQ29udGV4dCgpKTsKIAogICAgICAg
ICBpZiAoIWluaXRpYWxWYWx1ZSB8fCAhaW5pdGlhbFZhbHVlLT5pc1Jlc29sdmVkKCkpCiAgICAg
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IsICJUaGUgZ2l2ZW4gaW5pdGlh
bCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4iIH07CiAKLSAgICAg
ICAgSGFzaFNldDxDU1NQcm9wZXJ0eUlEPiBkZXBlbmRlbmNpZXM7CiAgICAgICAgIGluaXRpYWxW
YWx1ZS0+Y29sbGVjdERpcmVjdENvbXB1dGF0aW9uYWxEZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVz
KTsKICAgICAgICAgaW5pdGlhbFZhbHVlLT5jb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxE
ZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCmluZGV4IDc0ZmEzZjUzOThmZTZmYmU0MjQ2Y2U2YzEwZDM4ZDU5ZjhlMmIzYTYuLmQ1ZWU5
MzRkMjMwMWU4YjMwMTgyZGZkOTdkNTBkMTAyNjI2YTQzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKQEAgLTIzMTksNiArMjMxOSw3IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6
YXBwbHlDYXNjYWRlZEN1c3RvbVByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwgQXBwbHlDYXNj
YWRlCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gcHJvcGVydHkgPSBzdGF0ZS5jYXNjYWRl
LT5jdXN0b21Qcm9wZXJ0aWVzKCkuZ2V0KG5hbWUpOworICAgIGJvb2wgaW5DeWNsZSA9IHN0YXRl
LmluUHJvZ3Jlc3NQcm9wZXJ0aWVzQ3VzdG9tLmNvbnRhaW5zKG5hbWUpOwogCiAgICAgZm9yIChh
dXRvIGluZGV4IDogeyBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoRGVmYXVsdCwgU2VsZWN0b3JDaGVj
a2VyOjpNYXRjaExpbmssIFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hWaXNpdGVkIH0pIHsKICAgICAg
ICAgaWYgKCFwcm9wZXJ0eS5jc3NWYWx1ZVtpbmRleF0pCkBAIC0yMzI4LDEzICsyMzI5LDkgQEAg
dm9pZCBTdHlsZVJlc29sdmVyOjphcHBseUNhc2NhZGVkQ3VzdG9tUHJvcGVydHkoY29uc3QgU3Ry
aW5nJiBuYW1lLCBBcHBseUNhc2NhZGUKIAogICAgICAgICBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlW
YWx1ZT4gdmFsdWVUb0FwcGx5ID0gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlKGRvd25j
YXN0PENTU0N1c3RvbVByb3BlcnR5VmFsdWU+KCpwcm9wZXJ0eS5jc3NWYWx1ZVtpbmRleF0pKTsK
IAotICAgICAgICBpZiAoc3RhdGUuaW5Qcm9ncmVzc1Byb3BlcnRpZXNDdXN0b20uY29udGFpbnMo
bmFtZSkpIHsKLSAgICAgICAgICAgIC8vIFdlIGFyZSBpbiBhIGN5Y2xlLCBzbyByZXNldCB0aGUg
dmFsdWUuCi0gICAgICAgICAgICBzdGF0ZS5hcHBsaWVkQ3VzdG9tUHJvcGVydGllcy5hZGQobmFt
ZSk7Ci0gICAgICAgICAgICAvLyBSZXNvbHZlIHRoaXMgdmFsdWUgc28gdGhhdCB3ZSByZXNldCBp
dHMgZGVwZW5kZW5jaWVzCi0gICAgICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxS
ZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+KHZhbHVlVG9BcHBseS0+dmFsdWUoKSkpCi0g
ICAgICAgICAgICAgICAgcmVzb2x2ZWRWYXJpYWJsZVZhbHVlKENTU1Byb3BlcnR5Q3VzdG9tLCB2
YWx1ZVRvQXBwbHkuZ2V0KCksIHN0YXRlKTsKLSAgICAgICAgICAgIHZhbHVlVG9BcHBseSA9IENT
U0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZVdpdGhJRChuYW1lLCBDU1NWYWx1ZVVuc2V0KTsK
KyAgICAgICAgaWYgKGluQ3ljbGUpIHsKKyAgICAgICAgICAgIHN0YXRlLmFwcGxpZWRDdXN0b21Q
cm9wZXJ0aWVzLmFkZChuYW1lKTsgLy8gTWFrZSBzdXJlIHdlIGRvIG5vdCB0cnkgdG8gYXBwbHkg
dGhpcyBwcm9wZXJ0eSBhZ2FpbiB3aGlsZSByZXNvbHZpbmcgaXQuCisgICAgICAgICAgICB2YWx1
ZVRvQXBwbHkgPSBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVXaXRoSUQobmFtZSwgQ1NT
VmFsdWVJbnZhbGlkKTsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRlLmluUHJvZ3Jlc3NQcm9w
ZXJ0aWVzQ3VzdG9tLmFkZChuYW1lKTsKQEAgLTIzNDIsNiArMjMzOSw5IEBAIHZvaWQgU3R5bGVS
ZXNvbHZlcjo6YXBwbHlDYXNjYWRlZEN1c3RvbVByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSwg
QXBwbHlDYXNjYWRlCiAgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlPj4odmFsdWVUb0FwcGx5LT52YWx1ZSgpKSkgewogICAgICAg
ICAgICAgUmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRWYWx1ZSA9IHJlc29sdmVkVmFyaWFibGVWYWx1
ZShDU1NQcm9wZXJ0eUN1c3RvbSwgdmFsdWVUb0FwcGx5LmdldCgpLCBzdGF0ZSk7CiAKKyAgICAg
ICAgICAgIGlmIChzdGF0ZS5hcHBsaWVkQ3VzdG9tUHJvcGVydGllcy5jb250YWlucyhuYW1lKSkK
KyAgICAgICAgICAgICAgICByZXR1cm47IC8vIFRoZXJlIHdhcyBhIGN5Y2xlIGFuZCB0aGUgdmFs
dWUgd2FzIHJlc2V0LCBzbyBiYWlsLgorCiAgICAgICAgICAgICBpZiAoIXBhcnNlZFZhbHVlKQog
ICAgICAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3Jl
YXRlV2l0aElEKG5hbWUsIENTU1ZhbHVlVW5zZXQpOwogCkBAIC0yMzY1LDggKzIzNjUsMjMgQEAg
dm9pZCBTdHlsZVJlc29sdmVyOjphcHBseUNhc2NhZGVkQ3VzdG9tUHJvcGVydHkoY29uc3QgU3Ry
aW5nJiBuYW1lLCBBcHBseUNhc2NhZGUKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGFwcGx5
UHJvcGVydHkoQ1NTUHJvcGVydHlDdXN0b20sIHZhbHVlVG9BcHBseS5wdHIoKSwgc3RhdGUsIGlu
ZGV4KTsKICAgICAgICAgfQotICAgICAgICBzdGF0ZS5pblByb2dyZXNzUHJvcGVydGllc0N1c3Rv
bS5yZW1vdmUobmFtZSk7Ci0gICAgICAgIHN0YXRlLmFwcGxpZWRDdXN0b21Qcm9wZXJ0aWVzLmFk
ZChuYW1lKTsKKyAgICB9CisKKyAgICBzdGF0ZS5pblByb2dyZXNzUHJvcGVydGllc0N1c3RvbS5y
ZW1vdmUobmFtZSk7CisgICAgc3RhdGUuYXBwbGllZEN1c3RvbVByb3BlcnRpZXMuYWRkKG5hbWUp
OworCisgICAgZm9yIChhdXRvIGluZGV4IDogeyBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoRGVmYXVs
dCwgU2VsZWN0b3JDaGVja2VyOjpNYXRjaExpbmssIFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hWaXNp
dGVkIH0pIHsKKyAgICAgICAgaWYgKCFwcm9wZXJ0eS5jc3NWYWx1ZVtpbmRleF0pCisgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKGluZGV4ICE9IFNlbGVjdG9yQ2hlY2tlcjo6TWF0
Y2hEZWZhdWx0ICYmIHRoaXMtPnN0YXRlKCkuc3R5bGUoKS0+aW5zaWRlTGluaygpID09IEluc2lk
ZUxpbms6Ok5vdEluc2lkZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIFJlZjxD
U1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiB2YWx1ZVRvQXBwbHkgPSBDU1NDdXN0b21Qcm9wZXJ0eVZh
bHVlOjpjcmVhdGUoZG93bmNhc3Q8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4oKnByb3BlcnR5LmNz
c1ZhbHVlW2luZGV4XSkpOworCisgICAgICAgIGlmIChpbkN5Y2xlICYmIFdURjo6aG9sZHNfYWx0
ZXJuYXRpdmU8UmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+Pih2YWx1ZVRvQXBwbHktPnZh
bHVlKCkpKSB7CisgICAgICAgICAgICAvLyBSZXNvbHZlIHRoaXMgdmFsdWUgc28gdGhhdCB3ZSBy
ZXNldCBpdHMgZGVwZW5kZW5jaWVzLgorICAgICAgICAgICAgcmVzb2x2ZWRWYXJpYWJsZVZhbHVl
KENTU1Byb3BlcnR5Q3VzdG9tLCB2YWx1ZVRvQXBwbHkuZ2V0KCksIHN0YXRlKTsKKyAgICAgICAg
fQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5
UGFyc2VyLmNwcAppbmRleCA1Y2I4OTQ1YjM4ZmE4MTBiMjc3M2UwMmY4MzY3OGU5YjY2YjIwOWMy
Li45OGRmNDE4OTVhMzBjN2EwYmVkNjUzNWFmYWY1NjkwYmNmYjZmNjM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtNDM5Myw4ICs0
MzkzLDExIEBAIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNl
cjo6cGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUoCiAgICAgaWYgKHN5bnRheCAhPSAiKiIp
IHsKICAgICAgICAgbV9yYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOwogICAgICAgICBhdXRvIHBy
aW1pdGl2ZVZhbCA9IGNvbnN1bWVXaWR0aE9ySGVpZ2h0KG1fcmFuZ2UsIG1fY29udGV4dCk7Ci0g
ICAgICAgIGlmIChwcmltaXRpdmVWYWwgJiYgcHJpbWl0aXZlVmFsLT5pc1ByaW1pdGl2ZVZhbHVl
KCkpCi0gICAgICAgICAgICByZXR1cm4gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlU3lu
dGF4TGVuZ3RoKG5hbWUsIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydExlbmd0aChzdHls
ZVJlc29sdmVyLCAqcHJpbWl0aXZlVmFsKSk7CisgICAgICAgIGlmIChwcmltaXRpdmVWYWwgJiYg
cHJpbWl0aXZlVmFsLT5pc1ByaW1pdGl2ZVZhbHVlKCkgJiYgZG93bmNhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWU+KCpwcmltaXRpdmVWYWwpLmlzTGVuZ3RoKCkpIHsKKyAgICAgICAgICAgIGF1dG8gbGVu
Z3RoID0gU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0TGVuZ3RoKHN0eWxlUmVzb2x2ZXIs
ICpwcmltaXRpdmVWYWwpOworICAgICAgICAgICAgaWYgKCFsZW5ndGguaXNDYWxjdWxhdGVkKCkg
JiYgIWxlbmd0aC5pc1VuZGVmaW5lZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBDU1NDdXN0
b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVTeW50YXhMZW5ndGgobmFtZSwgV1RGTW92ZShsZW5ndGgp
KTsKKyAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIGF1dG8gcHJvcGVydHlWYWx1ZSA9
IENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZVN5bnRheEFsbChuYW1lLCBDU1NWYXJpYWJs
ZURhdGE6OmNyZWF0ZShtX3JhbmdlKSk7CiAgICAgICAgIHdoaWxlICghbV9yYW5nZS5hdEVuZCgp
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDkxMzBiMTdmMWQ5NzVhNWE2OGE1ZTVlYTU4ZDgyZWYxOTcyYjM2Y2UuLjA3MWNk
YmE0Y2M0MTM2ZDBiYjczZDAyN2ZiMGFjYjE1NzJhNGQ1ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxOC0xMi0xNyAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+
CisKKyAgICAgICAgVXBkYXRlIENTUyBQcm9wZXJ0aWVzIGFuZCBWYWx1ZXMgQVBJIHRvIHVzZSBu
ZXcgY3ljbGUgZmFsbGJhY2sgYmVoYXZpb3VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI4MDAKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBL
b2l2aXN0by4KKworICAgICAgICAqIGNzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvY3Jhc2guaHRt
bDoKKyAgICAgICAgKiBjc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2luaGVyaXRzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBjc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2luaGVyaXRzLmh0bWw6
CisgICAgICAgICogY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9yZWdpc3RlclByb3BlcnR5LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL3JlZ2lzdGVy
UHJvcGVydHkuaHRtbDoKKwogMjAxOC0xMi0xOCAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIEJpbmRHcm91cExheW91dCBhbmQgRGV2aWNlOjpj
cmVhdGVCaW5kR3JvdXBMYXlvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDU4
MmY2ZDA1NzYyNmEyZmE4M2EyYjg0MzEzZTZkYWNhMTEyYjdlMTkuLjIzYjExZTQzMDQ0YTA4ZjE5
NjEyM2I2YzUxZGM1YWQ3NDA2NjI1YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQzIEBACisyMDE4LTEyLTE3ICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNo
YXVkQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgQ1NTIFByb3BlcnRpZXMgYW5kIFZhbHVl
cyBBUEkgdG8gdXNlIG5ldyBjeWNsZSBmYWxsYmFjayBiZWhhdmlvdXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjgwMAorCisgICAgICAgIFJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFJlLWltcG9ydCB0ZXN0cyBhbmQgYWRq
dXN0IGV4cGVjdGVkIHJlc3VsdHMuIFNvbWUgb2YgdGhlIHRlc3RzIGdvIGZyb20gcGFzcyB0byBm
YWlsIGJlY2F1c2UKKyAgICAgICAgdGhpcyBwYXRjaCBhZGRzIHNvbWUgZXh0cmEgZGVwZW5kZW5j
eSBjaGVja2luZyB0byBwcm9wZXJ0eSByZWdpc3RyYXRpb25zIHRvIGZpeCBhIGNyYXNoLCBidXQK
KyAgICAgICAgbm93IHVuc3VwcG9ydGVkIHN5bnRheGVzIGxpa2UgPGxlbmd0aC1wZXJjZW50YWdl
PiBkbyBub3QgcmVnaXN0ZXIgcHJvcGVybHkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMt
YXBpL3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXBy
b3BlcnR5Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVy
dGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdp
c3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1w
cm9wZXJ0eS1jb21wdXRhdGlvbi5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNzc29tLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0
aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS5odG1sOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rl
cmVkLXByb3BlcnR5LWluaXRpYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5
LWluaXRpYWwuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9w
ZXJ0aWVzLXZhbHVlcy1hcGkvcmVzb3VyY2VzL3V0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKGdl
bmVyYXRlX25hbWUpOgorICAgICAgICAoYW55X2luaXRpYWxfdmFsdWUpOgorICAgICAgICAoZ2Vu
ZXJhdGVfcHJvcGVydHkpOgorICAgICAgICAoYWxsX3N5bnRheGVzKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVzb3VyY2VzL3cz
Yy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2VsZi11dGlscy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9zZWxmLXV0aWxzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1
ZXMtYXBpL3R5cGVkb20udGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvdW5pdC1jeWNsZXMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3Bl
cnRpZXMtY3ljbGVzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHJvcGVydGllcy12YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9w
ZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMuaHRt
bDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvdzNjLWltcG9ydC5sb2c6CisKIDIwMTgtMTItMTggIEp1c3RpbiBNaWNoYXVkICA8anVz
dGluX21pY2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIENTUyBUeXBlZCBPTSBzaG91bGQgZXhw
b3NlIGF0dHJpYnV0ZVN0eWxlTWFwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MtY3VzdG9t
LXByb3BlcnRpZXMtYXBpL2NyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3Bl
cnRpZXMtYXBpL2NyYXNoLmh0bWwKaW5kZXggN2YyY2Q3MGEyYTMxZGVhYjk5ZjAwMzJjNDFmZWE3
YTVjOGFiN2Y5Yi4uNjIwNTY4ODk3ZDk3NzJiM2ExNTJiODdmNzVhNTI0ZGE0MTU1ZjgyNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9jcmFzaC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvY3Jhc2guaHRtbApA
QCAtNDgsMTUgKzQ4LDE1IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiB0ZXN0KGZ1bmN0aW9uKCkgewog
ICBpbmxpbmVTdHlsZS5zZXRQcm9wZXJ0eSgnLS1iYXonLCAnICAgNDBweCcpOwogICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1iYXonKSwgJzQwcHgnKTsK
LSAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tZm9vJyks
ICcyMDBweCcpOwotICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgnLS1iYXInKSwgJzIwMHB4Jyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKCctLWZvbycpLCAnJyk7CisgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWJhcicpLCAnJyk7CiAgIGFzc2VydF9lcXVhbHMoY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWJheicpLCAnNDBweCcpOwotICBhc3NlcnRfZXF1
YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zaXplJyksICcyMDBweCcp
OworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1z
aXplJyksICczMHB4Jyk7CiAgIGlubGluZVN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWJheicpOwog
ICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1iYXonKSwg
JzIwMHB4Jyk7Ci0gIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCctLWZvbycpLCAnMjAwcHgnKTsKLSAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5VmFsdWUoJy0tYmFyJyksICcyMDBweCcpOwotICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zaXplJyksICcyMDBweCcpOworICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1mb28nKSwgJycpOworICBh
c3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1iYXInKSwgJycp
OworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1z
aXplJyksICczMHB4Jyk7CiAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0
eVZhbHVlKCctLWJheicpLCAnMjAwcHgnKTsKIH0sICJTZXR0aW5nIHRoZSBpbmxpbmUgc3R5bGUg
aXMgaGFuZGxlZCBjb3JyZWN0bHkgd2hlbiByZWdpc3RlcmVkIik7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvaW5oZXJpdHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9pbmhlcml0cy1leHBlY3Rl
ZC50eHQKaW5kZXggMDllMjA2Y2JjMDA4YzY1YTZiZTJmMTY2NGJhYzcwYWFlNjA2NmIxNS4uNWFm
MWRiM2FiMmE1YjA2NjllNDk5MWYxNjZlOGZhYWZiODlhN2MxOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9pbmhlcml0cy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9pbmhlcml0cy1leHBlY3Rl
ZC50eHQKQEAgLTEsNjIgKzEsNjIgQEAKIFNwZWNpZmllZCBpbiBwYXJlbnQsIGluaGVyaXRzPXRy
dWUKIAotMTAwcHggZ3JlZW4KK3Rlc3QKIAogU3BlY2lmaWVkIGluIHBhcmVudCwgaW5oZXJpdHM9
ZmFsc2UKIAotMjAwcHggZ3JlZW4KK3Rlc3QKIAogU3BlY2lmaWVkIGluIHBhcmVudCwgbm90IHJl
Z2lzdGVyZWQKIAotMTAwcHggZ3JlZW4KK3Rlc3QKIAogSW5pdGlhbAogCi0yMDBweCBncmVlbgor
dGVzdAogCiBVbnNldCwgaW5oZXJpdHM9dHJ1ZQogCi0xMDBweCBncmVlbgordGVzdAogCiBVbnNl
dCwgaW5oZXJpdHM9ZmFsc2UKIAotMjAwcHggZ3JlZW4KK3Rlc3QKIAogQSBjeWNsZSBiZXR3ZWVu
IGFuIGluaGVyaXRzPXRydWUgYW5kIGluaGVyaXRzPWZhbHNlIHByb3BlcnR5CiAKLTIwMHB4IGdy
ZWVuCit0ZXN0CiAKIEEgY3ljbGUgYmV0d2VlbiBhbiBpbmhlcml0cz10cnVlIGFuZCBpbmhlcml0
cz1mYWxzZSBwcm9wZXJ0eQogCi0yMDBweCBncmVlbgordGVzdAogCiBBIGN5Y2xlIGJldHdlZW4g
YW4gaW5oZXJpdHM9dHJ1ZSBhbmQgaW5oZXJpdHM9ZmFsc2UgcHJvcGVydHkgd2l0aCBmYWxsYmFj
awogCi0yMDBweCBncmVlbgordGVzdAogCiBJbmhlcml0YW5jZSBzaG91bGQgbm90IGNyZWF0ZSBh
IGN5Y2xlCiAKLTExMHB4IGdyZWVuCit0ZXN0CiAKIEEgY3ljbGUgYmV0d2VlbiB0d28gdW5yZWdp
c3RlcmVkIHByb3BlcnRpZXMKIAotMzAwcHggZ3JlZW4KK3Rlc3QKIAogUmV2ZXJ0LCBpbmhlcml0
cz10cnVlCiAKLTE5MHB4IHB1cnBsZQordGVzdAogCiBSZXZlcnQsIGluaGVyaXRzPWZhbHNlCiAK
LTIwMHB4IHB1cnBsZQordGVzdAogCiBSZXZlcnQsIHVucmVnaXN0ZXJlZAogCi1wdXJwbGUKK3Rl
c3QKIAogSW5oZXJpdCwgdW5yZWdpc3RlcmVkCiAKLXB1cnBsZQordGVzdAogCiBUZXN0IHRoYXQg
aW5oZXJpdGVkIHByb3BlcnRpZXMgZG8gdmFyaWFibGUgc3Vic3RpdHV0aW9uIGJlZm9yZSBiZWlu
ZyBpbmhlcml0ZWQgLSByZWdpc3RlcmVkCiAKQEAgLTY4LDE1ICs2OCwxNSBAQCB0ZXN0CiAKIE5v
IGluaXRpYWwgdmFsdWUgaW4gcmVnaXN0ZXJlZCBwcm9wZXJ0eSBzaG91bGQgYWN0IGxpa2UgdW5y
ZWdpc3RlcmVkCiAKLTIwMHB4IGdyZWVuCit0ZXN0CiAKICh1bnJlZ2lzdGVyZWQpCiAKLTUwMHB4
IGdyZWVuCit0ZXN0CiAKIEluaGVyaXQgc2hvdWxkIGJlIHN1YnN0aXR1dGVkIGZvciB1bnJlZ2lz
dGVyZWQgcHJvcGVydHkKIAotNTAwcHggZ3JlZW4KK3Rlc3QKIAogCiBQQVNTIFJlZ2lzdHJhdGlv
biBpcyBzdWNjZXNzZnVsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9w
ZXJ0aWVzLWFwaS9pbmhlcml0cy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0
aWVzLWFwaS9pbmhlcml0cy5odG1sCmluZGV4IDhlZTRmY2YyODgwMWYzZWQ5Yzk5Njc2MWE3ZGYz
ZTdlNGVjMzAzZGMuLjdmYTUzZDUwMzI5ZDc1YTZjM2NlNTA5YTkyYjFlNWI2NjliOTg0MTMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nzcy1jdXN0b20tcHJvcGVydGllcy1hcGkvaW5oZXJpdHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL2luaGVyaXRz
Lmh0bWwKQEAgLTI0NCwzNiArMjQ0LDM2IEBACiA8L3N0eWxlPgogPGRpdj4KICAgPHA+IFNwZWNp
ZmllZCBpbiBwYXJlbnQsIGluaGVyaXRzPXRydWU8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDEiPjxk
aXYgaWQ9ImNoaWxkMSI+PHA+MTAwcHggZ3JlZW48L3A+PC9kaXY+IDwvZGl2PgorICA8ZGl2IGlk
PSJwYXJlbnQxIj48ZGl2IGlkPSJjaGlsZDEiPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2PgogICA8
cD4gU3BlY2lmaWVkIGluIHBhcmVudCwgaW5oZXJpdHM9ZmFsc2UgPC9wPgotICA8ZGl2IGlkPSJw
YXJlbnQyIj48ZGl2IGlkPSJjaGlsZDIiPjxwPjIwMHB4IGdyZWVuPC9wPjwvZGl2PiA8L2Rpdj4K
KyAgPGRpdiBpZD0icGFyZW50MiI+PGRpdiBpZD0iY2hpbGQyIj48cD50ZXN0PC9wPjwvZGl2PiA8
L2Rpdj4KICAgPHA+IFNwZWNpZmllZCBpbiBwYXJlbnQsIG5vdCByZWdpc3RlcmVkIDwvcD4KLSAg
PGRpdiBpZD0icGFyZW50MyI+PGRpdiBpZD0iY2hpbGQzIj48cD4xMDBweCBncmVlbjwvcD48L2Rp
dj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDMiPjxkaXYgaWQ9ImNoaWxkMyI+PHA+dGVzdDwv
cD48L2Rpdj4gPC9kaXY+CiAgIDxwPiBJbml0aWFsIDwvcD4KLSAgPGRpdiBpZD0icGFyZW50NCI+
PGRpdiBpZD0iY2hpbGQ0Ij48cD4yMDBweCBncmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYg
aWQ9InBhcmVudDQiPjxkaXYgaWQ9ImNoaWxkNCI+PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+CiAg
IDxwPiBVbnNldCwgaW5oZXJpdHM9dHJ1ZSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDUiPjxkaXYg
aWQ9ImNoaWxkNSI+PHA+MTAwcHggZ3JlZW48L3A+PC9kaXY+IDwvZGl2PgorICA8ZGl2IGlkPSJw
YXJlbnQ1Ij48ZGl2IGlkPSJjaGlsZDUiPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2PgogICA8cD4g
VW5zZXQsIGluaGVyaXRzPWZhbHNlIDwvcD4KLSAgPGRpdiBpZD0icGFyZW50NiI+PGRpdiBpZD0i
Y2hpbGQ2Ij48cD4yMDBweCBncmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVu
dDYiPjxkaXYgaWQ9ImNoaWxkNiI+PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+CiAgIDxwPiBBIGN5
Y2xlIGJldHdlZW4gYW4gaW5oZXJpdHM9dHJ1ZSBhbmQgaW5oZXJpdHM9ZmFsc2UgcHJvcGVydHkg
PC9wPgotICA8ZGl2IGlkPSJwYXJlbnQ3Ij48ZGl2IGlkPSJjaGlsZDciPjxwPjIwMHB4IGdyZWVu
PC9wPjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0icGFyZW50NyI+PGRpdiBpZD0iY2hpbGQ3Ij48
cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KICAgPHA+IEEgY3ljbGUgYmV0d2VlbiBhbiBpbmhlcml0
cz10cnVlIGFuZCBpbmhlcml0cz1mYWxzZSBwcm9wZXJ0eSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVu
dDgiPjxkaXYgaWQ9ImNoaWxkOCI+PHA+MjAwcHggZ3JlZW48L3A+PC9kaXY+IDwvZGl2PgorICA8
ZGl2IGlkPSJwYXJlbnQ4Ij48ZGl2IGlkPSJjaGlsZDgiPjxwPnRlc3Q8L3A+PC9kaXY+IDwvZGl2
PgogICA8cD4gQSBjeWNsZSBiZXR3ZWVuIGFuIGluaGVyaXRzPXRydWUgYW5kIGluaGVyaXRzPWZh
bHNlIHByb3BlcnR5IHdpdGggZmFsbGJhY2sgPC9wPgotICA8ZGl2IGlkPSJwYXJlbnQ5Ij48ZGl2
IGlkPSJjaGlsZDkiPjxwPjIwMHB4IGdyZWVuPC9wPjwvZGl2PiA8L2Rpdj4KKyAgPGRpdiBpZD0i
cGFyZW50OSI+PGRpdiBpZD0iY2hpbGQ5Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KICAgPHA+
IEluaGVyaXRhbmNlIHNob3VsZCBub3QgY3JlYXRlIGEgY3ljbGUgPC9wPgotICA8ZGl2IGlkPSJw
YXJlbnQxMCI+PGRpdiBpZD0iY2hpbGQxMCI+PHA+MTEwcHggZ3JlZW48L3A+PC9kaXY+PC9kaXY+
CisgIDxkaXYgaWQ9InBhcmVudDEwIj48ZGl2IGlkPSJjaGlsZDEwIj48cD50ZXN0PC9wPjwvZGl2
PjwvZGl2PgogICA8cD4gQSBjeWNsZSBiZXR3ZWVuIHR3byB1bnJlZ2lzdGVyZWQgcHJvcGVydGll
cyA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDExIj48ZGl2IGlkPSJjaGlsZDExIj48cD4zMDBweCBn
cmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBhcmVudDExIj48ZGl2IGlkPSJjaGls
ZDExIj48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KIAogICA8cD4gUmV2ZXJ0LCBpbmhlcml0cz10
cnVlIDwvcD4KLSAgPGRpdiBpZD0icGFyZW50MTIiPjxkaXYgaWQ9ImNoaWxkMTIiPjxkaXYgaWQ9
ImNoaWxkY2hpbGQxMiI+PHA+MTkwcHggcHVycGxlPC9wPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGlkPSJwYXJlbnQxMiI+PGRpdiBpZD0iY2hpbGQxMiI+PGRpdiBpZD0iY2hpbGRjaGlsZDEy
Ij48cD50ZXN0PC9wPjwvZGl2PjwvZGl2PjwvZGl2PgogICA8cD4gUmV2ZXJ0LCBpbmhlcml0cz1m
YWxzZSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDEzIj48ZGl2IGlkPSJjaGlsZDEzIj48ZGl2IGlk
PSJjaGlsZGNoaWxkMTMiPjxwPjIwMHB4IHB1cnBsZTwvcD48L2Rpdj48L2Rpdj4gPC9kaXY+Cisg
IDxkaXYgaWQ9InBhcmVudDEzIj48ZGl2IGlkPSJjaGlsZDEzIj48ZGl2IGlkPSJjaGlsZGNoaWxk
MTMiPjxwPnRlc3Q8L3A+PC9kaXY+PC9kaXY+IDwvZGl2PgogICA8cD4gUmV2ZXJ0LCB1bnJlZ2lz
dGVyZWQgPC9wPgotICA8ZGl2IGlkPSJwYXJlbnQxNCI+PGRpdiBpZD0iY2hpbGQxNCI+PGRpdiBp
ZD0iY2hpbGRjaGlsZDE0Ij48cD5wdXJwbGU8L3A+PC9kaXY+PC9kaXY+IDwvZGl2PgorICA8ZGl2
IGlkPSJwYXJlbnQxNCI+PGRpdiBpZD0iY2hpbGQxNCI+PGRpdiBpZD0iY2hpbGRjaGlsZDE0Ij48
cD50ZXN0PC9wPjwvZGl2PjwvZGl2PiA8L2Rpdj4KICAgPHA+IEluaGVyaXQsIHVucmVnaXN0ZXJl
ZCA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDE0LTEiPjxkaXYgaWQ9ImNoaWxkMTQtMSI+PGRpdiBp
ZD0iY2hpbGRjaGlsZDE0LTEiPjxwPnB1cnBsZTwvcD48L2Rpdj48L2Rpdj4gPC9kaXY+CisgIDxk
aXYgaWQ9InBhcmVudDE0LTEiPjxkaXYgaWQ9ImNoaWxkMTQtMSI+PGRpdiBpZD0iY2hpbGRjaGls
ZDE0LTEiPjxwPnRlc3Q8L3A+PC9kaXY+PC9kaXY+IDwvZGl2PgogCiAgIDxwPiBUZXN0IHRoYXQg
aW5oZXJpdGVkIHByb3BlcnRpZXMgZG8gdmFyaWFibGUgc3Vic3RpdHV0aW9uIGJlZm9yZSBiZWlu
ZyBpbmhlcml0ZWQgLSByZWdpc3RlcmVkPC9wPgogICA8ZGl2IGlkPSJwYXJlbnQxNSI+PGRpdiBp
ZD0iY2hpbGQxNSI+PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+CkBAIC0yODEsMTIgKzI4MSwxMiBA
QAogICA8ZGl2IGlkPSJwYXJlbnQxNiI+PGRpdiBpZD0iY2hpbGQxNiI+PHA+dGVzdDwvcD48L2Rp
dj4gPC9kaXY+CiAKICAgPHA+IE5vIGluaXRpYWwgdmFsdWUgaW4gcmVnaXN0ZXJlZCBwcm9wZXJ0
eSBzaG91bGQgYWN0IGxpa2UgdW5yZWdpc3RlcmVkPC9wPgotICA8ZGl2IGlkPSJwYXJlbnQxNyI+
PGRpdiBpZD0iY2hpbGQxNyI+PHA+MjAwcHggZ3JlZW48L3A+PC9kaXY+IDwvZGl2PgorICA8ZGl2
IGlkPSJwYXJlbnQxNyI+PGRpdiBpZD0iY2hpbGQxNyI+PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+
CiAgIDxwPiAodW5yZWdpc3RlcmVkKSA8L3A+Ci0gIDxkaXYgaWQ9InBhcmVudDE4Ij48ZGl2IGlk
PSJjaGlsZDE4Ij48cD41MDBweCBncmVlbjwvcD48L2Rpdj4gPC9kaXY+CisgIDxkaXYgaWQ9InBh
cmVudDE4Ij48ZGl2IGlkPSJjaGlsZDE4Ij48cD50ZXN0PC9wPjwvZGl2PiA8L2Rpdj4KIAogICA8
cD5Jbmhlcml0IHNob3VsZCBiZSBzdWJzdGl0dXRlZCBmb3IgdW5yZWdpc3RlcmVkIHByb3BlcnR5
PC9wPgotICA8ZGl2IGlkPSJwYXJlbnQxOSI+PGRpdiBpZD0iY2hpbGQxOSI+PHA+NTAwcHggZ3Jl
ZW48L3A+PC9kaXY+IDwvZGl2PgorICA8ZGl2IGlkPSJwYXJlbnQxOSI+PGRpdiBpZD0iY2hpbGQx
OSI+PHA+dGVzdDwvcD48L2Rpdj4gPC9kaXY+CiA8L2Rpdj4KIDxzY3JpcHQ+CiAKQEAgLTM0Niwx
OSArMzQ2LDE5IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgIHRlc3RfcHJvcCgnY2hpbGQ2JywgJy0t
bXktY3VzdG9tLXByb3AyJywgJzIwMHB4Jyk7CiB9LCAiSlMgQXR0cmlidXRlcyBhcmUgdmFsaWQg
Zm9yIGVsZW1lbnQgNiIpOwogdGVzdChmdW5jdGlvbigpIHsKLSAgdGVzdF9wcm9wKCdjaGlsZDcn
LCAnd2lkdGgnLCAnMjAwcHgnKTsKLSAgdGVzdF9wcm9wKCdjaGlsZDcnLCAnLS1teS1jdXN0b20t
cHJvcCcsICcxMDBweCcpOwotICB0ZXN0X3Byb3AoJ2NoaWxkNycsICctLW15LWN1c3RvbS1wcm9w
MicsICcyMDBweCcpOworICB0ZXN0X3Byb3AoJ2NoaWxkNycsICd3aWR0aCcsICczMDBweCcpOwor
ICB0ZXN0X3Byb3AoJ2NoaWxkNycsICctLW15LWN1c3RvbS1wcm9wJywgJycpOworICB0ZXN0X3By
b3AoJ2NoaWxkNycsICctLW15LWN1c3RvbS1wcm9wMicsICcnKTsKIH0sICJKUyBBdHRyaWJ1dGVz
IGFyZSB2YWxpZCBmb3IgZWxlbWVudCA3Iik7CiB0ZXN0KGZ1bmN0aW9uKCkgewotICB0ZXN0X3By
b3AoJ2NoaWxkOCcsICd3aWR0aCcsICcyMDBweCcpOwotICB0ZXN0X3Byb3AoJ2NoaWxkOCcsICct
LW15LWN1c3RvbS1wcm9wJywgJzIwMHB4Jyk7Ci0gIHRlc3RfcHJvcCgnY2hpbGQ4JywgJy0tbXkt
Y3VzdG9tLXByb3AyJywgJzIwMHB4Jyk7CisgIHRlc3RfcHJvcCgnY2hpbGQ4JywgJ3dpZHRoJywg
JzMwMHB4Jyk7CisgIHRlc3RfcHJvcCgnY2hpbGQ4JywgJy0tbXktY3VzdG9tLXByb3AnLCAnJyk7
CisgIHRlc3RfcHJvcCgnY2hpbGQ4JywgJy0tbXktY3VzdG9tLXByb3AyJywgJycpOwogfSwgIkpT
IEF0dHJpYnV0ZXMgYXJlIHZhbGlkIGZvciBlbGVtZW50IDgiKTsKIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gIHRlc3RfcHJvcCgnY2hpbGQ5JywgJ3dpZHRoJywgJzIwMHB4Jyk7Ci0gIHRlc3RfcHJvcCgn
Y2hpbGQ5JywgJy0tbXktY3VzdG9tLXByb3AnLCAnMTAwcHgnKTsKLSAgdGVzdF9wcm9wKCdjaGls
ZDknLCAnLS1teS1jdXN0b20tcHJvcDInLCAnMjAwcHgnKTsKKyAgdGVzdF9wcm9wKCdjaGlsZDkn
LCAnd2lkdGgnLCAnMzAwcHgnKTsKKyAgdGVzdF9wcm9wKCdjaGlsZDknLCAnLS1teS1jdXN0b20t
cHJvcCcsICcnKTsKKyAgdGVzdF9wcm9wKCdjaGlsZDknLCAnLS1teS1jdXN0b20tcHJvcDInLCAn
Jyk7CiB9LCAiSlMgQXR0cmlidXRlcyBhcmUgdmFsaWQgZm9yIGVsZW1lbnQgOSIpOwogdGVzdChm
dW5jdGlvbigpIHsKICAgdGVzdF9wcm9wKCdjaGlsZDEwJywgJ3dpZHRoJywgJzExMHB4Jyk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMtYXBpL3JlZ2lzdGVy
UHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9wZXJ0aWVz
LWFwaS9yZWdpc3RlclByb3BlcnR5LWV4cGVjdGVkLnR4dAppbmRleCBiMzA4MmUxMTc5OTc0NWRh
MWRlMTI3ODQ1NjQ3NDkzYWYwYjZkMWExLi40NGQyMTVhZTg3M2E4OTIxZmJiZTVmNDQ2YjVlOGUy
MGQ3M2MzMmZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MtY3VzdG9tLXByb3BlcnRpZXMt
YXBpL3JlZ2lzdGVyUHJvcGVydHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Nzcy1j
dXN0b20tcHJvcGVydGllcy1hcGkvcmVnaXN0ZXJQcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTMs
NCArMyw1IEBAIFBBU1MgcmVnaXN0ZXJQcm9wZXJ0eSByZXF1aXJlcyBhIERpY3Rpb25hcnkgdHlw
ZQogUEFTUyByZWdpc3RlclByb3BlcnR5IHJlcXVpcmVzIGEgbmFtZSBtYXRjaGluZyA8Y3VzdG9t
LXByb3BlcnR5LW5hbWU+IAogUEFTUyByZWdpc3RlclByb3BlcnR5IGFsd2F5cyBhbGxvd3Mgb21p
dHRpbmcgaW5pdGlhbFZhbHVlIGFuZCBzeW50YXgsIHJlcXVpcmVzIG5hbWUgYW5kIGluaGVyaXRz
IAogUEFTUyByZWdpc3RlclByb3BlcnR5IHJlcXVpcmVzIGluaGVyaXRzIGFuZCBuYW1lIAorUEFT
UyByZWdpc3RlclByb3BlcnR5IHJlcXVpcmVzIGluaXRpYWxWYWx1ZSB0byBiZSBjb21wdXRhdGlv
bmFsbHkgaW5kZXBlbmRlbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nzcy1jdXN0b20t
cHJvcGVydGllcy1hcGkvcmVnaXN0ZXJQcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzLWN1
c3RvbS1wcm9wZXJ0aWVzLWFwaS9yZWdpc3RlclByb3BlcnR5Lmh0bWwKaW5kZXggMWY1NzY2NjRk
ZTg2M2Y0NTAzNGI5MmY0MDg0YTM3MjIxMzRlYmU5NC4uM2RiY2IwY2NhYzU3MmQyMmViMjgzNGFi
ODE5ZWI3Y2M5NGY5NTc5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzLWN1c3RvbS1wcm9w
ZXJ0aWVzLWFwaS9yZWdpc3RlclByb3BlcnR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzLWN1
c3RvbS1wcm9wZXJ0aWVzLWFwaS9yZWdpc3RlclByb3BlcnR5Lmh0bWwKQEAgLTIsNiArMiw3IEBA
CiA8IS0tIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy8w
MWNlNDMxNDA5ZTNhMDE5ODU4Njc3NjI2YTk4M2M1NTE2OGRhNmRjL3RoaXJkX3BhcnR5L1dlYktp
dC9MYXlvdXRUZXN0cy9jdXN0b20tcHJvcGVydGllcy9yZWdpc3Rlci1wcm9wZXJ0eS5odG1sIC0t
PgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9ImVsIj48L2Rpdj4KIDxzY3JpcHQ+CiAvLyBUZXN0cyBmb3IgZXJyb3IgY2hlY2tp
bmcgZHVyaW5nIHByb3BlcnR5IHJlZ2lzdHJhdGlvbgogdGVzdChmdW5jdGlvbigpIHsKQEAgLTE4
LDkgKzE5LDkgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7
bmFtZTogJy0tbmFtZTIsIG5vIG5lZWQgZm9yIGVzY2FwZXMnLCBpbmhlcml0czogZmFsc2V9KTsK
ICAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogWyctLW5hbWUnLCAzXSwgaW5oZXJpdHM6
IGZhbHNlfSk7CiAgICAgLy8gSW52YWxpZCBwcm9wZXJ0eSBuYW1lcwotICAgIC8vYXNzZXJ0X3Ro
cm93cyhuZXcgU3ludGF4RXJyb3IoKSwgKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6
ICduby1sZWFkaW5nLWRhc2gnLCBpbmhlcml0czogZmFsc2V9KSk7Ci0gICAgLy9hc3NlcnRfdGhy
b3dzKG5ldyBTeW50YXhFcnJvcigpLCAoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTog
JycsIGluaGVyaXRzOiBmYWxzZX0pKTsKLSAgICAvL2Fzc2VydF90aHJvd3MobmV3IFN5bnRheEVy
cm9yKCksICgpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnXFwtLW5hbWUnLCBpbmhl
cml0czogZmFsc2V9KSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgU3ludGF4RXJyb3IoKSwgKCkg
PT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICduby1sZWFkaW5nLWRhc2gnLCBpbmhlcml0
czogZmFsc2V9KSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgU3ludGF4RXJyb3IoKSwgKCkgPT4g
Q1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICcnLCBpbmhlcml0czogZmFsc2V9KSk7CisgICAg
YXNzZXJ0X3Rocm93cyhuZXcgU3ludGF4RXJyb3IoKSwgKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVy
dHkoe25hbWU6ICdcXC0tbmFtZScsIGluaGVyaXRzOiBmYWxzZX0pKTsKIH0sICJyZWdpc3RlclBy
b3BlcnR5IHJlcXVpcmVzIGEgbmFtZSBtYXRjaGluZyA8Y3VzdG9tLXByb3BlcnR5LW5hbWU+Iik7
CiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1z
eW50YXgtdGVzdC0xJywgaW5oZXJpdHM6IGZhbHNlLCBzeW50YXg6ICcqJ30pOwpAQCAtMzcsNCAr
MzgsMTUgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFt
ZTogJy0tc3ludGF4LXRlc3QtNCcsIGluaGVyaXRzOiBmYWxzZSwgc3ludGF4OiAnKid9KTsKICAg
ICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tc3ludGF4LXRlc3QtNScsIGluaGVyaXRz
OiBmYWxzZSwgc3ludGF4OiAnICogJ30pOwogfSwgInJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMg
aW5oZXJpdHMgYW5kIG5hbWUiKTsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIENTUy5yZWdpc3RlclBy
b3BlcnR5KHtuYW1lOiAnLS1pbml0aWFsdmFsdWUtdGVzdC0wJywgaW5oZXJpdHM6IGZhbHNlLCBz
eW50YXg6ICc8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJ2NhbGMoMTBweCArIDEwaW4pJ30pOwor
ICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS5nZXRQcm9wZXJ0eVZh
bHVlKCctLWluaXRpYWx2YWx1ZS10ZXN0LTAnKS50b1N0cmluZygpLCAnOTcwcHgnKTsKKworICBh
c3NlcnRfdGhyb3dzKG5ldyBTeW50YXhFcnJvcigpLAorICAgICgpID0+IENTUy5yZWdpc3RlclBy
b3BlcnR5KHtuYW1lOiAnLS1pbml0aWFsdmFsdWUtdGVzdC0xJywgaW5oZXJpdHM6IGZhbHNlLCBz
eW50YXg6ICc8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJzEwZW0nfSkpOworICBhc3NlcnRfdGhy
b3dzKG5ldyBTeW50YXhFcnJvcigpLAorICAgICgpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtu
YW1lOiAnLS1pbml0aWFsdmFsdWUtdGVzdC0yJywgaW5oZXJpdHM6IGZhbHNlLCBzeW50YXg6ICc8
bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJ2NhbGMoMTBweCArIDEwZW0pJ30pKTsKKyAgYXNzZXJ0
X3Rocm93cyhuZXcgU3ludGF4RXJyb3IoKSwKKyAgICAoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0
eSh7bmFtZTogJy0taW5pdGlhbHZhbHVlLXRlc3QtMycsIGluaGVyaXRzOiBmYWxzZSwgc3ludGF4
OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICdjYWxjKDEwcHggKyAxMCUpJ30pKTsKK30sICJy
ZWdpc3RlclByb3BlcnR5IHJlcXVpcmVzIGluaXRpYWxWYWx1ZSB0byBiZSBjb21wdXRhdGlvbmFs
bHkgaW5kZXBlbmRlbnQiKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3Rlci1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lz
dGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4dAppbmRleCA1NjdkYjMxNzg1NDE0MzZjMjY3YjdkNTg2
YjMzYjBlNjBiMTRkMWNhLi5jZjljOGQ0M2VkMGJhY2IyMzMwMjQxMWQ3N2UxNGI2ZWJkNmQ0NzI3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5LWV4cGVjdGVkLnR4
dApAQCAtMSw3ICsxLDggQEAKIAogUEFTUyByZWdpc3RlclByb3BlcnR5IHJlcXVpcmVzIGEgRGlj
dGlvbmFyeSB0eXBlIAotRkFJTCByZWdpc3RlclByb3BlcnR5IHJlcXVpcmVzIGEgbmFtZSBtYXRj
aGluZyA8Y3VzdG9tLXByb3BlcnR5LW5hbWU+IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9
PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJ25vLWxlYWRpbmctZGFzaCcsIGluaGVyaXRz
OiBmYWxzZX0pIiBkaWQgbm90IHRocm93CitQQVNTIHJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMg
YSBuYW1lIG1hdGNoaW5nIDxjdXN0b20tcHJvcGVydHktbmFtZT4gCiBGQUlMIHJlZ2lzdGVyUHJv
cGVydHkgb25seSBhbGxvd3Mgb21pdHRpbmcgaW5pdGlhbFZhbHVlIGlmIHN5bnRheCBpcyAnKicg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1l
OiAnLS1zeW50YXgtdGVzdC0zJywgc3ludGF4OiAnbGVuZ3RoJywgaW5oZXJpdHM6IGZhbHNlfSki
IGRpZCBub3QgdGhyb3cKLVBBU1MgcmVnaXN0ZXJQcm9wZXJ0eSBmYWlscyBmb3IgYW4gYWxyZWFk
eSByZWdpc3RlcmVkIHByb3BlcnR5IAorRkFJTCByZWdpc3RlclByb3BlcnR5IGZhaWxzIGZvciBh
biBhbHJlYWR5IHJlZ2lzdGVyZWQgcHJvcGVydHkgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigp
ID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1yZS1yZWdpc3RlcicsIHN5bnRheDog
JzxwZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTogJzAlJywgaW5oZXJpdHM6IGZhbHNlfSkiIHRo
cmV3IG9iamVjdCAiU3ludGF4RXJyb3I6IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90
IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LiIgKCJTeW50YXhFcnJvciIpIGV4cGVjdGVkIG9i
amVjdCAiW29iamVjdCBPYmplY3RdIiAoIkludmFsaWRNb2RpZmljYXRpb25FcnJvciIpCiBQQVNT
IHJlZ2lzdGVyUHJvcGVydHkgcmVxdWlyZXMgaW5oZXJpdHMgCitGQUlMIFJlZ2lzdGVyaW5nIGEg
cHJvcGVydHkgc2hvdWxkIG5vdCBjYXVzZSBhIHRyYW5zaXRpb24gVGhlIGdpdmVuIGluaXRpYWwg
dmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9w
ZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHktc3ludGF4LXBhcnNpbmctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2lu
Zy1leHBlY3RlZC50eHQKaW5kZXggMmVhNzhlMjk4MDYwNjhlNWIzYzNmNmVjNzlmNmJmOWE4YTZi
MThjZC4uMzc2ZTQ4YmZiYTI1MjZjNDYwY2ZhZDhmODJjZWZmYjhhZGMyNDMxOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBy
b3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgt
cGFyc2luZy1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw3IEBAIFBBU1Mgc3ludGF4OicqJywgaW5p
dGlhbFZhbHVlOidhJyBpcyB2YWxpZAogRkFJTCBzeW50YXg6JyAqICcsIGluaXRpYWxWYWx1ZTon
YicgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRo
ZSBnaXZlbiBzeW50YXguCiBQQVNTIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6JzJw
eCcgaXMgdmFsaWQgCiBGQUlMIHN5bnRheDonIDxudW1iZXI+JywgaW5pdGlhbFZhbHVlOic1JyBp
cyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdp
dmVuIHN5bnRheC4KLVBBU1Mgc3ludGF4Oic8cGVyY2VudGFnZT4gJywgaW5pdGlhbFZhbHVlOicx
MCUnIGlzIHZhbGlkIAorRkFJTCBzeW50YXg6JzxwZXJjZW50YWdlPiAnLCBpbml0aWFsVmFsdWU6
JzEwJScgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9y
IHRoZSBnaXZlbiBzeW50YXguCiBGQUlMIHN5bnRheDonPGNvbG9yPisnLCBpbml0aWFsVmFsdWU6
J3JlZCcgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9y
IHRoZSBnaXZlbiBzeW50YXguCiBGQUlMIHN5bnRheDonIDxsZW5ndGg+KyB8IDxwZXJjZW50YWdl
PicsIGluaXRpYWxWYWx1ZTonMnB4IDhweCcgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFs
dWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCiBQQVNTIHN5bnRheDonPGxl
bmd0aD58PHBlcmNlbnRhZ2U+fDxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6JzJw
eCcgaXMgdmFsaWQgCkBAIC0yMSwxNCArMjEsMTkgQEAgUEFTUyBzeW50YXg6JzxsZW5ndGg+Jywg
aW5pdGlhbFZhbHVlOidjYWxjKDJweCo0ICsgMTBweCknIGlzIHZhbGlkCiBQQVNTIHN5bnRheDon
PGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6JzcuMWUtNGNtJyBpcyB2YWxpZCAKIFBBU1Mgc3ludGF4
Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonY2FsYyg3aW4gLSAxMnB4KScgaXMgdmFsaWQgCiBG
QUlMIHN5bnRheDonPGxlbmd0aD4rJywgaW5pdGlhbFZhbHVlOicycHggN3B4IGNhbGMoOHB4KScg
aXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBn
aXZlbiBzeW50YXguCitGQUlMIHN5bnRheDonPGxlbmd0aD4jJywgaW5pdGlhbFZhbHVlOicycHgs
IDdweCwgY2FsYyg4cHgpJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5v
dCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIEZBSUwgc3ludGF4Oic8cGVyY2VudGFnZT4n
LCBpbml0aWFsVmFsdWU6Jy05LjNlMyUnIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVl
IGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJTCBzeW50YXg6JzxsZW5n
dGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6Jy01NCUnIGlzIHZhbGlkIFRoZSBnaXZlbiBp
bml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogUEFTUyBz
eW50YXg6JzxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6JzAnIGlzIHZhbGlkIAot
UEFTUyBzeW50YXg6JzxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6J2NhbGMoLTEx
cHggKyAxMC40JSknIGlzIHZhbGlkIAorRkFJTCBzeW50YXg6JzxsZW5ndGgtcGVyY2VudGFnZT4n
LCBpbml0aWFsVmFsdWU6J2NhbGMoLTExcHggKyAxMC40JSknIGlzIHZhbGlkIFRoZSBnaXZlbiBp
bml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJTCBz
eW50YXg6JzxudW1iZXI+JywgaW5pdGlhbFZhbHVlOictMTA5JyBpcyB2YWxpZCBUaGUgZ2l2ZW4g
aW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIEZBSUwg
c3ludGF4Oic8bnVtYmVyPicsIGluaXRpYWxWYWx1ZTonMi4zZTQnIGlzIHZhbGlkIFRoZSBnaXZl
biBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJ
TCBzeW50YXg6JzxpbnRlZ2VyPicsIGluaXRpYWxWYWx1ZTonLTEwOScgaXMgdmFsaWQgVGhlIGdp
dmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCiBG
QUlMIHN5bnRheDonPGludGVnZXI+JywgaW5pdGlhbFZhbHVlOicxOScgaXMgdmFsaWQgVGhlIGdp
dmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitG
QUlMIHN5bnRheDonPGludGVnZXI+JywgaW5pdGlhbFZhbHVlOidjYWxjKDEpJyBpcyB2YWxpZCBU
aGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRh
eC4KK0ZBSUwgc3ludGF4Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFsdWU6J2NhbGMoMSArIDIpJyBp
cyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdp
dmVuIHN5bnRheC4KK0ZBSUwgc3ludGF4Oic8aW50ZWdlcj4nLCBpbml0aWFsVmFsdWU6J2NhbGMo
My4xNDE1KScgaXMgdmFsaWQgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2Ug
Zm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIHN5bnRheDonPGludGVnZXI+JywgaW5pdGlhbFZh
bHVlOidjYWxjKDMuMTQxNSArIDMuMTQxNSknIGlzIHZhbGlkIFRoZSBnaXZlbiBpbml0aWFsIHZh
bHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgogRkFJTCBzeW50YXg6Jzxh
bmdsZT4nLCBpbml0aWFsVmFsdWU6JzEwZGVnJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2
YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIEZBSUwgc3ludGF4Oic8
YW5nbGU+JywgaW5pdGlhbFZhbHVlOicyMC41cmFkJyBpcyB2YWxpZCBUaGUgZ2l2ZW4gaW5pdGlh
bCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIEZBSUwgc3ludGF4
Oic8YW5nbGU+JywgaW5pdGlhbFZhbHVlOidjYWxjKDUwZ3JhZCArIDMuMTQxNTlyYWQpJyBpcyB2
YWxpZCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVu
IHN5bnRheC4KQEAgLTg0LDcgKzg5LDcgQEAgUEFTUyBzeW50YXg6J2luaGVyaXQnLCBpbml0aWFs
VmFsdWU6J2luaGVyaXQnIGlzIGludmFsaWQKIFBBU1Mgc3ludGF4Oid1bnNldCcsIGluaXRpYWxW
YWx1ZTondW5zZXQnIGlzIGludmFsaWQgCiBGQUlMIHN5bnRheDonPGxlbmd0aD58aW5pdGlhbCcs
IGluaXRpYWxWYWx1ZTonMTBweCcgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
KCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBp
bml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhy
b3cKIEZBSUwgc3ludGF4Oic8bGVuZ3RoPnxJTkhFUklUJywgaW5pdGlhbFZhbHVlOicxMHB4JyBp
cyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVnaXN0ZXJQcm9w
ZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTogaW5pdGlhbFZh
bHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwotRkFJTCBzeW50YXg6JzxwZXJj
ZW50YWdlPnx1bnNFdCcsIGluaXRpYWxWYWx1ZTonMiUnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50
YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0p
IiBkaWQgbm90IHRocm93CitQQVNTIHN5bnRheDonPHBlcmNlbnRhZ2U+fHVuc0V0JywgaW5pdGlh
bFZhbHVlOicyJScgaXMgaW52YWxpZCAKIEZBSUwgc3ludGF4OicqJywgaW5pdGlhbFZhbHVlOidp
bml0aWFsJyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVn
aXN0ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTog
aW5pdGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwogRkFJTCBzeW50
YXg6JyonLCBpbml0aWFsVmFsdWU6J2luaGVyaXQnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6
IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBk
aWQgbm90IHRocm93CiBGQUlMIHN5bnRheDonKicsIGluaXRpYWxWYWx1ZTondW5zZXQnIGlzIGlu
dmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5
KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUs
IGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93CkBAIC0xMDMsMjQgKzEwOCwyNiBAQCBG
QUlMIHN5bnRheDonKicsIGluaXRpYWxWYWx1ZTondmFyKC0tZm9vKScgaXMgaW52YWxpZCBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiKAogUEFTUyBzeW50YXg6J2JhbmFuYScsIGluaXRpYWxWYWx1
ZTonYkFuQW5BJyBpcyBpbnZhbGlkIAogUEFTUyBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZh
bHVlOid2YXIoLS1tb28pJyBpcyBpbnZhbGlkIAogUEFTUyBzeW50YXg6JzxsZW5ndGg+JywgaW5p
dGlhbFZhbHVlOicxMCcgaXMgaW52YWxpZCAKLUZBSUwgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRp
YWxWYWx1ZTonMTAlJyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBD
U1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxW
YWx1ZTogaW5pdGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwotRkFJ
TCBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOidjYWxjKDVweCArIDEwJSknIGlzIGlu
dmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5
KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUs
IGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93CitQQVNTIHN5bnRheDonPGxlbmd0aD4n
LCBpbml0aWFsVmFsdWU6JzEwJScgaXMgaW52YWxpZCAKK1BBU1Mgc3ludGF4Oic8bGVuZ3RoPics
IGluaXRpYWxWYWx1ZTonY2FsYyg1cHggKyAxMCUpJyBpcyBpbnZhbGlkIAogUEFTUyBzeW50YXg6
JzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOidjYWxjKDVweCAqIDNweCAvIDZweCknIGlzIGludmFs
aWQgCi1GQUlMIHN5bnRheDonPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6JzEwZW0nIGlzIGludmFs
aWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtu
YW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGlu
aGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93CitQQVNTIHN5bnRheDonPGxlbmd0aD4nLCBp
bml0aWFsVmFsdWU6JzEwZW0nIGlzIGludmFsaWQgCiBGQUlMIHN5bnRheDonPGxlbmd0aD4nLCBp
bml0aWFsVmFsdWU6JzEwdm1pbicgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
KCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRheDogc3ludGF4LCBp
bml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSkiIGRpZCBub3QgdGhy
b3cKLUZBSUwgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonY2FsYyg0cHggKyAzZW0p
JyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVnaXN0ZXJQ
cm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTogaW5pdGlh
bFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwotRkFJTCBzeW50YXg6Jzxs
ZW5ndGg+JywgaW5pdGlhbFZhbHVlOidjYWxjKDRweCArIGNhbGMoOCAqIDJlbSkpJyBpcyBpbnZh
bGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7
bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTogaW5pdGlhbFZhbHVlLCBp
bmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwotRkFJTCBzeW50YXg6JzxsZW5ndGg+Kycs
IGluaXRpYWxWYWx1ZTonY2FsYygyZXggKyAxNnB4KScgaXMgaW52YWxpZCBhc3NlcnRfdGhyb3dz
OiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUsIHN5bnRh
eDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZhbHNlfSki
IGRpZCBub3QgdGhyb3cKK1BBU1Mgc3ludGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonY2Fs
Yyg0cHggKyAzZW0pJyBpcyBpbnZhbGlkIAorUEFTUyBzeW50YXg6JzxsZW5ndGg+JywgaW5pdGlh
bFZhbHVlOidjYWxjKDRweCArIGNhbGMoOCAqIDJlbSkpJyBpcyBpbnZhbGlkIAorUEFTUyBzeW50
YXg6JzxsZW5ndGg+KycsIGluaXRpYWxWYWx1ZTonY2FsYygyZXggKyAxNnB4KScgaXMgaW52YWxp
ZCAKIFBBU1Mgc3ludGF4Oic8bGVuZ3RoPisnLCBpbml0aWFsVmFsdWU6JzEwcHggY2FsYygyMHB4
ICsgNHJlbSknIGlzIGludmFsaWQgCitGQUlMIHN5bnRheDonPGxlbmd0aD4rJywgaW5pdGlhbFZh
bHVlOicnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdp
c3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBp
bml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93CitGQUlMIHN5bnRh
eDonPGxlbmd0aD4jJywgaW5pdGlhbFZhbHVlOicnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6
IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBk
aWQgbm90IHRocm93CiBQQVNTIHN5bnRheDonPHBlcmNlbnRhZ2U+IHwgPGxlbmd0aD4rJywgaW5p
dGlhbFZhbHVlOidjYWxjKDEwMHZoIC0gMTBweCkgMzBweCcgaXMgaW52YWxpZCAKIFBBU1Mgc3lu
dGF4Oic8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTonMTBweDsnIGlzIGludmFsaWQgCi1GQUlMIHN5
bnRheDonPGxlbmd0aC1wZXJjZW50YWdlPicsIGluaXRpYWxWYWx1ZTonY2FsYygycHggKyAxMCUg
KyA3ZXgpJyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiBDU1MucmVn
aXN0ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRpYWxWYWx1ZTog
aW5pdGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdworUEFTUyBzeW50
YXg6JzxsZW5ndGgtcGVyY2VudGFnZT4nLCBpbml0aWFsVmFsdWU6J2NhbGMoMnB4ICsgMTAlICsg
N2V4KScgaXMgaW52YWxpZCAKIEZBSUwgc3ludGF4Oic8cGVyY2VudGFnZT4nLCBpbml0aWFsVmFs
dWU6JzAnIGlzIGludmFsaWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdp
c3RlclByb3BlcnR5KHtuYW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBp
bml0aWFsVmFsdWUsIGluaGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93CiBQQVNTIHN5bnRh
eDonPGludGVnZXI+JywgaW5pdGlhbFZhbHVlOicxLjAnIGlzIGludmFsaWQgCiBQQVNTIHN5bnRh
eDonPGludGVnZXI+JywgaW5pdGlhbFZhbHVlOicxZTAnIGlzIGludmFsaWQgCiBQQVNTIHN5bnRh
eDonPG51bWJlcj58Zm9vJywgaW5pdGlhbFZhbHVlOidmb28gdmFyKC0tZm9vLCBibGEpJyBpcyBp
bnZhbGlkIAogRkFJTCBzeW50YXg6JzxhbmdsZT4nLCBpbml0aWFsVmFsdWU6JzAnIGlzIGludmFs
aWQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IENTUy5yZWdpc3RlclByb3BlcnR5KHtu
YW1lOiBuYW1lLCBzeW50YXg6IHN5bnRheCwgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsIGlu
aGVyaXRzOiBmYWxzZX0pIiBkaWQgbm90IHRocm93Ci1GQUlMIHN5bnRheDonPGFuZ2xlPicsIGlu
aXRpYWxWYWx1ZTonMTAlJyBpcyBpbnZhbGlkIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9
PiBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogbmFtZSwgc3ludGF4OiBzeW50YXgsIGluaXRp
YWxWYWx1ZTogaW5pdGlhbFZhbHVlLCBpbmhlcml0czogZmFsc2V9KSIgZGlkIG5vdCB0aHJvdwor
UEFTUyBzeW50YXg6JzxhbmdsZT4nLCBpbml0aWFsVmFsdWU6JzEwJScgaXMgaW52YWxpZCAKIEZB
SUwgc3ludGF4Oic8dGltZT4nLCBpbml0aWFsVmFsdWU6JzJweCcgaXMgaW52YWxpZCBhc3NlcnRf
dGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6IG5hbWUs
IHN5bnRheDogc3ludGF4LCBpbml0aWFsVmFsdWU6IGluaXRpYWxWYWx1ZSwgaW5oZXJpdHM6IGZh
bHNlfSkiIGRpZCBub3QgdGhyb3cKIFBBU1Mgc3ludGF4Oic8cmVzb2x1dGlvbj4nLCBpbml0aWFs
VmFsdWU6JzEwJyBpcyBpbnZhbGlkIAogUEFTUyBzeW50YXg6Jzx0cmFuc2Zvcm0tZnVuY3Rpb24+
JywgaW5pdGlhbFZhbHVlOidzY2FsZSgpJyBpcyBpbnZhbGlkIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMt
dmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS1zeW50YXgtcGFyc2luZy5odG1sCmluZGV4IDE1
YTRhYjYwNDBlZTI0MzhjMDcyODJhNGRlMWU5YmVkYjJjODY3MTIuLjRjZTUxNGYwMWM4NzkxN2Qy
ZTVhYWM0ZDQwMjE3NmJhODhkYWY1YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVn
aXN0ZXItcHJvcGVydHktc3ludGF4LXBhcnNpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBp
L3JlZ2lzdGVyLXByb3BlcnR5LXN5bnRheC1wYXJzaW5nLmh0bWwKQEAgLTQ2LDYgKzQ2LDcgQEAg
YXNzZXJ0X3ZhbGlkKCI8bGVuZ3RoPiIsICJjYWxjKDJweCo0ICsgMTBweCkiKTsKIGFzc2VydF92
YWxpZCgiPGxlbmd0aD4iLCAiNy4xZS00Y20iKTsKIGFzc2VydF92YWxpZCgiPGxlbmd0aD4iLCAi
Y2FsYyg3aW4gLSAxMnB4KSIpOwogYXNzZXJ0X3ZhbGlkKCI8bGVuZ3RoPisiLCAiMnB4IDdweCBj
YWxjKDhweCkiKTsKK2Fzc2VydF92YWxpZCgiPGxlbmd0aD4jIiwgIjJweCwgN3B4LCBjYWxjKDhw
eCkiKTsKIGFzc2VydF92YWxpZCgiPHBlcmNlbnRhZ2U+IiwgIi05LjNlMyUiKTsKIGFzc2VydF92
YWxpZCgiPGxlbmd0aC1wZXJjZW50YWdlPiIsICItNTQlIik7CiBhc3NlcnRfdmFsaWQoIjxsZW5n
dGgtcGVyY2VudGFnZT4iLCAiMCIpOwpAQCAtNTUsNiArNTYsMTAgQEAgYXNzZXJ0X3ZhbGlkKCI8
bnVtYmVyPiIsICItMTA5Iik7CiBhc3NlcnRfdmFsaWQoIjxudW1iZXI+IiwgIjIuM2U0Iik7CiBh
c3NlcnRfdmFsaWQoIjxpbnRlZ2VyPiIsICItMTA5Iik7CiBhc3NlcnRfdmFsaWQoIjxpbnRlZ2Vy
PiIsICIxOSIpOworYXNzZXJ0X3ZhbGlkKCI8aW50ZWdlcj4iLCAiY2FsYygxKSIpOworYXNzZXJ0
X3ZhbGlkKCI8aW50ZWdlcj4iLCAiY2FsYygxICsgMikiKTsKK2Fzc2VydF92YWxpZCgiPGludGVn
ZXI+IiwgImNhbGMoMy4xNDE1KSIpOworYXNzZXJ0X3ZhbGlkKCI8aW50ZWdlcj4iLCAiY2FsYygz
LjE0MTUgKyAzLjE0MTUpIik7CiAKIGFzc2VydF92YWxpZCgiPGFuZ2xlPiIsICIxMGRlZyIpOwog
YXNzZXJ0X3ZhbGlkKCI8YW5nbGU+IiwgIjIwLjVyYWQiKTsKQEAgLTE0Nyw2ICsxNTIsOCBAQCBh
c3NlcnRfaW52YWxpZCgiPGxlbmd0aD4iLCAiY2FsYyg0cHggKyAzZW0pIik7CiBhc3NlcnRfaW52
YWxpZCgiPGxlbmd0aD4iLCAiY2FsYyg0cHggKyBjYWxjKDggKiAyZW0pKSIpOwogYXNzZXJ0X2lu
dmFsaWQoIjxsZW5ndGg+KyIsICJjYWxjKDJleCArIDE2cHgpIik7CiBhc3NlcnRfaW52YWxpZCgi
PGxlbmd0aD4rIiwgIjEwcHggY2FsYygyMHB4ICsgNHJlbSkiKTsKK2Fzc2VydF9pbnZhbGlkKCI8
bGVuZ3RoPisiLCAiIik7Cithc3NlcnRfaW52YWxpZCgiPGxlbmd0aD4jIiwgIiIpOwogYXNzZXJ0
X2ludmFsaWQoIjxwZXJjZW50YWdlPiB8IDxsZW5ndGg+KyIsICJjYWxjKDEwMHZoIC0gMTBweCkg
MzBweCIpOwogYXNzZXJ0X2ludmFsaWQoIjxsZW5ndGg+IiwgIjEwcHg7Iik7CiBhc3NlcnRfaW52
YWxpZCgiPGxlbmd0aC1wZXJjZW50YWdlPiIsICJjYWxjKDJweCArIDEwJSArIDdleCkiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHkuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvcmVnaXN0ZXItcHJvcGVydHkuaHRtbAppbmRleCA2MmFkMjM2MjJiZDRkZGMy
ZThkNTM0ZWM3MjA3MmY1ZTVmZTlmMzM0Li41ODQyYjgzYjBhNDg3MTVmMTJlZmZhNjIxMmNjMGNj
Y2JkODkwODYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyLXByb3BlcnR5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3Rlci1wcm9wZXJ0eS5odG1sCkBAIC0y
LDYgKzIsOCBAQAogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3MtaG91
ZGluaS5vcmcvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS8jcmVnaXN0ZXItYS1jdXN0b20tcHJv
cGVydHkiIC8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD10YXJnZXQ+PC9kaXY+CiA8c2NyaXB0PgogLy8gVGVzdHMgZm9yIGVycm9yIGNoZWNraW5nIGR1
cmluZyBwcm9wZXJ0eSByZWdpc3RyYXRpb24KIApAQCAtNDUsNCArNDcsMjkgQEAgdGVzdChmdW5j
dGlvbigpewogICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1pbmhlcml0LXRlc3Qt
MicsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZh
bHNlfSk7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IENTUy5yZWdp
c3RlclByb3BlcnR5KHtuYW1lOiAnLS1pbmhlcml0LXRlc3QtMycsIHN5bnRheDogJzxsZW5ndGg+
JywgaW5pdGlhbFZhbHVlOiAnMHB4J30pKTsKIH0sICJyZWdpc3RlclByb3BlcnR5IHJlcXVpcmVz
IGluaGVyaXRzIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgICB0cnkgeworICAgICAgICBsZXQg
bmFtZSA9IGdlbmVyYXRlX25hbWUoKTsKKworICAgICAgICB0YXJnZXQuc3R5bGUuc2V0UHJvcGVy
dHkobmFtZSwgJ2dyZWVuJyk7CisgICAgICAgIHRhcmdldC5zdHlsZS50cmFuc2l0aW9uUHJvcGVy
dHkgPSBuYW1lOworICAgICAgICB0YXJnZXQuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uID0gJzFz
JzsKKyAgICAgICAgdGFyZ2V0LnN0eWxlLnRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiA9ICdzdGVw
cygxLCBlbmQpJzsKKworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFy
Z2V0KS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpLCAnZ3JlZW4nKTsKKworICAgICAgICBDU1MucmVn
aXN0ZXJQcm9wZXJ0eSh7CisgICAgICAgICAgICBuYW1lOiBuYW1lLAorICAgICAgICAgICAgc3lu
dGF4OiAnPGNvbG9yPicsCisgICAgICAgICAgICBpbml0aWFsVmFsdWU6ICdyZWQnLAorICAgICAg
ICAgICAgaW5oZXJpdHM6IGZhbHNlCisgICAgICAgIH0pOworCisgICAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUobmFtZSksICdyZ2Io
MCwgMTI4LCAwKScpOworICAgIH0gZmluYWxseSB7CisgICAgICAgIHRhcmdldC5zdHlsZSA9ICcn
OworICAgIH0KK30sICdSZWdpc3RlcmluZyBhIHByb3BlcnR5IHNob3VsZCBub3QgY2F1c2UgYSB0
cmFuc2l0aW9uJyk7CisKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9y
ZWdpc3RlcmVkLXByb3BlcnRpZXMtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFs
dWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnRpZXMtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDU2NTRlODJjNmE4MmE0YzJlMjljYjFmMzU2MDQxMjI1ZDIxMWUyM2EuLmQyMjM0ZjA4NjIy
YWQ3MWRjYTE5OWI1ZTE5ZjE5NzY4MWViZGEzODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVy
dGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQKQEAgLTQsNCArNCw2IEBAIFBBU1MgRXhwbGljaXRseSBpbmhlcml0aW5nIGZyb20gYSBw
YXJlbnQgd2l0aCBhbiBpbnZhbGlkIHZhbHVlIHJlc3VsdHMgaW4gaW5pdGlhCiBQQVNTIEV4cGxp
Y2l0bHkgaW5oZXJpdGluZyBmcm9tIGEgcGFyZW50IHdpdGggbm8gdmFsdWUgcmVzdWx0cyBpbiBp
bml0aWFsIHZhbHVlLiAKIFBBU1MgUmVmZXJlbmNlIHRvIHVuZGVmaW5lZCB2YXJpYWJsZSByZXN1
bHRzIGluIGluaGVyaXRlZCB2YWx1ZSAKIFBBU1MgUmVmZXJlbmNlIHRvIHN5bnRheC1pbmNvbXBh
dGlibGUgdmFyaWFibGUgcmVzdWx0cyBpbiBpbmhlcml0ZWQgdmFsdWUgCitQQVNTIEZvbnQtcmVs
YXRpdmUgdW5pdHMgYXJlIGFic29sdXRpemVkIGJlZm9yZSBiZWZvcmUgaW5oZXJpdGFuY2UgCitQ
QVNTIENhbGMgZXhwcmVzc2lvbnMgYXJlIHJlc29sdmVkIGJlZm9yZSBpbmhlcml0YW5jZSAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnRpZXMtaW5oZXJp
dGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWluaGVy
aXRhbmNlLmh0bWwKaW5kZXggOGY5ZWFmZWUxOWU1YzI1MDA4MTFmMDU3MjM5MDI4MDhhMjc3NjBk
Zi4uNjE0YTcyYTc5N2JjOTFhNzY3NDJlZmM5OTBlMDc2NjliZWU4N2MxMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3Bl
cnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnRpZXMtaW5oZXJpdGFuY2UuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydGllcy1pbmhlcml0YW5jZS5o
dG1sCkBAIC03Miw0ICs3MiwxOCBAQCB0ZXN0KGZ1bmN0aW9uKCl7CiAgICAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGlubmVyKS5nZXRQcm9wZXJ0eVZhbHVlKCctLWluaGVyaXRlZC1s
ZW5ndGgtNScpLCAnNDJweCcpOwogfSwgIlJlZmVyZW5jZSB0byBzeW50YXgtaW5jb21wYXRpYmxl
IHZhcmlhYmxlIHJlc3VsdHMgaW4gaW5oZXJpdGVkIHZhbHVlIik7CiAKK3Rlc3QoZnVuY3Rpb24o
KXsKKyAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0taW5oZXJpdGVkLWVtJywgc3lu
dGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogdHJ1ZX0pOwor
ICAgIG91dGVyLnN0eWxlID0gJ2ZvbnQtc2l6ZTogMTFweDsgLS1pbmhlcml0ZWQtZW06IDEwZW07
JzsKKyAgICBpbm5lci5zdHlsZSA9ICdmb250LXNpemU6IDIycHg7IC0tdW5yZWdpc3RlcmVkOnZh
cigtLWluaGVyaXRlZC1lbSk7JzsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
aW5uZXIpLmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkJyksICcxMTBweCcpOworfSwg
IkZvbnQtcmVsYXRpdmUgdW5pdHMgYXJlIGFic29sdXRpemVkIGJlZm9yZSBiZWZvcmUgaW5oZXJp
dGFuY2UiKTsKKwordGVzdChmdW5jdGlvbigpeworICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtu
YW1lOiAnLS1jYWxjLWxlbmd0aCcsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAn
MHB4JywgaW5oZXJpdHM6IHRydWV9KTsKKyAgICBvdXRlci5zdHlsZSA9ICctLWNhbGMtbGVuZ3Ro
OiBjYWxjKDEwcHggKyAxMHB4KTsnOworICAgIGlubmVyLnN0eWxlID0gJy0tdW5yZWdpc3RlcmVk
OnZhcigtLWNhbGMtbGVuZ3RoKTsnOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZShpbm5lcikuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQnKSwgJzIwcHgnKTsKK30s
ICJDYWxjIGV4cHJlc3Npb25zIGFyZSByZXNvbHZlZCBiZWZvcmUgaW5oZXJpdGFuY2UiKTsKKwog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVy
dHktY29tcHV0YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVk
LXByb3BlcnR5LWNvbXB1dGF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA0MjZlOTZlNGYwYTJjMmM2
Zjg2N2JmMzBkZmVkODk1ZmFiNzI4Nzg4Li4xYmY3ZWI2YjlkNzAzMmI1ZmE4YTY5ZjU4YTViNWU1
MDIyZTI3MjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVy
dHktY29tcHV0YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0
ZXJlZC1wcm9wZXJ0eS1jb21wdXRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEsNTcgQEAK
IAotRkFJTCBDU1MucmVnaXN0ZXJQcm9wZXJ0eSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2Vz
IG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLVBBU1MgPGxlbmd0aD4gdmFsdWVzIGFy
ZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZVNldCAKLUZBSUwgPGxlbmd0
aC1wZXJjZW50YWdlPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2V2l0aEZv
bnRTaXplU2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJjYWxjKDE5MHB4ICsgLTIlKSIgYnV0
IGdvdCAiY2FsYygxOTBweCAtIDIlKSIKLUZBSUwgPGxlbmd0aD4jIHZhbHVlcyBhcmUgY29tcHV0
ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVTZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIjEwcHgsIDMwcHgiIGJ1dCBnb3QgIjBweCIKLUZBSUwgPGxlbmd0aC1wZXJjZW50YWdlPiMg
dmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZVNldCBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiMyUsIDgwcHgsIDIycHgiIGJ1dCBnb3QgIjBweCIKLUZBSUwg
PGxlbmd0aD4rIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNp
emVTZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjEwcHggMzBweCIgYnV0IGdvdCAiMHB4Igot
RkFJTCA8bGVuZ3RoLXBlcmNlbnRhZ2U+KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBm
b3IgZGl2V2l0aEZvbnRTaXplU2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIzJSA4MHB4IDIy
cHgiIGJ1dCBnb3QgIjBweCIKLUZBSUwgPHRyYW5zZm9ybS1mdW5jdGlvbj4gdmFsdWVzIGFyZSBj
b21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZVNldCBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAidHJhbnNsYXRlWCgycHgpIiBidXQgZ290ICIgdHJhbnNsYXRlWCgycHgpIgotUEFT
UyA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRT
aXplSW5oZXJpdGVkIAotRkFJTCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IHZhbHVlcyBhcmUgY29tcHV0
ZWQgY29ycmVjdGx5IGZvciBkaXZXaXRoRm9udFNpemVJbmhlcml0ZWQgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImNhbGMoMTkwcHggKyAtMiUpIiBidXQgZ290ICJjYWxjKDE5MHB4IC0gMiUpIgot
RkFJTCA8bGVuZ3RoPiMgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhG
b250U2l6ZUluaGVyaXRlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTBweCwgMzBweCIgYnV0
IGdvdCAiMHB4IgotRkFJTCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IyB2YWx1ZXMgYXJlIGNvbXB1dGVk
IGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRTaXplSW5oZXJpdGVkIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICIzJSwgODBweCwgMjJweCIgYnV0IGdvdCAiMHB4IgotRkFJTCA8bGVuZ3RoPisgdmFs
dWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yIGRpdldpdGhGb250U2l6ZUluaGVyaXRlZCBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTBweCAzMHB4IiBidXQgZ290ICIwcHgiCi1GQUlMIDxs
ZW5ndGgtcGVyY2VudGFnZT4rIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IGZvciBkaXZX
aXRoRm9udFNpemVJbmhlcml0ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjMlIDgwcHggMjJw
eCIgYnV0IGdvdCAiMHB4IgotRkFJTCA8dHJhbnNmb3JtLWZ1bmN0aW9uPiB2YWx1ZXMgYXJlIGNv
bXB1dGVkIGNvcnJlY3RseSBmb3IgZGl2V2l0aEZvbnRTaXplSW5oZXJpdGVkIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJ0cmFuc2xhdGVYKDJweCkiIGJ1dCBnb3QgIiB0cmFuc2xhdGVYKDJweCki
CitQQVNTIDxsZW5ndGg+IHZhbHVlcyBjb21wdXRlZCBhcmUgY29ycmVjdGx5IHZpYSB2YXIoKS1y
ZWZlcmVuY2UgCitQQVNTIDxsZW5ndGg+IHZhbHVlcyBjb21wdXRlZCBhcmUgY29ycmVjdGx5IHZp
YSB2YXIoKS1yZWZlcmVuY2Ugd2hlbiBmb250LXNpemUgaXMgaW5oZXJpdGVkIAorUEFTUyA8bGVu
Z3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSB3aGVuIGZvbnQtc2l6ZSBpcyBpbmhl
cml0ZWQgWzE0ZW1dIAorUEFTUyA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3Rs
eSB3aGVuIGZvbnQtc2l6ZSBpcyBpbmhlcml0ZWQgW2NhbGMoMTRlbSArIDEwcHgpXSAKK1BBU1Mg
PGxlbmd0aD4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzEycHhdIAorUEFTUyA8bGVu
Z3RoPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMTN2d10gCitQQVNTIDxsZW5ndGg+
IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFsxNGVtXSAKK1BBU1MgPGxlbmd0aD4gdmFs
dWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzE1dm1pbl0gCitQQVNTIDxsZW5ndGg+IHZhbHVl
cyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFtjYWxjKDE2cHggLSA3ZW0gKyAxMHZoKV0gCitQQVNT
IDxsZW5ndGgtcGVyY2VudGFnZT4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzE3ZW1d
IAorRkFJTCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5
IFsxOCVdIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxOCUiIGJ1dCBnb3QgIjBweCIKK0ZBSUwg
PGxlbmd0aC1wZXJjZW50YWdlPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYygx
OWVtIC0gMiUpXSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiY2FsYygtMiUgKyAxOTBweCkiIGJ1
dCBnb3QgIjBweCIKK0ZBSUwgPGxlbmd0aD4jIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5
IFsxMHB4LCAzZW1dIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxMHB4LCAzMHB4IiBidXQgZ290
ICIwcHgiCitGQUlMIDxsZW5ndGg+IyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbNGVt
ICw5cHhdIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICI0MHB4LCA5cHgiIGJ1dCBnb3QgIjBweCIK
K1BBU1MgPGxlbmd0aD4jIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFs4ZW1dIAorRkFJ
TCA8bGVuZ3RoLXBlcmNlbnRhZ2U+IyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMyUg
LCAxMHZtYXggICwgMjJweF0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjMlLCA4MHB4LCAyMnB4
IiBidXQgZ290ICIwcHgiCitGQUlMIDxsZW5ndGgtcGVyY2VudGFnZT4jIHZhbHVlcyBhcmUgY29t
cHV0ZWQgY29ycmVjdGx5IFtjYWxjKDUwJSArIDFlbSksIDRweF0gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImNhbGMoNTAlICsgMTBweCksIDRweCIgYnV0IGdvdCAiMHB4IgorRkFJTCA8bGVuZ3Ro
LXBlcmNlbnRhZ2U+IyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYygxMyUgKyAz
N3B4KV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImNhbGMoMTMlICsgMzdweCkiIGJ1dCBnb3Qg
IjBweCIKK0ZBSUwgPGxlbmd0aD4rIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFsxMHB4
IDNlbV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjEwcHggMzBweCIgYnV0IGdvdCAiMHB4Igor
RkFJTCA8bGVuZ3RoPisgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzRlbSA5cHhdIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICI0MHB4IDlweCIgYnV0IGdvdCAiMHB4IgorRkFJTCA8bGVu
Z3RoLXBlcmNlbnRhZ2U+KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMyUgMTB2bWF4
IDIycHhdIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIzJSA4MHB4IDIycHgiIGJ1dCBnb3QgIjBw
eCIKK0ZBSUwgPGxlbmd0aC1wZXJjZW50YWdlPisgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0
bHkgW2NhbGMoNTAlICsgMWVtKSA0cHhdIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJjYWxjKDUw
JSArIDEwcHgpIDRweCIgYnV0IGdvdCAiMHB4IgorRkFJTCA8dHJhbnNmb3JtLWZ1bmN0aW9uPiB2
YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbdHJhbnNsYXRlWCgycHgpXSBUaGUgZ2l2ZW4g
aW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwg
PHRyYW5zZm9ybS1mdW5jdGlvbj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW3RyYW5z
bGF0ZVgoMTBlbSldIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0
aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8dHJhbnNmb3JtLWZ1bmN0aW9uPiB2YWx1ZXMgYXJlIGNv
bXB1dGVkIGNvcnJlY3RseSBbdHJhbnNsYXRlWChjYWxjKDExZW0gKyAxMCUpKV0gVGhlIGdpdmVu
IGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlM
IDx0cmFuc2Zvcm0tZnVuY3Rpb24+KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbdHJh
bnNsYXRlWCgxMCUpIHNjYWxlKDIpXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBw
YXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPGludGVnZXI+IHZhbHVlcyBhcmUgY29t
cHV0ZWQgY29ycmVjdGx5IFsxNV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE1IiBidXQgZ290
ICIwcHgiCitGQUlMIDxpbnRlZ2VyPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2Fs
YygxNSArIDE1KV0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjMwIiBidXQgZ290ICIwcHgiCitG
QUlMIDxpbnRlZ2VyPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYygyLjQpXSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMiIgYnV0IGdvdCAiMHB4IgorRkFJTCA8aW50ZWdlcj4g
dmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW2NhbGMoMi42KV0gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIjMiIGJ1dCBnb3QgIjBweCIKK0ZBSUwgPGludGVnZXI+IHZhbHVlcyBhcmUgY29t
cHV0ZWQgY29ycmVjdGx5IFtjYWxjKDIuNiArIDMuMSldIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICI2IiBidXQgZ290ICIwcHgiCitGQUlMIDxpbnRlZ2VyPisgdmFsdWVzIGFyZSBjb21wdXRlZCBj
b3JyZWN0bHkgWzE1IGNhbGMoMi40KSBjYWxjKDIuNildIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICIxNSAyIDMiIGJ1dCBnb3QgIjBweCIKK0ZBSUwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1dGVk
IGNvcnJlY3RseSBbI2ZmMDAwMF0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFy
c2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDxjb2xvcj4gdmFsdWVzIGFyZSBjb21wdXRl
ZCBjb3JyZWN0bHkgWyMwMDBmMDBdIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBh
cnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8Y29sb3I+IHZhbHVlcyBhcmUgY29tcHV0
ZWQgY29ycmVjdGx5IFsjMDAwMDBhXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBw
YXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPGNvbG9yPiB2YWx1ZXMgYXJlIGNvbXB1
dGVkIGNvcnJlY3RseSBbI2JhZGJlZV0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3Qg
cGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDxjb2xvcj4gdmFsdWVzIGFyZSBjb21w
dXRlZCBjb3JyZWN0bHkgWyNiYWRiZWUzM10gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBu
b3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDxjb2xvcj4gdmFsdWVzIGFyZSBj
b21wdXRlZCBjb3JyZWN0bHkgW3RvbWF0b10gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBu
b3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDxjb2xvcj4gdmFsdWVzIGFyZSBj
b21wdXRlZCBjb3JyZWN0bHkgW3BsdW1dIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90
IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8Y29sb3I+IHZhbHVlcyBhcmUgY29t
cHV0ZWQgY29ycmVjdGx5IFtjdXJyZW50Y29sb3JdIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRv
ZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorUEFTUyAqIHZhbHVlcyBhcmUgY29t
cHV0ZWQgY29ycmVjdGx5IFt0b21hdG9dIAorRkFJTCB0b21hdG8gfCBwbHVtIHZhbHVlcyBhcmUg
Y29tcHV0ZWQgY29ycmVjdGx5IFtwbHVtXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5v
dCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgdG9tYXRvIHwgcGx1bSB8IDxjb2xv
cj4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW3BsdW1dIFRoZSBnaXZlbiBpbml0aWFs
IHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorUEFTUyAqIHZhbHVl
cyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFstNTBncmFkXSAKK0ZBSUwgPGFuZ2xlPiB2YWx1ZXMg
YXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbMTgwZGVnXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBk
b2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPGFuZ2xlPiB2YWx1ZXMg
YXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbNDAwZ3JhZF0gVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUg
ZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDxhbmdsZT4gdmFsdWVz
IGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgW2NhbGMoMzYwZGVnICsgNDAwZ3JhZCldIFRoZSBnaXZl
biBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorUEFT
UyAqIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFs1MHNdIAorRkFJTCA8dGltZT4gdmFs
dWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzFzXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBk
b2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPHRpbWU+IHZhbHVlcyBh
cmUgY29tcHV0ZWQgY29ycmVjdGx5IFsxMDAwbXNdIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRv
ZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCA8dGltZT4gdmFsdWVzIGFy
ZSBjb21wdXRlZCBjb3JyZWN0bHkgW2NhbGMoMTAwMG1zICsgMXMpXSBUaGUgZ2l2ZW4gaW5pdGlh
bCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK1BBU1MgKiB2YWx1
ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbNTBkcGldIAorRkFJTCA8cmVzb2x1dGlvbj4gdmFs
dWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWzFkcHB4XSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1
ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KK0ZBSUwgPHJlc29sdXRpb24+
IHZhbHVlcyBhcmUgY29tcHV0ZWQgY29ycmVjdGx5IFs5NmRwaV0gVGhlIGdpdmVuIGluaXRpYWwg
dmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIDxyZXNvbHV0
aW9uPiB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBbY2FsYygxZHBweCArIDk2ZHBpKV0g
VGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50
YXguCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1j
b21wdXRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNv
bXB1dGF0aW9uLmh0bWwKaW5kZXggMzBkNmI0YmQ2MDliZjAxZjFiYjEwYTQ4NWJhYTc4N2YyMmI2
MzVkYy4uYjFlNWQyMzczOGI5ZGRhMWVhMjgwZGZkMzIxYmM1YjI4MzhiNTE5YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBy
b3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNvbXB1dGF0aW9uLmh0
bWwKQEAgLTEsMTE3ICsxLDE2NCBAQAotPCFET0NUWVBFIEhUTUw+Cis8IURPQ1RZUEUgaHRtbD4K
IDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nz
cy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvI2NhbGN1bGF0aW9uLW9mLWNvbXB1dGVkLXZhbHVlcyIg
Lz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+CiAKIDxzdHlsZT4KICNk
aXZXaXRoRm9udFNpemVTZXQsICNwYXJlbnREaXYgewogICAgIGZvbnQtc2l6ZTogMTBweDsKIH0K
LSNkaXZXaXRoRm9udFNpemVTZXQsICNkaXZXaXRoRm9udFNpemVJbmhlcml0ZWQgewotICAgIC0t
bGVuZ3RoLTE6IDEycHg7Ci0gICAgLS1sZW5ndGgtMjogMTN2dzsKLSAgICAtLWxlbmd0aC0zOiAx
NGVtOwotICAgIC0tbGVuZ3RoLTQ6IDE1dm1pbjsKLSAgICAtLWxlbmd0aC01OiBjYWxjKDE2cHgg
LSA3ZW0gKyAxMHZoKTsKLSAgICAtLWxlbmd0aC02OiB2YXIoLS1sZW5ndGgtMyk7Ci0gICAgLS1s
ZW5ndGgtcGVyY2VudGFnZS0xOiAxN2VtOwotICAgIC0tbGVuZ3RoLXBlcmNlbnRhZ2UtMjogMTgl
OwotICAgIC0tbGVuZ3RoLXBlcmNlbnRhZ2UtMzogY2FsYygxOWVtIC0gMiUpOwotICAgIC0tY3N2
LTE6IDEwcHgsIDNlbTsKLSAgICAtLWNzdi0yOiA0ZW0gLDlweDsKLSAgICAtLWNzdi0zOiA4ZW07
Ci0gICAgLS1jc3YtNDogMyUgLCAxMHZtYXggICwgMjJweDsKLSAgICAtLWNzdi01OiBjYWxjKDUw
JSArIDFlbSksIDRweDsKLSAgICAtLWNzdi02OiBjYWxjKDEzJSArIDM3cHgpOwotICAgIC0tbGlz
dC0xOiAxMHB4IDNlbTsKLSAgICAtLWxpc3QtMjogNGVtIDlweDsKLSAgICAtLWxpc3QtMzogMyUg
MTB2bWF4IDIycHg7Ci0gICAgLS1saXN0LTQ6IGNhbGMoNTAlICsgMWVtKSA0cHg7Ci0gICAgLS10
cmFuc2Zvcm0tZnVuY3Rpb24tMTogdHJhbnNsYXRlWCgycHgpOwotICAgIC0tdHJhbnNmb3JtLWZ1
bmN0aW9uLTI6IHRyYW5zbGF0ZVgoMTBlbSk7Ci0gICAgLS10cmFuc2Zvcm0tZnVuY3Rpb24tMzog
dHJhbnNsYXRlWChjYWxjKDExZW0gKyAxMCUpKTsKLSAgICAtLXRyYW5zZm9ybS1mdW5jdGlvbi00
OiB0cmFuc2xhdGVYKDEwJSkgc2NhbGUoMik7Ci19CiA8L3N0eWxlPgogCiA8ZGl2IGlkPWRpdldp
dGhGb250U2l6ZVNldD48L2Rpdj4KIDxkaXYgaWQ9cGFyZW50RGl2PgogICAgIDxkaXYgaWQ9ZGl2
V2l0aEZvbnRTaXplSW5oZXJpdGVkPjwvZGl2PgogPC9kaXY+Cis8ZGl2IGlkPSJyZWYiPjwvZGl2
PgogCiA8c2NyaXB0PgotdGVzdCgoKSA9PiB7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25h
bWU6ICctLWxlbmd0aC0xJywgc3ludGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgn
LCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0t
bGVuZ3RoLTInLCBzeW50YXg6ICc8bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVy
aXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1sZW5ndGgt
MycsIHN5bnRheDogJzxsZW5ndGg+JywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZh
bHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWxlbmd0aC00Jywgc3lu
dGF4OiAnPGxlbmd0aD4nLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsK
LSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoLTUnLCBzeW50YXg6ICc8
bGVuZ3RoPicsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENT
Uy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1sZW5ndGgtNicsIHN5bnRheDogJzxsZW5ndGg+
JywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lz
dGVyUHJvcGVydHkoe25hbWU6ICctLWxlbmd0aC1wZXJjZW50YWdlLTEnLCBzeW50YXg6ICc8bGVu
Z3RoLXBlcmNlbnRhZ2U+JywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7
Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWxlbmd0aC1wZXJjZW50YWdlLTIn
LCBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5o
ZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWxlbmd0
aC1wZXJjZW50YWdlLTMnLCBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywgaW5pdGlhbFZh
bHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHko
e25hbWU6ICctLWNzdi0xJywgc3ludGF4OiAnPGxlbmd0aD4jJywgaW5pdGlhbFZhbHVlOiAnMHB4
JywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICct
LWNzdi0yJywgc3ludGF4OiAnPGxlbmd0aD4jJywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJp
dHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWNzdi0zJywg
c3ludGF4OiAnPGxlbmd0aD4jJywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6IGZhbHNl
fSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWNzdi00Jywgc3ludGF4OiAn
PGxlbmd0aC1wZXJjZW50YWdlPiMnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFs
c2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tY3N2LTUnLCBzeW50YXg6
ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+IycsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBm
YWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1jc3YtNicsIHN5bnRh
eDogJzxsZW5ndGgtcGVyY2VudGFnZT4jJywgaW5pdGlhbFZhbHVlOiAnMHB4JywgaW5oZXJpdHM6
IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWxpc3QtMScsIHN5
bnRheDogJzxsZW5ndGg+KycsIGluaXRpYWxWYWx1ZTogJzBweCcsIGluaGVyaXRzOiBmYWxzZX0p
OwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtuYW1lOiAnLS1saXN0LTInLCBzeW50YXg6ICc8
bGVuZ3RoPisnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBD
U1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGlzdC0zJywgc3ludGF4OiAnPGxlbmd0aC1w
ZXJjZW50YWdlPisnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsKLSAg
ICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGlzdC00Jywgc3ludGF4OiAnPGxlbmd0
aC1wZXJjZW50YWdlPisnLCBpbml0aWFsVmFsdWU6ICcwcHgnLCBpbmhlcml0czogZmFsc2V9KTsK
LSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tdHJhbnNmb3JtLWZ1bmN0aW9uLTEn
LCBzeW50YXg6ICc8dHJhbnNmb3JtLWZ1bmN0aW9uPicsIGluaXRpYWxWYWx1ZTogJ3RyYW5zbGF0
ZVgoMHB4KScsIGluaGVyaXRzOiBmYWxzZX0pOwotICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHtu
YW1lOiAnLS10cmFuc2Zvcm0tZnVuY3Rpb24tMicsIHN5bnRheDogJzx0cmFuc2Zvcm0tZnVuY3Rp
b24+JywgaW5pdGlhbFZhbHVlOiAndHJhbnNsYXRlWCgwcHgpJywgaW5oZXJpdHM6IGZhbHNlfSk7
Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLXRyYW5zZm9ybS1mdW5jdGlvbi0z
Jywgc3ludGF4OiAnPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCBpbml0aWFsVmFsdWU6ICd0cmFuc2xh
dGVYKDBweCknLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7
bmFtZTogJy0tdHJhbnNmb3JtLWZ1bmN0aW9uLTQnLCBzeW50YXg6ICc8dHJhbnNmb3JtLWZ1bmN0
aW9uPisnLCBpbml0aWFsVmFsdWU6ICd0cmFuc2xhdGVYKDBweCknLCBpbmhlcml0czogZmFsc2V9
KTsKLX0sICJDU1MucmVnaXN0ZXJQcm9wZXJ0eSIpOwotCi1mb3IgKHZhciBlbGVtZW50IG9mIFtk
aXZXaXRoRm9udFNpemVTZXQsIGRpdldpdGhGb250U2l6ZUluaGVyaXRlZF0pIHsKLSAgICB2YXIg
aWQgPSBlbGVtZW50LmlkOwotICAgIHZhciBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50KTsKIAotICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC0xJyksICcxMnB4Jyk7
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCct
LWxlbmd0aC0yJyksICcxMDRweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtMycpLCAnMTQwcHgnKTsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTQnKSwg
JzkwcHgnKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
VmFsdWUoJy0tbGVuZ3RoLTUnKSwgJzZweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtNicpLCAnMTQwcHgnKTsKLSAgICB9
LCAiPGxlbmd0aD4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9yICIgKyBpZCk7Cisv
LyBHZW5lcmF0ZSBhIHByb3BlcnR5IGFuZCB0ZW1wb3JhcmlseSBzZXQgaXRzIHZhbHVlLiBUaGVu
IGNhbGwgJ2ZuJyB3aXRoCisvLyB0aGUgbmFtZSBvZiB0aGUgZ2VuZXJhdGVkIHByb3BlcnR5Lgor
ZnVuY3Rpb24gd2l0aF9jdXN0b21fcHJvcGVydHkoZWxlbWVudCwgcmVnLCB2YWx1ZSwgZm4pIHsK
KyAgICBpZiAoZWxlbWVudC5pZC5sZW5ndGggPT0gMCkKKyAgICAgICAgdGhyb3cgJ1RoZSBzcGVj
aWZpZWQgZWxlbWVudCBtdXN0IGhhdmUgYW4gSUQnOwogCi0gICAgdGVzdChmdW5jdGlvbigpIHsK
LSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0t
bGVuZ3RoLXBlcmNlbnRhZ2UtMScpLCAnMTcwcHgnKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLXBlcmNlbnRhZ2UtMicpLCAn
MTglJyk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctLWxlbmd0aC1wZXJjZW50YWdlLTMnKSwgJ2NhbGMoMTkwcHggKyAtMiUpJyk7Ci0gICAg
fSwgIjxsZW5ndGgtcGVyY2VudGFnZT4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgZm9y
ICIgKyBpZCk7CisgICAgbGV0IG5hbWUgPSBnZW5lcmF0ZV9wcm9wZXJ0eShyZWcpOwogCi0gICAg
dGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoJy0tY3N2LTEnKSwgJzEwcHgsIDMwcHgnKTsKLSAgICAgICAgYXNzZXJ0
X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY3N2LTInKSwgJzQwcHgs
IDlweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnLS1jc3YtMycpLCAnODBweCcpOwotICAgIH0sICI8bGVuZ3RoPiMgdmFsdWVzIGFyZSBj
b21wdXRlZCBjb3JyZWN0bHkgZm9yICIgKyBpZCk7CisgICAgLy8gQmVjYXVzZSB3ZSB3YW50IHRv
IGluY2x1ZGUgdGhlIHBhcnNpbmcgc3RlcCwgaW5zZXJ0IGEgc3R5bGVzaGVldAorICAgIC8vIG5v
ZGUgd2l0aCB0ZXh0Q29udGVudC4KKyAgICBsZXQgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3N0eWxlJyk7CisgICAgbm9kZS50ZXh0Q29udGVudCA9IGAjJHtlbGVtZW50LmlkfSB7ICR7
bmFtZX06JHt2YWx1ZX07IH1gOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKG5vZGUpOwogCi0g
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5VmFsdWUoJy0tY3N2LTQnKSwgJzMlLCA4MHB4LCAyMnB4Jyk7Ci0gICAgICAg
IGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNzdi01Jyks
ICdjYWxjKDEwcHggKyA1MCUpLCA0cHgnKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY3N2LTYnKSwgJ2NhbGMoMzdweCArIDEzJSknKTsK
LSAgICB9LCAiPGxlbmd0aC1wZXJjZW50YWdlPiMgdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0
bHkgZm9yICIgKyBpZCk7CisgICAgdHJ5IHsKKyAgICAgICAgZm4obmFtZSk7CisgICAgfSBmaW5h
bGx5IHsKKyAgICAgICAgbm9kZS5yZW1vdmUoKTsKKyAgICB9Cit9CiAKLSAgICB0ZXN0KGZ1bmN0
aW9uKCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnLS1saXN0LTEnKSwgJzEwcHggMzBweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1saXN0LTInKSwgJzQwcHggOXB4Jyk7Ci0g
ICAgfSwgIjxsZW5ndGg+KyB2YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgIiArIGlk
KTsKK2Z1bmN0aW9uIGFzc2VydF9jb21wdXRlZF92YWx1ZShlbGVtZW50LCBzeW50YXgsIHZhbHVl
LCBleHBlY3RlZCkgeworICAgIHdpdGhfY3VzdG9tX3Byb3BlcnR5KGVsZW1lbnQsIHN5bnRheCwg
dmFsdWUsIChuYW1lKSA9PiB7CisgICAgICAgIGxldCBhY3R1YWwgPSBnZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUobmFtZSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
YWN0dWFsLCBleHBlY3RlZCk7CisgICAgfSk7Cit9CiAKLSAgICB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1s
aXN0LTMnKSwgJzMlIDgwcHggMjJweCcpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1saXN0LTQnKSwgJ2NhbGMoMTBweCArIDUwJSkgNHB4
Jyk7Ci0gICAgfSwgIjxsZW5ndGgtcGVyY2VudGFnZT4rIHZhbHVlcyBhcmUgY29tcHV0ZWQgY29y
cmVjdGx5IGZvciAiICsgaWQpOworLy8gQ29tcHV0ZXMgYW4gYWJzb2x1dGUgcmVmZXJlbmNlIHZh
bHVlIGZvciBzb21lIGxlbmd0aC4KKy8vCisvLyBFLmcuIHRvIGZpZ3VyZSBvdXQgaG93IG1hbnkg
cGl4ZWxzICcxMHZoJyBpcywgZG8gbGVuZ3RoX3JlZignMTB2aCcpLgorZnVuY3Rpb24gbGVuZ3Ro
X3JlZih2YWx1ZSwgcmVmbm9kZSA9IHJlZikgeworICAgIHRyeSB7CisgICAgICAgIC8vIFRoZSBy
ZWZlcmVuY2UgcHJvcGVydHkgJ21pbi1oZWlnaHQnIGlzIGNob3NlbiBhcmJpdHJhcmlseSwgYnV0
CisgICAgICAgIC8vIGF2b2lkIHByb3BlcnRpZXMgd2l0aCAicmVzb2x2ZWQgdmFsdWUgaXMgdXNl
ZCB2YWx1ZSItYmVoYXZpb3IKKyAgICAgICAgLy8gWzFdLCBhcyBpdCBtYXkgYWZmZWN0IHJvdW5k
aW5nLCBhbmQgY3VzdG9tIHByb3BlcnRpZXMgZG8gbm90CisgICAgICAgIC8vIGhhdmUgdGhpcyBi
ZWhhdmlvci4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3NvbS8jcmVzb2x2ZWQtdmFsdWVzCisgICAgICAgIGNvbnN0IHJlZl9wcm9wZXJ0eSA9
ICdtaW4taGVpZ2h0JzsKKyAgICAgICAgcmVmbm9kZS5zdHlsZSA9IGAke3JlZl9wcm9wZXJ0eX06
ICR7dmFsdWV9YDsKKyAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUocmVmbm9kZSkuZ2V0
UHJvcGVydHlWYWx1ZShyZWZfcHJvcGVydHkpOworICAgIH0gZmluYWxseSB7CisgICAgICAgIHJl
Zm5vZGUuc3R5bGUgPSAnJzsKKyAgICB9Cit9CiAKK2Z1bmN0aW9uIHRlc3RfY29tcHV0ZWRfdmFs
dWUoc3ludGF4LCB2YWx1ZSwgZXhwZWN0ZWQpIHsKICAgICB0ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS10cmFu
c2Zvcm0tZnVuY3Rpb24tMScpLCAndHJhbnNsYXRlWCgycHgpJyk7Ci0gICAgICAgIGFzc2VydF9l
cXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXRyYW5zZm9ybS1mdW5jdGlv
bi0yJyksICd0cmFuc2xhdGVYKDEwMHB4KScpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS10cmFuc2Zvcm0tZnVuY3Rpb24tMycpLCAndHJh
bnNsYXRlWChjYWxjKDExMHB4ICsgMTAlKSknKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdHJhbnNmb3JtLWZ1bmN0aW9uLTQnKSwgJ3Ry
YW5zbGF0ZVgoMTAlKSBzY2FsZSgyKScpOwotICAgIH0sICI8dHJhbnNmb3JtLWZ1bmN0aW9uPiB2
YWx1ZXMgYXJlIGNvbXB1dGVkIGNvcnJlY3RseSBmb3IgIiArIGlkKTsKKyAgICAgICAgYXNzZXJ0
X2NvbXB1dGVkX3ZhbHVlKGRpdldpdGhGb250U2l6ZVNldCwgc3ludGF4LCB2YWx1ZSwgZXhwZWN0
ZWQpOworICAgIH0sIGAke3N5bnRheH0gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgWyR7
dmFsdWV9XWApOwogfQorCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgY29uc3QgZWxlbWVudCA9IGRp
dldpdGhGb250U2l6ZVNldDsKKyAgICB3aXRoX2N1c3RvbV9wcm9wZXJ0eShlbGVtZW50LCAnPGxl
bmd0aD4nLCAnMTRlbScsIChuYW1lKSA9PiB7CisgICAgICAgIGFzc2VydF9jb21wdXRlZF92YWx1
ZShlbGVtZW50LCAnPGxlbmd0aD4nLCBgdmFyKCR7bmFtZX0pYCwgJzE0MHB4Jyk7CisgICAgfSk7
Cit9LCAnPGxlbmd0aD4gdmFsdWVzIGNvbXB1dGVkIGFyZSBjb3JyZWN0bHkgdmlhIHZhcigpLXJl
ZmVyZW5jZScpOworCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgY29uc3QgZWxlbWVudCA9IGRpdldp
dGhGb250U2l6ZUluaGVyaXRlZDsKKyAgICB3aXRoX2N1c3RvbV9wcm9wZXJ0eShlbGVtZW50LCAn
PGxlbmd0aD4nLCAnMTRlbScsIChuYW1lKSA9PiB7CisgICAgICAgIGFzc2VydF9jb21wdXRlZF92
YWx1ZShlbGVtZW50LCAnPGxlbmd0aD4nLCBgdmFyKCR7bmFtZX0pYCwgJzE0MHB4Jyk7CisgICAg
fSk7Cit9LCAnPGxlbmd0aD4gdmFsdWVzIGNvbXB1dGVkIGFyZSBjb3JyZWN0bHkgdmlhIHZhcigp
LXJlZmVyZW5jZSB3aGVuIGZvbnQtc2l6ZSBpcyBpbmhlcml0ZWQnKTsKKwordGVzdChmdW5jdGlv
bigpeworICAgIGNvbnN0IGVsZW1lbnQgPSBkaXZXaXRoRm9udFNpemVJbmhlcml0ZWQ7CisgICAg
YXNzZXJ0X2NvbXB1dGVkX3ZhbHVlKGVsZW1lbnQsICc8bGVuZ3RoPicsICcxNGVtJywgJzE0MHB4
Jyk7Cit9LCAnPGxlbmd0aD4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgd2hlbiBmb250
LXNpemUgaXMgaW5oZXJpdGVkIFsxNGVtXScpOworCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgY29u
c3QgZWxlbWVudCA9IGRpdldpdGhGb250U2l6ZUluaGVyaXRlZDsKKyAgICBhc3NlcnRfY29tcHV0
ZWRfdmFsdWUoZWxlbWVudCwgJzxsZW5ndGg+JywgJ2NhbGMoMTRlbSArIDEwcHgpJywgJzE1MHB4
Jyk7Cit9LCAnPGxlbmd0aD4gdmFsdWVzIGFyZSBjb21wdXRlZCBjb3JyZWN0bHkgd2hlbiBmb250
LXNpemUgaXMgaW5oZXJpdGVkIFtjYWxjKDE0ZW0gKyAxMHB4KV0nKTsKKwordGVzdF9jb21wdXRl
ZF92YWx1ZSgnPGxlbmd0aD4nLCAnMTJweCcsICcxMnB4Jyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVl
KCc8bGVuZ3RoPicsICcxM3Z3JywgbGVuZ3RoX3JlZignMTN2dycpKTsKK3Rlc3RfY29tcHV0ZWRf
dmFsdWUoJzxsZW5ndGg+JywgJzE0ZW0nLCAnMTQwcHgnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUo
JzxsZW5ndGg+JywgJzE1dm1pbicsIGxlbmd0aF9yZWYoJzE1dm1pbicpKTsKK3Rlc3RfY29tcHV0
ZWRfdmFsdWUoJzxsZW5ndGg+JywgJ2NhbGMoMTZweCAtIDdlbSArIDEwdmgpJywgbGVuZ3RoX3Jl
ZignY2FsYygxMHZoIC0gNTRweCknKSk7CisKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGgt
cGVyY2VudGFnZT4nLCAnMTdlbScsICcxNzBweCcpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxl
bmd0aC1wZXJjZW50YWdlPicsICcxOCUnLCAnMTglJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8
bGVuZ3RoLXBlcmNlbnRhZ2U+JywgJ2NhbGMoMTllbSAtIDIlKScsICdjYWxjKC0yJSArIDE5MHB4
KScpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoPiMnLCAnMTBweCwgM2VtJywgJzEw
cHgsIDMwcHgnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGg+IycsICc0ZW0gLDlweCcs
ICc0MHB4LCA5cHgnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5ndGg+IycsICc4ZW0nLCAn
ODBweCcpOworCit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoLXBlcmNlbnRhZ2U+IycsICcz
JSAsIDEwdm1heCAgLCAyMnB4JywgWyczJScsIGxlbmd0aF9yZWYoJzEwdm1heCcpLCAnMjJweCdd
LmpvaW4oJywgJykpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aC1wZXJjZW50YWdlPiMn
LCAnY2FsYyg1MCUgKyAxZW0pLCA0cHgnLCAnY2FsYyg1MCUgKyAxMHB4KSwgNHB4Jyk7Cit0ZXN0
X2NvbXB1dGVkX3ZhbHVlKCc8bGVuZ3RoLXBlcmNlbnRhZ2U+IycsICdjYWxjKDEzJSArIDM3cHgp
JywgJ2NhbGMoMTMlICsgMzdweCknKTsKKwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0aD4r
JywgJzEwcHggM2VtJywgJzEwcHggMzBweCcpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxlbmd0
aD4rJywgJzRlbSA5cHgnLCAnNDBweCA5cHgnKTsKKwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGxl
bmd0aC1wZXJjZW50YWdlPisnLCAnMyUgMTB2bWF4IDIycHgnLCBbJzMlJywgbGVuZ3RoX3JlZign
MTB2bWF4JyksICcyMnB4J10uam9pbignICcpKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxsZW5n
dGgtcGVyY2VudGFnZT4rJywgJ2NhbGMoNTAlICsgMWVtKSA0cHgnLCAnY2FsYyg1MCUgKyAxMHB4
KSA0cHgnKTsKKwordGVzdF9jb21wdXRlZF92YWx1ZSgnPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCAn
dHJhbnNsYXRlWCgycHgpJywgJ3RyYW5zbGF0ZVgoMnB4KScpOwordGVzdF9jb21wdXRlZF92YWx1
ZSgnPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCAndHJhbnNsYXRlWCgxMGVtKScsICd0cmFuc2xhdGVY
KDEwMHB4KScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPHRyYW5zZm9ybS1mdW5jdGlvbj4nLCAn
dHJhbnNsYXRlWChjYWxjKDExZW0gKyAxMCUpKScsICd0cmFuc2xhdGVYKGNhbGMoMTAlICsgMTEw
cHgpKScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPHRyYW5zZm9ybS1mdW5jdGlvbj4rJywgJ3Ry
YW5zbGF0ZVgoMTAlKSBzY2FsZSgyKScsICd0cmFuc2xhdGVYKDEwJSkgc2NhbGUoMiknKTsKKwor
dGVzdF9jb21wdXRlZF92YWx1ZSgnPGludGVnZXI+JywgJzE1JywgJzE1Jyk7Cit0ZXN0X2NvbXB1
dGVkX3ZhbHVlKCc8aW50ZWdlcj4nLCAnY2FsYygxNSArIDE1KScsICczMCcpOwordGVzdF9jb21w
dXRlZF92YWx1ZSgnPGludGVnZXI+JywgJ2NhbGMoMi40KScsICcyJyk7Cit0ZXN0X2NvbXB1dGVk
X3ZhbHVlKCc8aW50ZWdlcj4nLCAnY2FsYygyLjYpJywgJzMnKTsKK3Rlc3RfY29tcHV0ZWRfdmFs
dWUoJzxpbnRlZ2VyPicsICdjYWxjKDIuNiArIDMuMSknLCAnNicpOworCit0ZXN0X2NvbXB1dGVk
X3ZhbHVlKCc8aW50ZWdlcj4rJywgJzE1IGNhbGMoMi40KSBjYWxjKDIuNiknLCAnMTUgMiAzJyk7
CisKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxjb2xvcj4nLCAnI2ZmMDAwMCcsICdyZ2IoMjU1LCAw
LCAwKScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgnPGNvbG9yPicsICcjMDAwZjAwJywgJ3JnYigw
LCAxNSwgMCknKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxjb2xvcj4nLCAnIzAwMDAwYScsICdy
Z2IoMCwgMCwgMTApJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8Y29sb3I+JywgJyNiYWRiZWUn
LCAncmdiKDE4NiwgMjE5LCAyMzgpJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8Y29sb3I+Jywg
JyNiYWRiZWUzMycsICdyZ2JhKDE4NiwgMjE5LCAyMzgsIDAuMiknKTsKK3Rlc3RfY29tcHV0ZWRf
dmFsdWUoJzxjb2xvcj4nLCAndG9tYXRvJywgJ3JnYigyNTUsIDk5LCA3MSknKTsKK3Rlc3RfY29t
cHV0ZWRfdmFsdWUoJzxjb2xvcj4nLCAncGx1bScsICdyZ2IoMjIxLCAxNjAsIDIyMSknKTsKK3Rl
c3RfY29tcHV0ZWRfdmFsdWUoJzxjb2xvcj4nLCAnY3VycmVudGNvbG9yJywgJ2N1cnJlbnRjb2xv
cicpOworCisvLyBDdXN0b20gaWRlbnQgdmFsdWVzIHRoYXQgbG9vayBsaWtlIGNvbG9yIGtleXdv
cmRzIHNob3VsZCBub3QgYmUgY29udmVydGVkLgordGVzdF9jb21wdXRlZF92YWx1ZSgnKicsICd0
b21hdG8nLCAndG9tYXRvJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCd0b21hdG8gfCBwbHVtJywg
J3BsdW0nLCAncGx1bScpOwordGVzdF9jb21wdXRlZF92YWx1ZSgndG9tYXRvIHwgcGx1bSB8IDxj
b2xvcj4nLCAncGx1bScsICdwbHVtJyk7CisKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJyonLCAnLTUw
Z3JhZCcsICctNTBncmFkJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8YW5nbGU+JywgJzE4MGRl
ZycsICcxODBkZWcnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxhbmdsZT4nLCAnNDAwZ3JhZCcs
ICczNjBkZWcnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUoJzxhbmdsZT4nLCAnY2FsYygzNjBkZWcg
KyA0MDBncmFkKScsICc3MjBkZWcnKTsKKwordGVzdF9jb21wdXRlZF92YWx1ZSgnKicsICc1MHMn
LCAnNTBzJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVlKCc8dGltZT4nLCAnMXMnLCAnMXMnKTsKK3Rl
c3RfY29tcHV0ZWRfdmFsdWUoJzx0aW1lPicsICcxMDAwbXMnLCAnMXMnKTsKK3Rlc3RfY29tcHV0
ZWRfdmFsdWUoJzx0aW1lPicsICdjYWxjKDEwMDBtcyArIDFzKScsICcycycpOworCit0ZXN0X2Nv
bXB1dGVkX3ZhbHVlKCcqJywgJzUwZHBpJywgJzUwZHBpJyk7Cit0ZXN0X2NvbXB1dGVkX3ZhbHVl
KCc8cmVzb2x1dGlvbj4nLCAnMWRwcHgnLCAnMWRwcHgnKTsKK3Rlc3RfY29tcHV0ZWRfdmFsdWUo
JzxyZXNvbHV0aW9uPicsICc5NmRwaScsICcxZHBweCcpOwordGVzdF9jb21wdXRlZF92YWx1ZSgn
PHJlc29sdXRpb24+JywgJ2NhbGMoMWRwcHggKyA5NmRwaSknLCAnMmRwcHgnKTsKKwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktY3Nz
b20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWNz
c29tLWV4cGVjdGVkLnR4dAppbmRleCBlZmNjNWMyZWNmOGVmNWE4ZTQyZjgyZGZjNjNlNGZiMTgy
YTQ3OWVmLi4xZGZlYTc5NTAzZjUxOTY1NmY4MDkxMDE5MTE0MzU0YTFmMDNlYjdjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHktY3Nzb20tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS1leHBl
Y3RlZC50eHQKQEAgLTEsOSArMSw5IEBACiAKIFBBU1MgQ1NTT00gc2V0dGVycyBmdW5jdGlvbiBh
cyBleHBlY3RlZCBmb3IgdW5yZWdpc3RlcmVkIHByb3BlcnRpZXMgCiBGQUlMIENTUy5yZWdpc3Rl
clByb3BlcnR5IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUg
Z2l2ZW4gc3ludGF4LgotRkFJTCBGb3JtZXJseSB2YWxpZCB2YWx1ZXMgYXJlIHN0aWxsIHJlYWRh
YmxlIGZyb20gaW5saW5lIHN0eWxlcyBidXQgYXJlIGNvbXB1dGVkIGFzIHRoZSB1bnNldCB2YWx1
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiYmx1ZSIgYnV0IGdvdCAiaGVsbG8iCitGQUlMIEZv
cm1lcmx5IHZhbGlkIHZhbHVlcyBhcmUgc3RpbGwgcmVhZGFibGUgZnJvbSBpbmxpbmUgc3R5bGVz
IGJ1dCBhcmUgY29tcHV0ZWQgYXMgdGhlIHVuc2V0IHZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJyZ2IoMCwgMCwgMjU1KSIgYnV0IGdvdCAiaGVsbG8iCiBGQUlMIFZhbHVlcyBub3QgbWF0
Y2hpbmcgdGhlIHJlZ2lzdGVyZWQgdHlwZSBjYW4ndCBiZSBzZXQgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImhlbGxvIiBidXQgZ290ICIyMCIKLUZBSUwgVmFsdWVzIGNhbiBiZSByZW1vdmVkIGZy
b20gaW5saW5lIHN0eWxlcyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmVkIiBidXQgZ290ICIg
cmVkIgorRkFJTCBWYWx1ZXMgY2FuIGJlIHJlbW92ZWQgZnJvbSBpbmxpbmUgc3R5bGVzIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMjU1LCAwLCAwKSIgYnV0IGdvdCAiIHJlZCIKIFBBU1Mg
U3R5bGVzaGVldHMgY2FuIGJlIG1vZGlmaWVkIGJ5IENTU09NIAotRkFJTCBWYWxpZCB2YWx1ZXMg
Y2FuIGJlIHNldCBvbiBpbmxpbmUgc3R5bGVzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJibHVl
IiBidXQgZ290ICIgYmx1ZSIKK0ZBSUwgVmFsaWQgdmFsdWVzIGNhbiBiZSBzZXQgb24gaW5saW5l
IHN0eWxlcyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMTkyLCAyMDMpIiBidXQg
Z290ICJwaW5rIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJv
cGVydHktY3Nzb20uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1j
c3NvbS5odG1sCmluZGV4IDAxOTc3OGU5NWUwMzY4OWFhYWI1ZTQ3YTBmZDZiZTIzODJmM2ZiOTku
LjU5NDQzYjMzMjNhODlmNjRlMmFlNWIwNzUwODgxOWIyODcyZWFkMTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0
aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jc3NvbS5odG1sCkBAIC00Niw3ICs0Niw3
IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF9lcXVhbHMoaW5saW5lU3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgnLS1sZW5ndGgnKSwgJzUnKTsKICAgYXNzZXJ0X2VxdWFscyhpbmxpbmVTdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICdoZWxsbycpOwogICBhc3NlcnRfZXF1YWxz
KGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgnKSwgJzBweCcpOwotICBh
c3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAn
Ymx1ZScpOworICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
LS1jb2xvcicpLCAncmdiKDAsIDAsIDI1NSknKTsKIH0sICJGb3JtZXJseSB2YWxpZCB2YWx1ZXMg
YXJlIHN0aWxsIHJlYWRhYmxlIGZyb20gaW5saW5lIHN0eWxlcyBidXQgYXJlIGNvbXB1dGVkIGFz
IHRoZSB1bnNldCB2YWx1ZSIpOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtNjIsNyArNjIsNyBA
QCB0ZXN0KGZ1bmN0aW9uKCkgewogICBhc3NlcnRfZXF1YWxzKGlubGluZVN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoJy0tbGVuZ3RoJyksICcnKTsKICAgYXNzZXJ0X2VxdWFscyhpbmxpbmVTdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICcnKTsKICAgYXNzZXJ0X2VxdWFscyhjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoJyksICcxMHB4Jyk7Ci0gIGFzc2VydF9l
cXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLWNvbG9yJyksICdyZWQnKTsK
KyAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY29sb3In
KSwgJ3JnYigyNTUsIDAsIDApJyk7CiB9LCAiVmFsdWVzIGNhbiBiZSByZW1vdmVkIGZyb20gaW5s
aW5lIHN0eWxlcyIpOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtODAsOSArODAsOSBAQCB0ZXN0
KGZ1bmN0aW9uKCkgewogICBhc3NlcnRfZXF1YWxzKGlubGluZVN0eWxlLmdldFByb3BlcnR5VmFs
dWUoJy0tbGVuZ3RoJyksICczMHB4Jyk7CiAgIGFzc2VydF9lcXVhbHMoaW5saW5lU3R5bGUuZ2V0
UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAncGluaycpOwogICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgnKSwgJzMwcHgnKTsKLSAgYXNzZXJ0
X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY29sb3InKSwgJ3Bpbmsn
KTsKKyAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tY29s
b3InKSwgJ3JnYigyNTUsIDE5MiwgMjAzKScpOwogICBpbmxpbmVTdHlsZS5zZXRQcm9wZXJ0eSgn
LS1jb2xvcicsICdpbmhlcml0Jyk7CiAgIGFzc2VydF9lcXVhbHMoaW5saW5lU3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgnLS1jb2xvcicpLCAnaW5oZXJpdCcpOwotICBhc3NlcnRfZXF1YWxzKGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAnYmx1ZScpOworICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jb2xvcicpLCAncmdiKDAs
IDAsIDI1NSknKTsKIH0sICJWYWxpZCB2YWx1ZXMgY2FuIGJlIHNldCBvbiBpbmxpbmUgc3R5bGVz
Iik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJlZC1w
cm9wZXJ0eS1pbml0aWFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvcmVnaXN0ZXJl
ZC1wcm9wZXJ0eS1pbml0aWFsLWV4cGVjdGVkLnR4dAppbmRleCA4NmM1YTExZTAyMDQ5NWYzYmU0
M2NhODdjMDhjZjdkNDJiMTk4Zjk3Li5hM2I3NjJhODUxZjM1YmRjNjlmN2U0NmM5ZTY2ZGM1MDQ3
ZTRlNzljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQtcHJvcGVydHkt
aW5pdGlhbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXBy
b3BlcnR5LWluaXRpYWwtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMTEgQEAKIAotRkFJTCBJbml0
aWFsIHZhbHVlcyBvZiByZWdpc3RlcmVkIHByb3BlcnRpZXMgY2FuIGJlIHJlZmVyZW5jZWQgd2hl
biBubyBjdXN0b20gcHJvcGVydGllcyBhcmUgZXhwbGljaXRseSBzZXQuIFRoZSBnaXZlbiBpbml0
aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorUEFTUyBJbml0
aWFsIHZhbHVlIGZvciA8bGVuZ3RoPiBjb3JyZWN0bHkgY29tcHV0ZWQgW2NhbGMoMTBweCArIDE1
cHgpXSAKK0ZBSUwgSW5pdGlhbCB2YWx1ZSBmb3IgPGxlbmd0aC1wZXJjZW50YWdlPiBjb3JyZWN0
bHkgY29tcHV0ZWQgW2NhbGMoMWluICsgMTAlICsgNHB4KV0gVGhlIGdpdmVuIGluaXRpYWwgdmFs
dWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitGQUlMIEluaXRpYWwgdmFs
dWUgZm9yIDxjb2xvcj4gY29ycmVjdGx5IGNvbXB1dGVkIFtwaW5rLCBpbmhlcml0c10gVGhlIGdp
dmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCitG
QUlMIEluaXRpYWwgdmFsdWUgZm9yIDxjb2xvcj4gY29ycmVjdGx5IGNvbXB1dGVkIFtwdXJwbGVd
IFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3lu
dGF4LgorRkFJTCBJbml0aWFsIHZhbHVlIGZvciA8dHJhbnNmb3JtLWZ1bmN0aW9uPiBjb3JyZWN0
bHkgY29tcHV0ZWQgW3JvdGF0ZSg0MmRlZyldIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMg
bm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgorRkFJTCBJbml0aWFsIHZhbHVlIGZvciA8
dHJhbnNmb3JtLWxpc3Q+IGNvcnJlY3RseSBjb21wdXRlZCBbc2NhbGUoY2FsYygyICsgMikpXSBU
aGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRh
eC4KK0ZBSUwgSW5pdGlhbCB2YWx1ZSBmb3IgPHRyYW5zZm9ybS1saXN0PiBjb3JyZWN0bHkgY29t
cHV0ZWQgW3NjYWxlKGNhbGMoMiArIDEpKSB0cmFuc2xhdGVYKGNhbGMoM3B4ICsgMXB4KSldIFRo
ZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4
LgorRkFJTCBJbml0aWFsIGluaGVyaXRlZCB2YWx1ZSBjYW4gYmUgc3Vic3RpdHV0ZWQgW3B1cnBs
ZSwgY29sb3JdIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUg
Z2l2ZW4gc3ludGF4LgorRkFJTCBJbml0aWFsIG5vbi1pbmhlcml0ZWQgdmFsdWUgY2FuIGJlIHN1
YnN0aXR1dGVkIFtwaW5rLCBiYWNrZ3JvdW5kLWNvbG9yXSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1
ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRp
ZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVkLXByb3BlcnR5LWluaXRpYWwuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZh
bHVlcy1hcGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1pbml0aWFsLmh0bWwKaW5kZXggZDY1NWFmNjYx
ZjdmZDk1ZWQwMjg5Y2RkYjljNTU0NjQ2N2QyODU5Mi4uODJhMDEyZTJmNjg1MzI3NjFiMTg0Mjhj
M2VhZWQ5NDc5ZWM4YzdlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZWdpc3RlcmVk
LXByb3BlcnR5LWluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lzdGVyZWQt
cHJvcGVydHktaW5pdGlhbC5odG1sCkBAIC0xLDM1ICsxLDQ1IEBACi08IURPQ1RZUEUgSFRNTD4K
KzwhRE9DVFlQRSBodG1sPgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5j
c3MtaG91ZGluaS5vcmcvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS8jZG9tLXByb3BlcnR5ZGVz
Y3JpcHRvci1pbml0aWFsdmFsdWUiIC8+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
ZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpLyNyZWdpc3Rl
ci1hLWN1c3RvbS1wcm9wZXJ0eSIgLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KLTxzdHlsZT4KLSN0YXJnZXQgewotICBiYWNrZ3JvdW5kOiB2YXIo
LS1pbmhlcml0ZWQtY29sb3IpOwotICBjb2xvcjogdmFyKC0tbm9uLWluaGVyaXRlZC1jb2xvcik7
Ci19Ci08L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3Njcmlw
dD4KIDxkaXYgaWQ9dGFyZ2V0PjwvZGl2PgogPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLWxlbmd0aCcsIHN5bnRheDogJzxsZW5n
dGg+JywgaW5pdGlhbFZhbHVlOiAnY2FsYygxMHB4ICsgMTVweCknLCBpbmhlcml0czogZmFsc2V9
KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tbGVuZ3RoLXBlcmNlbnRhZ2Un
LCBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywgaW5pdGlhbFZhbHVlOiAnY2FsYygxaW4g
KyAxMCUgKyA0cHgpJywgaW5oZXJpdHM6IGZhbHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVy
dHkoe25hbWU6ICctLWluaGVyaXRlZC1jb2xvcicsIHN5bnRheDogJzxjb2xvcj4nLCBpbml0aWFs
VmFsdWU6ICdwaW5rJywgaW5oZXJpdHM6IHRydWV9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9wZXJ0
eSh7bmFtZTogJy0tbm9uLWluaGVyaXRlZC1jb2xvcicsIHN5bnRheDogJzxjb2xvcj4nLCBpbml0
aWFsVmFsdWU6ICdwdXJwbGUnLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQ
cm9wZXJ0eSh7bmFtZTogJy0tdHJhbnNmb3JtLWZ1bmN0aW9uJywgc3ludGF4OiAnPHRyYW5zZm9y
bS1mdW5jdGlvbj4nLCBpbml0aWFsVmFsdWU6ICdyb3RhdGUoNDJkZWcpJywgaW5oZXJpdHM6IGZh
bHNlfSk7Ci0gICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoe25hbWU6ICctLXNpbmdsZS10cmFuc2Zv
cm0tbGlzdCcsIHN5bnRheDogJzx0cmFuc2Zvcm0tbGlzdD4nLCBpbml0aWFsVmFsdWU6ICdzY2Fs
ZShjYWxjKDIgKyAyKSknLCBpbmhlcml0czogZmFsc2V9KTsKLSAgICBDU1MucmVnaXN0ZXJQcm9w
ZXJ0eSh7bmFtZTogJy0tbXVsdGlwbGUtdHJhbnNmb3JtLWxpc3QnLCBzeW50YXg6ICc8dHJhbnNm
b3JtLWxpc3Q+JywgaW5pdGlhbFZhbHVlOiAnc2NhbGUoY2FsYygyICsgMSkpIHRyYW5zbGF0ZVgo
Y2FsYygzcHggKyAxcHgpKScsIGluaGVyaXRzOiBmYWxzZX0pOwogCi0gICAgY29tcHV0ZWRTdHls
ZSA9IGdldENvbXB1dGVkU3R5bGUodGFyZ2V0KTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVk
U3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgnKSwgJzI1cHgnKTsKLSAgICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtcGVyY2VudGFn
ZScpLCAnY2FsYygxMDBweCArIDEwJSknKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1pbmhlcml0ZWQtY29sb3InKSwgJ3BpbmsnKTsKLSAgICBh
c3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1ub24taW5oZXJp
dGVkLWNvbG9yJyksICdwdXJwbGUnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgnLS10cmFuc2Zvcm0tZnVuY3Rpb24nKSwgJ3JvdGF0ZSg0MmRlZykn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1z
aW5nbGUtdHJhbnNmb3JtLWxpc3QnKSwgJ3NjYWxlKDQpJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbXVsdGlwbGUtdHJhbnNmb3JtLWxpc3Qn
KSwgJ3NjYWxlKDMpIHRyYW5zbGF0ZVgoNHB4KScpOworZnVuY3Rpb24gdGVzdF9pbml0aWFsX3Zh
bHVlKHJlZywgZXhwZWN0ZWQpIHsKKyAgICBsZXQgc3VmZml4ID0gcmVnLmluaGVyaXRzID09PSB0
cnVlID8gJywgaW5oZXJpdHMnIDogJyc7CisgICAgdGVzdChmdW5jdGlvbigpeworICAgICAgICBs
ZXQgbmFtZSA9IGdlbmVyYXRlX3Byb3BlcnR5KHJlZyk7CisgICAgICAgIGxldCBhY3R1YWwgPSBn
ZXRDb21wdXRlZFN0eWxlKHRhcmdldCkuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkKTsKKyAgICB9LCBgSW5pdGlhbCB2YWx1ZSBm
b3IgJHtyZWcuc3ludGF4fSBjb3JyZWN0bHkgY29tcHV0ZWQgWyR7cmVnLmluaXRpYWxWYWx1ZX0k
e3N1ZmZpeH1dYCk7Cit9CisKK3Rlc3RfaW5pdGlhbF92YWx1ZSh7IHN5bnRheDogJzxsZW5ndGg+
JywgaW5pdGlhbFZhbHVlOiAnY2FsYygxMHB4ICsgMTVweCknIH0sICcyNXB4Jyk7Cit0ZXN0X2lu
aXRpYWxfdmFsdWUoeyBzeW50YXg6ICc8bGVuZ3RoLXBlcmNlbnRhZ2U+JywgaW5pdGlhbFZhbHVl
OiAnY2FsYygxaW4gKyAxMCUgKyA0cHgpJyB9LCAnY2FsYygxMCUgKyAxMDBweCknKTsKK3Rlc3Rf
aW5pdGlhbF92YWx1ZSh7IHN5bnRheDogJzxjb2xvcj4nLCBpbml0aWFsVmFsdWU6ICdwaW5rJywg
aW5oZXJpdHM6IHRydWUgfSwgJ3JnYigyNTUsIDE5MiwgMjAzKScpOwordGVzdF9pbml0aWFsX3Zh
bHVlKHsgc3ludGF4OiAnPGNvbG9yPicsIGluaXRpYWxWYWx1ZTogJ3B1cnBsZScgfSwgJ3JnYigx
MjgsIDAsIDEyOCknKTsKK3Rlc3RfaW5pdGlhbF92YWx1ZSh7IHN5bnRheDogJzx0cmFuc2Zvcm0t
ZnVuY3Rpb24+JywgaW5pdGlhbFZhbHVlOiAncm90YXRlKDQyZGVnKScgfSwgJ3JvdGF0ZSg0MmRl
ZyknKTsKK3Rlc3RfaW5pdGlhbF92YWx1ZSh7IHN5bnRheDogJzx0cmFuc2Zvcm0tbGlzdD4nLCBp
bml0aWFsVmFsdWU6ICdzY2FsZShjYWxjKDIgKyAyKSknIH0sICdzY2FsZSg0KScpOwordGVzdF9p
bml0aWFsX3ZhbHVlKHsgc3ludGF4OiAnPHRyYW5zZm9ybS1saXN0PicsIGluaXRpYWxWYWx1ZTog
J3NjYWxlKGNhbGMoMiArIDEpKSB0cmFuc2xhdGVYKGNhbGMoM3B4ICsgMXB4KSknIH0sICdzY2Fs
ZSgzKSB0cmFuc2xhdGVYKDRweCknKTsKKworLy8gVGVzdCB0aGF0IHRoZSBpbml0aWFsIHZhbHVl
IG9mIHRoZSBjdXN0b20gcHJvcGVydHkgJ3JlZycgaXMgc3VjY2Vzc2Z1bGx5CisvLyBzdWJzdGl0
dXRlZCBpbnRvICdwcm9wZXJ0eScuCitmdW5jdGlvbiB0ZXN0X3N1YnN0aXR1dGVkX3ZhbHVlKHJl
ZywgcHJvcGVydHksIGV4cGVjdGVkKSB7CisgICAgbGV0IGluaGVyaXRzX3RleHQgPSByZWcuaW5o
ZXJpdHMgPT09IHRydWUgPyAnaW5oZXJpdGVkJyA6ICdub24taW5oZXJpdGVkJzsKKyAgICB0ZXN0
KGZ1bmN0aW9uKCl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBsZXQgbmFtZSA9IGdlbmVy
YXRlX3Byb3BlcnR5KHJlZyk7CisgICAgICAgICAgICB0YXJnZXQuc3R5bGUgPSBgJHtwcm9wZXJ0
eX06dmFyKCR7bmFtZX0pO2A7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5KSwgZXhwZWN0ZWQpOworICAg
ICAgICB9IGZpbmFsbHkgeworICAgICAgICAgICAgdGFyZ2V0LnN0eWxlID0gJyc7CisgICAgICAg
IH0KKyAgICB9LCBgSW5pdGlhbCAke2luaGVyaXRzX3RleHR9IHZhbHVlIGNhbiBiZSBzdWJzdGl0
dXRlZCBbJHtyZWcuaW5pdGlhbFZhbHVlfSwgJHtwcm9wZXJ0eX1dYCk7Cit9CisKK3Rlc3Rfc3Vi
c3RpdHV0ZWRfdmFsdWUoeyBzeW50YXg6ICc8Y29sb3I+JywgaW5pdGlhbFZhbHVlOiAncHVycGxl
JywgaW5oZXJpdHM6IHRydWUgfSwgJ2NvbG9yJywgJ3JnYigxMjgsIDAsIDEyOCknKTsKK3Rlc3Rf
c3Vic3RpdHV0ZWRfdmFsdWUoeyBzeW50YXg6ICc8Y29sb3I+JywgaW5pdGlhbFZhbHVlOiAncGlu
aycgfSwgJ2JhY2tncm91bmQtY29sb3InLCAncmdiKDI1NSwgMTkyLCAyMDMpJyk7CiAKLSAgICBh
c3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuYmFja2dyb3VuZENvbG9yLCAncmdiKDI1NSwgMTky
LCAyMDMpJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmNvbG9yLCAncmdiKDEy
OCwgMCwgMTI4KScpOwotfSwgIkluaXRpYWwgdmFsdWVzIG9mIHJlZ2lzdGVyZWQgcHJvcGVydGll
cyBjYW4gYmUgcmVmZXJlbmNlZCB3aGVuIG5vIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBleHBsaWNp
dGx5IHNldC4iKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZXNv
dXJjZXMvdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Jlc291cmNlcy91dGlscy5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZWY1OTU2MGY2OGQ4NGVkMGQ2ODFiYjIyZTA2MTFlYTI0NjYwMjRmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZXNvdXJjZXMvdXRpbHMuanMKQEAgLTAsMCAr
MSw5NCBAQAorbGV0IG5leHRfcHJvcGVydHlfaWQgPSAxOworCisvLyBHZW5lcmF0ZSBhIHVuaXF1
ZSBwcm9wZXJ0eSBuYW1lIG9uIHRoZSBmb3JtIC0tcHJvcC1OLgorZnVuY3Rpb24gZ2VuZXJhdGVf
bmFtZSgpIHsKKyAgcmV0dXJuIGAtLXByb3AtJHtuZXh0X3Byb3BlcnR5X2lkKyt9YDsKK30KKwor
Ly8gUHJvZHVjZSBhIGNvbXBhdGlibGUgaW5pdGlhbCB2YWx1ZSBmb3IgdGhlIHNwZWNpZmllZCBz
eW50YXguCitmdW5jdGlvbiBhbnlfaW5pdGlhbF92YWx1ZShzeW50YXgpIHsKKyAgbGV0IGNvbXBv
bmVudHMgPSBzeW50YXguc3BsaXQoJ3wnKS5tYXAoeCA9PiB4LnRyaW0oKSkKKyAgbGV0IGZpcnN0
X2NvbXBvbmVudCA9IGNvbXBvbmVudHNbMF07CisKKyAgaWYgKGZpcnN0X2NvbXBvbmVudC5lbmRz
V2l0aCgnKycpIHx8IGZpcnN0X2NvbXBvbmVudC5lbmRzV2l0aCgnIycpKQorICAgIGZpcnN0X2Nv
bXBvbmVudCA9IGZpcnN0X2NvbXBvbmVudC5zbGljZSgwLCAtMSk7CisKKyAgc3dpdGNoIChmaXJz
dF9jb21wb25lbnQpIHsKKyAgICBjYXNlICcqJzoKKyAgICBjYXNlICc8Y3VzdG9tLWlkZW50Pic6
CisgICAgICByZXR1cm4gJ05VTEwnOworICAgIGNhc2UgJzxhbmdsZT4nOgorICAgICAgcmV0dXJu
ICcwZGVnJzsKKyAgICBjYXNlICc8Y29sb3I+JzoKKyAgICAgIHJldHVybiAncmdiKDAsIDAsIDAp
JzsKKyAgICBjYXNlICc8aW1hZ2U+JzoKKyAgICBjYXNlICc8dXJsPic6CisgICAgICByZXR1cm4g
J3VybCgwKSc7CisgICAgY2FzZSAnPGludGVnZXI+JzoKKyAgICBjYXNlICc8bGVuZ3RoLXBlcmNl
bnRhZ2U+JzoKKyAgICBjYXNlICc8bGVuZ3RoPic6CisgICAgY2FzZSAnPG51bWJlcj4nOgorICAg
ICAgcmV0dXJuICcwJzsKKyAgICBjYXNlICc8cGVyY2VudGFnZT4nOgorICAgICAgcmV0dXJuICcw
JSc7CisgICAgY2FzZSAnPHJlc29sdXRpb24+JzoKKyAgICAgIHJldHVybiAnMGRwaSc7CisgICAg
Y2FzZSAnPHRpbWU+JzoKKyAgICAgIHJldHVybiAnMHMnOworICAgIGNhc2UgJzx0cmFuc2Zvcm0t
ZnVuY3Rpb24+JzoKKyAgICBjYXNlICc8dHJhbnNmb3JtLWxpc3Q+JzoKKyAgICAgIHJldHVybiAn
bWF0cml4KDAsIDAsIDAsIDAsIDAsIDApJzsKKyAgICBkZWZhdWx0OgorICAgICAgLy8gV2UgYXNz
dW1lIHN5bnRheCBpcyBhIHNwZWNpZmljIGN1c3RvbSBpZGVudC4KKyAgICAgIHJldHVybiBmaXJz
dF9jb21wb25lbnQ7CisgIH0KK30KKworLy8gUmVnaXN0ZXJzIGEgdW5pcXVlIHByb3BlcnR5IG9u
IHRoZSBmb3JtICctLXByb3AtTicgYW5kIHJldHVybnMgdGhlIG5hbWUuCisvLyBBbnkgdmFsdWUg
ZXhjZXB0ICdzeW50YXgnIG1heSBiZSBvbWl0dGVkLCBpbiB3aGljaCBjYXNlIHRoZSBwcm9wZXJ0
eSB3aWxsCisvLyBub3QgaW5oZXJpdCwgYW5kIHNvbWUgdW5kZWZpbmVkIChidXQgY29tcGF0aWJs
ZSkgaW5pdGlhbCB2YWx1ZSB3aWxsIGJlCisvLyBnZW5lcmF0ZWQuIElmIGEgc2luZ2xlIHN0cmlu
ZyBpcyB1c2VkIGFzIHRoZSBhcmd1bWVudCwgaXQgaXMgYXNzdW1lZCB0byBiZQorLy8gdGhlIHN5
bnRheC4KK2Z1bmN0aW9uIGdlbmVyYXRlX3Byb3BlcnR5KHJlZykgeworICAvLyBWZXJpZnkgdGhh
dCBvbmx5IHZhbGlkIGtleXMgYXJlIHNwZWNpZmllZC4gVGhpcyBwcmV2ZW50cyB0aGUgY2FsbGVy
IGZyb20KKyAgLy8gYWNjaWRlbnRhbGx5IHN1cHBseWluZyAnaW5oZXJpdGVkJyBpbnN0ZWFkIG9m
ICdpbmhlcml0cycsIGZvciBleGFtcGxlLgorICBpZiAodHlwZW9mKHJlZykgPT09ICdvYmplY3Qn
KSB7CisgICAgY29uc3QgcGVybWl0dGVkID0gbmV3IFNldChbJ25hbWUnLCAnc3ludGF4JywgJ2lu
aXRpYWxWYWx1ZScsICdpbmhlcml0cyddKTsKKyAgICBpZiAoIU9iamVjdC5rZXlzKHJlZykuZXZl
cnkoayA9PiBwZXJtaXR0ZWQuaGFzKGspKSkKKyAgICAgIHRocm93IG5ldyBFcnJvcignZ2VuZXJh
dGVfcHJvcGVydHk6IGludmFsaWQgcGFyYW1ldGVyJyk7CisgIH0KKworICBsZXQgc3ludGF4ID0g
dHlwZW9mKHJlZykgPT09ICdzdHJpbmcnID8gcmVnIDogcmVnLnN5bnRheDsKKyAgbGV0IGluaXRp
YWwgPSB0eXBlb2YocmVnLmluaXRpYWxWYWx1ZSkgPT09ICd1bmRlZmluZWQnID8gYW55X2luaXRp
YWxfdmFsdWUoc3ludGF4KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiByZWcuaW5pdGlhbFZhbHVlOworICBsZXQgaW5oZXJpdHMgPSB0
eXBlb2YocmVnLmluaGVyaXRzKSA9PT0gJ3VuZGVmaW5lZCcgPyBmYWxzZSA6IHJlZy5pbmhlcml0
czsKKworICBsZXQgbmFtZSA9IGdlbmVyYXRlX25hbWUoKTsKKyAgQ1NTLnJlZ2lzdGVyUHJvcGVy
dHkoeworICAgIG5hbWU6IG5hbWUsCisgICAgc3ludGF4OiBzeW50YXgsCisgICAgaW5pdGlhbFZh
bHVlOiBpbml0aWFsLAorICAgIGluaGVyaXRzOiBpbmhlcml0cworICB9KTsKKyAgcmV0dXJuIG5h
bWU7Cit9CisKK2Z1bmN0aW9uIGFsbF9zeW50YXhlcygpIHsKKyAgcmV0dXJuIFsKKyAgICAnKics
CisgICAgJzxhbmdsZT4nLAorICAgICc8Y29sb3I+JywKKyAgICAnPGN1c3RvbS1pZGVudD4nLAor
ICAgICc8aW1hZ2U+JywKKyAgICAnPGludGVnZXI+JywKKyAgICAnPGxlbmd0aC1wZXJjZW50YWdl
PicsCisgICAgJzxsZW5ndGg+JywKKyAgICAnPG51bWJlcj4nLAorICAgICc8cGVyY2VudGFnZT4n
LAorICAgICc8cmVzb2x1dGlvbj4nLAorICAgICc8dGltZT4nLAorICAgICc8dHJhbnNmb3JtLWZ1
bmN0aW9uPicsCisgICAgJzx0cmFuc2Zvcm0tbGlzdD4nLAorICAgICc8dXJsPicKKyAgXQorfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVy
dGllcy12YWx1ZXMtYXBpL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2U4
NTU4N2JjOTUxMDBmNWZmYWY1NjFlYzZjNmFkMzgxOWJlMGZmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3Bl
cnRpZXMtdmFsdWVzLWFwaS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxNyBA
QAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitE
byBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJv
cGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qg
b2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9yZXNvdXJjZXMvdXRpbHMuanMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1w
cm9wZXJ0aWVzLXZhbHVlcy1hcGkvc2VsZi11dGlscy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1
ZXMtYXBpL3NlbGYtdXRpbHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzY2VjMzdlZjZkMGM0
NzhkOTMyYzVhOTU3ODA2MjIzZDliYjY5NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1
ZXMtYXBpL3NlbGYtdXRpbHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitGQUlMIERl
ZmF1bHQgaW5pdGlhbCB2YWx1ZXMgb2YgZ2VuZXJhdGVkIHByb3BlcnRpZXMgYXJlIHZhbGlkIChz
ZWxmLXRlc3QpLiBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhl
IGdpdmVuIHN5bnRheC4KK1BBU1MgR2VuZXJhdGVkIHByb3BlcnRpZXMgcmVzcGVjdCBpbmhlcml0
cyBmbGFnIAorUEFTUyBDYW4ndCBnZW5lcmF0ZSBwcm9wZXJ0eSB3aXRoIHVua25vd24gZmllbGRz
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3NlbGYtdXRpbHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvc2VsZi11dGlscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YWE0YjJmYjAzYjI5ZmVl
ZTQ3MTc3NjI0NzE1MjMwNzY4YTQ0YTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMt
YXBpL3NlbGYtdXRpbHMuaHRtbApAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0
aXRsZT5TZWxmLXRlc3QgZm9yIHV0aWxzLmpzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGktMS8iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
b3V0ZXI+PGRpdiBpZD1pbm5lcj48L2Rpdj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Rlc3QoZnVuY3Rp
b24oKXsKKyAgbGV0IHN5bnRheGVzID0gYWxsX3N5bnRheGVzKCkuY29uY2F0KFsKKyAgICAnZm9v
JywKKyAgICAnYmFyIHwgPGxlbmd0aD4nLAorICAgICc8YW5nbGU+IHwgPGxlbmd0aD4nCisgIF0p
OworICAvLyBEb24ndCB0aHJvdzoKKyAgc3ludGF4ZXMuZm9yRWFjaChnZW5lcmF0ZV9wcm9wZXJ0
eSk7Cit9LCAnRGVmYXVsdCBpbml0aWFsIHZhbHVlcyBvZiBnZW5lcmF0ZWQgcHJvcGVydGllcyBh
cmUgdmFsaWQgKHNlbGYtdGVzdCkuJyk7CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgdHJ5IHsKKyAg
ICBsZXQgaW5oZXJpdGVkID0gZ2VuZXJhdGVfcHJvcGVydHkoeyBzeW50YXg6ICc8bGVuZ3RoPics
IGluaGVyaXRzOiB0cnVlIH0pOworICAgIGxldCBub25faW5oZXJpdGVkID0gZ2VuZXJhdGVfcHJv
cGVydHkoeyBzeW50YXg6ICc8bGVuZ3RoPicsIGluaGVyaXRzOiBmYWxzZSwgaW5pdGlhbFZhbHVl
OiAnNXB4JyB9KTsKKyAgICBvdXRlci5zdHlsZSA9IGAke2luaGVyaXRlZH06IDEwcHg7ICR7bm9u
X2luaGVyaXRlZH06IDExcHg7YDsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUo
b3V0ZXIpLmdldFByb3BlcnR5VmFsdWUoaW5oZXJpdGVkKSwgJzEwcHgnKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUob3V0ZXIpLmdldFByb3BlcnR5VmFsdWUobm9uX2luaGVy
aXRlZCksICcxMXB4Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGlubmVy
KS5nZXRQcm9wZXJ0eVZhbHVlKGluaGVyaXRlZCksICcxMHB4Jyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGlubmVyKS5nZXRQcm9wZXJ0eVZhbHVlKG5vbl9pbmhlcml0ZWQp
LCAnNXB4Jyk7CisgIH0gZmluYWxseSB7CisgICAgb3V0ZXIuc3R5bGUgPSAnJzsKKyAgICBpbm5l
ci5zdHlsZSA9ICcnOworICB9Cit9LCAnR2VuZXJhdGVkIHByb3BlcnRpZXMgcmVzcGVjdCBpbmhl
cml0cyBmbGFnJyk7CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgYXNzZXJ0X3Rocm93cyhuZXcgRXJy
b3IoKSwgKCkgPT4gZ2VuZXJhdGVfcHJvcGVydHkoe3N5bnRheDogJzxsZW5ndGg+JywgZm9vOiAx
fSkpOworICBhc3NlcnRfdGhyb3dzKG5ldyBFcnJvcigpLCAoKSA9PiBnZW5lcmF0ZV9wcm9wZXJ0
eSh7c3ludGF4OiAnPGxlbmd0aD4nLCBpbmhlcml0ZWQ6IGZhbHNlfSkpOworICBhc3NlcnRfdGhy
b3dzKG5ldyBFcnJvcigpLCAoKSA9PiBnZW5lcmF0ZV9wcm9wZXJ0eSh7c3ludGF4OiAnPGxlbmd0
aD4nLCBpbml0aWFsOiAnMTBweCd9KSk7Cit9LCAnQ2FuXCd0IGdlbmVyYXRlIHByb3BlcnR5IHdp
dGggdW5rbm93biBmaWVsZHMnKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1
ZXMtYXBpL3R5cGVkb20udGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkv
dHlwZWRvbS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGZjOWQ0OTU1ZWE0ODI5ZjE2ZTEx
NjA4NGJkY2JkMGY4Nzg4ZWUyZDYuLmI1NTFjOWVkM2JkYWFmYTA0NWMwMjY4MmExOTI3NTk0NDg3
ZjQwNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdHlwZWRvbS50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0CkBAIC0xLDY5ICsxLDYgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNDk6IFR5cGVF
cnJvcjogQ1NTLnB4IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ0NTUy5weCgxNSknLCAnQ1NTLnB4
JyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IFR5cGVFcnJvcjogdGFy
Z2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Rhcmdl
dC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigpJywgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5j
bGVhcicgaXMgdW5kZWZpbmVkKQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5
cGVFcnJvcjogQ1NTLnB4IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ0NTUy5weCgxNSknLCAnQ1NT
LnB4JyBpcyB1bmRlZmluZWQpCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5cGVF
cnJvcjogdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigpJywgJ3RhcmdldC5hdHRyaWJ1dGVT
dHlsZU1hcC5jbGVhcicgaXMgdW5kZWZpbmVkKQogCiBGQUlMIENvbXB1dGVkICogaXMgcmVpZmll
ZCBhcyBDU1NVbnBhcnNlZFZhbHVlIHRhcmdldC5jb21wdXRlZFN0eWxlTWFwIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RhcmdldC5jb21wdXRlZFN0eWxlTWFwKCknLCAndGFyZ2V0LmNvbXB1dGVk
U3R5bGVNYXAnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQ29tcHV0ZWQgPGFuZ2xlPiBpcyByZWlmaWVk
IGFzIENTU1VuaXRWYWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBm
b3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQgPGNvbG9yPiBpcyByZWlmaWVkIGFz
IENTU1N0eWxlVmFsdWUgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFyc2UgZm9y
IHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIENvbXB1dGVkIDxjdXN0b20taWRlbnQ+IGlzIHJlaWZp
ZWQgYXMgQ1NTS2V5d29yZFZhbHVlIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90IHBh
cnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBDb21wdXRlZCA8aW1hZ2U+IFt1cmxdIGlz
IHJlaWZpZWQgYXMgQ1NTSW1hZ2VWYWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5v
dCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQgPGludGVnZXI+IGlz
IHJlaWZpZWQgYXMgQ1NTVW5pdFZhbHVlIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRvZXMgbm90
IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBDb21wdXRlZCA8bGVuZ3RoLXBlcmNl
bnRhZ2U+IFslXSBpcyByZWlmaWVkIGFzIENTU1VuaXRWYWx1ZSB0YXJnZXQuY29tcHV0ZWRTdHls
ZU1hcCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuY29tcHV0ZWRTdHlsZU1hcCgpJywg
J3RhcmdldC5jb21wdXRlZFN0eWxlTWFwJyBpcyB1bmRlZmluZWQpCi1GQUlMIENvbXB1dGVkIDxs
ZW5ndGgtcGVyY2VudGFnZT4gW3B4XSBpcyByZWlmaWVkIGFzIENTU1VuaXRWYWx1ZSB0YXJnZXQu
Y29tcHV0ZWRTdHlsZU1hcCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuY29tcHV0ZWRT
dHlsZU1hcCgpJywgJ3RhcmdldC5jb21wdXRlZFN0eWxlTWFwJyBpcyB1bmRlZmluZWQpCi1GQUlM
IENvbXB1dGVkIDxsZW5ndGgtcGVyY2VudGFnZT4gW3B4ICsgJV0gaXMgcmVpZmllZCBhcyBDU1NN
YXRoU3VtIENhbid0IGZpbmQgdmFyaWFibGU6IENTU01hdGhTdW0KLUZBSUwgQ29tcHV0ZWQgPGxl
bmd0aD4gaXMgcmVpZmllZCBhcyBDU1NVbml0VmFsdWUgdGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0LmNvbXB1dGVkU3R5bGVNYXAoKScsICd0YXJn
ZXQuY29tcHV0ZWRTdHlsZU1hcCcgaXMgdW5kZWZpbmVkKQotRkFJTCBDb21wdXRlZCA8bnVtYmVy
PiBpcyByZWlmaWVkIGFzIENTU1VuaXRWYWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2Vz
IG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQgPHBlcmNlbnRh
Z2U+IGlzIHJlaWZpZWQgYXMgQ1NTVW5pdFZhbHVlIHRhcmdldC5jb21wdXRlZFN0eWxlTWFwIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5jb21wdXRlZFN0eWxlTWFwKCknLCAndGFyZ2V0
LmNvbXB1dGVkU3R5bGVNYXAnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQ29tcHV0ZWQgPHJlc29sdXRp
b24+IGlzIHJlaWZpZWQgYXMgQ1NTVW5pdFZhbHVlIFRoZSBnaXZlbiBpbml0aWFsIHZhbHVlIGRv
ZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBDb21wdXRlZCA8dGltZT4g
aXMgcmVpZmllZCBhcyBDU1NVbml0VmFsdWUgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBu
b3QgcGFyc2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIENvbXB1dGVkIDx1cmw+IGlzIHJl
aWZpZWQgYXMgQ1NTU3R5bGVWYWx1ZSBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBw
YXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgQ29tcHV0ZWQgaWRlbnQgaXMgcmVpZmll
ZCBhcyBDU1NLZXl3b3JkVmFsdWUgVGhlIGdpdmVuIGluaXRpYWwgdmFsdWUgZG9lcyBub3QgcGFy
c2UgZm9yIHRoZSBnaXZlbiBzeW50YXguCi1GQUlMIEZpcnN0IGNvbXB1dGVkIHZhbHVlIGNvcnJl
Y3RseSByZWlmaWVkIGluIHNwYWNlLXNlcGFyYXRlZCBsaXN0IFRoZSBnaXZlbiBpbml0aWFsIHZh
bHVlIGRvZXMgbm90IHBhcnNlIGZvciB0aGUgZ2l2ZW4gc3ludGF4LgotRkFJTCBGaXJzdCBjb21w
dXRlZCB2YWx1ZSBjb3JyZWN0bHkgcmVpZmllZCBpbiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBUaGUg
Z2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4K
LUZBSUwgQWxsIGNvbXB1dGVkIHZhbHVlcyBjb3JyZWN0bHkgcmVpZmllZCBpbiBzcGFjZS1zZXBh
cmF0ZWQgbGlzdCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5vdCBwYXJzZSBmb3IgdGhl
IGdpdmVuIHN5bnRheC4KLUZBSUwgQWxsIGNvbXB1dGVkIHZhbHVlcyBjb3JyZWN0bHkgcmVpZmll
ZCBpbiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBUaGUgZ2l2ZW4gaW5pdGlhbCB2YWx1ZSBkb2VzIG5v
dCBwYXJzZSBmb3IgdGhlIGdpdmVuIHN5bnRheC4KLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0
IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVmZXJlbmNlcyB0
YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFy
Z2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyKCknLCAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFw
LmNsZWFyJyBpcyB1bmRlZmluZWQpCi1GQUlMIHN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VucGFy
c2VkVmFsdWUgZm9yIHZhbHVlIHdpdGggdmFyIHJlZmVyZW5jZXMgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1
dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbnBhcnNlZFZhbHVlIGZvciB2YWx1ZSB3aXRoIHZh
ciByZWZlcmVuY2VzIGluIGxpc3QgdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigpJywgJ3Rh
cmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicgaXMgdW5kZWZpbmVkKQotRkFJTCBzdHlsZU1h
cC5nZXQgcmV0dXJucyBDU1NVbnBhcnNlZFZhbHVlIGZvciB2YWx1ZSB3aXRoIHZhciByZWZlcmVu
Y2VzIGluIGxpc3QgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUu
c3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NV
bnBhcnNlZFZhbHVlIGZvciAqIHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhciBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIoKScsICd0YXJn
ZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInIGlzIHVuZGVmaW5lZCkKLUZBSUwgc3R5bGVNYXAu
Z2V0IHJldHVybnMgQ1NTVW5wYXJzZWRWYWx1ZSBmb3IgKiB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0
eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGFuZ2xlPiB0YXJnZXQuYXR0cmli
dXRlU3R5bGVNYXAuY2xlYXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0LmF0dHJpYnV0
ZVN0eWxlTWFwLmNsZWFyKCknLCAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJyBpcyB1
bmRlZmluZWQpCi1GQUlMIHN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGFu
Z2xlPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1h
cC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU1N0eWxlVmFs
dWUgZm9yIDxjb2xvcj4gdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigpJywgJ3RhcmdldC5h
dHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicgaXMgdW5kZWZpbmVkKQotRkFJTCBzdHlsZU1hcC5nZXQg
cmV0dXJucyBDU1NTdHlsZVZhbHVlIGZvciA8Y29sb3I+IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5
bGVNYXAuZ2V0IHJldHVybnMgQ1NTS2V5d29yZFZhbHVlIGZvciA8Y3VzdG9tLWlkZW50PiB0YXJn
ZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0
LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyKCknLCAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNs
ZWFyJyBpcyB1bmRlZmluZWQpCi1GQUlMIHN0eWxlTWFwLmdldCByZXR1cm5zIENTU0tleXdvcmRW
YWx1ZSBmb3IgPGN1c3RvbS1pZGVudD4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQg
cmV0dXJucyBDU1NJbWFnZVZhbHVlIGZvciA8aW1hZ2U+IHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1h
cC5jbGVhciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAu
Y2xlYXIoKScsICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInIGlzIHVuZGVmaW5lZCkK
LUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTSW1hZ2VWYWx1ZSBmb3IgPGltYWdlPiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicp
Ci1GQUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGlu
dGVnZXI+IHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhciBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIoKScsICd0YXJnZXQuYXR0cmlidXRl
U3R5bGVNYXAuY2xlYXInIGlzIHVuZGVmaW5lZCkKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMg
Q1NTVW5pdFZhbHVlIGZvciA8aW50ZWdlcj4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5n
ZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEwJV0gdGFy
Z2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Rhcmdl
dC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigpJywgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5j
bGVhcicgaXMgdW5kZWZpbmVkKQotRkFJTCBzdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFs
dWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEwJV0gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHls
ZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEw
cHhdIHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhciBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIoKScsICd0YXJnZXQuYXR0cmlidXRlU3R5
bGVNYXAuY2xlYXInIGlzIHVuZGVmaW5lZCkKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NT
VW5pdFZhbHVlIGZvciA8bGVuZ3RoLXBlcmNlbnRhZ2U+IFsxMHB4XSB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJp
YnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU01hdGhTdW0gZm9yIDxsZW5ndGgtcGVyY2VudGFn
ZT4gW2NhbGMoMTBweCArIDEwJSldIHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhciBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIoKScsICd0
YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInIGlzIHVuZGVmaW5lZCkKLUZBSUwgc3R5bGVN
YXAuZ2V0IHJldHVybnMgQ1NTTWF0aFN1bSBmb3IgPGxlbmd0aC1wZXJjZW50YWdlPiBbY2FsYygx
MHB4ICsgMTAlKV0gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1bGUu
c3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NV
bml0VmFsdWUgZm9yIDxsZW5ndGg+IHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhciBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIoKScsICd0
YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInIGlzIHVuZGVmaW5lZCkKLUZBSUwgc3R5bGVN
YXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJp
YnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPG51bWJlcj4gdGFyZ2V0
LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5h
dHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigpJywgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVh
cicgaXMgdW5kZWZpbmVkKQotRkFJTCBzdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUg
Zm9yIDxudW1iZXI+IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxl
LnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NT
VW5pdFZhbHVlIGZvciA8cGVyY2VudGFnZT4gdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFy
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigp
JywgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicgaXMgdW5kZWZpbmVkKQotRkFJTCBz
dHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxwZXJjZW50YWdlPiB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1G
QUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPHJlc29s
dXRpb24+IHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhciBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIoKScsICd0YXJnZXQuYXR0cmlidXRl
U3R5bGVNYXAuY2xlYXInIGlzIHVuZGVmaW5lZCkKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMg
Q1NTVW5pdFZhbHVlIGZvciA8cmVzb2x1dGlvbj4gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1h
cC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDx0aW1lPiB0YXJnZXQuYXR0cmlidXRlU3R5
bGVNYXAuY2xlYXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxl
TWFwLmNsZWFyKCknLCAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIHN0eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPHRpbWU+IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFy
JykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTU3R5bGVWYWx1ZSBmb3Ig
PHVybD4gdGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigpJywgJ3RhcmdldC5hdHRyaWJ1dGVT
dHlsZU1hcC5jbGVhcicgaXMgdW5kZWZpbmVkKQotRkFJTCBzdHlsZU1hcC5nZXQgcmV0dXJucyBD
U1NTdHlsZVZhbHVlIGZvciA8dXJsPiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldCBy
ZXR1cm5zIENTU0tleXdvcmRWYWx1ZSBmb3IgdGhpbmcxIHwgVEhJTkcyIHRhcmdldC5hdHRyaWJ1
dGVTdHlsZU1hcC5jbGVhciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0YXJnZXQuYXR0cmlidXRl
U3R5bGVNYXAuY2xlYXIoKScsICd0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXInIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgc3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTS2V5d29yZFZhbHVlIGZvciB0
aGluZzEgfCBUSElORzIgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3J1
bGUuc3R5bGVNYXAuY2xlYXInKQotRkFJTCBhdHRyaWJ1dGVTdHlsZU1hcC5nZXQgcmV0dXJucyBD
U1NVbml0VmFsdWUgZm9yIDxsZW5ndGg+KyB0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAuY2xlYXIg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyKCkn
LCAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJyBpcyB1bmRlZmluZWQpCi1GQUlMIHN0
eWxlTWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGxlbmd0aD4rIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwg
YXR0cmlidXRlU3R5bGVNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPiMg
dGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Rh
cmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcigpJywgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1h
cC5jbGVhcicgaXMgdW5kZWZpbmVkKQotRkFJTCBzdHlsZU1hcC5nZXQgcmV0dXJucyBDU1NVbml0
VmFsdWUgZm9yIDxsZW5ndGg+IyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAncnVsZS5zdHlsZU1hcC5jbGVhcicpCi1GQUlMIGF0dHJpYnV0ZVN0eWxlTWFwLmdldEFsbCBy
ZXR1cm5zIGEgbGlzdCBvZiBDU1NVbml0VmFsdWVzIGZvciA8bGVuZ3RoPisgdGFyZ2V0LmF0dHJp
YnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RhcmdldC5hdHRyaWJ1
dGVTdHlsZU1hcC5jbGVhcigpJywgJ3RhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhcicgaXMg
dW5kZWZpbmVkKQotRkFJTCBzdHlsZU1hcC5nZXRBbGwgcmV0dXJucyBhIGxpc3Qgb2YgQ1NTVW5p
dFZhbHVlcyBmb3IgPGxlbmd0aD4rIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICdydWxlLnN0eWxlTWFwLmNsZWFyJykKLUZBSUwgYXR0cmlidXRlU3R5bGVNYXAuZ2V0QWxs
IHJldHVybnMgYSBsaXN0IG9mIENTU1VuaXRWYWx1ZXMgZm9yIDxsZW5ndGg+IyB0YXJnZXQuYXR0
cmlidXRlU3R5bGVNYXAuY2xlYXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGFyZ2V0LmF0dHJp
YnV0ZVN0eWxlTWFwLmNsZWFyKCknLCAndGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyJyBp
cyB1bmRlZmluZWQpCi1GQUlMIHN0eWxlTWFwLmdldEFsbCByZXR1cm5zIGEgbGlzdCBvZiBDU1NV
bml0VmFsdWVzIGZvciA8bGVuZ3RoPiMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3J1bGUuc3R5bGVNYXAuY2xlYXInKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMt
YXBpL3R5cGVkb20udGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3R5cGVkb20udGVu
dGF0aXZlLmh0bWwKaW5kZXggNGU1ZWFhN2I4ZjhmZDY5YjhjYjkwNmMzZDNmZjQxMzE4YTY2MmI4
NS4uMTRhNjIwNDQ1YzY5N2Y3ZTNlYzhlMmI2MjE2YzRiOTY0ZWI3YWFlNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3Bl
cnRpZXMtdmFsdWVzLWFwaS90eXBlZG9tLnRlbnRhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVl
cy1hcGkvdHlwZWRvbS50ZW50YXRpdmUuaHRtbApAQCAtMzMsNiArMzMsMTMgQEAgZnVuY3Rpb24g
Z2VuX3Byb3Aoc3ludGF4LCBpbml0aWFsVmFsdWUpIHsKICAgICByZXR1cm4gbmFtZTsKIH0KIAor
Ly8gQ2xlYW5zIHN0eWxlIHJ1bGVzIHVzZWQgZm9yIHRlc3RpbmcgYmV0d2VlbiBldmVyeSB0ZXN0
LgorYWRkX3Jlc3VsdF9jYWxsYmFjayhmdW5jdGlvbigpeworICAgIHRhcmdldC5hdHRyaWJ1dGVT
dHlsZU1hcC5jbGVhcigpOworICAgIC8vIENsZWFycyAnZGl2JyBydWxlIGluICNzdHlsZToKKyAg
ICBzdHlsZS5zaGVldC5ydWxlc1swXS5zdHlsZU1hcC5jbGVhcigpOworfSk7CisKIC8vIE9uIHRo
ZSB0YXJnZXQgZWxlbWVudCwgdmVyaWZ5IHRoYXQgY29tcHV0ZWQgdmFsdWUgb2YgJ25hbWUnIGlz
IGFuIGluc3RhbmNlCiAvLyBvZiAnZXhwZWN0ZWQnIGFuZCBub3QgYW4gaW5zdGFuY2Ugb2YgQ1NT
VW5wYXJzZWRWYWx1ZS4KIC8vCkBAIC0yMTQsODYgKzIyMSw4NiBAQCB0ZXN0X3N0eWxlX3Byb3Bl
cnR5X21hcF9nZXQoZnVuY3Rpb24oc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCl7CiAgICAgbGV0IG5h
bWUyID0gZ2VuX3Byb3AoJzxsZW5ndGg+JywgJzBweCcpOwogICAgIHN0eWxlRGVjbC5zZXRQcm9w
ZXJ0eShuYW1lMiwgYHZhcigke25hbWUxfSlgKTsKICAgICBhc3NlcnRfdHJ1ZShwcm9wZXJ0eU1h
cC5nZXQobmFtZTIpIGluc3RhbmNlb2YgQ1NTVW5wYXJzZWRWYWx1ZSk7Ci19LCBuYW1lID0+IGAk
e25hbWV9LmdldCByZXR1cm5zIENTU1VucGFyc2VkVmFsdWUgZm9yIHZhbHVlIHdpdGggdmFyIHJl
ZmVyZW5jZXNgKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NT
VW5wYXJzZWRWYWx1ZSBmb3IgdmFsdWUgd2l0aCB2YXIgcmVmZXJlbmNlcyAoJHtuYW1lfSlgKTsK
IAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVy
dHlNYXApewogICAgIGxldCBuYW1lMSA9IGdlbl9wcm9wKCc8bGVuZ3RoPicsICcxMDBweCcpOwog
ICAgIGxldCBuYW1lMiA9IGdlbl9wcm9wKCc8bGVuZ3RoPiMnLCAnMHB4Jyk7CiAgICAgc3R5bGVE
ZWNsLnNldFByb3BlcnR5KG5hbWUyLCBgMXB4LCB2YXIoJHtuYW1lMX0pLCAzcHhgKTsKICAgICBh
c3NlcnRfdHJ1ZShwcm9wZXJ0eU1hcC5nZXQobmFtZTIpIGluc3RhbmNlb2YgQ1NTVW5wYXJzZWRW
YWx1ZSk7Ci19LCBuYW1lID0+IGAke25hbWV9LmdldCByZXR1cm5zIENTU1VucGFyc2VkVmFsdWUg
Zm9yIHZhbHVlIHdpdGggdmFyIHJlZmVyZW5jZXMgaW4gbGlzdGApOworfSwgbmFtZSA9PiBgU3R5
bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbnBhcnNlZFZhbHVlIGZvciB2YWx1ZSB3aXRo
IHZhciByZWZlcmVuY2VzIGluIGxpc3QgKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVy
dHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRf
YXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICcqJywgJ2lmKCl7fScs
IENTU1VucGFyc2VkVmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NV
bnBhcnNlZFZhbHVlIGZvciAqYCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldCBy
ZXR1cm5zIENTU1VucGFyc2VkVmFsdWUgZm9yICogKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVf
cHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBh
c3NlcnRfYXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8YW5nbGU+
JywgJzQyZGVnJywgQ1NTVW5pdFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVy
bnMgQ1NTVW5pdFZhbHVlIGZvciA8YW5nbGU+YCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3BlcnR5
TWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGFuZ2xlPiAoJHtuYW1lfSlgKTsKIAog
dGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfZ2V0KGZ1bmN0aW9uKHN0eWxlRGVjbCwgcHJvcGVydHlN
YXApewogICAgIGFzc2VydF9hdHRyaWJ1dGVfZ2V0X3R5cGUoc3R5bGVEZWNsLCBwcm9wZXJ0eU1h
cCwgJzxjb2xvcj4nLCAnI2ZlZmVmZScsIENTU1N0eWxlVmFsdWUpOwotfSwgbmFtZSA9PiBgJHtu
YW1lfS5nZXQgcmV0dXJucyBDU1NTdHlsZVZhbHVlIGZvciA8Y29sb3I+YCk7Cit9LCBuYW1lID0+
IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENTU1N0eWxlVmFsdWUgZm9yIDxjb2xvcj4g
KCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHls
ZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBlKHN0eWxl
RGVjbCwgcHJvcGVydHlNYXAsICc8Y3VzdG9tLWlkZW50PicsICdub25lJywgQ1NTS2V5d29yZFZh
bHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTS2V5d29yZFZhbHVlIGZv
ciA8Y3VzdG9tLWlkZW50PmApOworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0
dXJucyBDU1NLZXl3b3JkVmFsdWUgZm9yIDxjdXN0b20taWRlbnQ+ICgke25hbWV9KWApOwogCiB0
ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9nZXQoZnVuY3Rpb24oc3R5bGVEZWNsLCBwcm9wZXJ0eU1h
cCl7CiAgICAgYXNzZXJ0X2F0dHJpYnV0ZV9nZXRfdHlwZShzdHlsZURlY2wsIHByb3BlcnR5TWFw
LCAnPGltYWdlPicsICd1cmwodGhpbmcucG5nKScsIENTU0ltYWdlVmFsdWUpOwotfSwgbmFtZSA9
PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NJbWFnZVZhbHVlIGZvciA8aW1hZ2U+YCk7Cit9LCBu
YW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENTU0ltYWdlVmFsdWUgZm9yIDxp
bWFnZT4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlv
bihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBl
KHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8aW50ZWdlcj4nLCAnMTAwJywgQ1NTVW5pdFZhbHVl
KTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8aW50
ZWdlcj5gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5p
dFZhbHVlIGZvciA8aW50ZWdlcj4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlf
bWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0
cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8bGVuZ3RoLXBlcmNlbnRh
Z2U+JywgJzEwJScsIENTU1VuaXRWYWx1ZSk7Ci19LCBuYW1lID0+IGAke25hbWV9LmdldCByZXR1
cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGxlbmd0aC1wZXJjZW50YWdlPiBbMTAlXWApOworfSwgbmFt
ZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5n
dGgtcGVyY2VudGFnZT4gWzEwJV0gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlf
bWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0
cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8bGVuZ3RoLXBlcmNlbnRh
Z2U+JywgJzEwcHgnLCBDU1NVbml0VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0
dXJucyBDU1NVbml0VmFsdWUgZm9yIDxsZW5ndGgtcGVyY2VudGFnZT4gWzEwcHhdYCk7Cit9LCBu
YW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENTU1VuaXRWYWx1ZSBmb3IgPGxl
bmd0aC1wZXJjZW50YWdlPiBbMTBweF0gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVy
dHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRf
YXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8bGVuZ3RoLXBlcmNl
bnRhZ2U+JywgJ2NhbGMoMTBweCArIDEwJSknLCBDU1NNYXRoU3VtKTsKLX0sIG5hbWUgPT4gYCR7
bmFtZX0uZ2V0IHJldHVybnMgQ1NTTWF0aFN1bSBmb3IgPGxlbmd0aC1wZXJjZW50YWdlPiBbY2Fs
YygxMHB4ICsgMTAlKV1gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVy
bnMgQ1NTTWF0aFN1bSBmb3IgPGxlbmd0aC1wZXJjZW50YWdlPiBbY2FsYygxMHB4ICsgMTAlKV0g
KCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHls
ZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBlKHN0eWxl
RGVjbCwgcHJvcGVydHlNYXAsICc8bGVuZ3RoPicsICcxMHB4JywgQ1NTVW5pdFZhbHVlKTsKLX0s
IG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPmAp
OworfSwgbmFtZSA9PiBgU3R5bGVQcm9wZXJ0eU1hcC5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUg
Zm9yIDxsZW5ndGg+ICgke25hbWV9KWApOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9nZXQo
ZnVuY3Rpb24oc3R5bGVEZWNsLCBwcm9wZXJ0eU1hcCl7CiAgICAgYXNzZXJ0X2F0dHJpYnV0ZV9n
ZXRfdHlwZShzdHlsZURlY2wsIHByb3BlcnR5TWFwLCAnPG51bWJlcj4nLCAnNDInLCBDU1NVbml0
VmFsdWUpOwotfSwgbmFtZSA9PiBgJHtuYW1lfS5nZXQgcmV0dXJucyBDU1NVbml0VmFsdWUgZm9y
IDxudW1iZXI+YCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldCByZXR1cm5zIENT
U1VuaXRWYWx1ZSBmb3IgPG51bWJlcj4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVy
dHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRf
YXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8cGVyY2VudGFnZT4n
LCAnMTAlJywgQ1NTVW5pdFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMg
Q1NTVW5pdFZhbHVlIGZvciA8cGVyY2VudGFnZT5gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVy
dHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8cGVyY2VudGFnZT4gKCR7bmFtZX0p
YCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHBy
b3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJv
cGVydHlNYXAsICc8cmVzb2x1dGlvbj4nLCAnMzAwZHBpJywgQ1NTVW5pdFZhbHVlKTsKLX0sIG5h
bWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8cmVzb2x1dGlvbj5g
KTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVl
IGZvciA8cmVzb2x1dGlvbj4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFw
X2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0cmli
dXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8dGltZT4nLCAnNDJzJywgQ1NT
VW5pdFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVl
IGZvciA8dGltZT5gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMg
Q1NTVW5pdFZhbHVlIGZvciA8dGltZT4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVy
dHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRf
YXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8dXJsPicsICd1cmwo
YSknLCBDU1NTdHlsZVZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NT
U3R5bGVWYWx1ZSBmb3IgPHVybD5gKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0
IHJldHVybnMgQ1NTU3R5bGVWYWx1ZSBmb3IgPHVybD4gKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5
bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAg
ICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICd0aGlu
ZzEgfCBUSElORzInLCAndGhpbmcxJywgQ1NTS2V5d29yZFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7
bmFtZX0uZ2V0IHJldHVybnMgQ1NTS2V5d29yZFZhbHVlIGZvciB0aGluZzEgfCBUSElORzJgKTsK
K30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTS2V5d29yZFZhbHVl
IGZvciB0aGluZzEgfCBUSElORzIgKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlf
bWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBhc3NlcnRfYXR0
cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlNYXAsICc8bGVuZ3RoPisnLCAnMTBw
eCAyMHB4JywgQ1NTVW5pdFZhbHVlKTsKLX0sIG5hbWUgPT4gYCR7bmFtZX0uZ2V0IHJldHVybnMg
Q1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPitgKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlN
YXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPisgKCR7bmFtZX0pYCk7CiAK
IHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5
TWFwKXsKICAgICBhc3NlcnRfYXR0cmlidXRlX2dldF90eXBlKHN0eWxlRGVjbCwgcHJvcGVydHlN
YXAsICc8bGVuZ3RoPiMnLCAnMTBweCAyMHB4JywgQ1NTVW5pdFZhbHVlKTsKLX0sIG5hbWUgPT4g
YCR7bmFtZX0uZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVuZ3RoPiNgKTsKK30sIG5h
bWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0IHJldHVybnMgQ1NTVW5pdFZhbHVlIGZvciA8bGVu
Z3RoPiMgKCR7bmFtZX0pYCk7CiAKIC8vIGF0dHJpYnV0ZVN0eWxlTWFwLmdldEFsbAogCkBAIC0z
MDIsMTQgKzMwOSwxNCBAQCB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9nZXQoZnVuY3Rpb24oc3R5
bGVEZWNsLCBwcm9wZXJ0eU1hcCl7CiAgICAgc3R5bGVEZWNsLnNldFByb3BlcnR5KG5hbWUsICcx
MHB4IDIwcHggMzBweCcpOwogICAgIGFzc2VydF9lcXVhbHMocHJvcGVydHlNYXAuZ2V0QWxsKG5h
bWUpLmxlbmd0aCwgMyk7CiAgICAgYXNzZXJ0X3RydWUocHJvcGVydHlNYXAuZ2V0QWxsKG5hbWUp
LmV2ZXJ5KHggPT4geCBpbnN0YW5jZW9mIENTU1VuaXRWYWx1ZSkpOwotfSwgbmFtZSA9PiBgJHtu
YW1lfS5nZXRBbGwgcmV0dXJucyBhIGxpc3Qgb2YgQ1NTVW5pdFZhbHVlcyBmb3IgPGxlbmd0aD4r
YCk7Cit9LCBuYW1lID0+IGBTdHlsZVByb3BlcnR5TWFwLmdldEFsbCByZXR1cm5zIGEgbGlzdCBv
ZiBDU1NVbml0VmFsdWVzIGZvciA8bGVuZ3RoPisgKCR7bmFtZX0pYCk7CiAKIHRlc3Rfc3R5bGVf
cHJvcGVydHlfbWFwX2dldChmdW5jdGlvbihzdHlsZURlY2wsIHByb3BlcnR5TWFwKXsKICAgICBs
ZXQgbmFtZSA9IGdlbl9wcm9wKCc8bGVuZ3RoPiMnLCAnMHB4Jyk7CiAgICAgc3R5bGVEZWNsLnNl
dFByb3BlcnR5KG5hbWUsICcxMHB4LCAyMHB4LCAzMHB4Jyk7CiAgICAgYXNzZXJ0X2VxdWFscyhw
cm9wZXJ0eU1hcC5nZXRBbGwobmFtZSkubGVuZ3RoLCAzKTsKICAgICBhc3NlcnRfdHJ1ZShwcm9w
ZXJ0eU1hcC5nZXRBbGwobmFtZSkuZXZlcnkoeCA9PiB4IGluc3RhbmNlb2YgQ1NTVW5pdFZhbHVl
KSk7Ci19LCBuYW1lID0+IGAke25hbWV9LmdldEFsbCByZXR1cm5zIGEgbGlzdCBvZiBDU1NVbml0
VmFsdWVzIGZvciA8bGVuZ3RoPiNgKTsKK30sIG5hbWUgPT4gYFN0eWxlUHJvcGVydHlNYXAuZ2V0
QWxsIHJldHVybnMgYSBsaXN0IG9mIENTU1VuaXRWYWx1ZXMgZm9yIDxsZW5ndGg+IyAoJHtuYW1l
fSlgKTsKIAogLy8gU3R5bGVQcm9wZXJ0eU1hcC5zZXQKIApAQCAtMzE4LDEzICszMjUsMTUgQEAg
ZnVuY3Rpb24gdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0X3VzaW5nX3Byb3BlcnR5X21hcChw
cm9wZXJ0eU1hcE5hbWUsIHByb3BlcnQKICAgICAgICAgbGV0IG5hbWUgPSBnZW5fcHJvcChvcHRp
b25zLnN5bnRheCwgb3B0aW9ucy5pbml0aWFsVmFsdWUpOwogICAgICAgICBwcm9wZXJ0eU1hcC5j
bGVhcigpOwogCisgICAgICAgIGxldCBlbnN1cmVBcnJheSA9IHYgPT4gdi5jb25zdHJ1Y3RvciA9
PT0gQXJyYXkgPyB2IDogW3ZdOworCiAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIG9wdGlvbnMu
c2hvdWxkQWNjZXB0KQotICAgICAgICAgICAgcHJvcGVydHlNYXAuc2V0KG5hbWUsIHZhbHVlKTsK
KyAgICAgICAgICAgIHByb3BlcnR5TWFwLnNldChuYW1lLCAuLi5lbnN1cmVBcnJheSh2YWx1ZSkp
OwogCiAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIG9wdGlvbnMuc2hvdWxkUmVqZWN0KSB7Ci0g
ICAgICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gcHJvcGVydHlN
YXAuc2V0KG5hbWUsIHZhbHVlKSk7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IoKSwgKCkgPT4gcHJvcGVydHlNYXAuc2V0KG5hbWUsIC4uLmVuc3VyZUFycmF5KHZhbHVl
KSkpOwogICAgICAgICB9Ci0gICAgfSwgYCR7cHJvcGVydHlNYXBOYW1lfS5zZXQgYWNjZXB0cyBj
b3JyZWN0IENTU1VuaXRWYWx1ZXMgZm9yICR7b3B0aW9ucy5zeW50YXh9YCk7CisgICAgfSwgYFN0
eWxlUHJvcGVydHlNYXAuc2V0IGFjY2VwdHMgY29ycmVjdCBDU1NTdHlsZVZhbHVlcyBmb3IgJHtv
cHRpb25zLnN5bnRheH0gKCR7cHJvcGVydHlNYXBOYW1lfSlgKTsKIH0KIAogLy8gVmVyaWZ5IHRo
YXQgdGhlIGNvcnJlY3QgQ1NTU3R5bGVWYWx1ZXMgYXJlIGFjY2VwdGVkL3JlamVjdGVkIGZvciBh
IHJlZ2lzdGVyZWQKQEAgLTM1Myw3NyArMzYyLDc3IEBAIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFw
X3NldCh7CiAgICAgc3ludGF4OiAnPGFuZ2xlPicsCiAgICAgaW5pdGlhbFZhbHVlOiAnMGRlZycs
CiAgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLmRlZyg0MiksIENTUy50dXJuKDIpLCAnNDJkZWcnXSwK
LSAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnNDJkZWcnKSwgQ1NTLnB4KDE1KSwgJzUwcHgn
XSwKKyAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnNDJkZWcnKSwgQ1NTLnB4KDE1KSwgJzUw
cHgnLCBbQ1NTLmRlZygxNSksICcxMGRlZyddXSwKIH0pOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5
X21hcF9zZXQoewogICAgIHN5bnRheDogJzxjdXN0b20taWRlbnQ+JywKICAgICBpbml0aWFsVmFs
dWU6ICdub25lJywKICAgICBzaG91bGRBY2NlcHQ6IFtrZXl3b3JkKCdmb28nKSwgJ2ZvbyddLAot
ICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCdmb28nKSwgQ1NTLnB4KDE1KSwgJzE1cHgnXSwK
KyAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnZm9vJyksIENTUy5weCgxNSksICcxNXB4Jywg
W2tleXdvcmQoJ2ZvbycpLCAnZm9vJ11dLAogfSk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFw
X3NldCh7CiAgICAgc3ludGF4OiAnPGltYWdlPicsCiAgICAgaW5pdGlhbFZhbHVlOiAndXJsKGEp
JywKICAgICBzaG91bGRBY2NlcHQ6IFt1cmxfaW1hZ2UoJ3VybChiKScpLCAndXJsKGIpJ10sCi0g
ICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJ3VybChiKScpLCBDU1MucHgoMTAwKSwgJzUwcHgn
XSwKKyAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgndXJsKGIpJyksIENTUy5weCgxMDApLCAn
NTBweCcsIFt1cmxfaW1hZ2UoJ3VybCgxKScpLCAndXJsKDIpJ11dLAogfSk7CiAKIHRlc3Rfc3R5
bGVfcHJvcGVydHlfbWFwX3NldCh7CiAgICAgc3ludGF4OiAnPGludGVnZXI+JywKICAgICBpbml0
aWFsVmFsdWU6ICcwJywKLSAgICBzaG91bGRBY2NlcHQ6IFtDU1MubnVtYmVyKDEpLCBDU1MubnVt
YmVyKC00MiksICcxJywgJy00MiddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0Micp
LCBDU1MucHgoMTAwKSwgJzUwcHgnXSwKKyAgICBzaG91bGRBY2NlcHQ6IFtDU1MubnVtYmVyKDEp
LCBDU1MubnVtYmVyKC00MiksICcxJywgJy00MicsICdjYWxjKDIuNCknXSwKKyAgICBzaG91bGRS
ZWplY3Q6IFt1bnBhcnNlZCgnNDInKSwgQ1NTLnB4KDEwMCksICc1MHB4JywgW0NTUy5udW1iZXIo
NDIpLCAnNDInXSwgJ2NhbGMoMnB4ICsgMXB4KSddLAogfSk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVy
dHlfbWFwX3NldCh7CiAgICAgc3ludGF4OiAnPGxlbmd0aC1wZXJjZW50YWdlPicsCiAgICAgaW5p
dGlhbFZhbHVlOiAnMHB4JywKICAgICBzaG91bGRBY2NlcHQ6IFtDU1MucGVyY2VudCgxMCksIENT
Uy5weCgxKSwgQ1NTLmVtKDEpLCAnMTBweCcsICcxMCUnXSwKLSAgICBzaG91bGRSZWplY3Q6IFt1
bnBhcnNlZCgnMTAlJyksIHVucGFyc2VkKCcxMHB4JyksIENTUy5kcGkoMSksICd1cmwoYiknXSwK
KyAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnMTAlJyksIHVucGFyc2VkKCcxMHB4JyksIENT
Uy5kcGkoMSksICd1cmwoYiknLCBbQ1NTLnBlcmNlbnQoMTApLCAnMTAlJ11dLAogfSk7CiAKIHRl
c3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CiAgICAgc3ludGF4OiAnPGxlbmd0aD4nLAogICAg
IGluaXRpYWxWYWx1ZTogJzBweCcsCiAgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLnB4KDEwKSwgQ1NT
LmVtKDEwKSwgQ1NTLnZoKDIwMCksIHN1bShDU1MucHgoMTApLCBDU1MuZW0oMjApKSwgJzEwZW0n
LCAnY2FsYygxMHB4ICsgMTBlbSknXSwKLSAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnMTBw
eCcpLCBDU1MucGVyY2VudCgxKSwgJ3VybChiKSddLAorICAgIHNob3VsZFJlamVjdDogW3VucGFy
c2VkKCcxMHB4JyksIENTUy5wZXJjZW50KDEpLCAndXJsKGIpJywgW0NTUy5lbSgxMCksICcxMHB4
J11dLAogfSk7CiAKIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CiAgICAgc3ludGF4OiAn
PG51bWJlcj4nLAogICAgIGluaXRpYWxWYWx1ZTogJzAnLAogICAgIHNob3VsZEFjY2VwdDogW0NT
Uy5udW1iZXIoMTMzNyksIENTUy5udW1iZXIoLTQyLjUpLCAnMTMzNycsICctNDIuNSddLAotICAg
IHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0MicpLCBDU1MucHgoMTUpLCAnI2ZlZiddLAorICAg
IHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0MicpLCBDU1MucHgoMTUpLCAnI2ZlZicsIFtDU1Mu
bnVtYmVyKC00Mi41KSwgJzQyLjUnXV0sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBf
c2V0KHsKICAgICBzeW50YXg6ICc8cGVyY2VudGFnZT4nLAogICAgIGluaXRpYWxWYWx1ZTogJzAl
JywKICAgICBzaG91bGRBY2NlcHQ6IFtDU1MucGVyY2VudCgxMCksICcxMCUnXSwKLSAgICBzaG91
bGRSZWplY3Q6IFt1bnBhcnNlZCgnMTAlJyksIENTUy5weCgxKSwgJyNmZWYnXSwKKyAgICBzaG91
bGRSZWplY3Q6IFt1bnBhcnNlZCgnMTAlJyksIENTUy5weCgxKSwgJyNmZWYnLCBbQ1NTLnBlcmNl
bnQoMTApLCAnMSUnXV0sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAg
ICBzeW50YXg6ICc8cmVzb2x1dGlvbj4nLAogICAgIGluaXRpYWxWYWx1ZTogJzBkcGknLAogICAg
IHNob3VsZEFjY2VwdDogW0NTUy5kcGkoMTAwKSwgQ1NTLmRwY20oMTApLCBDU1MuZHBweCg1MCks
ICcxMDBkcGknXSwKLSAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnNDInKSwgQ1NTLnB4KDE1
KSwgJyNmZWYnXSwKKyAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnNDInKSwgQ1NTLnB4KDE1
KSwgJyNmZWYnLCBbQ1NTLmRwaSgxKSwgJzJkcGknXV0sCiB9KTsKIAogdGVzdF9zdHlsZV9wcm9w
ZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8dGltZT4nLAogICAgIGluaXRpYWxWYWx1ZTog
JzBzJywKICAgICBzaG91bGRBY2NlcHQ6IFtDU1Mucyg0MiksIENTUy5tcygxNiksICcxNm1zJ10s
Ci0gICAgc2hvdWxkUmVqZWN0OiBbdW5wYXJzZWQoJzQycycpLCBDU1MucHgoMTUpLCAnI2ZlZidd
LAorICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCc0MnMnKSwgQ1NTLnB4KDE1KSwgJyNmZWYn
LCBbQ1NTLnMoNSksICc2cyddXSwKIH0pOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQo
ewogICAgIHN5bnRheDogJzx1cmw+JywKICAgICBpbml0aWFsVmFsdWU6ICd1cmwoYSknLAogICAg
IHNob3VsZEFjY2VwdDogW3VybF9pbWFnZSgndXJsKGIpJyldLAotICAgIHNob3VsZFJlamVjdDog
W3VucGFyc2VkKCd1cmwoYiknKSwgQ1NTLnB4KDEwMCksICcjZmVmJ10sCisgICAgc2hvdWxkUmVq
ZWN0OiBbdW5wYXJzZWQoJ3VybChiKScpLCBDU1MucHgoMTAwKSwgJyNmZWYnLCBbdXJsX2ltYWdl
KCd1cmwoMSknKSwgJ3VybCgyKSddXSwKIH0pOwogCiB0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9z
ZXQoewpAQCAtNDM3LDE0ICs0NDYsMzA4IEBAIHRlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7
CiAgICAgc3ludGF4OiAnbm9uZSB8IHRoaW5nIHwgVEhJTkcnLAogICAgIGluaXRpYWxWYWx1ZTog
J25vbmUnLAogICAgIHNob3VsZEFjY2VwdDogW2tleXdvcmQoJ3RoaW5nJyksIGtleXdvcmQoJ1RI
SU5HJyksICd0aGluZyddLAotICAgIHNob3VsZFJlamVjdDogW3VucGFyc2VkKCd0aGluZycpLCBD
U1MucHgoMTUpLCBrZXl3b3JkKCdub3RhdGhpbmcnKSwgJ25vdGF0aGluZyddLAorICAgIHNob3Vs
ZFJlamVjdDogW3VucGFyc2VkKCd0aGluZycpLCBDU1MucHgoMTUpLCBrZXl3b3JkKCdub3RhdGhp
bmcnKSwgJ25vdGF0aGluZycsIFtrZXl3b3JkKCd0aGluZycpLCBrZXl3b3JkKCd0aGluZycpXV0s
CiB9KTsKIAogdGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKICAgICBzeW50YXg6ICc8YW5n
bGU+IHwgPGxlbmd0aD4nLAogICAgIGluaXRpYWxWYWx1ZTogJzBkZWcnLAogICAgIHNob3VsZEFj
Y2VwdDogW0NTUy5kZWcoNDIpLCBDU1MudHVybigyKSwgQ1NTLnB4KDEwKSwgQ1NTLmVtKDEwKSwg
JzEwZGVnJywgJzEwcHgnXSwKLSAgICBzaG91bGRSZWplY3Q6IFt1bnBhcnNlZCgnNDJkZWcnKSwg
dW5wYXJzZWQoJzIwcHgnKSwgQ1NTLnMoMSksICcjZmVmJ10sCisgICAgc2hvdWxkUmVqZWN0OiBb
dW5wYXJzZWQoJzQyZGVnJyksIHVucGFyc2VkKCcyMHB4JyksIENTUy5zKDEpLCAnI2ZlZicsIFtD
U1MuZGVnKDQyKSwgJzIxZGVnJ11dLAorfSk7CisKKy8vIFN0eWxlUHJvcGVydHlNYXAuc2V0IGZv
ciBsaXN0LXZhbHVlZCBwcm9wZXJ0aWVzOgorCit0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQo
eworICAgIHN5bnRheDogJzxhbmdsZT4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcwZGVnJywKKyAg
ICBzaG91bGRBY2NlcHQ6IFtDU1MuZGVnKDE1KSwgW0NTUy5kZWcoMTUpLCAnMTBkZWcnXSwgJzE1
ZGVnIDEwZGVnJ10sCisgICAgc2hvdWxkUmVqZWN0OiBbW0NTUy5kZWcoMTUpLCBDU1MucHgoMTAp
XSwgJzE1ZGVnIDEwcHgnXSwKK30pOworCit0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoewor
ICAgIHN5bnRheDogJzxjdXN0b20taWRlbnQ+KycsCisgICAgaW5pdGlhbFZhbHVlOiAnbm9uZScs
CisgICAgc2hvdWxkQWNjZXB0OiBba2V5d29yZCgnZm9vJyksIFtrZXl3b3JkKCdmb28nKSwgJ2Jh
ciddLCAnZm9vIGJhciddLAorICAgIHNob3VsZFJlamVjdDogW1trZXl3b3JkKCdmb28nKSwgQ1NT
LnB4KDEwKV0sICdmb28gMTBweCddLAorfSk7CisKK3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3Nl
dCh7CisgICAgc3ludGF4OiAnPGltYWdlPisnLAorICAgIGluaXRpYWxWYWx1ZTogJ3VybChhKScs
CisgICAgc2hvdWxkQWNjZXB0OiBbdXJsX2ltYWdlKCd1cmwoMSknKSwgW3VybF9pbWFnZSgndXJs
KDEpJyksICd1cmwoMiknXSwgJ3VybCgxKSB1cmwoMiknXSwKKyAgICBzaG91bGRSZWplY3Q6IFtb
dXJsX2ltYWdlKCd1cmwoMSknKSwgQ1NTLnB4KDEwKV0sICd1cmwoMSkgMTBweCddLAorfSk7CisK
K3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4OiAnPGludGVnZXI+Kycs
CisgICAgaW5pdGlhbFZhbHVlOiAnMCcsCisgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLm51bWJlcig0
MiksIFtDU1MubnVtYmVyKDQyKSwgJzQyJ10sICc0MiA0MicsICdjYWxjKDIuNCkgY2FsYygyLjYp
J10sCisgICAgc2hvdWxkUmVqZWN0OiBbW0NTUy5udW1iZXIoNDIpLCBrZXl3b3JkKCdub2ludCcp
XSwgJzQyIG5vaW50JywgJ2NhbGMoMnB4ICsgMnB4KSddLAorfSk7CisKK3Rlc3Rfc3R5bGVfcHJv
cGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4OiAnPGxlbmd0aC1wZXJjZW50YWdlPisnLAorICAg
IGluaXRpYWxWYWx1ZTogJzBweCcsCisgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLnBlcmNlbnQoMTAp
LCBbQ1NTLnBlcmNlbnQoMTApLCAnMTAlJ11dLAorICAgIHNob3VsZFJlamVjdDogW1tDU1MucGVy
Y2VudCgxMCksIGtleXdvcmQoJ25vbGVuZ3RoJyldLCAnMTAlIG5vbGVuZ3RoJ10sCit9KTsKKwor
dGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8bGVuZ3RoPisnLAor
ICAgIGluaXRpYWxWYWx1ZTogJzBweCcsCisgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLmVtKDEwKSwg
W0NTUy5lbSgxMCksICcxMHB4J11dLAorICAgIHNob3VsZFJlamVjdDogW1tDU1MuZW0oMTApLCBr
ZXl3b3JkKCdub2xlbmd0aCcpLCAnMTBlbSBub2xlbmd0aCddXSwKK30pOworCit0ZXN0X3N0eWxl
X3Byb3BlcnR5X21hcF9zZXQoeworICAgIHN5bnRheDogJzxudW1iZXI+KycsCisgICAgaW5pdGlh
bFZhbHVlOiAnMCcsCisgICAgc2hvdWxkQWNjZXB0OiBbQ1NTLm51bWJlcigtNDIuNSksIFtDU1Mu
bnVtYmVyKC00Mi41KSwgJzQyLjUnXSwgJy00Mi41IDQyLjUnXSwKKyAgICBzaG91bGRSZWplY3Q6
IFtbQ1NTLm51bWJlcigtNDIuNSksIENTUy5weCgxMCldLCAnLTQyLjUgMTBweCddLAorfSk7CisK
K3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4OiAnPHBlcmNlbnRhZ2U+
KycsCisgICAgaW5pdGlhbFZhbHVlOiAnMCUnLAorICAgIHNob3VsZEFjY2VwdDogW0NTUy5wZXJj
ZW50KDEwKSwgW0NTUy5wZXJjZW50KDEwKSwgJzElJ10sICcxMCUgMSUnXSwKKyAgICBzaG91bGRS
ZWplY3Q6IFtbQ1NTLnBlcmNlbnQoMTApLCBrZXl3b3JkKCdmb28nKV0sICcxMCUgZm9vJ10sCit9
KTsKKwordGVzdF9zdHlsZV9wcm9wZXJ0eV9tYXBfc2V0KHsKKyAgICBzeW50YXg6ICc8cmVzb2x1
dGlvbj4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcwZHBpJywKKyAgICBzaG91bGRBY2NlcHQ6IFtD
U1MuZHBpKDEpLCBbQ1NTLmRwaSgxKSwgJzJkcGknXSwgJzFkcGkgMmRwaSddLAorICAgIHNob3Vs
ZFJlamVjdDogW1tDU1MuZHBpKDEpLCBrZXl3b3JkKCdmb28nKV0sICcxZHBpIGZvbyddLAorfSk7
CisKK3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4OiAnPHRpbWU+Kycs
CisgICAgaW5pdGlhbFZhbHVlOiAnMHMnLAorICAgIHNob3VsZEFjY2VwdDogW0NTUy5zKDUpLCBb
Q1NTLnMoNSksICc2cyddLCAnNXMgNnMnXSwKKyAgICBzaG91bGRSZWplY3Q6IFtbQ1NTLnMoNSks
IGtleXdvcmQoJ2ZvbycpXSwgJzVzIGZvbyddLAorfSk7CisKK3Rlc3Rfc3R5bGVfcHJvcGVydHlf
bWFwX3NldCh7CisgICAgc3ludGF4OiAnPHVybD4rJywKKyAgICBpbml0aWFsVmFsdWU6ICd1cmwo
YSknLAorICAgIHNob3VsZEFjY2VwdDogW3VybF9pbWFnZSgndXJsKDEpJyksIFt1cmxfaW1hZ2Uo
J3VybCgxKScpLCAndXJsKDIpJ10sICd1cmwoMSkgdXJsKDIpJ10sCisgICAgc2hvdWxkUmVqZWN0
OiBbW3VybF9pbWFnZSgndXJsKDEpJyksIENTUy5weCgxMCldLCAndXJsKDEpIDEwcHgnXSwKK30p
OworCit0ZXN0X3N0eWxlX3Byb3BlcnR5X21hcF9zZXQoeworICAgIHN5bnRheDogJ3RoaW5nKycs
CisgICAgaW5pdGlhbFZhbHVlOiAndGhpbmcnLAorICAgIHNob3VsZEFjY2VwdDogW2tleXdvcmQo
J3RoaW5nJyksIFtrZXl3b3JkKCd0aGluZycpLCAndGhpbmcnXSwgJ3RoaW5nIHRoaW5nJ10sCisg
ICAgc2hvdWxkUmVqZWN0OiBbW2tleXdvcmQoJ3RoaW5nJyksIENTUy5weCgxMCldLCAndGhpbmcg
MTBweCddLAorfSk7CisKK3Rlc3Rfc3R5bGVfcHJvcGVydHlfbWFwX3NldCh7CisgICAgc3ludGF4
OiAnPGxlbmd0aD4jJywKKyAgICBpbml0aWFsVmFsdWU6ICcwcHgnLAorICAgIHNob3VsZEFjY2Vw
dDogW0NTUy5lbSgxMCksIFtDU1MuZW0oMTApLCAnMTBweCddXSwKKyAgICBzaG91bGRSZWplY3Q6
IFtbQ1NTLmVtKDEwKSwga2V5d29yZCgnbm9sZW5ndGgnKSwgJzEwZW0gbm9sZW5ndGgnXV0sCit9
KTsKKworZnVuY3Rpb24gdGVzdF9hcHBlbmRfZm9yX3Byb3BlcnR5X21hcChwcm9wZXJ0eU1hcE5h
bWUsIHByb3BlcnR5TWFwLCBvcHRpb25zKSB7CisgICAgdGVzdChmdW5jdGlvbigpeworICAgICAg
ICBsZXQgbmFtZSA9IGdlbl9wcm9wKG9wdGlvbnMuc3ludGF4LCBvcHRpb25zLmluaXRpYWxWYWx1
ZSk7CisKKyAgICAgICAgbGV0IGVuc3VyZUFycmF5ID0gdiA9PiB2LmNvbnN0cnVjdG9yID09PSBB
cnJheSA/IHYgOiBbdl07CisKKyAgICAgICAgZm9yIChsZXQgdmFsdWUgb2Ygb3B0aW9ucy52YWx1
ZXMpIHsKKyAgICAgICAgICAgIHByb3BlcnR5TWFwLmNsZWFyKCk7CisKKyAgICAgICAgICAgIGlm
ICh2YWx1ZS5iYXNlICE9PSBudWxsKQorICAgICAgICAgICAgICAgIHByb3BlcnR5TWFwLnNldChu
YW1lLCAuLi5lbnN1cmVBcnJheSh2YWx1ZS5iYXNlKSk7CisKKyAgICAgICAgICAgIC8vIElmICdu
dWxsJyBpcyBleHBlY3RlZCwgaXQgbWVhbnMgd2UgZXhwZWN0IHRoZSBhcHBlbmQgdG8gZmFpbC4K
KyAgICAgICAgICAgIGlmICh2YWx1ZS5leHBlY3QgIT09IG51bGwpIHsKKyAgICAgICAgICAgICAg
ICBwcm9wZXJ0eU1hcC5hcHBlbmQobmFtZSwgLi4uZW5zdXJlQXJyYXkodmFsdWUuYXBwZW5kKSk7
CisgICAgICAgICAgICAgICAgbGV0IGFjdHVhbCA9IEFycmF5LmZyb20ocHJvcGVydHlNYXAuZ2V0
QWxsKG5hbWUpKS5qb2luKCcgJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1
YWwsIHZhbHVlLmV4cGVjdCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBwcm9wZXJ0eU1hcC5hcHBlbmQo
bmFtZSwgLi4uZW5zdXJlQXJyYXkodmFsdWUuYXBwZW5kKSkpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfSwgYFN0eWxlUHJvcGVydHlNYXAuYXBwZW5kIGFjY2VwdHMgY29ycmVjdCBD
U1NTdHlsZVZhbHVlcyBmb3IgJHtvcHRpb25zLnN5bnRheH0gKCR7cHJvcGVydHlNYXBOYW1lfSlg
KTsKK30KKworLy8gVmVyaWZ5IHRoYXQgdGhlIGNvcnJlY3QgQ1NTU3R5bGVWYWx1ZXMgYXJlIGFj
Y2VwdGVkL3JlamVjdGVkIHdoZW4KKy8vIGFwcGVuZGluZyB2YWx1ZXMgdG8gbGlzdC12YWx1ZWQg
cHJvcGVydGllcy4KKy8vCisvLyBUaGUgc2FtZSB0ZXN0IGlzIHBlcmZvcm1lZCB0d2ljZTogb25j
ZSBmb3IgYXR0cmlidXRlU3R5bGVNYXAsIGFuZCBvbmNlCisvLyBmb3Igc3R5bGVNYXAuCitmdW5j
dGlvbiB0ZXN0X2FwcGVuZChvcHRpb25zKSB7CisgICAgdGVzdF9hcHBlbmRfZm9yX3Byb3BlcnR5
X21hcCgnYXR0cmlidXRlU3R5bGVNYXAnLCB0YXJnZXQuYXR0cmlidXRlU3R5bGVNYXAsIG9wdGlv
bnMpOworICAgIHRlc3RfYXBwZW5kX2Zvcl9wcm9wZXJ0eV9tYXAoJ3N0eWxlTWFwJywgc3R5bGUu
c2hlZXQucnVsZXNbMF0uc3R5bGVNYXAsIG9wdGlvbnMpOworfQorCit0ZXN0X2FwcGVuZCh7Cisg
ICAgc3ludGF4OiAnPGFuZ2xlPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzBkZWcnLAorICAgIHZh
bHVlczogWworICAgICAgICB7IGJhc2U6IFtDU1MuZGVnKDEpXSwgYXBwZW5kOiBbQ1NTLnB4KDEp
XSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5kZWcoMSldLCBhcHBlbmQ6
IFtDU1MuZGVnKDIpLCBDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNl
OiBbQ1NTLmRlZygxKV0sIGFwcGVuZDogW0NTUy5kZWcoMiksICcxcHgnXSwgZXhwZWN0OiBudWxs
IH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5kZWcoMSldLCBhcHBlbmQ6IFtDU1MudHVybigyKSwg
Q1NTLmRlZygzKV0sIGV4cGVjdDogJzFkZWcgMnR1cm4gM2RlZycgfSwKKyAgICAgICAgeyBiYXNl
OiBbQ1NTLmRlZygxKSwgQ1NTLmRlZygyKV0sIGFwcGVuZDogW0NTUy5kZWcoMyldLCBleHBlY3Q6
ICcxZGVnIDJkZWcgM2RlZycgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLmRlZygxKV0sIGFwcGVu
ZDogW0NTUy5kZWcoMiksICczZGVnJ10sIGV4cGVjdDogJzFkZWcgMmRlZyAzZGVnJyB9LAorICAg
ICAgICB7IGJhc2U6IFtDU1MuZGVnKDEpXSwgYXBwZW5kOiBbQ1NTLmRlZygyKSwgJzN0dXJuIDRk
ZWcnXSwgZXhwZWN0OiAnMWRlZyAyZGVnIDN0dXJuIDRkZWcnIH0sCisgICAgICAgIHsgYmFzZTog
bnVsbCwgYXBwZW5kOiBbQ1NTLmRlZygxKSwgJzJkZWcnXSwgZXhwZWN0OiAnMWRlZyAyZGVnJyB9
LAorICAgIF0sCit9KTsKKwordGVzdF9hcHBlbmQoeworICAgIHN5bnRheDogJzxjdXN0b20taWRl
bnQ+KycsCisgICAgaW5pdGlhbFZhbHVlOiAnbm9uZScsCisgICAgdmFsdWVzOiBbCisgICAgICAg
IHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBbQ1NTLnB4KDEpXSwgZXhwZWN0OiBu
dWxsIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5d29y
ZCgnYmFyJyksIENTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtr
ZXl3b3JkKCdmb28nKV0sIGFwcGVuZDogW2tleXdvcmQoJ2JhcicpLCAnMXB4J10sIGV4cGVjdDog
bnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtrZXl3b3JkKCdmb28nKV0sIGFwcGVuZDogW2tleXdv
cmQoJ2JhcicpLCBrZXl3b3JkKCdiYXonKV0sIGV4cGVjdDogJ2ZvbyBiYXIgYmF6JyB9LAorICAg
ICAgICB7IGJhc2U6IFtrZXl3b3JkKCdmb28nKSwga2V5d29yZCgnYmFyJyldLCBhcHBlbmQ6IFtr
ZXl3b3JkKCdiYXonKV0sIGV4cGVjdDogJ2ZvbyBiYXIgYmF6JyB9LAorICAgICAgICB7IGJhc2U6
IFtrZXl3b3JkKCdmb28nKV0sIGFwcGVuZDogW2tleXdvcmQoJ2JhcicpLCAnYmF6J10sIGV4cGVj
dDogJ2ZvbyBiYXIgYmF6JyB9LAorICAgICAgICB7IGJhc2U6IFtrZXl3b3JkKCdmb28nKV0sIGFw
cGVuZDogW2tleXdvcmQoJ2JhcicpLCAnYmF6IHppbSddLCBleHBlY3Q6ICdmb28gYmFyIGJheiB6
aW0nIH0sCisgICAgICAgIHsgYmFzZTogbnVsbCwgYXBwZW5kOiBba2V5d29yZCgnZm9vJyksICdi
YXInXSwgZXhwZWN0OiAnZm9vIGJhcicgfSwKKyAgICBdLAorfSk7CisKK1snPGltYWdlPisnLCAn
PHVybD4rJ10uZm9yRWFjaCgoc3ludGF4KSA9PiB7CisgICAgdGVzdF9hcHBlbmQoeworICAgICAg
ICBzeW50YXg6IHN5bnRheCwKKyAgICAgICAgaW5pdGlhbFZhbHVlOiAndXJsKDApJywKKyAgICAg
ICAgdmFsdWVzOiBbCisgICAgICAgICAgICB7IGJhc2U6IFt1cmxfaW1hZ2UoJ3VybCgiMSIpJyld
LCBhcHBlbmQ6IFtDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgICAgIHsgYmFz
ZTogW3VybF9pbWFnZSgndXJsKCIxIiknKV0sIGFwcGVuZDogW3VybF9pbWFnZSgndXJsKCIyIikn
KSwgQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgICAgICB7IGJhc2U6IFt1cmxf
aW1hZ2UoJ3VybCgiMSIpJyldLCBhcHBlbmQ6IFt1cmxfaW1hZ2UoJ3VybCgiMiIpJyksICcxcHgn
XSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgICAgICB7IGJhc2U6IFt1cmxfaW1hZ2UoJ3VybCgi
MSIpJyldLCBhcHBlbmQ6IFt1cmxfaW1hZ2UoJ3VybCgiMiIpJyksIHVybF9pbWFnZSgndXJsKCIz
IiknKV0sIGV4cGVjdDogJ3VybCgiMSIpIHVybCgiMiIpIHVybCgiMyIpJyB9LAorICAgICAgICAg
ICAgeyBiYXNlOiBbdXJsX2ltYWdlKCd1cmwoIjEiKScpLCB1cmxfaW1hZ2UoJ3VybCgiMiIpJyld
LCBhcHBlbmQ6IFt1cmxfaW1hZ2UoJ3VybCgiMyIpJyldLCBleHBlY3Q6ICd1cmwoIjEiKSB1cmwo
IjIiKSB1cmwoIjMiKScgfSwKKyAgICAgICAgICAgIHsgYmFzZTogW3VybF9pbWFnZSgndXJsKCIx
IiknKV0sIGFwcGVuZDogW3VybF9pbWFnZSgndXJsKCIyIiknKSwgJ3VybCgiMyIpJ10sIGV4cGVj
dDogJ3VybCgiMSIpIHVybCgiMiIpIHVybCgiMyIpJyB9LAorICAgICAgICAgICAgeyBiYXNlOiBb
dXJsX2ltYWdlKCd1cmwoIjEiKScpXSwgYXBwZW5kOiBbdXJsX2ltYWdlKCd1cmwoIjIiKScpLCAn
dXJsKCIzIikgdXJsKCI0IiknXSwgZXhwZWN0OiAndXJsKCIxIikgdXJsKCIyIikgdXJsKCIzIikg
dXJsKCI0IiknIH0sCisgICAgICAgICAgICB7IGJhc2U6IG51bGwsIGFwcGVuZDogW3VybF9pbWFn
ZSgndXJsKCIxIiknKSwgJ3VybCgiMiIpJ10sIGV4cGVjdDogJ3VybCgiMSIpIHVybCgiMiIpJyB9
LAorICAgICAgICBdLAorICAgIH0pOworfSk7CisKK3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6
ICc8aW50ZWdlcj4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcwJywKKyAgICB2YWx1ZXM6IFsKKyAg
ICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigxKV0sIGFwcGVuZDogW0NTUy5weCgxKV0sIGV4cGVj
dDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MubnVtYmVyKDEpXSwgYXBwZW5kOiBbQ1NT
Lm51bWJlcigyKSwgQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTog
W0NTUy5udW1iZXIoMSldLCBhcHBlbmQ6IFtDU1MubnVtYmVyKDIpLCAnbm9pbnQnXSwgZXhwZWN0
OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5udW1iZXIoMSldLCBhcHBlbmQ6IFtDU1Mu
bnVtYmVyKDIpLCBDU1MubnVtYmVyKDMpXSwgZXhwZWN0OiAnMSAyIDMnIH0sCisgICAgICAgIHsg
YmFzZTogW0NTUy5udW1iZXIoMSksIENTUy5udW1iZXIoMildLCBhcHBlbmQ6IFtDU1MubnVtYmVy
KDMpXSwgZXhwZWN0OiAnMSAyIDMnIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5udW1iZXIoMSld
LCBhcHBlbmQ6IFtDU1MubnVtYmVyKDIpLCAnMyddLCBleHBlY3Q6ICcxIDIgMycgfSwKKyAgICAg
ICAgeyBiYXNlOiBbQ1NTLm51bWJlcigxKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMiksICczIDQn
XSwgZXhwZWN0OiAnMSAyIDMgNCcgfSwKKyAgICAgICAgeyBiYXNlOiBudWxsLCBhcHBlbmQ6IFtD
U1MubnVtYmVyKDEpLCAnMiddLCBleHBlY3Q6ICcxIDInIH0sCisgICAgXSwKK30pOworCit0ZXN0
X2FwcGVuZCh7CisgICAgc3ludGF4OiAnPGxlbmd0aC1wZXJjZW50YWdlPisnLAorICAgIGluaXRp
YWxWYWx1ZTogJzBweCcsCisgICAgdmFsdWVzOiBbCisgICAgICAgIHsgYmFzZTogW0NTUy5weCgx
KV0sIGFwcGVuZDogW2tleXdvcmQoJ25vbGVuZ3RoJyldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAg
ICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLnB4KDIpLCBrZXl3b3JkKCdub2xl
bmd0aCcpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5weCgxKV0sIGFw
cGVuZDogW0NTUy5weCgyKSwgJ25vbGVuZ3RoJ10sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7
IGJhc2U6IFtDU1MucHgoMSldLCBhcHBlbmQ6IFtDU1MucHgoMiksIENTUy5wZXJjZW50KDMpXSwg
ZXhwZWN0OiAnMXB4IDJweCAzJScgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpLCBDU1Mu
cHgoMildLCBhcHBlbmQ6IFtDU1MucGVyY2VudCgzKV0sIGV4cGVjdDogJzFweCAycHggMyUnIH0s
CisgICAgICAgIHsgYmFzZTogW0NTUy5weCgxKV0sIGFwcGVuZDogW0NTUy5wZXJjZW50KDIpLCAn
M3B4J10sIGV4cGVjdDogJzFweCAyJSAzcHgnIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5weCgx
KV0sIGFwcGVuZDogW0NTUy5weCgyKSwgJzMlIDRweCddLCBleHBlY3Q6ICcxcHggMnB4IDMlIDRw
eCcgfSwKKyAgICAgICAgeyBiYXNlOiBudWxsLCBhcHBlbmQ6IFtDU1MucHgoMSksICcyJSddLCBl
eHBlY3Q6ICcxcHggMiUnIH0sCisgICAgXSwKK30pOworCit0ZXN0X2FwcGVuZCh7CisgICAgc3lu
dGF4OiAnPGxlbmd0aD4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcwJywKKyAgICB2YWx1ZXM6IFsK
KyAgICAgICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBba2V5d29yZCgnbm9sZW5ndGgn
KV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MucHgoMSldLCBhcHBlbmQ6
IFtDU1MucHgoMiksIGtleXdvcmQoJ25vbGVuZ3RoJyldLCBleHBlY3Q6IG51bGwgfSwKKyAgICAg
ICAgeyBiYXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLnB4KDIpLCAnbm9sZW5ndGgnXSwg
ZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5weCgxKV0sIGFwcGVuZDogW0NT
Uy5lbSgyKSwgQ1NTLnB4KDMpXSwgZXhwZWN0OiAnMXB4IDJlbSAzcHgnIH0sCisgICAgICAgIHsg
YmFzZTogW0NTUy5weCgxKSwgQ1NTLmVtKDIpXSwgYXBwZW5kOiBbQ1NTLnZoKDMpXSwgZXhwZWN0
OiAnMXB4IDJlbSAzdmgnIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5weCgxKV0sIGFwcGVuZDog
W0NTUy5lbSgyKSwgJzNweCddLCBleHBlY3Q6ICcxcHggMmVtIDNweCcgfSwKKyAgICAgICAgeyBi
YXNlOiBbQ1NTLnB4KDEpXSwgYXBwZW5kOiBbQ1NTLnB4KDIpLCAnM2VtIDRjbSddLCBleHBlY3Q6
ICcxcHggMnB4IDNlbSA0Y20nIH0sCisgICAgICAgIHsgYmFzZTogbnVsbCwgYXBwZW5kOiBbQ1NT
LnZoKDEpLCAnMnB4J10sIGV4cGVjdDogJzF2aCAycHgnIH0sCisgICAgXSwKK30pOworCit0ZXN0
X2FwcGVuZCh7CisgICAgc3ludGF4OiAnPG51bWJlcj4rJywKKyAgICBpbml0aWFsVmFsdWU6ICcw
JywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigtMSldLCBhcHBl
bmQ6IFtrZXl3b3JkKCdOYU4nKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtD
U1MubnVtYmVyKC0xKV0sIGFwcGVuZDogW0NTUy5udW1iZXIoMi41KSwga2V5d29yZCgnTmFOJyld
LCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigtMSldLCBhcHBl
bmQ6IFtDU1MubnVtYmVyKDIuNSksICcxcHgnXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsg
YmFzZTogW0NTUy5udW1iZXIoLTEpXSwgYXBwZW5kOiBbQ1NTLm51bWJlcigyLjUpLCBDU1MubnVt
YmVyKDMuMildLCBleHBlY3Q6ICctMSAyLjUgMy4yJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1Mu
bnVtYmVyKC0xKSwgQ1NTLm51bWJlcigyLjUpXSwgYXBwZW5kOiBbQ1NTLm51bWJlcigzLjIpXSwg
ZXhwZWN0OiAnLTEgMi41IDMuMicgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigtMSld
LCBhcHBlbmQ6IFtDU1MubnVtYmVyKDIuNSksICczLjInXSwgZXhwZWN0OiAnLTEgMi41IDMuMicg
fSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLm51bWJlcigtMSldLCBhcHBlbmQ6IFtDU1MubnVtYmVy
KDIuNSksICczLjIgNCddLCBleHBlY3Q6ICctMSAyLjUgMy4yIDQnIH0sCisgICAgICAgIHsgYmFz
ZTogbnVsbCwgYXBwZW5kOiBbQ1NTLm51bWJlcigtMSksICcyLjUnXSwgZXhwZWN0OiAnLTEgMi41
JyB9LAorICAgIF0sCit9KTsKKwordGVzdF9hcHBlbmQoeworICAgIHN5bnRheDogJzxwZXJjZW50
YWdlPisnLAorICAgIGluaXRpYWxWYWx1ZTogJzAlJywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAg
eyBiYXNlOiBbQ1NTLnBlcmNlbnQoMSldLCBhcHBlbmQ6IFtDU1MucHgoMSldLCBleHBlY3Q6IG51
bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnBlcmNlbnQoMSldLCBhcHBlbmQ6IFtDU1MucGVy
Y2VudCgyKSwgQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NT
Uy5wZXJjZW50KDEpXSwgYXBwZW5kOiBbQ1NTLnBlcmNlbnQoMiksICcxcHgnXSwgZXhwZWN0OiBu
dWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5wZXJjZW50KDEpXSwgYXBwZW5kOiBbQ1NTLnBl
cmNlbnQoMiksIENTUy5wZXJjZW50KDMpXSwgZXhwZWN0OiAnMSUgMiUgMyUnIH0sCisgICAgICAg
IHsgYmFzZTogW0NTUy5wZXJjZW50KDEpLCBDU1MucGVyY2VudCgyKV0sIGFwcGVuZDogW0NTUy5w
ZXJjZW50KDMpXSwgZXhwZWN0OiAnMSUgMiUgMyUnIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5w
ZXJjZW50KDEpXSwgYXBwZW5kOiBbQ1NTLnBlcmNlbnQoMiksICczJSddLCBleHBlY3Q6ICcxJSAy
JSAzJScgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnBlcmNlbnQoMSldLCBhcHBlbmQ6IFtDU1Mu
cGVyY2VudCgyKSwgJzMlIDQlJ10sIGV4cGVjdDogJzElIDIlIDMlIDQlJyB9LAorICAgICAgICB7
IGJhc2U6IG51bGwsIGFwcGVuZDogW0NTUy5wZXJjZW50KDEpLCAnMiUnXSwgZXhwZWN0OiAnMSUg
MiUnIH0sCisgICAgXSwKK30pOworCit0ZXN0X2FwcGVuZCh7CisgICAgc3ludGF4OiAnPHJlc29s
dXRpb24+KycsCisgICAgaW5pdGlhbFZhbHVlOiAnMGRwaScsCisgICAgdmFsdWVzOiBbCisgICAg
ICAgIHsgYmFzZTogW0NTUy5kcGkoMSldLCBhcHBlbmQ6IFtDU1MucHgoMSldLCBleHBlY3Q6IG51
bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLmRwaSgxKV0sIGFwcGVuZDogW0NTUy5kcGkoMiks
IENTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAgICB7IGJhc2U6IFtDU1MuZHBpKDEp
XSwgYXBwZW5kOiBbQ1NTLmRwaSgyKSwgJzFweCddLCBleHBlY3Q6IG51bGwgfSwKKyAgICAgICAg
eyBiYXNlOiBbQ1NTLmRwaSgxKV0sIGFwcGVuZDogW0NTUy5kcGkoMiksIENTUy5kcGkoMyldLCBl
eHBlY3Q6ICcxZHBpIDJkcGkgM2RwaScgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLmRwaSgxKSwg
Q1NTLmRwaSgyKV0sIGFwcGVuZDogW0NTUy5kcGkoMyldLCBleHBlY3Q6ICcxZHBpIDJkcGkgM2Rw
aScgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLmRwaSgxKV0sIGFwcGVuZDogW0NTUy5kcGkoMiks
ICczZHBpJ10sIGV4cGVjdDogJzFkcGkgMmRwaSAzZHBpJyB9LAorICAgICAgICB7IGJhc2U6IFtD
U1MuZHBpKDEpXSwgYXBwZW5kOiBbQ1NTLmRwaSgyKSwgJzNkcGkgNGRwaSddLCBleHBlY3Q6ICcx
ZHBpIDJkcGkgM2RwaSA0ZHBpJyB9LAorICAgICAgICB7IGJhc2U6IG51bGwsIGFwcGVuZDogW0NT
Uy5kcGkoMSksICcyZHBpJ10sIGV4cGVjdDogJzFkcGkgMmRwaScgfSwKKyAgICBdLAorfSk7CisK
K3Rlc3RfYXBwZW5kKHsKKyAgICBzeW50YXg6ICc8dGltZT4rJywKKyAgICBpbml0aWFsVmFsdWU6
ICcwcycsCisgICAgdmFsdWVzOiBbCisgICAgICAgIHsgYmFzZTogW0NTUy5zKDEpXSwgYXBwZW5k
OiBbQ1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5zKDEp
XSwgYXBwZW5kOiBbQ1NTLnMoMiksIENTUy5weCgxKV0sIGV4cGVjdDogbnVsbCB9LAorICAgICAg
ICB7IGJhc2U6IFtDU1MucygxKV0sIGFwcGVuZDogW0NTUy5tcygyKSwgJzFweCddLCBleHBlY3Q6
IG51bGwgfSwKKyAgICAgICAgeyBiYXNlOiBbQ1NTLnMoMSldLCBhcHBlbmQ6IFtDU1MubXMoMiks
IENTUy5zKDMpXSwgZXhwZWN0OiAnMXMgMm1zIDNzJyB9LAorICAgICAgICB7IGJhc2U6IFtDU1Mu
cygxKSwgQ1NTLnMoMildLCBhcHBlbmQ6IFtDU1MucygzKV0sIGV4cGVjdDogJzFzIDJzIDNzJyB9
LAorICAgICAgICB7IGJhc2U6IFtDU1MucygxKV0sIGFwcGVuZDogW0NTUy5zKDIpLCAnM3MnXSwg
ZXhwZWN0OiAnMXMgMnMgM3MnIH0sCisgICAgICAgIHsgYmFzZTogW0NTUy5zKDEpXSwgYXBwZW5k
OiBbQ1NTLnMoMiksICczbXMgNHMnXSwgZXhwZWN0OiAnMXMgMnMgM21zIDRzJyB9LAorICAgICAg
ICB7IGJhc2U6IG51bGwsIGFwcGVuZDogW0NTUy5zKDEpLCAnMnMnXSwgZXhwZWN0OiAnMXMgMnMn
IH0sCisgICAgXSwKK30pOworCit0ZXN0X2FwcGVuZCh7CisgICAgc3ludGF4OiAnZm9vKycsCisg
ICAgaW5pdGlhbFZhbHVlOiAnZm9vJywKKyAgICB2YWx1ZXM6IFsKKyAgICAgICAgeyBiYXNlOiBb
a2V5d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtDU1MucHgoMSldLCBleHBlY3Q6IG51bGwgfSwKKyAg
ICAgICAgeyBiYXNlOiBba2V5d29yZCgnZm9vJyldLCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwg
Q1NTLnB4KDEpXSwgZXhwZWN0OiBudWxsIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2Zv
bycpXSwgYXBwZW5kOiBba2V5d29yZCgnZm9vJyksICcxcHgnXSwgZXhwZWN0OiBudWxsIH0sCisg
ICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5d29yZCgnZm9vJyks
IGtleXdvcmQoJ2ZvbycpXSwgZXhwZWN0OiAnZm9vIGZvbyBmb28nIH0sCisgICAgICAgIHsgYmFz
ZTogW2tleXdvcmQoJ2ZvbycpLCBrZXl3b3JkKCdmb28nKV0sIGFwcGVuZDogW2tleXdvcmQoJ2Zv
bycpXSwgZXhwZWN0OiAnZm9vIGZvbyBmb28nIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQo
J2ZvbycpXSwgYXBwZW5kOiBba2V5d29yZCgnZm9vJyksICdmb28nXSwgZXhwZWN0OiAnZm9vIGZv
byBmb28nIH0sCisgICAgICAgIHsgYmFzZTogW2tleXdvcmQoJ2ZvbycpXSwgYXBwZW5kOiBba2V5
d29yZCgnZm9vJyksICdmb28gZm9vJ10sIGV4cGVjdDogJ2ZvbyBmb28gZm9vIGZvbycgfSwKKyAg
ICAgICAgeyBiYXNlOiBudWxsLCBhcHBlbmQ6IFtrZXl3b3JkKCdmb28nKSwga2V5d29yZCgnZm9v
JyldLCBleHBlY3Q6ICdmb28gZm9vJyB9LAorICAgIF0sCiB9KTsKIAogLy8gQ1NTU3R5bGVWYWx1
ZS5wYXJzZS9wYXJzZUFsbApAQCAtNTM3LDQgKzg0MCwxODEgQEAgdGVzdChmdW5jdGlvbigpewog
ICAgIGFzc2VydF9wYXJzZWRfdHlwZShnZW5fcHJvcCgnPGxlbmd0aD4jIHwgZmFpbCcsICdmYWls
JyksICcxMHB4LCAyMHB4JywgQ1NTVW5pdFZhbHVlKTsKIH0sICdDU1NTdHlsZVZhbHVlLnBhcnNl
W0FsbF0gcmV0dXJucyBsaXN0IG9mIENTU1VuaXRWYWx1ZXMgZm9yIDxsZW5ndGg+IycpOwogCisv
LyBEaXJlY3QgQ1NTU3R5bGVWYWx1ZSBvYmplY3RzOgorCitmdW5jdGlvbiBnZW5fYWxsX3Byb3Bz
KCkgeworICAgIHJldHVybiBbCisgICAgICAgIGdlbl9wcm9wKCcqJywgJ2ZvbycpLAorICAgICAg
ICBnZW5fcHJvcCgnZm9vJywgJ2ZvbycpLAorICAgICAgICBnZW5fcHJvcCgnPGFuZ2xlPicsICcw
ZGVnJyksCisgICAgICAgIGdlbl9wcm9wKCc8Y29sb3I+JywgJ3JnYigxLCAyLCAzKScpLAorICAg
ICAgICBnZW5fcHJvcCgnPGN1c3RvbS1pZGVudD4nLCAndGhpbmcnKSwKKyAgICAgICAgZ2VuX3By
b3AoJzxpbWFnZT4nLCAndXJsKGEpJyksCisgICAgICAgIGdlbl9wcm9wKCc8aW50ZWdlcj4nLCAn
MCcpLAorICAgICAgICBnZW5fcHJvcCgnPGxlbmd0aC1wZXJjZW50YWdlPicsICdjYWxjKDEwcHgg
KyAxMCUpJyksCisgICAgICAgIGdlbl9wcm9wKCc8bGVuZ3RoPicsICcwcHgnKSwKKyAgICAgICAg
Z2VuX3Byb3AoJzxudW1iZXI+JywgJzAuNScpLAorICAgICAgICBnZW5fcHJvcCgnPHBlcmNlbnRh
Z2U+JywgJzAlJyksCisgICAgICAgIGdlbl9wcm9wKCc8cmVzb2x1dGlvbj4nLCAnMGRwaScpLAor
ICAgICAgICBnZW5fcHJvcCgnPHRpbWU+JywgJzBzJyksCisgICAgICAgIGdlbl9wcm9wKCc8dHJh
bnNmb3JtLWZ1bmN0aW9uPicsICdyb3RhdGVYKDBkZWcpJyksCisgICAgICAgIGdlbl9wcm9wKCc8
dHJhbnNmb3JtLWxpc3Q+JywgJ3JvdGF0ZVgoMGRlZyknKSwKKyAgICAgICAgZ2VuX3Byb3AoJzx1
cmw+JywgJ3VybChhKScpCisgICAgXTsKK30KKwordGVzdChmdW5jdGlvbigpeworICAgIGxldCBw
cm9wczAgPSBnZW5fYWxsX3Byb3BzKCk7CisgICAgbGV0IHByb3BzMSA9IGdlbl9hbGxfcHJvcHMo
KTsKKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvcHMwLmxlbmd0aDsgaSsrKSB7CisgICAg
ICAgIGxldCBwcm9wMCA9IHByb3BzMFtpXTsKKyAgICAgICAgbGV0IHByb3AxID0gcHJvcHMxW2ld
OworCisgICAgICAgIC8vIEFidXNlIGNvbXB1dGVkU3R5bGVNYXAgdG8gZ2V0IHRoZSBpbml0aWFs
VmFsdWUgKGp1c3QgdG8gZ2V0IHNvbWUKKyAgICAgICAgLy8gdmFsdWUgdGhhdCB3aWxsIHBhcnNl
IGZvciBwcm9wMC8xJ3Mgc3ludGF4KS4KKyAgICAgICAgbGV0IGluaXRpYWxWYWx1ZSA9IHRhcmdl
dC5jb21wdXRlZFN0eWxlTWFwKCkuZ2V0KHByb3AwKTsKKworICAgICAgICAvLyBXZSBvbmx5IGNh
cmUgYWJvdXQgZGlyZWN0IENTU1N0eWxlVmFsdWUgaW5zdGFuY2VzIGluIHRoaXMgdGVzdC4KKyAg
ICAgICAgLy8gVWx0aW1hdGVseSwgaW4gc29tZSBmdXR1cmUgdmVyc2lvbiBvZiBDU1MgVHlwZWRP
TSwgd2UgbWF5IGhhdmUgbm8KKyAgICAgICAgLy8gZGlyZWN0IENTU1N0eWxlVmFsdWUgaW5zdGFu
Y2VzIGF0IGFsbCwgd2hpY2ggaXMgZmluZS4KKyAgICAgICAgaWYgKGluaXRpYWxWYWx1ZS5jb25z
dHJ1Y3RvciAhPT0gQ1NTU3R5bGVWYWx1ZSkgeworICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KKworICAgICAgICBsZXQgdmFsdWUgPSBDU1NTdHlsZVZhbHVlLnBhcnNlKHByb3AwLCBp
bml0aWFsVmFsdWUudG9TdHJpbmcoKSk7CisKKyAgICAgICAgLy8gQSB2YWx1ZSBwYXJzZWQgZm9y
IHByb3AwIG11c3QgYmUgYXNzaWduYWJsZSB0byBwcm9wMC4KKyAgICAgICAgdGFyZ2V0LmF0dHJp
YnV0ZVN0eWxlTWFwLmNsZWFyKCk7CisgICAgICAgIHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcC5z
ZXQocHJvcDAsIHZhbHVlKTsgLy8gRG9uJ3QgdGhyb3cuCisKKyAgICAgICAgLy8gQSB2YWx1ZSBw
YXJzZWQgZm9yIHByb3AwIG11c3Qgbm90IGJlIGFzc2lnbmFibGUgdG8gcHJvcDEsIGV2ZW4gaWYK
KyAgICAgICAgLy8gdGhlIHByb3BlcnRpZXMgaGF2ZSBjb21wYXRpYmxlIHN5bnRheGVzLgorICAg
ICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4geworICAgICAgICAgICAg
dGFyZ2V0LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyKCk7CisgICAgICAgICAgICB0YXJnZXQuYXR0
cmlidXRlU3R5bGVNYXAuc2V0KHByb3AxLCB2YWx1ZSk7CisgICAgICAgIH0pOworICAgIH0KK30s
ICdEaXJlY3QgQ1NTU3R5bGVWYWx1ZSBpbnN0YW5jZXMgYXJlIHRpZWQgdG8gdGhlaXIgYXNzb2Np
YXRlZCBwcm9wZXJ0eScpOworCisvLyBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkgaXRlcmF0aW9u
CisKK3Rlc3QoZnVuY3Rpb24oKXsKKyAgICBsZXQgbmFtZSA9IGdlbl9wcm9wKCc8bGVuZ3RoPics
ICcxMHB4Jyk7CisgICAgbGV0IHJlc3VsdCA9IEFycmF5LmZyb20odGFyZ2V0LmNvbXB1dGVkU3R5
bGVNYXAoKSkuZmlsdGVyKGUgPT4gZVswXSA9PSBuYW1lKVswXTsKKyAgICBhc3NlcnRfdHJ1ZSh0
eXBlb2YocmVzdWx0KSAhPT0gJ3VuZGVmaW5lZCcpOworfSwgJ1JlZ2lzdGVyZWQgcHJvcGVydHkg
d2l0aCBpbml0aWFsIHZhbHVlIHNob3cgdXAgb24gaXRlcmF0aW9uIG9mIGNvbXB1dGVkU3R5bGVN
YXAnKTsKKworLy8gVmVyaWZpZXMgdGhhdCBpdGVyYXRpbmcgYSBTdHlsZVByb3BlcnR5TWFwW1Jl
YWRPbmx5XSB5aWVsZHMgY29ycmVjdGx5CisvLyB0eXBlZCBvYmplY3RzIGZvciBhIGdpdmVuIHN5
bnRheC92YWx1ZS4KK2Z1bmN0aW9uIHRlc3RfaXRlcmF0aW9uX3R5cGVfZm9yX3Byb3BlcnR5X21h
cChwcm9wZXJ0eU1hcE5hbWUsIHByb3BlcnR5TWFwLCBvcHRpb25zKSB7CisgICAgdGVzdChmdW5j
dGlvbigpeworICAgICAgICBsZXQgbmFtZSA9IGdlbl9wcm9wKG9wdGlvbnMuc3ludGF4LCBvcHRp
b25zLmluaXRpYWxWYWx1ZSk7CisgICAgICAgIGlmIChwcm9wZXJ0eU1hcCBpbnN0YW5jZW9mIFN0
eWxlUHJvcGVydHlNYXApIHsKKyAgICAgICAgICAgIC8vIE9ubHkgc2V0IHRoZSB2YWx1ZSBpZiB0
aGUgcHJvcGVydHlNYXAgaXMgbXV0YWJsZS4KKyAgICAgICAgICAgIHByb3BlcnR5TWFwLnNldChu
YW1lLCBvcHRpb25zLnZhbHVlKTsKKyAgICAgICAgfQorICAgICAgICBsZXQgcmVzdWx0ID0gQXJy
YXkuZnJvbShwcm9wZXJ0eU1hcCkuZmlsdGVyKGUgPT4gZVswXSA9PSBuYW1lKVswXTsKKyAgICAg
ICAgbGV0IHZhbHVlID0gcmVzdWx0WzFdOworICAgICAgICBhc3NlcnRfdHJ1ZShvcHRpb25zLmV4
cGVjdCh2YWx1ZSkpOworICAgIH0sIGBJdGVyYXRpb24gb24gJHtwcm9wZXJ0eU1hcE5hbWV9IHBy
b2R1Y2VzIGNvcnJlY3QgdHlwZSBmb3IgJHtvcHRpb25zLnN5bnRheH1gKTsKK30KKworZnVuY3Rp
b24gdGVzdF9pdGVyYXRpb25fdHlwZShvcHRpb25zKSB7CisgICAgdGVzdF9pdGVyYXRpb25fdHlw
ZV9mb3JfcHJvcGVydHlfbWFwKCdjb21wdXRlZFN0eWxlTWFwJywgdGFyZ2V0LmNvbXB1dGVkU3R5
bGVNYXAoKSwgb3B0aW9ucyk7CisgICAgdGVzdF9pdGVyYXRpb25fdHlwZV9mb3JfcHJvcGVydHlf
bWFwKCdhdHRyaWJ1dGVTdHlsZU1hcCcsIHRhcmdldC5hdHRyaWJ1dGVTdHlsZU1hcCwgb3B0aW9u
cyk7CisgICAgdGVzdF9pdGVyYXRpb25fdHlwZV9mb3JfcHJvcGVydHlfbWFwKCdzdHlsZU1hcCcs
IHN0eWxlLnNoZWV0LnJ1bGVzWzBdLnN0eWxlTWFwLCBvcHRpb25zKTsKK30KKwordGVzdF9pdGVy
YXRpb25fdHlwZSh7CisgICAgc3ludGF4OiAnKicsCisgICAgaW5pdGlhbFZhbHVlOiAnbm9uZScs
CisgICAgdmFsdWU6ICd0aGluZycsCisgICAgZXhwZWN0OiB2ID0+IHYubGVuZ3RoID09IDEgJiYg
dlswXSBpbnN0YW5jZW9mIENTU1VucGFyc2VkVmFsdWUsCit9KTsKKwordGVzdF9pdGVyYXRpb25f
dHlwZSh7CisgICAgc3ludGF4OiAnPGFuZ2xlPicsCisgICAgaW5pdGlhbFZhbHVlOiAnMGRlZycs
CisgICAgdmFsdWU6ICc0MmRlZycsCisgICAgZXhwZWN0OiB2ID0+IHYubGVuZ3RoID09IDEgJiYg
dlswXSBpbnN0YW5jZW9mIENTU1VuaXRWYWx1ZSwKK30pOworCit0ZXN0X2l0ZXJhdGlvbl90eXBl
KHsKKyAgICBzeW50YXg6ICc8Y3VzdG9tLWlkZW50PicsCisgICAgaW5pdGlhbFZhbHVlOiAnbm9u
ZScsCisgICAgdmFsdWU6ICd0aGluZycsCisgICAgZXhwZWN0OiB2ID0+IHYubGVuZ3RoID09IDEg
JiYgdlswXSBpbnN0YW5jZW9mIENTU0tleXdvcmRWYWx1ZSwKK30pOworCit0ZXN0X2l0ZXJhdGlv
bl90eXBlKHsKKyAgICBzeW50YXg6ICc8aW1hZ2U+JywKKyAgICBpbml0aWFsVmFsdWU6ICd1cmwo
YSknLAorICAgIHZhbHVlOiAndXJsKGIpJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0g
MSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTSW1hZ2VWYWx1ZSwKK30pOworCit0ZXN0X2l0ZXJhdGlv
bl90eXBlKHsKKyAgICBzeW50YXg6ICc8aW50ZWdlcj4nLAorICAgIGluaXRpYWxWYWx1ZTogJzAn
LAorICAgIHZhbHVlOiAnMTAwJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2
WzBdIGluc3RhbmNlb2YgQ1NTVW5pdFZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUo
eworICAgIHN5bnRheDogJzxsZW5ndGg+JywKKyAgICBpbml0aWFsVmFsdWU6ICcwcHgnLAorICAg
IHZhbHVlOiAnMTBweCcsCisgICAgZXhwZWN0OiB2ID0+IHYubGVuZ3RoID09IDEgJiYgdlswXSBp
bnN0YW5jZW9mIENTU1VuaXRWYWx1ZSwKK30pOworCit0ZXN0X2l0ZXJhdGlvbl90eXBlKHsKKyAg
ICBzeW50YXg6ICc8bnVtYmVyPicsCisgICAgaW5pdGlhbFZhbHVlOiAnMCcsCisgICAgdmFsdWU6
ICc0MicsCisgICAgZXhwZWN0OiB2ID0+IHYubGVuZ3RoID09IDEgJiYgdlswXSBpbnN0YW5jZW9m
IENTU1VuaXRWYWx1ZSwKK30pOworCit0ZXN0X2l0ZXJhdGlvbl90eXBlKHsKKyAgICBzeW50YXg6
ICc8cGVyY2VudGFnZT4nLAorICAgIGluaXRpYWxWYWx1ZTogJzAlJywKKyAgICB2YWx1ZTogJzEw
JScsCisgICAgZXhwZWN0OiB2ID0+IHYubGVuZ3RoID09IDEgJiYgdlswXSBpbnN0YW5jZW9mIENT
U1VuaXRWYWx1ZSwKK30pOworCit0ZXN0X2l0ZXJhdGlvbl90eXBlKHsKKyAgICBzeW50YXg6ICc8
cmVzb2x1dGlvbj4nLAorICAgIGluaXRpYWxWYWx1ZTogJzBkcGknLAorICAgIHZhbHVlOiAnMzAw
ZHBpJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2Yg
Q1NTVW5pdFZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDog
Jzx0aW1lPicsCisgICAgaW5pdGlhbFZhbHVlOiAnMHMnLAorICAgIHZhbHVlOiAnMTBzJywKKyAg
ICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNlb2YgQ1NTVW5pdFZh
bHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJzx1cmw+JywK
KyAgICBpbml0aWFsVmFsdWU6ICd1cmwoYSknLAorICAgIHZhbHVlOiAndXJsKGIpJywKKyAgICBl
eHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdLmNvbnN0cnVjdG9yID09PSBDU1NTdHls
ZVZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5bnRheDogJ25vbmUg
fCB0aGluZyB8IFRISU5HJywKKyAgICBpbml0aWFsVmFsdWU6ICdub25lJywKKyAgICB2YWx1ZTog
J1RISU5HJywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBdIGluc3RhbmNl
b2YgQ1NTS2V5d29yZFZhbHVlLAorfSk7CisKK3Rlc3RfaXRlcmF0aW9uX3R5cGUoeworICAgIHN5
bnRheDogJzxhbmdsZT4gfCA8bGVuZ3RoPicsCisgICAgaW5pdGlhbFZhbHVlOiAnMGRlZycsCisg
ICAgdmFsdWU6ICcxMHB4JywKKyAgICBleHBlY3Q6IHYgPT4gdi5sZW5ndGggPT0gMSAmJiB2WzBd
IGluc3RhbmNlb2YgQ1NTVW5pdFZhbHVlLAorfSk7CisKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3Bl
cnRpZXMtdmFsdWVzLWFwaS91bml0LWN5Y2xlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMt
YXBpL3VuaXQtY3ljbGVzLWV4cGVjdGVkLnR4dAppbmRleCBiNzIwODY1OWEwODE5NjczMWY4Zjcz
YzU4YTg3N2FlNDA1NmIxMzRjLi45OTc5ODYwNGI3MjY2N2U2YTc4NTUwNmFkNjRiODFiYTJiZDAx
MTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVHlwZUVycm9yOiBlbGVtZW50LmF0
dHJpYnV0ZVN0eWxlTWFwLmNsZWFyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VsZW1lbnQuYXR0
cmlidXRlU3R5bGVNYXAuY2xlYXIoKScsICdlbGVtZW50LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFy
JyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzQ6IFR5cGVFcnJvcjogZWxl
bWVudC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlbGVt
ZW50LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyKCknLCAnZWxlbWVudC5hdHRyaWJ1dGVTdHlsZU1h
cC5jbGVhcicgaXMgdW5kZWZpbmVkKQogCiBGQUlMIFVudGl0bGVkIFR5cGVFcnJvcjogZWxlbWVu
dC5hdHRyaWJ1dGVTdHlsZU1hcC5jbGVhciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlbGVtZW50
LmF0dHJpYnV0ZVN0eWxlTWFwLmNsZWFyKCknLCAnZWxlbWVudC5hdHRyaWJ1dGVTdHlsZU1hcC5j
bGVhcicgaXMgdW5kZWZpbmVkKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VuaXQt
Y3ljbGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLmh0bWwKaW5kZXggZDY1
MzQ4NTQzYzQxNDViYmQ2OTNhYWM2NzM3MjM5MGJmZDkxZmMxMS4uYzI2ZTFjZGExZjY4NDI2NTVl
N2UwMTU4ZDZhOTM0ZTQ3MGY0ODZhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS91bml0
LWN5Y2xlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdW5pdC1jeWNsZXMuaHRtbApAQCAt
NCwxMiArNCwxMiBAQAogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgogPHNjcmlwdD4KLSAgICBmdW5jdGlvbiByZWdpc3Rlcl9sZW5ndGgobmFtZSkgewor
ICAgIGZ1bmN0aW9uIHJlZ2lzdGVyX2xlbmd0aChuYW1lLCBpbmhlcml0cz10cnVlKSB7CiAgICAg
ICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHsKICAgICAgICAgICAgIG5hbWU6IG5hbWUsCiAgICAg
ICAgICAgICBzeW50YXg6ICc8bGVuZ3RoPicsCiAgICAgICAgICAgICBpbml0aWFsVmFsdWU6ICcw
cHgnLAotICAgICAgICAgICAgaW5oZXJpdHM6IGZhbHNlCisgICAgICAgICAgICBpbmhlcml0czog
aW5oZXJpdHMKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC0yMiw2ICsyMiw5IEBACiAgICAgcmVn
aXN0ZXJfbGVuZ3RoKCctLWZvbnQtc2l6ZS1yZW0tdmlhLXZhcicpOwogICAgIHJlZ2lzdGVyX2xl
bmd0aCgnLS1mb250LXNpemUtZXgtdmlhLXZhcicpOwogICAgIHJlZ2lzdGVyX2xlbmd0aCgnLS1m
b250LXNpemUtY2gtdmlhLXZhcicpOworICAgIHJlZ2lzdGVyX2xlbmd0aCgnLS1mb250LXNpemUt
ZW0taW5oZXJpdGVkJywgdHJ1ZSk7CisgICAgcmVnaXN0ZXJfbGVuZ3RoKCctLWZvbnQtc2l6ZS1l
eC1pbmhlcml0ZWQnLCB0cnVlKTsKKyAgICByZWdpc3Rlcl9sZW5ndGgoJy0tZm9udC1zaXplLWNo
LWluaGVyaXRlZCcsIHRydWUpOwogPC9zY3JpcHQ+CiA8c3R5bGU+CiAgICAgOnJvb3QgewpAQCAt
NDMsMTIgKzQ2LDIwIEBACiAgICAgICAgIC0tZm9udC1zaXplLWNoLXZpYS12YXI6IHZhcigtLXVu
cmVnaXN0ZXJlZC1jaCk7CiAgICAgfQogCisgICAgI3BhcmVudCB7CisgICAgICAgIC0tZm9udC1z
aXplLWVtLWluaGVyaXRlZDogNGVtOworICAgICAgICAtLWZvbnQtc2l6ZS1leC1pbmhlcml0ZWQ6
IDRleDsKKyAgICAgICAgLS1mb250LXNpemUtY2gtaW5oZXJpdGVkOiA0Y2g7CisgICAgfQorCiAg
ICAgI3RhcmdldCB7CiAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICB9CiA8L3N0eWxlPgog
Ci08ZGl2IGlkPXRhcmdldD48L2Rpdj4KKzxkaXYgaWQ9cGFyZW50PgorICAgIDxkaXYgaWQ9dGFy
Z2V0PjwvZGl2PgorPC9kaXY+CiA8ZGl2IGlkPXJlZj48L2Rpdj4KIAogPHNjcmlwdD4KQEAgLTE3
MCw0ICsxODEsMjUgQEAKICAgICAgICAgYXNzZXJ0X3Byb3BlcnR5X2VxdWFscygnLS1mb250LXNp
emUtcmVtLXZpYS12YXInLCBleHBlY3RlZDEwcmVtLCByb290KTsKICAgICB9LCAnTGVuZ3RocyB3
aXRoIHJlbSB1bml0cyBhcmUgZGV0ZWN0ZWQgdmlhIHZhciByZWZlcmVuY2VzJyk7CiAKKyAgICB0
ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICBsZXQgZXhwZWN0ZWQ0ZW0gPSBjb21wdXRlX2RpbWVu
c2lvbignNGVtJywgJ3Vuc2V0Jyk7CisgICAgICAgIHRhcmdldC5zdHlsZSA9ICdmb250LXNpemU6
IHZhcigtLWZvbnQtc2l6ZS1lbS1pbmhlcml0ZWQpOyc7CisgICAgICAgIGFzc2VydF9wcm9wZXJ0
eV9lcXVhbHMoJ2ZvbnQtc2l6ZScsIGV4cGVjdGVkNGVtKTsKKyAgICAgICAgYXNzZXJ0X3Byb3Bl
cnR5X2VxdWFscygnLS1mb250LXNpemUtZW0taW5oZXJpdGVkJywgZXhwZWN0ZWQ0ZW0pOworICAg
IH0sICdJbmhlcml0ZWQgbGVuZ3RocyB3aXRoIGVtIHVuaXRzIG1heSBiZSB1c2VkJyk7CisKKyAg
ICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICBsZXQgZXhwZWN0ZWQ0ZXggPSBjb21wdXRlX2Rp
bWVuc2lvbignNGV4JywgJ3Vuc2V0Jyk7CisgICAgICAgIHRhcmdldC5zdHlsZSA9ICdmb250LXNp
emU6IHZhcigtLWZvbnQtc2l6ZS1leC1pbmhlcml0ZWQpOyc7CisgICAgICAgIGFzc2VydF9wcm9w
ZXJ0eV9lcXVhbHMoJ2ZvbnQtc2l6ZScsIGV4cGVjdGVkNGV4KTsKKyAgICAgICAgYXNzZXJ0X3By
b3BlcnR5X2VxdWFscygnLS1mb250LXNpemUtZXgtaW5oZXJpdGVkJywgZXhwZWN0ZWQ0ZXgpOwor
ICAgIH0sICdJbmhlcml0ZWQgbGVuZ3RocyB3aXRoIGV4IHVuaXRzIG1heSBiZSB1c2VkJyk7CisK
KyAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICBsZXQgZXhwZWN0ZWQ0Y2ggPSBjb21wdXRl
X2RpbWVuc2lvbignNGNoJywgJ3Vuc2V0Jyk7CisgICAgICAgIHRhcmdldC5zdHlsZSA9ICdmb250
LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1jaC1pbmhlcml0ZWQpOyc7CisgICAgICAgIGFzc2VydF9w
cm9wZXJ0eV9lcXVhbHMoJ2ZvbnQtc2l6ZScsIGV4cGVjdGVkNGNoKTsKKyAgICAgICAgYXNzZXJ0
X3Byb3BlcnR5X2VxdWFscygnLS1mb250LXNpemUtY2gtaW5oZXJpdGVkJywgZXhwZWN0ZWQ0Y2gp
OworICAgIH0sICdJbmhlcml0ZWQgbGVuZ3RocyB3aXRoIGNoIHVuaXRzIG1heSBiZSB1c2VkJyk7
CisKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS92YXItcmVmZXJlbmNl
LXJlZ2lzdGVyZWQtcHJvcGVydGllcy1jeWNsZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFy
LXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMtY3ljbGVzLmh0bWwKaW5kZXggNThkNmM4
NDZhZTNhNGExYzYyZjIzOTc4NmRmZTg4MjdlYjkyMWQwNS4uNjVkMTE2OTczNTVjMTdmY2EzOWI0
ZTlmYTBkY2YwZGI0MDRlMjJlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS92YXItcmVm
ZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy1jeWNsZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1
ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLWN5Y2xlcy5odG1sCkBA
IC0yNSwxNCArMjUsMTMgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBDU1MucmVnaXN0ZXJQcm9w
ZXJ0eSh7bmFtZTogJy0tcmVnaXN0ZXJlZC0xLWQnLCBzeW50YXg6ICc8bGVuZ3RoPicsIGluaXRp
YWxWYWx1ZTogJzRweCcsIGluaGVyaXRzOiBmYWxzZX0pOwogCiAgICAgY29tcHV0ZWRTdHlsZSA9
IGdldENvbXB1dGVkU3R5bGUodGVzdDEpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMS1hJyksICcxcHgnKTsKLSAgICBhc3Nl
cnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTEt
YicpLCAnMnB4Jyk7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTEtYycpLCAnMnB4Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhj
b21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0xLWQnKSwgJzJweCcp
OwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXVu
cmVnaXN0ZXJlZC0xLWEnKSwgJzFweCcpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5sZWZ0LCAnMXB4Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLnRvcCwgJzJw
eCcpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCct
LXJlZ2lzdGVyZWQtMS1hJyksICcnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTEtYicpLCAnJyk7CisgICAgYXNzZXJ0X2Vx
dWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0xLWMnKSwg
JzMwcHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgnLS1yZWdpc3RlcmVkLTEtZCcpLCAnNHB4Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkLTEtYScpLCAnJyk7CisgICAg
YXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmxlZnQsICc1MHB4Jyk7CisgICAgYXNzZXJ0X2Vx
dWFscyhjb21wdXRlZFN0eWxlLnRvcCwgJzYwcHgnKTsKIH0sICJBIHZhcigpIGN5Y2xlIGJldHdl
ZW4gdHdvIHJlZ2lzdGVyZWQgcHJvcGVydGllcyBpcyBoYW5kbGVkIGNvcnJlY3RseS4iKTsKIDwv
c2NyaXB0PgogCkBAIC02MywxOCArNjIsMTggQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBDU1Mu
cmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTogJy0tcmVnaXN0ZXJlZC0yLWUnLCBzeW50YXg6ICc8bGVu
Z3RoPicsIGluaXRpYWxWYWx1ZTogJzVweCcsIGluaGVyaXRzOiBmYWxzZX0pOwogCiAgICAgY29t
cHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGVzdDIpOwotICAgIGFzc2VydF9lcXVhbHMo
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMi1hJyksICcxcHgn
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1y
ZWdpc3RlcmVkLTItYScpLCAnJyk7CiAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkLTItYScpLCAnJyk7CiAKLSAgICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLTItYicp
LCAnMXB4Jyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFs
dWUoJy0tcmVnaXN0ZXJlZC0yLWMnKSwgJzFweCcpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMi1iJyksICczMHB4Jyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0
ZXJlZC0yLWMnKSwgJzNweCcpOwogICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKCctLXJlZ2lzdGVyZWQtMi1kJyksICc0MHB4Jyk7CiAgICAgYXNzZXJ0X2Vx
dWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC0yLWUnKSwg
JzVweCcpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCctLXVucmVnaXN0ZXJlZC0yLWInKSwgJzFweCcpOwotICAgIGFzc2VydF9lcXVhbHMoY29tcHV0
ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXVucmVnaXN0ZXJlZC0yLWMnKSwgJzFweCcpOwor
ICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXVucmVn
aXN0ZXJlZC0yLWInKSwgJzUwcHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQtMi1jJyksICcnKTsKICAgICBhc3NlcnRf
ZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS11bnJlZ2lzdGVyZWQtMi1k
JyksICc2MHB4Jyk7CiAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5
VmFsdWUoJy0tdW5yZWdpc3RlcmVkLTItZScpLCAnJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb21w
dXRlZFN0eWxlLmxlZnQsICcxcHgnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUu
bGVmdCwgJzcwcHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUudG9wLCAnODBw
eCcpOwogfSwgIkEgdmFyKCkgY3ljbGUgYmV0d2VlbiBhIHJlZ2lzdGVyZWQgcHJvcGVydGllcyBh
bmQgYW4gdW5yZWdpc3RlcmVkIHByb3BlcnR5IGlzIGhhbmRsZWQgY29ycmVjdGx5LiIpOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0
ZXJlZC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVy
ZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDM5ZTY3NWQ0MzRh
ZTFhOTBlNTJkYTllYWI2ZjQwMjY2NGQ5YzAzNzMuLjQyODVhNDFlODVmNDBjY2E2MTExYmU2M2Yz
YmJhNmRkM2FmZGRmNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvdmFyLXJlZmVyZW5j
ZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0x
LDYgKzEsMTUgQEAKIAotRkFJTCB2YXIoKSByZWZlcmVuY2VzIHdvcmsgd2l0aCByZWdpc3RlcmVk
IHByb3BlcnRpZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiAgMTBweCIgYnV0IGdvdCAiIDEw
cHgiCitQQVNTIHZhcigpIHJlZmVyZW5jZXMgd29yayB3aXRoIHJlZ2lzdGVyZWQgcHJvcGVydGll
cyAKIEZBSUwgUmVmZXJlbmNlcyB0byByZWdpc3RlcmVkIHZhcigpLXByb3BlcnRpZXMgd29yayBp
biByZWdpc3RlcmVkIGxpc3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxcHgsIDEwcHgsIDJw
eCIgYnV0IGdvdCAiMHB4IgogRkFJTCBSZWZlcmVuY2VzIHRvIG1peGVkIHJlZ2lzdGVyZWQgYW5k
IHVucmVnaXN0ZXJlZCB2YXIoKS1wcm9wZXJ0aWVzIHdvcmsgaW4gcmVnaXN0ZXJlZCBsaXN0cyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMXB4LCAyMHB4LCAxMHB4LCAycHgiIGJ1dCBnb3QgIjBw
eCIKIEZBSUwgUmVnaXN0ZXJlZCBsaXN0cyBtYXkgYmUgY29uY2F0ZW5hdGVkIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICIxcHgsIDEwcHgsIDJweCwgMXB4LCAyMHB4LCAxMHB4LCAycHgiIGJ1dCBn
b3QgIjBweCIKK1BBU1MgRm9udC1yZWxhdGl2ZSB1bml0cyBhcmUgYWJzb2x1dGl6ZWQgd2hlbiBz
dWJzdGl0dXRpbmcgCitQQVNTIENhbGMgZXhwcmVzc2lvbnMgYXJlIHJlc29sdmVkIHdoZW4gc3Vi
c3RpdHV0aW5nIAorRkFJTCBMaXN0cyB3aXRoIHJlbGF0aXZlIHVuaXRzIGFyZSBhYnNvbHV0aXpl
ZCB3aGVuIHN1YnN0aXR1dGluZyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTEwcHgsIDEyMHB4
IiBidXQgZ290ICIwcHgiCitQQVNTIFZhbGlkIGZhbGxiYWNrIGRvZXMgbm90IGludmFsaWRhdGUg
dmFyKCktcmVmZXJlbmNlIFs8bGVuZ3RoPiwgMTBweF0gCitQQVNTIFZhbGlkIGZhbGxiYWNrIGRv
ZXMgbm90IGludmFsaWRhdGUgdmFyKCktcmVmZXJlbmNlIFs8bGVuZ3RoPiB8IDxjb2xvcj4sIHJl
ZF0gCitQQVNTIFZhbGlkIGZhbGxiYWNrIGRvZXMgbm90IGludmFsaWRhdGUgdmFyKCktcmVmZXJl
bmNlIFs8bGVuZ3RoPiB8IG5vbmUsIG5vbmVdIAorRkFJTCBJbnZhbGlkIGZhbGxiYWNrIGludmFs
aWRhdGVzIHZhcigpLXJlZmVyZW5jZSBbPGxlbmd0aD4sIHJlZF0gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIiIgYnV0IGdvdCAiNDBweCIKK0ZBSUwgSW52YWxpZCBmYWxsYmFjayBpbnZhbGlkYXRl
cyB2YXIoKS1yZWZlcmVuY2UgWzxsZW5ndGg+IHwgbm9uZSwgbm9sZW5ndGhdIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgIjQwcHgiCitGQUlMIEludmFsaWQgZmFsbGJhY2sgaW52
YWxpZGF0ZXMgdmFyKCktcmVmZXJlbmNlIFs8bGVuZ3RoPiwgdmFyKC0tbm92YXIpXSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICI0MHB4IgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpL3Zhci1yZWZlcmVuY2UtcmVnaXN0ZXJlZC1wcm9wZXJ0aWVzLmh0bWwKaW5k
ZXggZDhhODMxNTcxMjUyY2RlYjNlNmMzYzZlNTgyYTJiNzQzNzZlOTA1Yy4uMTY2NzU0NTc0ZmFh
MDI1ODA3ODQ3MjA5ZjFhYjE1NzExMWE0YTZkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS92YXItcmVmZXJlbmNlLXJlZ2lzdGVyZWQtcHJvcGVydGllcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZh
bHVlcy1hcGkvdmFyLXJlZmVyZW5jZS1yZWdpc3RlcmVkLXByb3BlcnRpZXMuaHRtbApAQCAtMiw2
ICsyLDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRp
bmkub3JnL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvI2RvbS1jc3MtcmVnaXN0ZXJwcm9wZXJ0
eSIgLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+CiA8c3R5bGU+CiBk
aXYgewogICAgIC0tcmVnaXN0ZXJlZC1sZW5ndGgtMTogMTBweDsKQEAgLTU0LDcgKzU1LDcgQEAg
dGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgnLS1yZWdpc3RlcmVkLWxlbmd0aC02JyksICc4MHB4Jyk7CiAgICAgYXNzZXJ0
X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC1sZW5n
dGgtNycpLCAnMTIzcHgnKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgnLS1sZW5ndGgtMScpLCAnIDIwcHgnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtMicpLCAnICAxMHB4Jyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3Ro
LTInKSwgJyAxMHB4Jyk7CiAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoJy0tbGVuZ3RoLTMnKSwgJyBjYWxjKDEyM3B4ICsgMTIzcHgpJyk7CiAgICAgYXNz
ZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tcmVnaXN0ZXJlZC1s
ZW5ndGgtaW52YWxpZCcpLCAnMTVweCcpOwogCkBAIC05Niw1ICs5Nyw3NyBAQCB0ZXN0KGZ1bmN0
aW9uKCl7CiAgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUo
Jy0tcmVnaXN0ZXJlZC1sZW5ndGgtbGlzdC0zJyksICcxcHgsIDEwcHgsIDJweCwgMXB4LCAyMHB4
LCAxMHB4LCAycHgnKTsKIH0sICdSZWdpc3RlcmVkIGxpc3RzIG1heSBiZSBjb25jYXRlbmF0ZWQn
KTsKIAordGVzdChmdW5jdGlvbigpeworICAgIENTUy5yZWdpc3RlclByb3BlcnR5KHsKKyAgICAg
ICAgbmFtZTogJy0tbGVuZ3RoLWVtJywKKyAgICAgICAgc3ludGF4OiAnPGxlbmd0aD4nLAorICAg
ICAgICBpbml0aWFsVmFsdWU6ICcwcHgnLAorICAgICAgICBpbmhlcml0czogZmFsc2UKKyAgICB9
KTsKKyAgICBlbGVtZW50LnN0eWxlID0gJ2ZvbnQtc2l6ZTogMTFweDsgLS1sZW5ndGgtZW06IDEw
ZW07IC0tdW5yZWdpc3RlcmVkOnZhcigtLWxlbmd0aC1lbSk7JzsKKyAgICBsZXQgY29tcHV0ZWRT
dHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7CisgICAgYXNzZXJ0X2VxdWFscyhjb21w
dXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkJyksICcxMTBweCcpOwor
ICAgIGVsZW1lbnQuc3R5bGUgPSAnJzsKK30sICdGb250LXJlbGF0aXZlIHVuaXRzIGFyZSBhYnNv
bHV0aXplZCB3aGVuIHN1YnN0aXR1dGluZycpOworCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgQ1NT
LnJlZ2lzdGVyUHJvcGVydHkoeworICAgICAgICBuYW1lOiAnLS1sZW5ndGgtY2FsYycsCisgICAg
ICAgIHN5bnRheDogJzxsZW5ndGg+JywKKyAgICAgICAgaW5pdGlhbFZhbHVlOiAnMHB4JywKKyAg
ICAgICAgaW5oZXJpdHM6IGZhbHNlCisgICAgfSk7CisgICAgZWxlbWVudC5zdHlsZSA9ICdmb250
LXNpemU6IDExcHg7IC0tbGVuZ3RoLWNhbGM6IGNhbGMoMTBlbSArIDEwcHgpOyAtLXVucmVnaXN0
ZXJlZDp2YXIoLS1sZW5ndGgtY2FsYyk7JzsKKyAgICBsZXQgY29tcHV0ZWRTdHlsZSA9IGdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCk7CisgICAgYXNzZXJ0X2VxdWFscyhjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoJy0tdW5yZWdpc3RlcmVkJyksICcxMjBweCcpOworICAgIGVsZW1lbnQu
c3R5bGUgPSAnJzsKK30sICdDYWxjIGV4cHJlc3Npb25zIGFyZSByZXNvbHZlZCB3aGVuIHN1YnN0
aXR1dGluZycpOworCit0ZXN0KGZ1bmN0aW9uKCl7CisgICAgQ1NTLnJlZ2lzdGVyUHJvcGVydHko
eworICAgICAgICBuYW1lOiAnLS1sZW5ndGgtY2FsYy1saXN0JywKKyAgICAgICAgc3ludGF4OiAn
PGxlbmd0aD4jJywKKyAgICAgICAgaW5pdGlhbFZhbHVlOiAnMHB4JywKKyAgICAgICAgaW5oZXJp
dHM6IGZhbHNlCisgICAgfSk7CisgICAgZWxlbWVudC5zdHlsZSA9ICdmb250LXNpemU6IDExcHg7
IC0tbGVuZ3RoLWNhbGMtbGlzdDogMTBlbSwgY2FsYygxMGVtICsgMTBweCk7IC0tdW5yZWdpc3Rl
cmVkOnZhcigtLWxlbmd0aC1jYWxjLWxpc3QpOyc7CisgICAgbGV0IGNvbXB1dGVkU3R5bGUgPSBn
ZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpOworICAgIGFzc2VydF9lcXVhbHMoY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctLXVucmVnaXN0ZXJlZCcpLCAnMTEwcHgsIDEyMHB4Jyk7Cisg
ICAgZWxlbWVudC5zdHlsZSA9ICcnOworfSwgJ0xpc3RzIHdpdGggcmVsYXRpdmUgdW5pdHMgYXJl
IGFic29sdXRpemVkIHdoZW4gc3Vic3RpdHV0aW5nJyk7CisKK2Z1bmN0aW9uIHRlc3RfdmFsaWRf
ZmFsbGJhY2soc3ludGF4LCB2YWx1ZSwgZmFsbGJhY2spIHsKKyAgICB0ZXN0KGZ1bmN0aW9uKCl7
CisgICAgICAgIGxldCBuYW1lID0gZ2VuZXJhdGVfcHJvcGVydHkoc3ludGF4KTsKKyAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUgPSBgJHtuYW1lfTogJHt2YWx1ZX07IC0t
eDp2YXIoJHtuYW1lfSwke2ZhbGxiYWNrfSlgOworICAgICAgICAgICAgbGV0IGNvbXB1dGVkU3R5
bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0teCcpLCB2YWx1ZSk7CisgICAgICAg
IH0gZmluYWxseSB7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxlID0gJyc7CisgICAgICAgIH0K
KyAgICB9LCBgVmFsaWQgZmFsbGJhY2sgZG9lcyBub3QgaW52YWxpZGF0ZSB2YXIoKS1yZWZlcmVu
Y2UgWyR7c3ludGF4fSwgJHtmYWxsYmFja31dYCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RfaW52YWxp
ZF9mYWxsYmFjayhzeW50YXgsIHZhbHVlLCBmYWxsYmFjaykgeworICAgIHRlc3QoZnVuY3Rpb24o
KXsKKyAgICAgICAgbGV0IG5hbWUgPSBnZW5lcmF0ZV9wcm9wZXJ0eShzeW50YXgpOworICAgICAg
ICB0cnkgeworICAgICAgICAgICAgZWxlbWVudC5zdHlsZSA9IGAke25hbWV9OiAke3ZhbHVlfTsg
LS14OnZhcigke25hbWV9LCR7ZmFsbGJhY2t9KWA7CisgICAgICAgICAgICBsZXQgY29tcHV0ZWRT
dHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLS14JyksICcnKTsKKyAgICAgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUgPSAnJzsKKyAgICAgICAgfQor
ICAgIH0sIGBJbnZhbGlkIGZhbGxiYWNrIGludmFsaWRhdGVzIHZhcigpLXJlZmVyZW5jZSBbJHtz
eW50YXh9LCAke2ZhbGxiYWNrfV1gKTsKK30KKwordGVzdF92YWxpZF9mYWxsYmFjaygnPGxlbmd0
aD4nLCAnNDBweCcsICcxMHB4Jyk7Cit0ZXN0X3ZhbGlkX2ZhbGxiYWNrKCc8bGVuZ3RoPiB8IDxj
b2xvcj4nLCAnNDBweCcsICdyZWQnKTsKK3Rlc3RfdmFsaWRfZmFsbGJhY2soJzxsZW5ndGg+IHwg
bm9uZScsICc0MHB4JywgJ25vbmUnKTsKKwordGVzdF9pbnZhbGlkX2ZhbGxiYWNrKCc8bGVuZ3Ro
PicsICc0MHB4JywgJ3JlZCcpOwordGVzdF9pbnZhbGlkX2ZhbGxiYWNrKCc8bGVuZ3RoPiB8IG5v
bmUnLCAnNDBweCcsICdub2xlbmd0aCcpOwordGVzdF9pbnZhbGlkX2ZhbGxiYWNrKCc8bGVuZ3Ro
PicsICc0MHB4JywgJ3ZhcigtLW5vdmFyKScpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0
aWVzLXZhbHVlcy1hcGkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3czYy1pbXBv
cnQubG9nCmluZGV4IDg2Y2Q4ZGQwYzE2ZmE5MWNkZDBkNzg1OTQ0YWRlYzc0MmM1ZTc4MGQuLjYz
MDdiY2RkNzk0MmVhNzZlODgxNmI3ZDg2NGFjOWRjZWUyNWY5ZjggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVz
LXZhbHVlcy1hcGkvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS93M2MtaW1w
b3J0LmxvZwpAQCAtMjMsNiArMjMsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvcmVnaXN0ZXJlZC1wcm9wZXJ0eS1jb21wdXRhdGlvbi5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFw
aS9yZWdpc3RlcmVkLXByb3BlcnR5LWNzc29tLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3JlZ2lz
dGVyZWQtcHJvcGVydHktaW5pdGlhbC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS9zZWxmLXV0aWxz
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3R5cGVkb20udGVudGF0aXZlLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12
YWx1ZXMtYXBpL3VuaXQtY3ljbGVzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpL3VybC1yZXNvbHV0
aW9uLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>