<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>226097</bug_id>
          
          <creation_ts>2008-06-12 17:02 0000</creation_ts>
          <short_desc>dev-libs/gnome-build-0.3.0: compile failure (LOCALE::gettext... configure: error: not found)</short_desc>
          <delta_ts>2008-07-08 15:14:57 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Ebuilds</component>
          <version>unspecified</version>
          <rep_platform>AMD64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>christian.kotz@gmx.net</reporter>
          <assigned_to>compnerd@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>christian.kotz@gmx.net</who>
            <bug_when>2008-06-12 17:02:44 0000</bug_when>
            <thetext>dev-libs/gnome-build-0.3.0 fails to compile due to because autoconfiguration fails: &apos;checking for Locale::gettext... configure: error: not found&apos;

Reproducible: Always

Steps to Reproduce:
1. emerge gnome-build


Actual Results:  
compilation error stops ebuild compilation

Expected Results:  
build compiles and installes

this bug is not identical with the other compile failure for gnome-build-3.0, which is already in bugzilla</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christian.kotz@gmx.net</who>
            <bug_when>2008-06-12 17:03:33 0000</bug_when>
            <thetext>Created an attachment (id=156513)
build log

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christian.kotz@gmx.net</who>
            <bug_when>2008-06-12 17:04:59 0000</bug_when>
            <thetext>Created an attachment (id=156515)
my environment

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christian.kotz@gmx.net</who>
            <bug_when>2008-06-12 17:06:22 0000</bug_when>
            <thetext>Created an attachment (id=156517)
Elibtool log

It records a failure, but I do not understand the meaning of this file.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kristiaan.lenaerts@gmail.com</who>
            <bug_when>2008-06-12 17:43:38 0000</bug_when>
            <thetext>try remerging dev-perl/Locale-gettext</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>carlo@gentoo.org</who>
            <bug_when>2008-06-12 23:12:19 0000</bug_when>
            <thetext>As hinted in red letters, &quot;Gentoo Bugzilla&quot; is not the correct product to file bugs regarding ebuilds. Please use &quot;New -&gt; Gentoo Linux -&gt; Component: Ebuilds&quot; in future.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>remi@gentoo.org</who>
            <bug_when>2008-07-08 15:14:53 0000</bug_when>
            <thetext>  08 Jul 2008; Rémi Cardona &lt;remi@gentoo.org&gt; gnome-build-0.3.0.ebuild:
  add missing dep on dev-perl/Locale-gettext (fixes bugs #213531 and
  #226097)

Fixed in portage. Thanks for reporting.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>156513</attachid>
            <date>2008-06-12 17:03 0000</date>
            <desc>build log</desc>
            <filename>build.log</filename>
            <type>text/plain</type>
            <data encoding="base64">Pj4+IENvbXBpbGluZyBzb3VyY2UgaW4gL2hvbWUvdG1wL3BvcnRhZ2UvZGV2LWxpYnMvZ25vbWUt
YnVpbGQtMC4zLjAvd29yay9nbm9tZS1idWlsZC0wLjMuMCAuLi4KICogZWNvbmY6IHVwZGF0aW5n
IGdub21lLWJ1aWxkLTAuMy4wL2NvbmZpZy5zdWIgd2l0aCAvdXNyL3NoYXJlL2dudWNvbmZpZy9j
b25maWcuc3ViCiAqIGVjb25mOiB1cGRhdGluZyBnbm9tZS1idWlsZC0wLjMuMC9jb25maWcuZ3Vl
c3Mgd2l0aCAvdXNyL3NoYXJlL2dudWNvbmZpZy9jb25maWcuZ3Vlc3MKLi9jb25maWd1cmUgLS1w
cmVmaXg9L3VzciAtLWhvc3Q9eDg2XzY0LXBjLWxpbnV4LWdudSAtLW1hbmRpcj0vdXNyL3NoYXJl
L21hbiAtLWluZm9kaXI9L3Vzci9zaGFyZS9pbmZvIC0tZGF0YWRpcj0vdXNyL3NoYXJlIC0tc3lz
Y29uZmRpcj0vZXRjIC0tbG9jYWxzdGF0ZWRpcj0vdmFyL2xpYiAtLWxpYmRpcj0vdXNyL2xpYjY0
IC0tYnVpbGQ9eDg2XzY0LXBjLWxpbnV4LWdudQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJs
ZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBl
bnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr
aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8g
ZW5hYmxlIG1haW50YWluZXItc3BlY2lmaWMgcG9ydGlvbnMgb2YgTWFrZWZpbGVzLi4uIG5vCmNo
ZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcg
Zm9yIHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjLi4uIGdjYwpjaGVja2luZyBmb3IgQyBjb21waWxl
ciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgd2hldGhlciB0aGUg
QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t
cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr
aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh
cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh
Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4
OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2Mz
CmNoZWNraW5nIGZvciBpbnRsdG9vbCA+PSAwLjM1LjAuLi4gMC4zNy4xIGZvdW5kCmNoZWNraW5n
IGZvciB4Z2V0dGV4dC4uLiAvdXNyL2Jpbi94Z2V0dGV4dApjaGVja2luZyBmb3IgbXNnbWVyZ2Uu
Li4gL3Vzci9iaW4vbXNnbWVyZ2UKY2hlY2tpbmcgZm9yIG1zZ2ZtdC4uLiAvdXNyL2Jpbi9tc2dm
bXQKY2hlY2tpbmcgZm9yIHBlcmwuLi4gL3Vzci9iaW4vcGVybApjaGVja2luZyBmb3IgWE1MOjpQ
YXJzZXIuLi4gb2sKY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBzdHJlcnJvci4uLiBu
b25lIHJlcXVpcmVkCmNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgtZ251LWdjYy4uLiAoY2Fj
aGVkKSBnY2MKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy
Li4uIChjYWNoZWQpIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIChjYWNo
ZWQpIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiAoY2Fj
aGVkKSBub25lIG5lZWRlZApjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiAoY2Fj
aGVkKSBnY2MzCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9i
aW4vaW5zdGFsbCAtYwpjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGlu
dXgtZ251CmNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4geDg2XzY0LXBjLWxpbnV4LWdudQpj
aGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQuLi4gL2Jpbi9z
ZWQKY2hlY2tpbmcgZm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lLi4uIC9i
aW4vZ3JlcApjaGVja2luZyBmb3IgZWdyZXAuLi4gL2Jpbi9ncmVwIC1FCmNoZWNraW5nIGZvciBs
ZCB1c2VkIGJ5IGdjYy4uLiAvdXNyL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkCmNoZWNraW5n
IGlmIHRoZSBsaW5rZXIgKC91c3IveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQpIGlzIEdOVSBs
ZC4uLiB5ZXMKY2hlY2tpbmcgZm9yIC91c3IveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQgb3B0
aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMuLi4gLXIKY2hlY2tpbmcgZm9yIEJTRC1jb21wYXRp
YmxlIG5tLi4uIC91c3IvYmluL25tIC1CCmNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MuLi4g
eWVzCmNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmllcy4uLiBwYXNz
X2FsbApjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvci4uLiBnY2MgLUUKY2hl
Y2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMuLi4geWVzCmNoZWNraW5nIGZvciBzeXMvdHlw
ZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmguLi4geWVzCmNoZWNraW5nIGZvciBz
dGRsaWIuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmluZy5oLi4uIHllcwpjaGVja2luZyBmb3Ig
bWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJpbmdzLmguLi4geWVzCmNoZWNraW5nIGZv
ciBpbnR0eXBlcy5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5n
IGZvciB1bmlzdGQuaC4uLiB5ZXMKY2hlY2tpbmcgZGxmY24uaCB1c2FiaWxpdHkuLi4geWVzCmNo
ZWNraW5nIGRsZmNuLmggcHJlc2VuY2UuLi4geWVzCmNoZWNraW5nIGZvciBkbGZjbi5oLi4uIHll
cwpjaGVja2luZyBmb3IgeDg2XzY0LXBjLWxpbnV4LWdudS1nKysuLi4geDg2XzY0LXBjLWxpbnV4
LWdudS1nKysKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDKysgY29tcGls
ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgeDg2XzY0LXBjLWxpbnV4LWdudS1nKysgYWNjZXB0
cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiB4ODZfNjQtcGMtbGludXgt
Z251LWcrKy4uLiBnY2MzCmNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMrKyBwcmVwcm9jZXNzb3Iu
Li4geDg2XzY0LXBjLWxpbnV4LWdudS1nKysgLUUKY2hlY2tpbmcgZm9yIHg4Nl82NC1wYy1saW51
eC1nbnUtZzc3Li4uIGdmb3J0cmFuCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH
TlUgRm9ydHJhbiA3NyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnZm9ydHJhbiBh
Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29tbWFuZCBs
aW5lIGFyZ3VtZW50cy4uLiAxNTcyODY0CmNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgL3Vzci9i
aW4vbm0gLUIgb3V0cHV0IGZyb20gZ2NjIG9iamVjdC4uLiBvawpjaGVja2luZyBmb3Igb2JqZGly
Li4uIC5saWJzCmNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgtZ251LWFyLi4uIHg4Nl82NC1w
Yy1saW51eC1nbnUtYXIKY2hlY2tpbmcgZm9yIHg4Nl82NC1wYy1saW51eC1nbnUtcmFubGliLi4u
IHg4Nl82NC1wYy1saW51eC1nbnUtcmFubGliCmNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgt
Z251LXN0cmlwLi4uIHg4Nl82NC1wYy1saW51eC1nbnUtc3RyaXAKY2hlY2tpbmcgaWYgZ2NjIHN1
cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMuLi4gbm8KY2hlY2tpbmcgZm9yIGdjYyBv
cHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLWZQSUMKY2hlY2tpbmcgaWYgZ2NjIFBJQyBmbGFnIC1m
UElDIHdvcmtzLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jr
cy4uLiB5ZXMKY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1jIC1vIGZpbGUuby4uLiB5ZXMKY2hl
Y2tpbmcgd2hldGhlciB0aGUgZ2NjIGxpbmtlciAoL3Vzci94ODZfNjQtcGMtbGludXgtZ251L2Jp
bi9sZCAtbSBlbGZfeDg2XzY0KSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5rZWQgaW4uLi4gbm8KY2hl
Y2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIEdOVS9MaW51eCBsZC5zbwpj
aGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zLi4uIGlt
bWVkaWF0ZQpjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUu
Li4geWVzCmNoZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5
ZXMKY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMuLi4gbm8KY29uZmlndXJlOiBj
cmVhdGluZyBsaWJ0b29sCmFwcGVuZGluZyBjb25maWd1cmF0aW9uIHRhZyAiQ1hYIiB0byBsaWJ0
b29sCmNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IHg4Nl82NC1wYy1saW51eC1nbnUtZysrLi4uIC91
c3IveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQgLW0gZWxmX3g4Nl82NApjaGVja2luZyBpZiB0
aGUgbGlua2VyICgvdXNyL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkIC1tIGVsZl94ODZfNjQp
IGlzIEdOVSBsZC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgeDg2XzY0LXBjLWxpbnV4LWdu
dS1nKysgbGlua2VyICgvdXNyL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkIC1tIGVsZl94ODZf
NjQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIGZvciB4ODZfNjQt
cGMtbGludXgtZ251LWcrKyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLWZQSUMKY2hlY2tpbmcg
aWYgeDg2XzY0LXBjLWxpbnV4LWdudS1nKysgUElDIGZsYWcgLWZQSUMgd29ya3MuLi4geWVzCmNo
ZWNraW5nIGlmIHg4Nl82NC1wYy1saW51eC1nbnUtZysrIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29y
a3MuLi4geWVzCmNoZWNraW5nIGlmIHg4Nl82NC1wYy1saW51eC1nbnUtZysrIHN1cHBvcnRzIC1j
IC1vIGZpbGUuby4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgeDg2XzY0LXBjLWxpbnV4LWdu
dS1nKysgbGlua2VyICgvdXNyL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkIC1tIGVsZl94ODZf
NjQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIGR5bmFtaWMgbGlu
a2VyIGNoYXJhY3RlcmlzdGljcy4uLiBHTlUvTGludXggbGQuc28KKGNhY2hlZCkgKGNhY2hlZCkg
Y2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBwcm9ncmFtcy4uLiBp
bW1lZGlhdGUKYXBwZW5kaW5nIGNvbmZpZ3VyYXRpb24gdGFnICJGNzciIHRvIGxpYnRvb2wKY2hl
Y2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpjaGVja2lu
ZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRo
ZXIgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcy4uLiBubwpjaGVja2luZyBmb3IgZ2ZvcnRyYW4g
b3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uIC1mUElDCmNoZWNraW5nIGlmIGdmb3J0cmFuIFBJQyBm
bGFnIC1mUElDIHdvcmtzLi4uIHllcwpjaGVja2luZyBpZiBnZm9ydHJhbiBzdGF0aWMgZmxhZyAt
c3RhdGljIHdvcmtzLi4uIHllcwpjaGVja2luZyBpZiBnZm9ydHJhbiBzdXBwb3J0cyAtYyAtbyBm
aWxlLm8uLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGdmb3J0cmFuIGxpbmtlciAoL3Vzci94
ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZCAtbSBlbGZfeDg2XzY0KSBzdXBwb3J0cyBzaGFyZWQg
bGlicmFyaWVzLi4uIHllcwpjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3Mu
Li4gR05VL0xpbnV4IGxkLnNvCihjYWNoZWQpIChjYWNoZWQpIGNoZWNraW5nIGhvdyB0byBoYXJk
Y29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRlCmNoZWNraW5nIGZv
ciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyBmb3IgcGtnLWNv
bmZpZy4uLiAvdXNyL2Jpbi9wa2ctY29uZmlnCmNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgt
Z251LXBrZy1jb25maWcuLi4gKGNhY2hlZCkgL3Vzci9iaW4vcGtnLWNvbmZpZwpjaGVja2luZyBw
a2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gMC45LjAuLi4geWVzCmNoZWNraW5nIGZvciBH
QkYuLi4geWVzCmNoZWNraW5nIGZvciBHQkZfQU1fQkFDS0VORC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IEdCRl9NS0ZJTEVfQkFDS0VORC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHBlcmwuLi4gL3Vzci9iaW4v
cGVybApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtV25vLXNpZ24tY29tcGFyZS4u
LiB5ZXMKY2hlY2tpbmcgd2hhdCB3YXJuaW5nIGZsYWdzIHRvIHBhc3MgdG8gdGhlIEMgY29tcGls
ZXIuLi4gLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV3BvaW50
ZXItYXJpdGggLVduby1zaWduLWNvbXBhcmUKY2hlY2tpbmcgd2hhdCBsYW5ndWFnZSBjb21wbGlh
bmNlIGZsYWdzIHRvIHBhc3MgdG8gdGhlIEMgY29tcGlsZXIuLi4gCmNoZWNraW5nIGZvciBMb2Nh
bGU6OmdldHRleHQuLi4gY29uZmlndXJlOiBlcnJvcjogbm90IGZvdW5kCgohISEgUGxlYXNlIGF0
dGFjaCB0aGUgZm9sbG93aW5nIGZpbGUgd2hlbiBzZWVraW5nIHN1cHBvcnQ6CiEhISAvaG9tZS90
bXAvcG9ydGFnZS9kZXYtbGlicy9nbm9tZS1idWlsZC0wLjMuMC93b3JrL2dub21lLWJ1aWxkLTAu
My4wL2NvbmZpZy5sb2cKIBtbMzE7MDFtKhtbMG0gCiAbWzMxOzAxbSobWzBtIEVSUk9SOiBkZXYt
bGlicy9nbm9tZS1idWlsZC0wLjMuMCBmYWlsZWQuCiAbWzMxOzAxbSobWzBtIENhbGwgc3RhY2s6
CiAbWzMxOzAxbSobWzBtICAgICAgICAgICAgICAgZWJ1aWxkLnNoLCBsaW5lICAgNDk6ICBDYWxs
ZWQgc3JjX2NvbXBpbGUKIBtbMzE7MDFtKhtbMG0gICAgICAgICAgICAgZW52aXJvbm1lbnQsIGxp
bmUgMjY2ODogIENhbGxlZCBnbm9tZTJfc3JjX2NvbXBpbGUKIBtbMzE7MDFtKhtbMG0gICAgICAg
ICAgICAgZW52aXJvbm1lbnQsIGxpbmUgMjAzOTogIENhbGxlZCBnbm9tZTJfc3JjX2NvbmZpZ3Vy
ZQogG1szMTswMW0qG1swbSAgICAgICAgICAgICBlbnZpcm9ubWVudCwgbGluZSAyMDUzOiAgQ2Fs
bGVkIGVjb25mCiAbWzMxOzAxbSobWzBtICAgICAgICAgICAgICAgZWJ1aWxkLnNoLCBsaW5lICA1
MTM6ICBDYWxsZWQgZGllCiAbWzMxOzAxbSobWzBtIFRoZSBzcGVjaWZpYyBzbmlwcGV0IG9mIGNv
ZGU6CiAbWzMxOzAxbSobWzBtICAgCQkJZGllICJlY29uZiBmYWlsZWQiCiAbWzMxOzAxbSobWzBt
ICBUaGUgZGllIG1lc3NhZ2U6CiAbWzMxOzAxbSobWzBtICAgZWNvbmYgZmFpbGVkCiAbWzMxOzAx
bSobWzBtIAogG1szMTswMW0qG1swbSBJZiB5b3UgbmVlZCBzdXBwb3J0LCBwb3N0IHRoZSB0b3Bt
b3N0IGJ1aWxkIGVycm9yLCBhbmQgdGhlIGNhbGwgc3RhY2sgaWYgcmVsZXZhbnQuCiAbWzMxOzAx
bSobWzBtIEEgY29tcGxldGUgYnVpbGQgbG9nIGlzIGxvY2F0ZWQgYXQgJy9ob21lL3RtcC9wb3J0
YWdlL2Rldi1saWJzL2dub21lLWJ1aWxkLTAuMy4wL3RlbXAvYnVpbGQubG9nJy4KIBtbMzE7MDFt
KhtbMG0gVGhlIGVidWlsZCBlbnZpcm9ubWVudCBmaWxlIGlzIGxvY2F0ZWQgYXQgJy9ob21lL3Rt
cC9wb3J0YWdlL2Rldi1saWJzL2dub21lLWJ1aWxkLTAuMy4wL3RlbXAvZW52aXJvbm1lbnQnLgog
G1szMTswMW0qG1swbSBUaGlzIGVidWlsZCBpcyBmcm9tIGFuIG92ZXJsYXk6ICcvdXNyL2xvY2Fs
L3BvcnRhZ2UvJwogG1szMTswMW0qG1swbSAK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>156515</attachid>
            <date>2008-06-12 17:04 0000</date>
            <desc>my environment</desc>
            <filename>environment</filename>
            <type>text/plain</type>
            <data encoding="base64">QUJJPWFtZDY0CkFMU0FfQ0FSRFM9aW50ZWxfaGRhCkFMU0FfUENNX1BMVUdJTlM9J2FkcGNtIGFs
YXcgYXN5bSBjb3B5IGRtaXggZHNoYXJlIGRzbm9vcCBlbXB0eSBleHRwbHVnIGZpbGUgaG9va3Mg
aWVjOTU4IGlvcGx1ZyBsYWRzcGEgbGZsb2F0IGxpbmVhciBtZXRlciBtdWxhdyBtdWx0aSBudWxs
IHBsdWcgcmF0ZSByb3V0ZSBzaGFyZSBzaG0gc29mdHZvbCcKQU5UX0hPTUU9L3Vzci9zaGFyZS9h
bnQKQVBBQ0hFMl9NT0RVTEVTPSdhY3Rpb25zIGFsaWFzIGF1dGhfYmFzaWMgYXV0aF9kaWdlc3Qg
YXV0aG5fYW5vbiBhdXRobl9kYmQgYXV0aG5fZGJtIGF1dGhuX2RlZmF1bHQgYXV0aG5fZmlsZSBh
dXRoel9kYm0gYXV0aHpfZGVmYXVsdCBhdXRoel9ncm91cGZpbGUgYXV0aHpfaG9zdCBhdXRoel9v
d25lciBhdXRoel91c2VyIGF1dG9pbmRleCBjYWNoZSBkYXYgZGF2X2ZzIGRhdl9sb2NrIGRiZCBk
ZWZsYXRlIGRpciBkaXNrX2NhY2hlIGVudiBleHBpcmVzIGV4dF9maWx0ZXIgZmlsZV9jYWNoZSBm
aWx0ZXIgaGVhZGVycyBpZGVudCBpbWFnZW1hcCBpbmNsdWRlIGluZm8gbG9nX2NvbmZpZyBsb2dp
byBtZW1fY2FjaGUgbWltZSBtaW1lX21hZ2ljIG5lZ290aWF0aW9uIHByb3h5IHByb3h5X2FqcCBw
cm94eV9iYWxhbmNlciBwcm94eV9jb25uZWN0IHByb3h5X2h0dHAgcmV3cml0ZSBzZXRlbnZpZiBz
byBzcGVsaW5nIHN0YXR1cyB1bmlxdWVfaWQgdXNlcmRpciB1c2VydHJhY2sgdmhvc3RfYWxpYXMn
CkFSQ0g9YW1kNjQKQVNGTEFHU194ODY9LS0zMgpDQlVJTEQ9eDg2XzY0LXBjLWxpbnV4LWdudQpD
Qz1nY2MKQ0RFRklORV9hbWQ2ND1fX3g4Nl82NF9fCkNERUZJTkVfZGVmYXVsdD1fX3VuaXhfXwpD
REVGSU5FX3g4Nj1fX2kzODZfXwpDREZfQkFTRT0vdXNyCkNERl9CSU49JyR7Q0RGX0JBU0V9L2Jp
bicKQ0RGX0hFTFA9JyR7Q0RGX0JBU0V9L2xpYi9jZGYvaGVscCcKQ0RGX0lOQz0nJHtDREZfQkFT
RX0vaW5jbHVkZScKQ0RGX0xJQj0nJHtDREZfQkFTRX0vbGliJwpDRkxBR1M9Jy1PMiAtcGlwZSAt
bWFyY2g9YXRobG9uNjQgLW1zc2UzJwpDRkxBR1NfZGVmYXVsdD0KQ0ZMQUdTX3g4Nj0nLW0zMiAt
TC9lbXVsL2xpbnV4L3g4Ni9saWIgLUwvZW11bC9saW51eC94ODYvdXNyL2xpYicKQ0hPU1Q9eDg2
XzY0LXBjLWxpbnV4LWdudQpDSE9TVF9hbWQ2ND14ODZfNjQtcGMtbGludXgtZ251CkNIT1NUX2Rl
ZmF1bHQ9eDg2XzY0LXBjLWxpbnV4LWdudQpDSE9TVF94ODY9aTY4Ni1wYy1saW51eC1nbnUKQ0xB
U1NQQVRIPS4KQ1RBUkdFVF9kZWZhdWx0PXg4Nl82NC1wYy1saW51eC1nbnUKQ1ZTX1JTSD1zc2gK
Q1hYRkxBR1M9Jy1PMiAtcGlwZSAtbWFyY2g9YXRobG9uNjQgLW1zc2UzJwpERUZBVUxUX0FCST1h
bWQ2NApERVBFTkQ9JCc+PWRldi1saWJzL2dsaWItMlxuXHRcdCA+PXgxMS1saWJzL2d0aystMi40
XG5cdFx0ID49ZGV2LWxpYnMvZ2RsLTAuNy42XG5cdFx0ID49ZGV2LWxpYnMvbGlieG1sMi0yLjZc
blx0XHQgPj1nbm9tZS1iYXNlL2xpYmdsYWRlLTIuMFxuXHRcdCA+PWdub21lLWJhc2UvbGliZ25v
bWUtMi40XG5cdFx0ID49Z25vbWUtYmFzZS9nbm9tZS12ZnMtMi40XG5cdFx0ID49Z25vbWUtYmFz
ZS9saWJnbm9tZXVpLTIuNFxuXHRcdCA+PWdub21lLWJhc2UvbGliYm9ub2JvdWktMi40XG5cdFx0
c3lzLWRldmVsL2dldHRleHRcblx0XHRkZXYtdXRpbC9wa2djb25maWdcblx0XHQ+PWRldi11dGls
L2ludGx0b29sLTAuMzUgID49c3lzLWFwcHMvc2VkLTQnCkRFU0NSSVBUSU9OPSdUaGUgR25vbWUg
QnVpbGQgRnJhbWV3b3JrJwpERVNUVFJFRT0vdXNyCkRJUk9QVElPTlM9LW0wNzU1CkRPQ1M9J0FV
VEhPUlMgQ2hhbmdlTG9nIE1BSU5UQUlORVJTIE5FV1MgUkVBRE1FJwpFQVBJPQpFTElCQz1nbGli
YwpFTElCVE9PTF9WRVJTSU9OPTIuMC4yCkVMVENPTkY9CkVMVF9BUFBMSUVEX1BBVENIRVM9JyAx
LjUuNCAxLjUuMTAgMS41LjYnCkVMVF9MVE1BSU5fU0g9L2hvbWUvdG1wL3BvcnRhZ2UvZGV2LWxp
YnMvZ25vbWUtYnVpbGQtMC4zLjAvd29yay9nbm9tZS1idWlsZC0wLjMuMC9sdG1haW4uc2gKRUxU
X1BBVENIX0RJUj0vdXNyL3BvcnRhZ2UvZWNsYXNzL0VMVC1wYXRjaGVzCkVQQVRDSF9FWENMVURF
PQpFUEFUQ0hfRk9SQ0U9bm8KRVBBVENIX01VTFRJX01TRz0nQXBwbHlpbmcgdmFyaW91cyBwYXRj
aGVzIChidWdmaXhlcy91cGRhdGVzKSAuLi4nCkVQQVRDSF9PUFRTPSctZzAgLUUgLS1uby1iYWNr
dXAtaWYtbWlzbWF0Y2gnCkVQQVRDSF9TSU5HTEVfTVNHPQpFUEFUQ0hfU09VUkNFPS9ob21lL3Rt
cC9wb3J0YWdlL2Rldi1saWJzL2dub21lLWJ1aWxkLTAuMy4wL3dvcmsvcGF0Y2gKRVBBVENIX1NV
RkZJWD1wYXRjaC5iejIKRVhFT1BUSU9OUz0tbTA3NTUKRjc3PWdmb3J0cmFuCkZFQVRVUkVTPSdj
Y2FjaGUgZGlzdGxvY2tzIG1ldGFkYXRhLXRyYW5zZmVyIHBhcmFsbGVsLWZldGNoIHNhbmRib3gg
c2ZwZXJtcyBzdHJpY3QgdW5tZXJnZS1vcnBoYW5zIHVzZXItZmV0Y2ggdXNlcmZldGNoJwpGRkxB
R1M9Jy1PMiAtcGlwZSAtbWFyY2g9YXRobG9uNjQgLW1zc2UzJwpGTFRLX0RPQ0RJUj0vdXNyL3No
YXJlL2RvYy9mbHRrLTEuMS43LXIyL2h0bWwKRzJDT05GPQpHQ0NfU1BFQ1M9CkdDT05GVE9PTF9C
SU49L3Vzci9iaW4vZ2NvbmZ0b29sLTIKR0RLX1VTRV9YRlQ9MQpHRE1fTEFORz1kZV9BVC51dGY4
CkdFTkVSQVRJT049MgpHTk9NRV9UQVJCQUxMX1NVRkZJWD1iejIKR1VJTEVfTE9BRF9QQVRIPS91
c3Ivc2hhcmUvZ3VpbGUvMS44CkhPTUVQQUdFPWh0dHA6Ly93d3cuZ25vbWUub3JnLwpIVVNITE9H
SU49RkFMU0UKSU5IRVJJVEVEPSd0b29sY2hhaW4tZnVuY3MgcG9ydGFiaWxpdHkgbXVsdGlsaWIg
Z25vbWUyLXV0aWxzIGxpYnRvb2wgZ25vbWUub3JnIGdub21lMiBmZG8tbWltZSBldXRpbHMnCklO
UFVUX0RFVklDRVM9J2tleWJvYXJkIG1vdXNlIHN5bmFwdGljcyBldmRldicKSU5TREVTVFRSRUU9
CklOU09QVElPTlM9LW0wNjQ0CklVU0U9JyBkZWJ1ZycKSkFWQUM9L2V0Yy9qYXZhLWNvbmZpZy0y
L2N1cnJlbnQtc3lzdGVtLXZtL2Jpbi9qYXZhYwpKQVZBQ0NfSE9NRT0vdXNyL3NoYXJlL2phdmFj
Yy8KSkFWQV9IT01FPS9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12bQpKREtfSE9N
RT0vZXRjL2phdmEtY29uZmlnLTIvY3VycmVudC1zeXN0ZW0tdm0KS0RFRElSUz0vdXNyOi91c3Iv
bG9jYWw6L3Vzci9rZGUvMy41CktFUk5FTD1saW51eApLRVJORUxfQUJJPWFtZDY0CktFWVdPUkRT
PSd+YW1kNjQgfmhwcGEgfnNwYXJjIH54ODYnCktWPTIuNi4yNC1nZW50b28tcjgKTEFEU1BBX1BB
VEg9L3Vzci9saWI2NC9sYWRzcGEKTEFORz1kZV9BVC51dGY4CkxBTkdVQUdFPWRlX0FUOmRlOmVu
X1VTOmVuCkxDRF9ERVZJQ0VTPSdiYXlyYWQgY2ZvbnR6IGNmb250ejYzMyBnbGsgaGQ0NDc4MCBs
YjIxNiBsY2RtMDAxIG10eG9yYiBuY3Vyc2VzIHRleHQnCkxDX0FMTD1kZV9BVC5VVEYtOApMQ19M
QU5HPWRlX0FULnV0ZjgKTERGTEFHU19kZWZhdWx0PQpMREZMQUdTX3g4Nj0nLW0gZWxmX2kzODYg
LUwvZW11bC9saW51eC94ODYvbGliIC1ML2VtdWwvbGludXgveDg2L3Vzci9saWInCkxEX0xJQlJB
UllfUEFUSD0vdXNyL2xpYjMyL3hvcmc6L3Vzci9saWI2NC94b3JnCkxJQkRJUl9hbWQ2ND1saWI2
NApMSUJESVJfZGVmYXVsdD1saWIKTElCRElSX3g4Nj1saWIzMgpMSUJHTF9EUklWRVJTX1BBVEg9
L3Vzci9saWI2NC9kcmk6L3Vzci9saWIzMi9kcmk6L3Vzci9saWIzMi9tb2R1bGVzL2RyaS86L3Vz
ci9saWI2NC9tb2R1bGVzL2RyaS86L3Vzci9saWIzMi9kcmk6L3Vzci9saWI2NC9kcmkKTElCT1BU
SU9OUz0tbTA2NDQKTElDRU5TRT1MR1BMLTIKTElOR1VBUz1kZQpNQUlMPS92YXIvbWFpbC9yb290
Ck1BS0VPUFRTPSctajMgLWoxJwpNVUxUSUxJQl9BQklTPSdhbWQ2NCB4ODYnCk1VTFRJTElCX1NU
UklDVF9ERU5ZPSc2NC1iaXQuKnNoYXJlZCBvYmplY3QnCk1VTFRJTElCX1NUUklDVF9ESVJTPScv
bGliIC91c3IvbGliIC91c3Iva2RlLyovbGliIC91c3IvcXQvKi9saWIgL3Vzci9YMTFSNi9saWIn
Ck1VTFRJTElCX1NUUklDVF9FWEVNUFQ9JyhwZXJsNXxnY2N8Z2NjLWxpYnxiaW51dGlsc3xlY2xp
cHNlLTN8ZGVidWd8cG9ydGFnZSknCk9QRU5HTF9QUk9GSUxFPXhvcmcteDExClBERVBFTkQ9JyAn
ClBLR19DT05GSUdfUEFUSD0vdXNyL3F0LzMvbGliNjQvcGtnY29uZmlnClBSRUxJTktfUEFUSF9N
QVNLPS91c3IvbGliL2dzdHJlYW1lci0wLjgKUFJPVklERT0KUFZNX0FSQ0g9TElOVVg2NApQVk1f
Uk9PVD0vdXNyL3NoYXJlL3B2bTMKUFZQPShbMF09IjAiIFsxXT0iMyIgWzJdPSIwIikKUFlUSE9O
RE9DUz0vdXNyL3NoYXJlL2RvYy9weXRob24tZG9jcy0yLjUuMS9odG1sL2xpYgpQWVRIT05QQVRI
PS91c3IvbGliNjQvcG9ydGFnZS9weW0KUU1BS0VTUEVDPWxpbnV4LWcrKwpRVERJUj0vdXNyL3F0
LzMKUkRFUEVORD0kJz49ZGV2LWxpYnMvZ2xpYi0yXG5cdFx0ID49eDExLWxpYnMvZ3RrKy0yLjRc
blx0XHQgPj1kZXYtbGlicy9nZGwtMC43LjZcblx0XHQgPj1kZXYtbGlicy9saWJ4bWwyLTIuNlxu
XHRcdCA+PWdub21lLWJhc2UvbGliZ2xhZGUtMi4wXG5cdFx0ID49Z25vbWUtYmFzZS9saWJnbm9t
ZS0yLjRcblx0XHQgPj1nbm9tZS1iYXNlL2dub21lLXZmcy0yLjRcblx0XHQgPj1nbm9tZS1iYXNl
L2xpYmdub21ldWktMi40XG5cdFx0ID49Z25vbWUtYmFzZS9saWJib25vYm91aS0yLjQgJwpSRVNU
UklDVD0KUlVCWU9QVD0tcmF1dG9fZ2VtClJfSE9NRT0vdXNyL2xpYjY0L1IKUz0vaG9tZS90bXAv
cG9ydGFnZS9kZXYtbGlicy9nbm9tZS1idWlsZC0wLjMuMC93b3JrL2dub21lLWJ1aWxkLTAuMy4w
ClNBTkRCT1hfREVOWT06L2V0Yy9sZC5zby5wcmVsb2FkOgpTQU5EQk9YX1BSRURJQ1Q9Oi9kZXYv
Y29uc29sZTovZGV2L3JhbmRvbTovaG9tZS90bXAvcG9ydGFnZS9kZXYtbGlicy9nbm9tZS1idWls
ZC0wLjMuMC9ob21lZGlyLy46L3Byb2Mvc2VsZi9tYXBzOi91c3IvbGliNjQvcG9ydGFnZS9weW06
L3Vzci9saWIvcHl0aG9uMi4wLzovdXNyL2xpYi9weXRob24yLjEvOi91c3IvbGliL3B5dGhvbjIu
Mi86L3Vzci9saWIvcHl0aG9uMi4zLzovdXNyL2xpYi9weXRob24yLjQvOi91c3IvbGliL3B5dGhv
bjIuNS86L3Vzci9saWIvcHl0aG9uMy4wLzovdmFyL2NhY2hlL2VkYi9kZXA6L3Zhci9kYi9hbGlh
c2VzLmRiOi92YXIvZGIvZXRoZXJzLmRiOi92YXIvZGIvZ3JvdXAuZGI6L3Zhci9kYi9ob3N0cy5k
YjovdmFyL2RiL25ldGdyb3VwLmRiOi92YXIvZGIvbmV0bWFza3MuZGI6L3Zhci9kYi9uZXR3b3Jr
cy5kYjovdmFyL2RiL3Bhc3N3ZC5kYjovdmFyL2RiL3Byb3RvY29scy5kYjovdmFyL2RiL3JwYy5k
YjovdmFyL2RiL3NlcnZpY2VzLmRiOgpTQU5EQk9YX1JFQUQ9Oi86L2Rldi9zaG06L2Rldi9zdGRp
bjovaG9tZS90bXA6L29wdC90bXAvY2NhY2hlOgpTQU5EQk9YX1dSSVRFPTovZGV2L2NvbnNvbGU6
L2Rldi9mZDovZGV2L251bGw6L2Rldi9wdHMvOi9kZXYvcHR5Oi9kZXYvc2htOi9kZXYvc2htL25n
cHQ6L2Rldi9zdGRlcnI6L2Rldi9zdGRvdXQ6L2Rldi90dHM6L2Rldi90dHk6L2Rldi92Yy86L2Rl
di96ZXJvOi9ob21lL3RtcDovaG9tZS90bXAvcG9ydGFnZS9kZXYtbGlicy9nbm9tZS1idWlsZC0w
LjMuMC9ob21lZGlyLy5iYXNoX2hpc3Rvcnk6L2hvbWUvdG1wL3BvcnRhZ2UvZGV2LWxpYnMvZ25v
bWUtYnVpbGQtMC4zLjAvaG9tZWRpci8uZ2NvbmZkL2xvY2s6L29wdC90bXAvY2NhY2hlOi9wcm9j
L3NlbGYvZmQ6L3RtcDovdG1wLzovdXNyL2xpYjMyL2NmOi91c3IvbGliMzIvY29uZnRlc3Q6L3Vz
ci9saWI2NC9jZjovdXNyL2xpYjY0L2NvbmZ0ZXN0Oi91c3IvbGliL2NmOi91c3IvbGliL2NvbmZ0
ZXN0Oi91c3IvdG1wL2NmOi91c3IvdG1wL2NvbmZ0ZXN0Oi92YXIvbG9nL3Njcm9sbGtlZXBlci5s
b2c6L3Zhci90bXA6L3Zhci90bXAvOgpTQU5FX0NPTkZJR19ESVI9L2V0Yy9zYW5lLmQKU0JDTF9I
T01FPS91c3IvbGliNjQvc2JjbApTQkNMX1NPVVJDRV9ST09UPS91c3IvbGliNjQvc2JjbC9zcmMK
U0NST0xMS0VFUEVSX0RJUj0vdmFyL2xpYi9zY3JvbGxrZWVwZXIKU0NST0xMS0VFUEVSX1VQREFU
RT0xClNDUk9MTEtFRVBFUl9VUERBVEVfQklOPS91c3IvYmluL3Njcm9sbGtlZXBlci11cGRhdGUK
U0dNTF9DQVRBTE9HX0ZJTEVTPS9ldGMvc2dtbC9zZ21sLWRvY2Jvb2suY2F0Oi9ldGMvc2dtbC9v
cGVuamFkZS0xLjMuMi5jYXQ6L2V0Yy9zZ21sL3htbC1kb2Nib29rLTQuNC5jYXQ6L2V0Yy9zZ21s
L3NnbWwtZW50LmNhdDovZXRjL3NnbWwveG1sLXNpbXBsZS1kb2Nib29rLTEuMC5jYXQ6L2V0Yy9z
Z21sL3htbC1zaW1wbGUtZG9jYm9vay00LjEuMi40LmNhdDovZXRjL3NnbWwveG1sLWRvY2Jvb2st
NC4xLjIuY2F0Oi9ldGMvc2dtbC9zZ21sLWRvY2Jvb2stMy4wLmNhdDovZXRjL3NnbWwvc2dtbC1k
b2Nib29rLTMuMS5jYXQ6L2V0Yy9zZ21sL3NnbWwtZG9jYm9vay00LjAuY2F0Oi9ldGMvc2dtbC9z
Z21sLWRvY2Jvb2stNC4xLmNhdDovZXRjL3NnbWwvc2dtbC1kb2Nib29rLTQuMi5jYXQ6L2V0Yy9z
Z21sL3NnbWwtbGl0ZS5jYXQ6L2V0Yy9zZ21sL2Rzc3NsLWRvY2Jvb2stc3R5bGVzaGVldHMuY2F0
ClNMT1Q9MApTUkNfVVJJPW1pcnJvcjovL2dub21lL3NvdXJjZXMvZ25vbWUtYnVpbGQvMC4zL2du
b21lLWJ1aWxkLTAuMy4wLnRhci5iejIKU1RBR0UxX1VTRT0nbnB0bCBucHRsb25seSB1bmljb2Rl
JwpTWU1MSU5LX0xJQj15ZXMKU1lTUVVBS0VMWFBBVEg9Jy47Li9MaWI7L29wdC9TeXNRdWFrZS9T
eXNRdWFrZUx4L0xpYicKVEVYSU5QVVRTPS91c3IvbGliNjQvb2NhbWwvb2NhbWxkb2M6ClVTQl9E
RVZGU19QQVRIPS9kZXYvYnVzL3VzYgpVU0U9J2FtZDY0IGVsaWJjX2dsaWJjIGtlcm5lbF9saW51
eCB1c2VybGFuZF9HTlUnClVTRVJMQU5EPUdOVQpVU0VfRUlOU1RBTEw9ClZJREVPX0NBUkRTPWZn
bHJ4ClZNSEFORExFPWJsYWNrZG93bi1qZGstMS40LjIKVlRLSE9NRT0vdXNyClZUS19EQVRBX1JP
T1Q9L3Vzci9zaGFyZS92dGsvZGF0YQpWVEtfRElSPS91c3IvbGliL3Z0ay01LjAKWERHX0RBVEFf
RElSUz0vdXNyL3NoYXJlOi91c3Iva2RlLzMuNS9zaGFyZTovdXNyL2xvY2FsL3NoYXJlCl89X1JD
X0dFVF9LVl9DQUNIRQpfRV9ET0NERVNUVFJFRV89Cl9FX0VYRURFU1RUUkVFXz0KX19fRUNMQVNT
X1JFQ1VSX01VTFRJTElCPXllcwpfX19FQ0xBU1NfUkVDVVJfVE9PTENIQUlOX0ZVTkNTPXllcwpf
cGlwZXN0YXR1cz0nMCAwJwpjb25mPWdub21lLWJ1aWxkLTAuMy4wLXIwCm9tZj0uL3NyYy9iYWNr
ZW5kcy9saWJnYmZfYW0vR0JGL01ha2VmaWxlLmFtCkVMVF9maW5kX2x0bWFpbl9zaCAoKSAKeyAK
ICAgIGxvY2FsIHg9OwogICAgbG9jYWwgZGlybGlzdD07CiAgICBmb3IgeCBpbiAkKGZpbmQgIiR7
U30iIC1uYW1lICdsdG1haW4uc2gnKTsKICAgIGRvCiAgICAgICAgZGlybGlzdD0iJHtkaXJsaXN0
fSAke3glLyp9IjsKICAgIGRvbmU7CiAgICBlY2hvICIke2Rpcmxpc3R9Igp9CkVMVF9saWJ0b29s
X3ZlcnNpb24gKCkgCnsgCiAgICBsb2NhbCBsdG1haW5fc2g9JDE7CiAgICBsb2NhbCB2ZXJzaW9u
PTsKICAgIHZlcnNpb249JChldmFsICQoZ3JlcCAtZSAnXltbOnNwYWNlOl1dKlZFUlNJT049JyAi
JHtsdG1haW5fc2h9Iik7IAkgICAgICAgICAgICAgICAgIGVjaG8gIiR7VkVSU0lPTn0iKTsKICAg
IFtbIC16ICR7dmVyc2lvbn0gXV0gJiYgdmVyc2lvbj0iMCI7CiAgICBlY2hvICIke3ZlcnNpb259
Igp9CkVMVF90cnlfYW5kX2FwcGx5X3BhdGNoICgpIAp7IAogICAgbG9jYWwgcmV0PTA7CiAgICBs
b2NhbCBmaWxlPSQxOwogICAgbG9jYWwgcGF0Y2g9JDI7CiAgICBpZiBwYXRjaCAtcDAgLS1kcnkt
cnVuICIke2ZpbGV9IiAiJHtwYXRjaH0iID4mIiR7VH0vZWxpYnRvb2wubG9nIjsgdGhlbgogICAg
ICAgIGVpbmZvICIgIEFwcGx5aW5nICQoYmFzZW5hbWUgIiQoZGlybmFtZSAiJHtwYXRjaH0iKSIp
LSR7cGF0Y2gjIyovfS5wYXRjaCAuLi4iOwogICAgICAgIHBhdGNoIC1wMCAtZzAgLS1uby1iYWNr
dXAtaWYtbWlzbWF0Y2ggIiR7ZmlsZX0iICIke3BhdGNofSIgPiYiJHtUfS9lbGlidG9vbC5sb2ci
OwogICAgICAgIHJldD0kPzsKICAgICAgICBleHBvcnQgRUxUX0FQUExJRURfUEFUQ0hFUz0iJHtF
TFRfQVBQTElFRF9QQVRDSEVTfSAke3BhdGNoIyMqL30iOwogICAgZWxzZQogICAgICAgIHJldD0x
OwogICAgZmk7CiAgICByZXR1cm4gIiR7cmV0fSIKfQpFTFRfd2Fsa19wYXRjaGVzICgpIAp7IAog
ICAgbG9jYWwgeD07CiAgICBsb2NhbCB5PTsKICAgIGxvY2FsIHJldD0xOwogICAgbG9jYWwgZmls
ZT0kMTsKICAgIGxvY2FsIHBhdGNoX3NldD0kMjsKICAgIGxvY2FsIHBhdGNoX2Rpcj07CiAgICBs
b2NhbCByZW1faW50X2RlcD0kMzsKICAgIGlmIFtbIC1uICR7cGF0Y2hfc2V0fSBdXTsgdGhlbgog
ICAgICAgIGlmIFtbIC1kICR7RUxUX1BBVENIX0RJUn0vJHtwYXRjaF9zZXR9IF1dOyB0aGVuCiAg
ICAgICAgICAgIHBhdGNoX2Rpcj0iJHtFTFRfUEFUQ0hfRElSfS8ke3BhdGNoX3NldH0iOwogICAg
ICAgIGVsc2UKICAgICAgICAgICAgcmV0dXJuICIke3JldH0iOwogICAgICAgIGZpOwogICAgICAg
IGZvciB4IGluICQobHMgLWQgIiR7cGF0Y2hfZGlyfSIvKiAyPiAvZGV2L251bGwgfCBncmVwIC12
ICdDVlMnIHwgc29ydCAtcik7CiAgICAgICAgZG8KICAgICAgICAgICAgaWYgW1sgLW4gJHt4fSAm
JiAtZiAke3h9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBpZiBbWyAtbiAke3JlbV9pbnRfZGVw
fSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIHNlZCAtZSAic3xAUkVNX0lOVF9ERVBAfCR7
cmVtX2ludF9kZXB9fGciICR7eH0gPiAiJHtUfS8kJC5yZW1faW50X2RlcHMucGF0Y2giOwogICAg
ICAgICAgICAgICAgICAgIHg9IiR7VH0vJCQucmVtX2ludF9kZXBzLnBhdGNoIjsKICAgICAgICAg
ICAgICAgIGZpOwogICAgICAgICAgICAgICAgaWYgRUxUX3RyeV9hbmRfYXBwbHlfcGF0Y2ggIiR7
ZmlsZX0iICIke3h9IjsgdGhlbgogICAgICAgICAgICAgICAgICAgIHJldD0wOwogICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGZpOwogICAg
ICAgIGRvbmU7CiAgICBmaTsKICAgIHJldHVybiAiJHtyZXR9Igp9ClZFUl9tYWpvciAoKSAKeyAK
ICAgIFtbIC16ICQxIF1dICYmIHJldHVybiAxOwogICAgbG9jYWwgVkVSPSRAOwogICAgZWNobyAi
JHtWRVIlJVteWzpkaWdpdDpdXSp9Igp9ClZFUl9taWNybyAoKSAKeyAKICAgIFtbIC16ICQxIF1d
ICYmIHJldHVybiAxOwogICAgbG9jYWwgVkVSPSRAOwogICAgVkVSPSR7VkVSIyouKi59OwogICAg
ZWNobyAiJHtWRVIlJVteWzpkaWdpdDpdXSp9Igp9ClZFUl9taW5vciAoKSAKeyAKICAgIFtbIC16
ICQxIF1dICYmIHJldHVybiAxOwogICAgbG9jYWwgVkVSPSRAOwogICAgVkVSPSR7VkVSIyoufTsK
ICAgIGVjaG8gIiR7VkVSJSVbXls6ZGlnaXQ6XV0qfSIKfQpWRVJfdG9faW50ICgpIAp7IAogICAg
W1sgLXogJDEgXV0gJiYgcmV0dXJuIDE7CiAgICBsb2NhbCBWRVJfTUFKT1I9JChWRVJfbWFqb3Ig
IiQxIik7CiAgICBsb2NhbCBWRVJfTUlOT1I9JChWRVJfbWlub3IgIiQxIik7CiAgICBsb2NhbCBW
RVJfTUlDUk89JChWRVJfbWljcm8gIiQxIik7CiAgICBsb2NhbCBWRVJfaW50PSQoKCBWRVJfTUFK
T1IgKiA2NTUzNiArIFZFUl9NSU5PUiAqIDI1NiArIFZFUl9NSUNSTyApKTsKICAgIGlmIFtbICR7
VkVSX2ludH0gLWdlIDY1NTM2IF1dOyB0aGVuCiAgICAgICAgZWNobyAiJHtWRVJfaW50fSI7CiAg
ICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGVjaG8gMTsKICAgIHJldHVybiAxCn0KX2Nkcm9t
X2xvY2F0ZV9maWxlX29uX2NkICgpIAp7IAogICAgbG9jYWwgbWxpbmU9IiI7CiAgICBsb2NhbCBz
aG93ZWRtc2c9MCBzaG93am9saWV0bXNnPTA7CiAgICB3aGlsZSBbWyAteiAke0NEUk9NX1JPT1R9
IF1dOyBkbwogICAgICAgIGxvY2FsIGk9MDsKICAgICAgICBsb2NhbCAtYSBjZHNldD0oJHsqLy86
LyB9KTsKICAgICAgICBpZiBbWyAtbiAke0NEUk9NX1NFVH0gXV07IHRoZW4KICAgICAgICAgICAg
Y2RzZXQ9KCR7Y2RzZXRbJHtDRFJPTV9TRVR9XX0pOwogICAgICAgIGZpOwogICAgICAgIHdoaWxl
IFtbIC1uICR7Y2RzZXRbJHtpfV19IF1dOyBkbwogICAgICAgICAgICBsb2NhbCBkaXI9JChkaXJu
YW1lICR7Y2RzZXRbJHtpfV19KTsKICAgICAgICAgICAgbG9jYWwgZmlsZT0kKGJhc2VuYW1lICR7
Y2RzZXRbJHtpfV19KTsKICAgICAgICAgICAgbG9jYWwgcG9pbnQ9IG5vZGU9IGZzPSBmb289Owog
ICAgICAgICAgICB3aGlsZSByZWFkIHBvaW50IG5vZGUgZnMgZm9vOyBkbwogICAgICAgICAgICAg
ICAgW1sgIiBjZDk2NjAgaXNvOTY2MCB1ZGYgIiAhPSAqIiAke2ZzfSAiKiBdXSAmJiAhIFtbICR7
ZnN9ID09ICJzdWJmcyIgJiYgIiwke29wdHN9LCIgPT0gKiIsZnM9Y2Rmc3MsIiogXV0gJiYgY29u
dGludWU7CiAgICAgICAgICAgICAgICBwb2ludD0ke3BvaW50Ly9cMDQwLyB9OwogICAgICAgICAg
ICAgICAgW1sgISAtZCAke3BvaW50fS8ke2Rpcn0gXV0gJiYgY29udGludWU7CiAgICAgICAgICAg
ICAgICBbWyAteiAkKGZpbmQgIiR7cG9pbnR9LyR7ZGlyfSIgLW1heGRlcHRoIDEgLWluYW1lICIk
e2ZpbGV9IikgXV0gJiYgY29udGludWU7CiAgICAgICAgICAgICAgICBleHBvcnQgQ0RST01fUk9P
VD0ke3BvaW50fTsKICAgICAgICAgICAgICAgIGV4cG9ydCBDRFJPTV9TRVQ9JHtpfTsKICAgICAg
ICAgICAgICAgIGV4cG9ydCBDRFJPTV9NQVRDSD0ke2Nkc2V0WyR7aX1dfTsKICAgICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgICAgZG9uZSA8PDwgIiQoZ2V0X21vdW50cykiOwogICAgICAg
ICAgICAoKCsraSkpOwogICAgICAgIGRvbmU7CiAgICAgICAgZWNobzsKICAgICAgICBpZiBbWyAk
e3Nob3dlZG1zZ30gLWVxIDAgXV07IHRoZW4KICAgICAgICAgICAgaWYgW1sgJHtDRFJPTV9UT1RB
TF9DRFN9IC1lcSAxIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBpZiBbWyAteiAke0NEUk9NX05B
TUV9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgZWluZm8gIlBsZWFzZSBpbnNlcnQrbW91
bnQgdGhlIGNkcm9tIGZvciAke1BOfSBub3cgISI7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgZWluZm8gIlBsZWFzZSBpbnNlcnQrbW91bnQgdGhlICR7Q0RST01fTkFN
RX0gY2Ryb20gbm93ICEiOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgIGlmIFtbIC16ICR7Q0RST01fTkFNRV8xfSBdXTsgdGhlbgogICAgICAgICAg
ICAgICAgICAgIGVpbmZvICJQbGVhc2UgaW5zZXJ0K21vdW50IGNkICMke0NEUk9NX0NVUlJFTlRf
Q0R9IGZvciAke1BOfSBub3cgISI7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAg
ICAgICAgbG9jYWwgdmFyPSJDRFJPTV9OQU1FXyR7Q0RST01fQ1VSUkVOVF9DRH0iOwogICAgICAg
ICAgICAgICAgICAgIGVpbmZvICJQbGVhc2UgaW5zZXJ0K21vdW50IHRoZSAkeyF2YXJ9IGNkcm9t
IG5vdyAhIjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAg
c2hvd2VkbXNnPTE7CiAgICAgICAgZmk7CiAgICAgICAgZWluZm8gIlByZXNzIHJldHVybiB0byBz
Y2FuIGZvciB0aGUgY2QgYWdhaW4iOwogICAgICAgIGVpbmZvICJvciBoaXQgQ1RSTCtDIHRvIGFi
b3J0IHRoZSBlbWVyZ2UuIjsKICAgICAgICBlY2hvOwogICAgICAgIGlmIFtbICR7c2hvd2pvbGll
dG1zZ30gLWVxIDAgXV07IHRoZW4KICAgICAgICAgICAgc2hvd2pvbGlldG1zZz0xOwogICAgICAg
IGVsc2UKICAgICAgICAgICAgZXdhcm4gIklmIHlvdSBhcmUgaGF2aW5nIHRyb3VibGUgd2l0aCB0
aGUgZGV0ZWN0aW9uIjsKICAgICAgICAgICAgZXdhcm4gIm9mIHlvdXIgQ0QsIGl0IGlzIHBvc3Np
YmxlIHRoYXQgeW91IGRvIG5vdCBoYXZlIjsKICAgICAgICAgICAgZXdhcm4gIkpvbGlldCBzdXBw
b3J0IGVuYWJsZWQgaW4geW91ciBrZXJuZWwuICBQbGVhc2UiOwogICAgICAgICAgICBld2FybiAi
Y2hlY2sgdGhhdCBDT05GSUdfSk9MSUVUIGlzIGVuYWJsZWQgaW4geW91ciBrZXJuZWwuIjsKICAg
ICAgICAgICAgZWJlZXAgNTsKICAgICAgICBmaTsKICAgICAgICByZWFkIHx8IGRpZSAic29tZXRo
aW5nIGlzIHNjcmV3ZWQgd2l0aCB5b3VyIHN5c3RlbSI7CiAgICBkb25lCn0KX2djYy1pbnN0YWxs
LWRpciAoKSAKeyAKICAgIGVjaG8gIiQoTENfQUxMPUMgJCh0Yy1nZXRDQykgLXByaW50LXNlYXJj
aC1kaXJzIDI+IC9kZXYvbnVsbCB8CQlhd2sgJyQxPT0iaW5zdGFsbDoiIHtwcmludCAkMn0nKSIK
fQpfZ2NjLXNwZWNzLWRpcmVjdGl2ZV9yYXcgKCkgCnsgCiAgICBsb2NhbCBjYz0kKHRjLWdldEND
KTsKICAgIGxvY2FsIHNwZWNmaWxlcz0kKExDX0FMTD1DICR7Y2N9IC12IDI+JjEgfCBhd2sgJyQx
PT0iUmVhZGluZyIge3ByaW50ICRORn0nKTsKICAgICR7Y2N9IC1kdW1wc3BlY3MgMj4gL2Rldi9u
dWxsIHwgY2F0IC0gJHtzcGVjZmlsZXN9IHwgYXdrIC12IGRpcmVjdGl2ZT0kMSAnQkVHSU4JeyBw
c3BlYz0iIjsgc3BlYz0iIjsgb3V0c2lkZT0xIH0KJDE9PSIqImRpcmVjdGl2ZSI6IiAgeyBwc3Bl
Yz1zcGVjOyBzcGVjPSIiOyBvdXRzaWRlPTA7IG5leHQgfQoJb3V0c2lkZSB8fCBORj09MCB8fCAo
IHN1YnN0cigkMSwxLDEpPT0iKiIgJiYgc3Vic3RyKCQxLGxlbmd0aCgkMSksMSk9PSI6IiApIHsg
b3V0c2lkZT0xOyBuZXh0IH0KCXNwZWM9PSIiICYmIHN1YnN0cigkMCwxLDEpPT0iKyIgeyBzcGVj
PXBzcGVjICIgIiBzdWJzdHIoJDAsMik7IG5leHQgfQoJeyBzcGVjPXNwZWMgJDAgfQpFTkQJeyBw
cmludCBzcGVjIH0nOwogICAgcmV0dXJuIDAKfQpfZ2NjLXNwZWNzLWV4aXN0cyAoKSAKeyAKICAg
IFtbIC1mICQoX2djYy1pbnN0YWxsLWRpcikvJDEgXV0KfQpiYXNocmNfaGFzICgpIAp7IAogICAg
W1sgIiAkeyo6Mn0gIiA9PSAqIiAkMSAiKiBdXQp9CmJ1aWx0X3dpdGhfdXNlICgpIAp7IAogICAg
bG9jYWwgaGlkZGVuPSJubyI7CiAgICBpZiBbWyAkMSA9PSAiLS1oaWRkZW4iIF1dOyB0aGVuCiAg
ICAgICAgaGlkZGVuPSJ5ZXMiOwogICAgICAgIHNoaWZ0OwogICAgZmk7CiAgICBsb2NhbCBtaXNz
aW5nX2FjdGlvbj0iZGllIjsKICAgIGlmIFtbICQxID09ICItLW1pc3NpbmciIF1dOyB0aGVuCiAg
ICAgICAgbWlzc2luZ19hY3Rpb249JDI7CiAgICAgICAgc2hpZnQ7CiAgICAgICAgc2hpZnQ7CiAg
ICAgICAgY2FzZSAke21pc3NpbmdfYWN0aW9ufSBpbiAKICAgICAgICAgICAgdHJ1ZSB8IGZhbHNl
IHwgZGllKQoKICAgICAgICAgICAgOzsKICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgIGRp
ZSAidW5rbm93biBhY3Rpb24gJyR7bWlzc2luZ19hY3Rpb259JyIKICAgICAgICAgICAgOzsKICAg
ICAgICBlc2FjOwogICAgZmk7CiAgICBsb2NhbCBvcHQ9JDE7CiAgICBbWyAke29wdDowOjF9ID0g
Ii0iIF1dICYmIHNoaWZ0IHx8IG9wdD0iLWEiOwogICAgbG9jYWwgUEtHPSQoYmVzdF92ZXJzaW9u
ICQxKTsKICAgIFtbIC16ICR7UEtHfSBdXSAmJiBkaWUgIlVuYWJsZSB0byByZXNvbHZlICQxIHRv
IGFuIGluc3RhbGxlZCBwYWNrYWdlIjsKICAgIHNoaWZ0OwogICAgbG9jYWwgVVNFRklMRT0ke1JP
T1R9L3Zhci9kYi9wa2cvJHtQS0d9L1VTRTsKICAgIGxvY2FsIElVU0VGSUxFPSR7Uk9PVH0vdmFy
L2RiL3BrZy8ke1BLR30vSVVTRTsKICAgIGlmIFtbICEgLWUgJHtVU0VGSUxFfSBdXSB8fCBbWyAh
IC1lICR7SVVTRUZJTEV9ICYmICR7aGlkZGVufSA9PSAibm8iIF1dOyB0aGVuCiAgICAgICAgY2Fz
ZSAke21pc3NpbmdfYWN0aW9ufSBpbiAKICAgICAgICAgICAgdHJ1ZSkKICAgICAgICAgICAgICAg
IHJldHVybiAwCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGZhbHNlKQogICAgICAgICAgICAg
ICAgcmV0dXJuIDEKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZGllKQogICAgICAgICAgICAg
ICAgZGllICJVbmFibGUgdG8gZGV0ZXJtaW5lIHdoYXQgVVNFIGZsYWdzICRQS0cgd2FzIGJ1aWx0
IHdpdGgiCiAgICAgICAgICAgIDs7CiAgICAgICAgZXNhYzsKICAgIGZpOwogICAgaWYgW1sgJHto
aWRkZW59ID09ICJubyIgXV07IHRoZW4KICAgICAgICBsb2NhbCBJVVNFX0JVSUxUPSgkKDwiJHtJ
VVNFRklMRX0iKSk7CiAgICAgICAgbG9jYWwgZXhwYW5kOwogICAgICAgIGZvciBleHBhbmQgaW4g
JChlY2hvICR7VVNFX0VYUEFORH0gfCB0ciAnWzp1cHBlcjpdJyAnWzpsb3dlcjpdJyk7CiAgICAg
ICAgZG8KICAgICAgICAgICAgaWYgW1sgJDEgPT0gJHtleHBhbmR9XyogXV07IHRoZW4KICAgICAg
ICAgICAgICAgIGV4cGFuZD0iIjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBm
aTsKICAgICAgICBkb25lOwogICAgICAgIGlmIFtbIC1uICR7ZXhwYW5kfSBdXTsgdGhlbgogICAg
ICAgICAgICBpZiAhIGhhcyAkMSAke0lVU0VfQlVJTFRbQF0jWy0rXX07IHRoZW4KICAgICAgICAg
ICAgICAgIGNhc2UgJHttaXNzaW5nX2FjdGlvbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgdHJ1
ZSkKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICAgICAgICAgICAgICA7
OwogICAgICAgICAgICAgICAgICAgIGZhbHNlKQogICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gMQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgZGllKQogICAg
ICAgICAgICAgICAgICAgICAgICBkaWUgIiRQS0cgZG9lcyBub3QgYWN0dWFsbHkgc3VwcG9ydCB0
aGUgJDEgVVNFIGZsYWchIgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICBl
c2FjOwogICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGZpOwogICAgbG9jYWwgVVNFX0JV
SUxUPSQoPCR7VVNFRklMRX0pOwogICAgd2hpbGUgW1sgJCMgLWd0IDAgXV07IGRvCiAgICAgICAg
aWYgW1sgJHtvcHR9ID0gIi1vIiBdXTsgdGhlbgogICAgICAgICAgICBoYXMgJDEgJHtVU0VfQlVJ
TFR9ICYmIHJldHVybiAwOwogICAgICAgIGVsc2UKICAgICAgICAgICAgaGFzICQxICR7VVNFX0JV
SUxUfSB8fCByZXR1cm4gMTsKICAgICAgICBmaTsKICAgICAgICBzaGlmdDsKICAgIGRvbmU7CiAg
ICBbWyAke29wdH0gPSAiLWEiIF1dCn0KY2Ryb21fZ2V0X2NkcyAoKSAKeyAKICAgIGxvY2FsIGNk
Y250PTA7CiAgICBsb2NhbCBmPTsKICAgIGZvciBmIGluICIkQCI7CiAgICBkbwogICAgICAgICgo
KytjZGNudCkpOwogICAgICAgIGV4cG9ydCBDRFJPTV9DSEVDS18ke2NkY250fT0iJGYiOwogICAg
ZG9uZTsKICAgIGV4cG9ydCBDRFJPTV9UT1RBTF9DRFM9JHtjZGNudH07CiAgICBleHBvcnQgQ0RS
T01fQ1VSUkVOVF9DRD0xOwogICAgaWYgW1sgLW4gJHtDRF9ST09UfSR7Q0RfUk9PVF8xfSBdXTsg
dGhlbgogICAgICAgIGxvY2FsIHZhcj07CiAgICAgICAgY2RjbnQ9MDsKICAgICAgICB3aGlsZSBb
WyAke2NkY250fSAtbHQgJHtDRFJPTV9UT1RBTF9DRFN9IF1dOyBkbwogICAgICAgICAgICAoKCsr
Y2RjbnQpKTsKICAgICAgICAgICAgdmFyPSJDRF9ST09UXyR7Y2RjbnR9IjsKICAgICAgICAgICAg
W1sgLXogJHshdmFyfSBdXSAmJiB2YXI9IkNEX1JPT1QiOwogICAgICAgICAgICBpZiBbWyAteiAk
eyF2YXJ9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBlZXJyb3IgIllvdSBtdXN0IGVpdGhlciB1
c2UganVzdCB0aGUgQ0RfUk9PVCI7CiAgICAgICAgICAgICAgICBlZXJyb3IgIm9yIHNwZWNpZnkg
QUxMIHRoZSBDRF9ST09UX1ggdmFyaWFibGVzLiI7CiAgICAgICAgICAgICAgICBlZXJyb3IgIklu
IHRoaXMgY2FzZSwgeW91IHdpbGwgbmVlZCAke0NEUk9NX1RPVEFMX0NEU30gQ0RfUk9PVF9YIHZh
cmlhYmxlcy4iOwogICAgICAgICAgICAgICAgZGllICJjb3VsZCBub3QgbG9jYXRlIENEX1JPT1Rf
JHtjZGNudH0iOwogICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgICAgIGV4cG9ydCBD
RFJPTV9ST09UPSR7Q0RfUk9PVF8xOi0ke0NEX1JPT1R9fTsKICAgICAgICBlaW5mbyAiRm91bmQg
Q0QgIyR7Q0RST01fQ1VSUkVOVF9DRH0gcm9vdCBhdCAke0NEUk9NX1JPT1R9IjsKICAgICAgICBl
eHBvcnQgQ0RST01fU0VUPS0xOwogICAgICAgIGZvciBmIGluICR7Q0RST01fQ0hFQ0tfMS8vOi8g
fTsKICAgICAgICBkbwogICAgICAgICAgICAoKCsrQ0RST01fU0VUKSk7CiAgICAgICAgICAgIFtb
IC1lICR7Q0RfUk9PVH0vJHtmfSBdXSAmJiBicmVhazsKICAgICAgICBkb25lOwogICAgICAgIGV4
cG9ydCBDRFJPTV9NQVRDSD0ke2Z9OwogICAgICAgIHJldHVybjsKICAgIGZpOwogICAgaWYgW1sg
JHtDRFJPTV9UT1RBTF9DRFN9IC1lcSAxIF1dOyB0aGVuCiAgICAgICAgZWluZm8gIlRoaXMgZWJ1
aWxkIHdpbGwgbmVlZCB0aGUgJHtDRFJPTV9OQU1FOi1jZHJvbSBmb3IgJHtQTn19IjsKICAgICAg
ICBlY2hvOwogICAgICAgIGVpbmZvICJJZiB5b3UgZG8gbm90IGhhdmUgdGhlIENELCBidXQgaGF2
ZSB0aGUgZGF0YSBmaWxlcyI7CiAgICAgICAgZWluZm8gIm1vdW50ZWQgc29tZXdoZXJlIG9uIHlv
dXIgZmlsZXN5c3RlbSwganVzdCBleHBvcnQiOwogICAgICAgIGVpbmZvICJ0aGUgdmFyaWFibGUg
Q0RfUk9PVCBzbyB0aGF0IGl0IHBvaW50cyB0byB0aGUiOwogICAgICAgIGVpbmZvICJkaXJlY3Rv
cnkgY29udGFpbmluZyB0aGUgZmlsZXMuIjsKICAgICAgICBlY2hvOwogICAgICAgIGVpbmZvICJG
b3IgZXhhbXBsZToiOwogICAgICAgIGVpbmZvICJleHBvcnQgQ0RfUk9PVD0vbW50L2Nkcm9tIjsK
ICAgICAgICBlY2hvOwogICAgZWxzZQogICAgICAgIGlmIFtbIC1uICR7Q0RST01fTkFNRV9TRVR9
IF1dOyB0aGVuCiAgICAgICAgICAgIGNkY250PTA7CiAgICAgICAgICAgIHdoaWxlIFtbICR7Y2Rj
bnR9IC1sdCAke0NEUk9NX1RPVEFMX0NEU30gXV07IGRvCiAgICAgICAgICAgICAgICAoKCsrY2Rj
bnQpKTsKICAgICAgICAgICAgICAgIGV4cG9ydCBDRFJPTV9OQU1FXyR7Y2RjbnR9PSIke0NEUk9N
X05BTUVfU0VUWyQoKCR7Y2RjbnR9LTEpKV19IjsKICAgICAgICAgICAgZG9uZTsKICAgICAgICBm
aTsKICAgICAgICBlaW5mbyAiVGhpcyBwYWNrYWdlIHdpbGwgbmVlZCBhY2Nlc3MgdG8gJHtDRFJP
TV9UT1RBTF9DRFN9IGNkcy4iOwogICAgICAgIGNkY250PTA7CiAgICAgICAgd2hpbGUgW1sgJHtj
ZGNudH0gLWx0ICR7Q0RST01fVE9UQUxfQ0RTfSBdXTsgZG8KICAgICAgICAgICAgKCgrK2NkY250
KSk7CiAgICAgICAgICAgIHZhcj0iQ0RST01fTkFNRV8ke2NkY250fSI7CiAgICAgICAgICAgIFtb
ICEgLXogJHshdmFyfSBdXSAmJiBlaW5mbyAiIENEICR7Y2RjbnR9OiAkeyF2YXJ9IjsKICAgICAg
ICBkb25lOwogICAgICAgIGVjaG87CiAgICAgICAgZWluZm8gIklmIHlvdSBkbyBub3QgaGF2ZSB0
aGUgQ0RzLCBidXQgaGF2ZSB0aGUgZGF0YSBmaWxlcyI7CiAgICAgICAgZWluZm8gIm1vdW50ZWQg
c29tZXdoZXJlIG9uIHlvdXIgZmlsZXN5c3RlbSwganVzdCBleHBvcnQiOwogICAgICAgIGVpbmZv
ICJ0aGUgZm9sbG93aW5nIHZhcmlhYmxlcyBzbyB0aGV5IHBvaW50IHRvIHRoZSByaWdodCBwbGFj
ZToiOwogICAgICAgIGVpbmZvbiAiIjsKICAgICAgICBjZGNudD0wOwogICAgICAgIHdoaWxlIFtb
ICR7Y2RjbnR9IC1sdCAke0NEUk9NX1RPVEFMX0NEU30gXV07IGRvCiAgICAgICAgICAgICgoKytj
ZGNudCkpOwogICAgICAgICAgICBlY2hvIC1uICIgQ0RfUk9PVF8ke2NkY250fSI7CiAgICAgICAg
ZG9uZTsKICAgICAgICBlY2hvOwogICAgICAgIGVpbmZvICJPciwgaWYgeW91IGhhdmUgYWxsIHRo
ZSBmaWxlcyBpbiB0aGUgc2FtZSBwbGFjZSwgb3IiOwogICAgICAgIGVpbmZvICJ5b3Ugb25seSBo
YXZlIG9uZSBjZHJvbSwgeW91IGNhbiBleHBvcnQgQ0RfUk9PVCI7CiAgICAgICAgZWluZm8gImFu
ZCB0aGF0IHBsYWNlIHdpbGwgYmUgdXNlZCBhcyB0aGUgc2FtZSBkYXRhIHNvdXJjZSI7CiAgICAg
ICAgZWluZm8gImZvciBhbGwgdGhlIENEcy4iOwogICAgICAgIGVjaG87CiAgICAgICAgZWluZm8g
IkZvciBleGFtcGxlOiI7CiAgICAgICAgZWluZm8gImV4cG9ydCBDRF9ST09UXzE9L21udC9jZHJv
bSI7CiAgICAgICAgZWNobzsKICAgIGZpOwogICAgZXhwb3J0IENEUk9NX1NFVD0iIjsKICAgIGV4
cG9ydCBDRFJPTV9DVVJSRU5UX0NEPTA7CiAgICBjZHJvbV9sb2FkX25leHRfY2QKfQpjZHJvbV9s
b2FkX25leHRfY2QgKCkgCnsgCiAgICBsb2NhbCB2YXI7CiAgICAoKCsrQ0RST01fQ1VSUkVOVF9D
RCkpOwogICAgdW5zZXQgQ0RST01fUk9PVDsKICAgIHZhcj1DRF9ST09UXyR7Q0RST01fQ1VSUkVO
VF9DRH07CiAgICBbWyAteiAkeyF2YXJ9IF1dICYmIHZhcj0iQ0RfUk9PVCI7CiAgICBpZiBbWyAt
eiAkeyF2YXJ9IF1dOyB0aGVuCiAgICAgICAgdmFyPSJDRFJPTV9DSEVDS18ke0NEUk9NX0NVUlJF
TlRfQ0R9IjsKICAgICAgICBfY2Ryb21fbG9jYXRlX2ZpbGVfb25fY2QgJHshdmFyfTsKICAgIGVs
c2UKICAgICAgICBleHBvcnQgQ0RST01fUk9PVD0keyF2YXJ9OwogICAgZmk7CiAgICBlaW5mbyAi
Rm91bmQgQ0QgIyR7Q0RST01fQ1VSUkVOVF9DRH0gcm9vdCBhdCAke0NEUk9NX1JPT1R9Igp9CmNo
ZWNrX2xpY2Vuc2UgKCkgCnsgCiAgICBsb2NhbCBsaWM9JDE7CiAgICBpZiBbIC16ICIke2xpY30i
IF07IHRoZW4KICAgICAgICBsaWM9IiR7UE9SVERJUn0vbGljZW5zZXMvJHtMSUNFTlNFfSI7CiAg
ICBlbHNlCiAgICAgICAgaWYgWyAtZSAiJHtQT1JURElSfS9saWNlbnNlcy8ke2xpY30iIF07IHRo
ZW4KICAgICAgICAgICAgbGljPSIke1BPUlRESVJ9L2xpY2Vuc2VzLyR7bGljfSI7CiAgICAgICAg
ZWxzZQogICAgICAgICAgICBpZiBbIC1lICIke1BXRH0vJHtsaWN9IiBdOyB0aGVuCiAgICAgICAg
ICAgICAgICBsaWM9IiR7UFdEfS8ke2xpY30iOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICBpZiBbIC1lICIke2xpY30iIF07IHRoZW4KICAgICAgICAgICAgICAgICAgICBsaWM9IiR7
bGljfSI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAg
ICBmaTsKICAgIFsgISAtZiAiJHtsaWN9IiBdICYmIGRpZSAiQ291bGQgbm90IGZpbmQgcmVxdWVz
dGVkIGxpY2Vuc2UgJHtsaWN9IjsKICAgIGxvY2FsIGw9ImBiYXNlbmFtZSAke2xpY31gIjsKICAg
IGxvY2FsIHNob3B0cz0kLTsKICAgIGxvY2FsIGFsaWM7CiAgICBzZXQgLW8gbm9nbG9iOwogICAg
Zm9yIGFsaWMgaW4gJHtBQ0NFUFRfTElDRU5TRX07CiAgICBkbwogICAgICAgIGlmIFtbICR7YWxp
Y30gPT0gJHtsfSBdXTsgdGhlbgogICAgICAgICAgICBzZXQgK28gbm9nbG9iOwogICAgICAgICAg
ICBzZXQgLSR7c2hvcHRzfTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgZmk7CiAgICBk
b25lOwogICAgc2V0ICtvIG5vZ2xvYjsKICAgIHNldCAtJHNob3B0czsKICAgIGxvY2FsIGxpY21z
Zz0kKGVta3RlbXApOwogICAgY2F0ID4gJHtsaWNtc2d9ICA8PC1FT0YKKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgZm9sbG93aW5n
IGxpY2Vuc2Ugb3V0bGluZXMgdGhlIHRlcm1zIG9mIHVzZSBvZiB0aGlzCnBhY2thZ2UuICBZb3Ug
TVVTVCBhY2NlcHQgdGhpcyBsaWNlbnNlIGZvciBpbnN0YWxsYXRpb24gdG8KY29udGludWUuICBX
aGVuIHlvdSBhcmUgZG9uZSB2aWV3aW5nLCBoaXQgJ3EnLglJZiB5b3UKQ1RSTCtDIG91dCBvZiB0
aGlzLCB0aGUgaW5zdGFsbCB3aWxsIG5vdCBydW4hCioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCkVPRgoKICAgIGNhdCAke2xpY30gPj4g
JHtsaWNtc2d9OwogICAgJHtQQUdFUjotbGVzc30gJHtsaWNtc2d9IHx8IGRpZSAiQ291bGQgbm90
IGV4ZWN1dGUgcGFnZXIgKCR7UEFHRVJ9KSB0byBhY2NlcHQgJHtsaWN9IjsKICAgIGVpbmZvbiAi
RG8geW91IGFjY2VwdCB0aGUgdGVybXMgb2YgdGhpcyBsaWNlbnNlICgke2x9KT8gW3llcy9ub10g
IjsKICAgIHJlYWQgYWxpYzsKICAgIGNhc2UgJHthbGljfSBpbiAKICAgICAgICB5ZXMgfCBZZXMg
fCB5IHwgWSkKICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICA7OwogICAgICAgICopCiAgICAg
ICAgICAgIGVjaG87CiAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgIGVjaG87CiAgICAgICAg
ICAgIGVlcnJvciAiWW91IE1VU1QgYWNjZXB0IHRoZSBsaWNlbnNlIHRvIGNvbnRpbnVlISAgRXhp
dGluZyEiOwogICAgICAgICAgICBkaWUgIkZhaWxlZCB0byBhY2NlcHQgbGljZW5zZSIKICAgICAg
ICA7OwogICAgZXNhYwp9CmNyZWF0ZV9tbF9pbmNsdWRlcyAoKSAKeyAKICAgIGxvY2FsIGRlc3Q9
JDE7CiAgICBzaGlmdDsKICAgIGxvY2FsIGJhc2VkaXJzPSQoY3JlYXRlX21sX2luY2x1ZGVzLWxp
c3RkaXJzICIkQCIpOwogICAgY3JlYXRlX21sX2luY2x1ZGVzLW1ha2VkZXN0ZGlycyAke2Rlc3R9
ICR7YmFzZWRpcnN9OwogICAgbG9jYWwgZmlsZTsKICAgIGZvciBmaWxlIGluICQoY3JlYXRlX21s
X2luY2x1ZGVzLWFsbGZpbGVzICR7YmFzZWRpcnN9KTsKICAgIGRvCiAgICAgICAgKCBlY2hvICIv
KiBBdXRvZ2VuZXJhdGVkIGJ5IGNyZWF0ZV9tbF9pbmNsdWRlcygpIGluIG11bHRpbGliLmVjbGFz
cyAqLyI7CiAgICAgICAgbG9jYWwgZGlyOwogICAgICAgIGZvciBkaXIgaW4gJHtiYXNlZGlyc307
CiAgICAgICAgZG8KICAgICAgICAgICAgaWYgW1sgLWYgJHtEfS8ke2Rpcn0vJHtmaWxlfSBdXTsg
dGhlbgogICAgICAgICAgICAgICAgZWNobyAiIjsKICAgICAgICAgICAgICAgIGxvY2FsIHN5bT0k
KGNyZWF0ZV9tbF9pbmNsdWRlcy1zeW1fZm9yX2RpciAke2Rpcn0gIiRAIik7CiAgICAgICAgICAg
ICAgICBpZiBbWyAke3N5bS89fSAhPSAiJHtzeW19IiBdXTsgdGhlbgogICAgICAgICAgICAgICAg
ICAgIGVjaG8gIiNpZiAke3N5bX0iOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgICAgIGlmIFtbICR7c3ltOjoxfSA9PSAiISIgXV07IHRoZW4KICAgICAgICAgICAgICAgICAg
ICAgICAgZWNobyAiI2lmbmRlZiAke3N5bToxfSI7CiAgICAgICAgICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgICAgICAgICBlY2hvICIjaWZkZWYgJHtzeW19IjsKICAgICAgICAgICAg
ICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgZWNobyAiIyBp
bmNsdWRlIDwkKGNyZWF0ZV9tbF9pbmNsdWRlcy1hYnNvbHV0ZSAke2Rpcn0vJHtmaWxlfSk+IjsK
ICAgICAgICAgICAgICAgIGVjaG8gIiNlbmRpZiAvKiAke3N5bX0gKi8iOwogICAgICAgICAgICBm
aTsKICAgICAgICBkb25lICkgPiAiJHtEfS8ke2Rlc3R9LyR7ZmlsZX0iOwogICAgZG9uZQp9CmNy
ZWF0ZV9tbF9pbmNsdWRlcy1hYnNvbHV0ZSAoKSAKeyAKICAgIGxvY2FsIGRzdD0iJChjcmVhdGVf
bWxfaW5jbHVkZXMtdGlkeV9wYXRoICQxKSI7CiAgICBkc3Q9KCR7ZHN0Ly9cLy8gfSk7CiAgICBs
b2NhbCBpOwogICAgZm9yICgoaT0wOyBpPCR7I2RzdFsqXX07IGkrKykpCiAgICBkbwogICAgICAg
IFsgIiR7ZHN0W2ldfSIgPT0gImluY2x1ZGUiIF0gJiYgYnJlYWs7CiAgICBkb25lOwogICAgbG9j
YWwgc3RyaXBfdXB0bz0kaTsKICAgIGZvciAoKGk9c3RyaXBfdXB0bysxOyBpPCR7I2RzdFsqXX0t
MTsgaSsrKSkKICAgIGRvCiAgICAgICAgZWNobyAtbiAke2RzdFtpXX0vOwogICAgZG9uZTsKICAg
IGVjaG8gLW4gJHtkc3RbaV19Cn0KY3JlYXRlX21sX2luY2x1ZGVzLWFsbGZpbGVzICgpIAp7IAog
ICAgbG9jYWwgYmFzZWRpciBmaWxlOwogICAgZm9yIGJhc2VkaXIgaW4gIiRAIjsKICAgIGRvCiAg
ICAgICAgZm9yIGZpbGUgaW4gJChmaW5kICIke0R9Ii8ke2Jhc2VkaXJ9IC10eXBlIGYpOwogICAg
ICAgIGRvCiAgICAgICAgICAgIGVjaG8gJHtmaWxlLyR7RH1cLyR7YmFzZWRpcn1cLy99OwogICAg
ICAgIGRvbmU7CiAgICBkb25lIHwgc29ydCB8IHVuaXEKfQpjcmVhdGVfbWxfaW5jbHVkZXMtbGlz
dGRpcnMgKCkgCnsgCiAgICBsb2NhbCBkaXJzOwogICAgbG9jYWwgZGF0YTsKICAgIGZvciBkYXRh
IGluICIkQCI7CiAgICBkbwogICAgICAgIGRpcnM9IiR7ZGlyc30gJHtkYXRhLyo6L30iOwogICAg
ZG9uZTsKICAgIGVjaG8gJHtkaXJzOjF9Cn0KY3JlYXRlX21sX2luY2x1ZGVzLW1ha2VkZXN0ZGly
cyAoKSAKeyAKICAgIGxvY2FsIGRlc3Q9JDE7CiAgICBzaGlmdDsKICAgIGxvY2FsIGJhc2VkaXJz
PSRAOwogICAgZG9kaXIgJHtkZXN0fTsKICAgIGxvY2FsIGJhc2VkaXI7CiAgICBmb3IgYmFzZWRp
ciBpbiAke2Jhc2VkaXJzfTsKICAgIGRvCiAgICAgICAgbG9jYWwgZGlyOwogICAgICAgIGZvciBk
aXIgaW4gJChmaW5kICR7RH0vJHtiYXNlZGlyfSAtdHlwZSBkKTsKICAgICAgICBkbwogICAgICAg
ICAgICBkb2RpciAke2Rlc3R9LyR7ZGlyLyR7RH1cLyR7YmFzZWRpcn0vfTsKICAgICAgICBkb25l
OwogICAgZG9uZQp9CmNyZWF0ZV9tbF9pbmNsdWRlcy1zeW1fZm9yX2RpciAoKSAKeyAKICAgIGxv
Y2FsIGRpcj0kMTsKICAgIHNoaWZ0OwogICAgbG9jYWwgZGF0YTsKICAgIGZvciBkYXRhIGluICIk
QCI7CiAgICBkbwogICAgICAgIGlmIFtbICR7ZGF0YX0gPT0gKjoke2Rpcn0gXV07IHRoZW4KICAg
ICAgICAgICAgZWNobyAke2RhdGEvOiovfTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAg
Zmk7CiAgICBkb25lOwogICAgZWNobyAiU2hvdWxkbid0IGJlIGhlcmUgLS0gY3JlYXRlX21sX2lu
Y2x1ZGVzLXN5bV9mb3JfZGlyICQxICRAIjsKICAgIGV4aXQgMQp9CmNyZWF0ZV9tbF9pbmNsdWRl
cy10aWR5X3BhdGggKCkgCnsgCiAgICBsb2NhbCByZW1vdmVkPSQxOwogICAgaWYgWyAtbiAiJHty
ZW1vdmVkfSIgXTsgdGhlbgogICAgICAgIHdoaWxlIFsgIiR7cmVtb3ZlZH0iICE9ICIke3JlbW92
ZWQvXC9cLy9cL30iIF07IGRvCiAgICAgICAgICAgIHJlbW92ZWQ9JHtyZW1vdmVkL1wvXC8vXC99
OwogICAgICAgIGRvbmU7CiAgICAgICAgd2hpbGUgWyAiJHtyZW1vdmVkfSIgIT0gIiR7cmVtb3Zl
ZC8vXC8uXC8vXC99IiBdOyBkbwogICAgICAgICAgICByZW1vdmVkPSR7cmVtb3ZlZC8vXC8uXC8v
XC99OwogICAgICAgIGRvbmU7CiAgICAgICAgWyAiJHtyZW1vdmVkIyMqL30iID0gIi4iIF0gJiYg
cmVtb3ZlZD0ke3JlbW92ZWQlLyp9OwogICAgICAgIHdoaWxlIFsgIiR7cmVtb3ZlZH0iICE9ICIk
e3JlbW92ZWQvL1wvLi5cL30iIF07IGRvCiAgICAgICAgICAgIGxvY2FsIHAxPSIke3JlbW92ZWQl
JVwvLi5cLyp9IjsKICAgICAgICAgICAgbG9jYWwgcDI9IiR7cmVtb3ZlZCMqXC8uLlwvfSI7CiAg
ICAgICAgICAgIHJlbW92ZWQ9IiR7cDElXC8qfS8ke3AyfSI7CiAgICAgICAgZG9uZTsKICAgICAg
ICBbICIke3JlbW92ZWQjIyovfSIgPSAiLi4iIF0gJiYgcmVtb3ZlZD0ke3JlbW92ZWQlLyovKn07
CiAgICAgICAgWyAiJHtyZW1vdmVkIyMqL30iID0gIiIgXSAmJiByZW1vdmVkPSR7cmVtb3ZlZCUv
Kn07CiAgICAgICAgZWNobyAke3JlbW92ZWR9OwogICAgZmkKfQpkYXJ3aW50b29saXplICgpIAp7
IAogICAgZXdhcm4gImRhcndpbnRvb2xpemUoKSBpcyBkZXByZWNhdGVkLCBwbGVhc2UganVzdCB1
c2UgZWxpYnRvb2xpemUoKSEiOwogICAgZWxpYnRvb2xpemUKfQpkbG9wZW5fbGliICgpIAp7IAog
ICAgaWYgW1sgJHtFTElCQ30gIT0gKkJTRCBdXTsgdGhlbgogICAgICAgIGVjaG8gIi1sZGwiOwog
ICAgZmkKfQpkb2ljb24gKCkgCnsgCiAgICAoIGxvY2FsIGkgaiByZXQ7CiAgICBpbnNpbnRvIC91
c3Ivc2hhcmUvcGl4bWFwczsKICAgIGZvciBpIGluICIkQCI7CiAgICBkbwogICAgICAgIGlmIFtb
IC1mICR7aX0gXV07IHRoZW4KICAgICAgICAgICAgZG9pbnMgIiR7aX0iOwogICAgICAgICAgICAo
KHJldCs9JD8pKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGlmIFtbIC1kICR7aX0gXV07IHRo
ZW4KICAgICAgICAgICAgICAgIGZvciBqIGluICIke2l9Ii8qLnBuZzsKICAgICAgICAgICAgICAg
IGRvCiAgICAgICAgICAgICAgICAgICAgZG9pbnMgIiR7an0iOwogICAgICAgICAgICAgICAgICAg
ICgocmV0Kz0kPykpOwogICAgICAgICAgICAgICAgZG9uZTsKICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgKCgrK3JldCkpOwogICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGRv
bmU7CiAgICBleGl0ICR7cmV0fSApCn0KZG9tZW51ICgpIAp7IAogICAgKCBsb2NhbCBpIGogcmV0
PTA7CiAgICBpbnNpbnRvIC91c3Ivc2hhcmUvYXBwbGljYXRpb25zOwogICAgZm9yIGkgaW4gIiRA
IjsKICAgIGRvCiAgICAgICAgaWYgW1sgLWYgJHtpfSBdXTsgdGhlbgogICAgICAgICAgICBkb2lu
cyAiJHtpfSI7CiAgICAgICAgICAgICgocmV0Kz0kPykpOwogICAgICAgIGVsc2UKICAgICAgICAg
ICAgaWYgW1sgLWQgJHtpfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZm9yIGogaW4gIiR7aX0i
LyouZGVza3RvcDsKICAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICAgICAgZG9pbnMg
IiR7an0iOwogICAgICAgICAgICAgICAgICAgICgocmV0Kz0kPykpOwogICAgICAgICAgICAgICAg
ZG9uZTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgKCgrK3JldCkpOwogICAgICAg
ICAgICBmaTsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBleGl0ICR7cmV0fSApCn0KZWJlZXAg
KCkgCnsgCiAgICBsb2NhbCBuOwogICAgaWYgW1sgLXogJHtFQkVFUF9JR05PUkV9IF1dOyB0aGVu
CiAgICAgICAgZm9yICgobj0xIDsgbiA8PSAkezE6LTV9IDsgbisrKSkKICAgICAgICBkbwogICAg
ICAgICAgICBlY2hvIC1uZSAiXGEiOwogICAgICAgICAgICBzbGVlcCAwLjEgPiYvZGV2L251bGw7
CiAgICAgICAgICAgIHNsZWVwIDAsMSA+Ji9kZXYvbnVsbDsKICAgICAgICAgICAgZWNobyAtbmUg
IlxhIjsKICAgICAgICAgICAgc2xlZXAgMTsKICAgICAgICBkb25lOwogICAgZmkKfQplY3ZzX2Ns
ZWFuICgpIAp7IAogICAgW1sgLXogJCogXV0gJiYgc2V0IC0tIC47CiAgICBmaW5kICIkQCIgLXR5
cGUgZCAtbmFtZSAnQ1ZTJyAtcHJ1bmUgLXByaW50MCB8IHhhcmdzIC0wIHJtIC1yZjsKICAgIGZp
bmQgIiRAIiAtdHlwZSBmIC1uYW1lICcuY3ZzKicgLXByaW50MCB8IHhhcmdzIC0wIHJtIC1yZgp9
CmVkb3MydW5peCAoKSAKeyAKICAgIGVjaG8gIiRAIiB8IHhhcmdzIHNlZCAtaSAncy9cciQvLycK
fQplZ2V0ZW50ICgpIAp7IAogICAgY2FzZSAke0NIT1NUfSBpbiAKICAgICAgICAqLWRhcndpbiop
CiAgICAgICAgICAgIGNhc2UgIiQyIiBpbiAKICAgICAgICAgICAgICAgICpbITAtOV0qKQogICAg
ICAgICAgICAgICAgICAgIG5pZHVtcCAkMSAuIHwgYXdrIC1GIjoiICJ7IGlmIChcJDEgfiAvXiQy
JC8pIHtwcmludCBcJDA7ZXhpdDt9IH0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg
ICAgKikKICAgICAgICAgICAgICAgICAgICBuaWR1bXAgJDEgLiB8IGF3ayAtRiI6IiAieyBpZiAo
XCQzID09ICQyKSB7cHJpbnQgXCQwO2V4aXQ7fSB9IgogICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgZXNhYwogICAgICAgIDs7CiAgICAgICAgKi1mcmVlYnNkKiB8ICotZHJhZ29uZmx5KikK
ICAgICAgICAgICAgbG9jYWwgb3B0cyBhY3Rpb249InVzZXIiOwogICAgICAgICAgICBbWyAkMSA9
PSAicGFzc3dkIiBdXSB8fCBhY3Rpb249Imdyb3VwIjsKICAgICAgICAgICAgaWYgW1sgJDIgPT0g
W1s6ZGlnaXQ6XV0qIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBbWyAke2FjdGlvbn0gPT0gInVz
ZXIiIF1dICYmIG9wdHM9Ii11IiB8fCBvcHRzPSItZyI7CiAgICAgICAgICAgIGZpOwogICAgICAg
ICAgICBwdyBzaG93ICR7YWN0aW9ufSAke29wdHN9ICIkMiIgLXEKICAgICAgICA7OwogICAgICAg
ICotbmV0YnNkKiB8ICotb3BlbmJzZCopCiAgICAgICAgICAgIGdyZXAgIiQyOlwqOiIgL2V0Yy8k
MQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgdHlwZSAtcCBuc2NkID4mL2Rldi9u
dWxsICYmIG5zY2QgLWkgIiQxIjsKICAgICAgICAgICAgZ2V0ZW50ICIkMSIgIiQyIgogICAgICAg
IDs7CiAgICBlc2FjCn0KZWdldGhvbWUgKCkgCnsgCiAgICBlbnQ9JChlZ2V0ZW50IHBhc3N3ZCAk
MSk7CiAgICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICotZGFyd2luKiB8ICotZnJlZWJzZCog
fCAqLWRyYWdvbmZseSopCiAgICAgICAgICAgIGVjaG8gJHtlbnR9IHwgY3V0IC1kOiAtZjkKICAg
ICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGVjaG8gJHtlbnR9IHwgY3V0IC1kOiAtZjYK
ICAgICAgICA7OwogICAgZXNhYwp9CmVnZXRzaGVsbCAoKSAKeyAKICAgIGVudD0kKGVnZXRlbnQg
cGFzc3dkICIkMSIpOwogICAgY2FzZSAke0NIT1NUfSBpbiAKICAgICAgICAqLWRhcndpbiogfCAq
LWZyZWVic2QqIHwgKi1kcmFnb25mbHkqKQogICAgICAgICAgICBlY2hvICR7ZW50fSB8IGN1dCAt
ZDogLWYxMAogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgZWNobyAke2VudH0gY3V0
IC1kOiAtZjcKICAgICAgICA7OwogICAgZXNhYwp9CmVsaWJ0b29saXplICgpIAp7IAogICAgbG9j
YWwgeD07CiAgICBsb2NhbCB5PTsKICAgIGxvY2FsIGRvX3BvcnRhZ2U9Im5vIjsKICAgIGxvY2Fs
IGRvX3JldmVyc2VkZXBzPSJubyI7CiAgICBsb2NhbCBkb19vbmx5X3BhdGNoZXM9Im5vIjsKICAg
IGxvY2FsIGRvX3VjbGliYz0ieWVzIjsKICAgIGxvY2FsIGRlcHRvcmVtb3ZlPTsKICAgIGxvY2Fs
IG15X2Rpcmxpc3Q9OwogICAgbG9jYWwgZWx0X3BhdGNoZXM9Imluc3RhbGwtc2ggbHRtYWluIHBv
cnRhZ2UgcmVsaW5rIG1heF9jbWRfbGVuIHNlZCB0ZXN0IHRtcCI7CiAgICBsb2NhbCBzdGFydF9k
aXI9JHtQV0R9OwogICAgbXlfZGlybGlzdD0kKEVMVF9maW5kX2x0bWFpbl9zaCk7CiAgICBmb3Ig
eCBpbiAiJEAiOwogICAgZG8KICAgICAgICBjYXNlICIke3h9IiBpbiAKICAgICAgICAgICAgIi0t
cG9ydGFnZSIpCiAgICAgICAgICAgICAgICBkb19wb3J0YWdlPSJ5ZXMiCiAgICAgICAgICAgIDs7
CiAgICAgICAgICAgICItLXJldmVyc2UtZGVwcyIpCiAgICAgICAgICAgICAgICBkb19yZXZlcnNl
ZGVwcz0ieWVzIjsKICAgICAgICAgICAgICAgIGVsdF9wYXRjaGVzPSIke2VsdF9wYXRjaGVzfSBm
aXgtcmVsaW5rIgogICAgICAgICAgICA7OwogICAgICAgICAgICAiLS1wYXRjaC1vbmx5IikKICAg
ICAgICAgICAgICAgIGRvX29ubHlfcGF0Y2hlcz0ieWVzIgogICAgICAgICAgICA7OwogICAgICAg
ICAgICAiXi0tcmVtb3ZlLWludGVybmFsLWRlcD0iKikKICAgICAgICAgICAgICAgIGRlcHRvcmVt
b3ZlPSQoZWNobyAiJHt4fSIgfCBzZWQgLWUgJ3N8LS1yZW1vdmUtaW50ZXJuYWwtZGVwPXx8Jyk7
CiAgICAgICAgICAgICAgICBbWyAtbiAke2RlcHRvcmVtb3ZlfSBdXSAmJiBlbHRfcGF0Y2hlcz0i
JHtlbHRfcGF0Y2hlc30gcmVtLWludC1kZXAiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICIt
LXNoYWxsb3ciKQogICAgICAgICAgICAgICAgaWYgW1sgLWYgJHtTfS9sdG1haW4uc2ggXV07IHRo
ZW4KICAgICAgICAgICAgICAgICAgICBteV9kaXJsaXN0PSR7U307CiAgICAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgICAgbXlfZGlybGlzdD07CiAgICAgICAgICAgICAgICBmaQog
ICAgICAgICAgICA7OwogICAgICAgICAgICAiLS1uby11Y2xpYmMiKQogICAgICAgICAgICAgICAg
ZG9fdWNsaWJjPSJubyIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgKikKICAgICAgICAgICAg
ICAgIGVlcnJvciAiSW52YWxpZCBlbGlidG9vbGl6ZSBvcHRpb246ICR7eH0iOwogICAgICAgICAg
ICAgICAgZGllICJlbGlidG9vbGl6ZSBjYWxsZWQgd2l0aCAke3h9ID8/IgogICAgICAgICAgICA7
OwogICAgICAgIGVzYWM7CiAgICBkb25lOwogICAgW1sgJHtkb191Y2xpYmN9ID09ICJ5ZXMiIF1d
ICYmIGVsdF9wYXRjaGVzPSIke2VsdF9wYXRjaGVzfSB1Y2xpYmMtY29uZiB1Y2xpYmMtbHRjb25m
IjsKICAgIFtbICR7Q0hPU1R9ID09ICoiLWZyZWVic2QiKiBdXSAmJiBlbHRfcGF0Y2hlcz0iJHtl
bHRfcGF0Y2hlc30gZmJzZC1jb25mIGZic2QtbHRjb25mIjsKICAgIFtbICR7Q0hPU1R9ID09ICoi
LWRhcndpbiIqIF1dICYmIGVsdF9wYXRjaGVzPSIke2VsdF9wYXRjaGVzfSBkYXJ3aW4tbHRjb25m
IGRhcndpbi1sdG1haW4iOwogICAgZm9yIHggaW4gJHtteV9kaXJsaXN0fTsKICAgIGRvCiAgICAg
ICAgbG9jYWwgdG1wPSQoZWNobyAiJHt4fSIgfCBzZWQgLWUgInN8JHtXT1JLRElSfXx8Iik7CiAg
ICAgICAgZXhwb3J0IEVMVF9BUFBMSUVEX1BBVENIRVM9OwogICAgICAgIGV4cG9ydCBFTFRfTFRN
QUlOX1NIPSIke3h9L2x0bWFpbi5zaCI7CiAgICAgICAgW1sgLWYgJHt4fS8uZWxpYnRvb2xpemVk
IF1dICYmIGNvbnRpbnVlOwogICAgICAgIGNkICR7eH07CiAgICAgICAgZWluZm8gIlJ1bm5pbmcg
ZWxpYnRvb2xpemUgaW46ICQoZWNobyAiLyR7dG1wfSIgfCBzZWQgLWUgJ3N8Ly98L3xnOyBzfF4v
fHwnKSI7CiAgICAgICAgZm9yIHkgaW4gJHtlbHRfcGF0Y2hlc307CiAgICAgICAgZG8KICAgICAg
ICAgICAgbG9jYWwgcmV0PTA7CiAgICAgICAgICAgIGNhc2UgIiR7eX0iIGluIAogICAgICAgICAg
ICAgICAgInBvcnRhZ2UiKQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC16ICQoZ3JlcCAnV2Ug
ZG8gbm90IHdhbnQgcG9ydGFnZScgIiR7eH0vbHRtYWluLnNoIikgXV07IHRoZW4KICAgICAgICAg
ICAgICAgICAgICAgICAgRUxUX3dhbGtfcGF0Y2hlcyAiJHt4fS9sdG1haW4uc2giICIke3l9IjsK
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAgICAgICAgICAgICAgIGZpCiAg
ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgInJlbS1pbnQtZGVwIikKICAgICAgICAg
ICAgICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9L2x0bWFpbi5zaCIgIiR7eX0iICIke2Rl
cHRvcmVtb3ZlfSI7CiAgICAgICAgICAgICAgICAgICAgcmV0PSQ/CiAgICAgICAgICAgICAgICA7
OwogICAgICAgICAgICAgICAgImZpeC1yZWxpbmsiKQogICAgICAgICAgICAgICAgICAgIGlmIFtb
IC1uICQoZ3JlcCAnaW5zdF9wcmVmaXhfZGlyJyAiJHt4fS9sdG1haW4uc2giKSBdXTsgdGhlbgog
ICAgICAgICAgICAgICAgICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9L2x0bWFpbi5zaCIg
IiR7eX0iOwogICAgICAgICAgICAgICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAgICAg
ICAgZmkKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAibWF4X2NtZF9sZW4iKQog
ICAgICAgICAgICAgICAgICAgIGlmIFtbIC1uICQoZ3JlcCAnbWF4X2NtZF9sZW4nICIke3h9L2x0
bWFpbi5zaCIpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNo
ZXMgIiR7eH0vbHRtYWluLnNoIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0k
PzsKICAgICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ICAgICJ1Y2xpYmMtY29uZiIpCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgLWUgJHt4fS9jb25m
aWd1cmUgJiYgLW4gJChncmVwICdUcmFuc2Zvcm0gbGludXgnICIke3h9L2NvbmZpZ3VyZSIpIF1d
OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vY29u
ZmlndXJlIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0kPzsKICAgICAgICAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIFtbICEgLWUgJHt4fS9j
b25maWd1cmUgJiYgLWUgJHt4fS8uLi9jb25maWd1cmUgJiYgLW4gJChncmVwICdUcmFuc2Zvcm0g
bGludXgnICIke3h9Ly4uL2NvbmZpZ3VyZSIpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9Ly4uL2NvbmZpZ3VyZSIgIiR7eX0iOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAgICAgICAgICAgICAgICAgICBm
aTsKICAgICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ICAgICJ1Y2xpYmMtbHRjb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAtcyAke3h9L2x0
Y29uZmlnIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMg
IiR7eH0vbHRjb25maWciICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/Owog
ICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg
ImZic2QtY29uZiIpCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgLWUgJHt4fS9jb25maWd1cmUg
JiYgLW4gJChncmVwICd2ZXJzaW9uX3R5cGU9ZnJlZWJzZC0nICIke3h9L2NvbmZpZ3VyZSIpIF1d
OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vY29u
ZmlndXJlIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0kPzsKICAgICAgICAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIFtbICEgLWUgJHt4fS9j
b25maWd1cmUgJiYgLWUgJHt4fS8uLi9jb25maWd1cmUgJiYgLW4gJChncmVwICd2ZXJzaW9uX3R5
cGU9ZnJlZWJzZC0nICIke3h9Ly4uL2NvbmZpZ3VyZSIpIF1dOyB0aGVuCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9Ly4uL2NvbmZpZ3VyZSIgIiR7eX0i
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAgICAgICAgICAgICAg
ICAgICBmaTsKICAgICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICJmYnNkLWx0Y29uZiIpCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgLXMgJHt4
fS9sdGNvbmZpZyBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBFTFRfd2Fsa19wYXRj
aGVzICIke3h9L2x0Y29uZmlnIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0k
PzsKICAgICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ICAgICJkYXJ3aW4tbHRjb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAtcyAke3h9L2x0
Y29uZmlnIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMg
IiR7eH0vbHRjb25maWciICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/Owog
ICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg
Imluc3RhbGwtc2giKQogICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0v
aW5zdGFsbC1zaCIgIiR7eX0iOwogICAgICAgICAgICAgICAgICAgIHJldD0kPwogICAgICAgICAg
ICAgICAgOzsKICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtf
cGF0Y2hlcyAiJHt4fS9sdG1haW4uc2giICIke3l9IjsKICAgICAgICAgICAgICAgICAgICByZXQ9
JD8KICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIGlmIFtb
ICR7cmV0fSAtbmUgMCBdXTsgdGhlbgogICAgICAgICAgICAgICAgY2FzZSAke3l9IGluIAogICAg
ICAgICAgICAgICAgICAgICJyZWxpbmsiKQogICAgICAgICAgICAgICAgICAgICAgICBsb2NhbCB2
ZXJzaW9uPSQoRUxUX2xpYnRvb2xfdmVyc2lvbiAiJHt4fS9sdG1haW4uc2giKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgW1sgLXogJChncmVwICdpbnN0X3ByZWZpeF9kaXInICIke3h9L2x0
bWFpbi5zaCIpICYmICQoVkVSX3RvX2ludCAiJHt2ZXJzaW9ufSIpIC1nZSAkKFZFUl90b19pbnQg
IjEuNC4wIikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV3YXJuICIgIENv
dWxkIG5vdCBhcHBseSByZWxpbmsucGF0Y2ghIjsKICAgICAgICAgICAgICAgICAgICAgICAgZmkK
ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICJwb3J0YWdlIikKICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgW1sgJHtkb19wb3J0YWdlfSA9PSAieWVzIiBdXTsgdGhl
bgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgLXogJChncmVwICdXZSBkbyBub3Qg
d2FudCBwb3J0YWdlJyAiJHt4fS9sdG1haW4uc2giKSBdXTsgdGhlbgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVy
cm9yICJQb3J0YWdlIHBhdGNoIHJlcXVlc3RlZCwgYnV0IGZhaWxlZCB0byBhcHBseSEiOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVlcnJvciAiUGxlYXNlIGJ1ZyBhemFyYWggb3Ig
dmFwaWVyIHRvIGFkZCBwcm9wZXIgcGF0Y2guIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWUgIlBvcnRhZ2UgcGF0Y2ggcmVxdWVzdGVkLCBidXQgZmFpbGVkIHRvIGFwcGx5ISI7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgLW4gJChncmVwICdXZSBkbyBu
b3Qgd2FudCBwb3J0YWdlJyAiJHt4fS9sdG1haW4uc2giKSBdXTsgdGhlbgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDo7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWwgdmVyc2lvbj0kKCAJCQkJCQkJCQll
dmFsICQoZ3JlcCAtZSAnXltbOnNwYWNlOl1dKlZFUlNJT049JyAiJHt4fS9sdG1haW4uc2giKTsg
CQkJCQkJCQkJZWNobyAiJHtWRVJTSU9OfSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVjaG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICJQb3J0YWdl
IHBhdGNoIGZhaWxlZCB0byBhcHBseSAobHRtYWluLnNoIHZlcnNpb24gJHt2ZXJzaW9ufSkhIjsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZXJyb3IgIlBsZWFzZSBidWcgYXphcmFo
IG9yIHZhcGllciB0byBhZGQgcHJvcGVyIHBhdGNoLiI7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGllICJQb3J0YWdlIHBhdGNoIGZhaWxlZCB0byBhcHBseSEiOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTFRfQVBQ
TElFRF9QQVRDSEVTPSJwb3J0YWdlIjsKICAgICAgICAgICAgICAgICAgICAgICAgZmkKICAgICAg
ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICJ1Y2xpYmMtIiopCiAgICAgICAg
ICAgICAgICAgICAgICAgIFtbICR7Q0hPU1R9ID09ICoiLXVjbGliYyIgXV0gJiYgZXdhcm4gIiAg
dUNsaWJjIHBhdGNoIHNldCAnJHt5fScgZmFpbGVkIHRvIGFwcGx5ISIKICAgICAgICAgICAgICAg
ICAgICA7OwogICAgICAgICAgICAgICAgICAgICJmYnNkLSIqKQogICAgICAgICAgICAgICAgICAg
ICAgICBpZiBbWyAke0NIT1NUfSA9PSAqIi1mcmVlYnNkIiogXV07IHRoZW4KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIFtbIC16ICQoZ3JlcCAnSGFuZGxlIEdlbnRvby9GcmVlQlNEIGFz
IGl0IHdhcyBMaW51eCcgCQkJCQkJCQkiJHt4fS9jb25maWd1cmUiICIke3h9Ly4uL2NvbmZpZ3Vy
ZSIgMj4vZGV2L251bGwpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZWVycm9yICIgIEZyZWVCU0QgcGF0Y2ggc2V0ICcke3l9JyBmYWlsZWQgdG8gYXBwbHkhIjsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWUgIkZyZWVCU0QgcGF0Y2ggc2V0ICcke3l9
JyBmYWlsZWQgdG8gYXBwbHkhIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpOwogICAg
ICAgICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAg
ICAgICAgICAgImRhcndpbi0iKikKICAgICAgICAgICAgICAgICAgICAgICAgW1sgJHtDSE9TVH0g
PT0gKiItZGFyd2luIiogXV0gJiYgZXdhcm4gIiAgRGFyd2luIHBhdGNoIHNldCAnJHt5fScgZmFp
bGVkIHRvIGFwcGx5ISIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNh
YzsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgICAgICBpZiBbWyAteiAke0VMVF9B
UFBMSUVEX1BBVENIRVN9IF1dOyB0aGVuCiAgICAgICAgICAgIGlmIFtbICR7ZG9fcG9ydGFnZX0g
PT0gIm5vIiAmJiAke2RvX3JldmVyc2VkZXBzfSA9PSAibm8iICYmICR7ZG9fb25seV9wYXRjaGVz
fSA9PSAibm8iICYmICR7ZGVwdG9yZW1vdmV9ID09ICIiIF1dOyB0aGVuCiAgICAgICAgICAgICAg
ICBld2FybiAiQ2Fubm90IGFwcGx5IGFueSBwYXRjaGVzLCBwbGVhc2UgZmlsZSBhIGJ1ZyBhYm91
dCB0aGlzIjsKICAgICAgICAgICAgICAgIGRpZTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7
CiAgICAgICAgW1sgLWYgJHt4fS9saWJ0b29sIF1dICYmIHJtIC1mICIke3h9L2xpYnRvb2wiOwog
ICAgICAgIHRvdWNoICIke3h9Ly5lbGlidG9vbGl6ZWQiOwogICAgZG9uZTsKICAgIGNkICIke3N0
YXJ0X2Rpcn0iCn0KZW1rdGVtcCAoKSAKeyAKICAgIGxvY2FsIGV4ZT0idG91Y2giOwogICAgW1sg
JDEgPT0gLWQgXV0gJiYgZXhlPSJta2RpciIgJiYgc2hpZnQ7CiAgICBsb2NhbCB0b3BkaXI9JDE7
CiAgICBpZiBbWyAteiAke3RvcGRpcn0gXV07IHRoZW4KICAgICAgICBbWyAteiAke1R9IF1dICYm
IHRvcGRpcj0iL3RtcCIgfHwgdG9wZGlyPSR7VH07CiAgICBmaTsKICAgIGlmICEgdHlwZSAtUCBt
a3RlbXAgPiAvZGV2L251bGw7IHRoZW4KICAgICAgICBsb2NhbCB0bXA9LzsKICAgICAgICB3aGls
ZSBbWyAtZSAke3RtcH0gXV07IGRvCiAgICAgICAgICAgIHRtcD0ke3RvcGRpcn0vdG1wLiR7UkFO
RE9NfS4ke1JBTkRPTX0uJHtSQU5ET019OwogICAgICAgIGRvbmU7CiAgICAgICAgJHtleGV9ICIk
e3RtcH0iIHx8ICR7ZXhlfSAtcCAiJHt0bXB9IjsKICAgICAgICBlY2hvICIke3RtcH0iOwogICAg
ZWxzZQogICAgICAgIGlmIFtbICR7ZXhlfSA9PSAidG91Y2giIF1dOyB0aGVuCiAgICAgICAgICAg
IFRNUERJUj0iJHt0b3BkaXJ9IiBta3RlbXAgLXQgdG1wLlhYWFhYWFhYWFg7CiAgICAgICAgZWxz
ZQogICAgICAgICAgICBUTVBESVI9IiR7dG9wZGlyfSIgbWt0ZW1wIC1kdCB0bXAuWFhYWFhYWFhY
WDsKICAgICAgICBmaTsKICAgIGZpCn0KZW5ld2dyb3VwICgpIAp7IAogICAgY2FzZSAke0VCVUlM
RF9QSEFTRX0gaW4gCiAgICAgICAgdW5wYWNrIHwgY29tcGlsZSB8IHRlc3QgfCBpbnN0YWxsKQog
ICAgICAgICAgICBlZXJyb3IgIidlbmV3Z3JvdXAoKScgY2FsbGVkIGZyb20gJyR7RUJVSUxEX1BI
QVNFfSgpJyB3aGljaCBpcyBub3QgYSBwa2dfKiBmdW5jdGlvbi4iOwogICAgICAgICAgICBlZXJy
b3IgIlBhY2thZ2UgZmFpbHMgYXQgUUEgYW5kIGF0IGxpZmUuICBQbGVhc2UgZmlsZSBhIGJ1Zy4i
OwogICAgICAgICAgICBkaWUgIkJhZCBwYWNrYWdlISAgZW5ld2dyb3VwIGlzIG9ubHkgZm9yIHVz
ZSBpbiBwa2dfKiBmdW5jdGlvbnMhIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgbG9jYWwgZWdy
b3VwPSIkMSI7CiAgICBzaGlmdDsKICAgIGlmIFsgLXogIiR7ZWdyb3VwfSIgXTsgdGhlbgogICAg
ICAgIGVlcnJvciAiTm8gZ3JvdXAgc3BlY2lmaWVkICEiOwogICAgICAgIGRpZSAiQ2Fubm90IGNh
bGwgZW5ld2dyb3VwIHdpdGhvdXQgYSBncm91cCI7CiAgICBmaTsKICAgIGlmIFtbIC1uICQoZWdl
dGVudCBncm91cCAiJHtlZ3JvdXB9IikgXV07IHRoZW4KICAgICAgICByZXR1cm4gMDsKICAgIGZp
OwogICAgZWluZm8gIkFkZGluZyBncm91cCAnJHtlZ3JvdXB9JyB0byB5b3VyIHN5c3RlbSAuLi4i
OwogICAgbG9jYWwgb3B0cz07CiAgICBsb2NhbCBlZ2lkPSIkMSI7CiAgICBzaGlmdDsKICAgIGlm
IFsgISAteiAiJHtlZ2lkfSIgXTsgdGhlbgogICAgICAgIGlmIFsgIiR7ZWdpZH0iIC1ndCAwIF07
IHRoZW4KICAgICAgICAgICAgaWYgWyAteiAiYGVnZXRlbnQgZ3JvdXAgJHtlZ2lkfWAiIF07IHRo
ZW4KICAgICAgICAgICAgICAgIGlmIFtbICIke0NIT1NUfSIgPT0gKi1kYXJ3aW4qIF1dOyB0aGVu
CiAgICAgICAgICAgICAgICAgICAgb3B0cz0iJHtvcHRzfSAke2VnaWR9IjsKICAgICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBvcHRzPSIke29wdHN9IC1nICR7ZWdpZH0iOwog
ICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGVnaWQ9
Im5leHQgYXZhaWxhYmxlOyByZXF1ZXN0ZWQgZ2lkIHRha2VuIjsKICAgICAgICAgICAgZmk7CiAg
ICAgICAgZWxzZQogICAgICAgICAgICBlZXJyb3IgIkdyb3VwaWQgZ2l2ZW4gYnV0IGlzIG5vdCBn
cmVhdGVyIHRoYW4gMCAhIjsKICAgICAgICAgICAgZGllICIke2VnaWR9IGlzIG5vdCBhIHZhbGlk
IEdJRCI7CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAgICAgZWdpZD0ibmV4dCBhdmFpbGFibGUi
OwogICAgZmk7CiAgICBlaW5mbyAiIC0gR3JvdXBpZDogJHtlZ2lkfSI7CiAgICBsb2NhbCBlZXh0
cmE9IiRAIjsKICAgIG9wdHM9IiR7b3B0c30gJHtlZXh0cmF9IjsKICAgIGxvY2FsIG9sZHNhbmRi
b3g9IiR7U0FOREJPWF9PTn0iOwogICAgZXhwb3J0IFNBTkRCT1hfT049IjAiOwogICAgY2FzZSAk
e0NIT1NUfSBpbiAKICAgICAgICAqLWRhcndpbiopCiAgICAgICAgICAgIGlmIFsgISAteiAiJHtl
ZXh0cmF9IiBdOyB0aGVuCiAgICAgICAgICAgICAgICBlaW5mbyAiRXh0cmEgb3B0aW9ucyBhcmUg
bm90IHN1cHBvcnRlZCBvbiBEYXJ3aW4vT1MgWCB5ZXQiOwogICAgICAgICAgICAgICAgZWluZm8g
IlBsZWFzZSByZXBvcnQgdGhlIGVidWlsZCBhbG9uZyB3aXRoIHRoZSBpbmZvIGJlbG93IjsKICAg
ICAgICAgICAgICAgIGVpbmZvICJlZXh0cmE6ICR7ZWV4dHJhfSI7CiAgICAgICAgICAgICAgICBk
aWUgIlJlcXVpcmVkIGZ1bmN0aW9uIG1pc3NpbmciOwogICAgICAgICAgICBmaTsKICAgICAgICAg
ICAgY2FzZSAke2VnaWR9IGluIAogICAgICAgICAgICAgICAgKlshMC05XSopCiAgICAgICAgICAg
ICAgICAgICAgZm9yICgoZWdpZCA9IDEwMTsgZWdpZCA8PSA5OTk7IGVnaWQrKykpCiAgICAgICAg
ICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICAgICAgW1sgLXogJChlZ2V0ZW50IGdy
b3VwICR7ZWdpZH0pIF1dICYmIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRvbmUKICAgICAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUg
L2dyb3Vwcy8ke2Vncm91cH0gZ2lkICR7ZWdpZH07CiAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUg
L2dyb3Vwcy8ke2Vncm91cH0gcGFzc3dkICcqJwogICAgICAgIDs7CiAgICAgICAgKi1mcmVlYnNk
KiB8ICotZHJhZ29uZmx5KikKICAgICAgICAgICAgY2FzZSAke2VnaWR9IGluIAogICAgICAgICAg
ICAgICAgKlshMC05XSopCiAgICAgICAgICAgICAgICAgICAgZm9yICgoZWdpZCA9IDEwMTsgZWdp
ZCA8PSA5OTk7IGVnaWQrKykpCiAgICAgICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAg
ICAgICAgICAgW1sgLXogJChlZ2V0ZW50IGdyb3VwICR7ZWdpZH0pIF1dICYmIGJyZWFrOwogICAg
ICAgICAgICAgICAgICAgIGRvbmUKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7
CiAgICAgICAgICAgIHB3IGdyb3VwYWRkICR7ZWdyb3VwfSAtZyAke2VnaWR9IHx8IGRpZSAiZW5l
d2dyb3VwIGZhaWxlZCIKICAgICAgICA7OwogICAgICAgICotbmV0YnNkKikKICAgICAgICAgICAg
Y2FzZSAke2VnaWR9IGluIAogICAgICAgICAgICAgICAgKlshMC05XSopCiAgICAgICAgICAgICAg
ICAgICAgZm9yICgoZWdpZCA9IDEwMTsgZWdpZCA8PSA5OTk7IGVnaWQrKykpCiAgICAgICAgICAg
ICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICAgICAgW1sgLXogJChlZ2V0ZW50IGdyb3Vw
ICR7ZWdpZH0pIF1dICYmIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRvbmUKICAgICAgICAg
ICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIGdyb3VwYWRkIC1nICR7ZWdp
ZH0gJHtlZ3JvdXB9IHx8IGRpZSAiZW5ld2dyb3VwIGZhaWxlZCIKICAgICAgICA7OwogICAgICAg
ICopCiAgICAgICAgICAgIGdyb3VwYWRkICR7b3B0c30gJHtlZ3JvdXB9IHx8IGRpZSAiZW5ld2dy
b3VwIGZhaWxlZCIKICAgICAgICA7OwogICAgZXNhYzsKICAgIGV4cG9ydCBTQU5EQk9YX09OPSIk
e29sZHNhbmRib3h9Igp9CmVuZXd1c2VyICgpIAp7IAogICAgY2FzZSAke0VCVUlMRF9QSEFTRX0g
aW4gCiAgICAgICAgdW5wYWNrIHwgY29tcGlsZSB8IHRlc3QgfCBpbnN0YWxsKQogICAgICAgICAg
ICBlZXJyb3IgIidlbmV3dXNlcigpJyBjYWxsZWQgZnJvbSAnJHtFQlVJTERfUEhBU0V9KCknIHdo
aWNoIGlzIG5vdCBhIHBrZ18qIGZ1bmN0aW9uLiI7CiAgICAgICAgICAgIGVlcnJvciAiUGFja2Fn
ZSBmYWlscyBhdCBRQSBhbmQgYXQgbGlmZS4gIFBsZWFzZSBmaWxlIGEgYnVnLiI7CiAgICAgICAg
ICAgIGRpZSAiQmFkIHBhY2thZ2UhICBlbmV3dXNlciBpcyBvbmx5IGZvciB1c2UgaW4gcGtnXyog
ZnVuY3Rpb25zISIKICAgICAgICA7OwogICAgZXNhYzsKICAgIGxvY2FsIGV1c2VyPSQxOwogICAg
c2hpZnQ7CiAgICBpZiBbWyAteiAke2V1c2VyfSBdXTsgdGhlbgogICAgICAgIGVlcnJvciAiTm8g
dXNlcm5hbWUgc3BlY2lmaWVkICEiOwogICAgICAgIGRpZSAiQ2Fubm90IGNhbGwgZW5ld3VzZXIg
d2l0aG91dCBhIHVzZXJuYW1lIjsKICAgIGZpOwogICAgaWYgW1sgLW4gJChlZ2V0ZW50IHBhc3N3
ZCAiJHtldXNlcn0iKSBdXTsgdGhlbgogICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBlaW5m
byAiQWRkaW5nIHVzZXIgJyR7ZXVzZXJ9JyB0byB5b3VyIHN5c3RlbSAuLi4iOwogICAgbG9jYWwg
b3B0cz07CiAgICBsb2NhbCBldWlkPSQxOwogICAgc2hpZnQ7CiAgICBpZiBbWyAtbiAke2V1aWR9
ICYmICR7ZXVpZH0gIT0gLTEgXV07IHRoZW4KICAgICAgICBpZiBbWyAke2V1aWR9IC1ndCAwIF1d
OyB0aGVuCiAgICAgICAgICAgIGlmIFtbIC1uICQoZWdldGVudCBwYXNzd2QgJHtldWlkfSkgXV07
IHRoZW4KICAgICAgICAgICAgICAgIGV1aWQ9Im5leHQiOwogICAgICAgICAgICBmaTsKICAgICAg
ICBlbHNlCiAgICAgICAgICAgIGVlcnJvciAiVXNlcmlkIGdpdmVuIGJ1dCBpcyBub3QgZ3JlYXRl
ciB0aGFuIDAgISI7CiAgICAgICAgICAgIGRpZSAiJHtldWlkfSBpcyBub3QgYSB2YWxpZCBVSUQi
OwogICAgICAgIGZpOwogICAgZWxzZQogICAgICAgIGV1aWQ9Im5leHQiOwogICAgZmk7CiAgICBp
ZiBbWyAke2V1aWR9ID09ICJuZXh0IiBdXTsgdGhlbgogICAgICAgIGZvciAoKGV1aWQgPSAxMDE7
IGV1aWQgPD0gOTk5OyBldWlkKyspKQogICAgICAgIGRvCiAgICAgICAgICAgIFtbIC16ICQoZWdl
dGVudCBwYXNzd2QgJHtldWlkfSkgXV0gJiYgYnJlYWs7CiAgICAgICAgZG9uZTsKICAgIGZpOwog
ICAgb3B0cz0iJHtvcHRzfSAtdSAke2V1aWR9IjsKICAgIGVpbmZvICIgLSBVc2VyaWQ6ICR7ZXVp
ZH0iOwogICAgbG9jYWwgZXNoZWxsPSQxOwogICAgc2hpZnQ7CiAgICBpZiBbWyAhIC16ICR7ZXNo
ZWxsfSBdXSAmJiBbWyAke2VzaGVsbH0gIT0gIi0xIiBdXTsgdGhlbgogICAgICAgIGlmIFtbICEg
LWUgJHtST09UfSR7ZXNoZWxsfSBdXTsgdGhlbgogICAgICAgICAgICBlZXJyb3IgIkEgc2hlbGwg
d2FzIHNwZWNpZmllZCBidXQgaXQgZG9lcyBub3QgZXhpc3QgISI7CiAgICAgICAgICAgIGRpZSAi
JHtlc2hlbGx9IGRvZXMgbm90IGV4aXN0IGluICR7Uk9PVH0iOwogICAgICAgIGZpOwogICAgICAg
IGlmIFtbICR7ZXNoZWxsfSA9PSAqL2ZhbHNlIHx8ICR7ZXNoZWxsfSA9PSAqL25vbG9naW4gXV07
IHRoZW4KICAgICAgICAgICAgZWVycm9yICJEbyBub3Qgc3BlY2lmeSAke2VzaGVsbH0geW91cnNl
bGYsIHVzZSAtMSI7CiAgICAgICAgICAgIGRpZSAiUGFzcyAnLTEnIGFzIHRoZSBzaGVsbCBwYXJh
bWV0ZXIiOwogICAgICAgIGZpOwogICAgZWxzZQogICAgICAgIGZvciBzaGVsbCBpbiAvc2Jpbi9u
b2xvZ2luIC91c3Ivc2Jpbi9ub2xvZ2luIC9iaW4vZmFsc2UgL3Vzci9iaW4vZmFsc2UgL2Rldi9u
dWxsOwogICAgICAgIGRvCiAgICAgICAgICAgIFtbIC14ICR7Uk9PVH0ke3NoZWxsfSBdXSAmJiBi
cmVhazsKICAgICAgICBkb25lOwogICAgICAgIGlmIFtbICR7c2hlbGx9ID09ICIvZGV2L251bGwi
IF1dOyB0aGVuCiAgICAgICAgICAgIGVlcnJvciAiVW5hYmxlIHRvIGlkZW50aWZ5IHRoZSBzaGVs
bCB0byB1c2UsIHByb2NlZWRpbmcgd2l0aCB1c2VybGFuZCBkZWZhdWx0LiI7CiAgICAgICAgICAg
IGNhc2UgJHtVU0VSTEFORH0gaW4gCiAgICAgICAgICAgICAgICBHTlUpCiAgICAgICAgICAgICAg
ICAgICAgc2hlbGw9Ii9iaW4vZmFsc2UiCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg
ICAgQlNEKQogICAgICAgICAgICAgICAgICAgIHNoZWxsPSIvc2Jpbi9ub2xvZ2luIgogICAgICAg
ICAgICAgICAgOzsKICAgICAgICAgICAgICAgIERhcndpbikKICAgICAgICAgICAgICAgICAgICBz
aGVsbD0iL3Vzci9zYmluL25vbG9naW4iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg
ICAgKikKICAgICAgICAgICAgICAgICAgICBkaWUgIlVuYWJsZSB0byBpZGVudGlmeSB0aGUgZGVm
YXVsdCBzaGVsbCBmb3IgdXNlcmxhbmQgJHtVU0VSTEFORH0iCiAgICAgICAgICAgICAgICA7Owog
ICAgICAgICAgICBlc2FjOwogICAgICAgIGZpOwogICAgICAgIGVzaGVsbD0ke3NoZWxsfTsKICAg
IGZpOwogICAgZWluZm8gIiAtIFNoZWxsOiAke2VzaGVsbH0iOwogICAgb3B0cz0iJHtvcHRzfSAt
cyAke2VzaGVsbH0iOwogICAgbG9jYWwgZWhvbWU9JDE7CiAgICBzaGlmdDsKICAgIGlmIFtbIC16
ICR7ZWhvbWV9IF1dIHx8IFtbICR7ZWhvbWV9ID09ICItMSIgXV07IHRoZW4KICAgICAgICBlaG9t
ZT0iL2Rldi9udWxsIjsKICAgIGZpOwogICAgZWluZm8gIiAtIEhvbWU6ICR7ZWhvbWV9IjsKICAg
IG9wdHM9IiR7b3B0c30gLWQgJHtlaG9tZX0iOwogICAgbG9jYWwgZWdyb3Vwcz0kMTsKICAgIHNo
aWZ0OwogICAgaWYgW1sgISAteiAke2Vncm91cHN9IF1dOyB0aGVuCiAgICAgICAgbG9jYWwgb2xk
aWZzPSR7SUZTfTsKICAgICAgICBsb2NhbCBkZWZncm91cD0iIiBleGdyb3Vwcz0iIjsKICAgICAg
ICBleHBvcnQgSUZTPSIsIjsKICAgICAgICBmb3IgZyBpbiAke2Vncm91cHN9OwogICAgICAgIGRv
CiAgICAgICAgICAgIGV4cG9ydCBJRlM9JHtvbGRpZnN9OwogICAgICAgICAgICBpZiBbWyAteiAk
KGVnZXRlbnQgZ3JvdXAgIiR7Z30iKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZWVycm9yICJZ
b3UgbXVzdCBhZGQgZ3JvdXAgJHtnfSB0byB0aGUgc3lzdGVtIGZpcnN0IjsKICAgICAgICAgICAg
ICAgIGRpZSAiJHtnfSBpcyBub3QgYSB2YWxpZCBHSUQiOwogICAgICAgICAgICBmaTsKICAgICAg
ICAgICAgaWYgW1sgLXogJHtkZWZncm91cH0gXV07IHRoZW4KICAgICAgICAgICAgICAgIGRlZmdy
b3VwPSR7Z307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGV4Z3JvdXBzPSIke2V4
Z3JvdXBzfSwke2d9IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGV4cG9ydCBJRlM9Iiwi
OwogICAgICAgIGRvbmU7CiAgICAgICAgZXhwb3J0IElGUz0ke29sZGlmc307CiAgICAgICAgb3B0
cz0iJHtvcHRzfSAtZyAke2RlZmdyb3VwfSI7CiAgICAgICAgaWYgW1sgISAteiAke2V4Z3JvdXBz
fSBdXTsgdGhlbgogICAgICAgICAgICBvcHRzPSIke29wdHN9IC1HICR7ZXhncm91cHM6MX0iOwog
ICAgICAgIGZpOwogICAgZWxzZQogICAgICAgIGVncm91cHM9Iihub25lKSI7CiAgICBmaTsKICAg
IGVpbmZvICIgLSBHcm91cHM6ICR7ZWdyb3Vwc30iOwogICAgbG9jYWwgb2xkc2FuZGJveD0ke1NB
TkRCT1hfT059OwogICAgZXhwb3J0IFNBTkRCT1hfT049IjAiOwogICAgY2FzZSAke0NIT1NUfSBp
biAKICAgICAgICAqLWRhcndpbiopCiAgICAgICAgICAgIGlmIFtbIC16ICRAIF1dOyB0aGVuCiAg
ICAgICAgICAgICAgICBkc2NsIC4gY3JlYXRlIC91c2Vycy8ke2V1c2VyfSB1aWQgJHtldWlkfTsK
ICAgICAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IHNoZWxsICR7ZXNo
ZWxsfTsKICAgICAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IGhvbWUg
JHtlaG9tZX07CiAgICAgICAgICAgICAgICBkc2NsIC4gY3JlYXRlIC91c2Vycy8ke2V1c2VyfSBy
ZWFsbmFtZSAiYWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iOwogICAgICAgICAgICAgICAgbG9j
YWwgb2xkaWZzPSR7SUZTfTsKICAgICAgICAgICAgICAgIGV4cG9ydCBJRlM9IiwiOwogICAgICAg
ICAgICAgICAgZm9yIGcgaW4gJHtlZ3JvdXBzfTsKICAgICAgICAgICAgICAgIGRvCiAgICAgICAg
ICAgICAgICAgICAgZHNjbCAuIG1lcmdlIC9ncm91cHMvJHtnfSB1c2VycyAke2V1c2VyfTsKICAg
ICAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgICAgICBleHBvcnQgSUZTPSR7b2xkaWZzfTsK
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIkV4dHJhIG9wdGlvbnMgYXJl
IG5vdCBzdXBwb3J0ZWQgb24gRGFyd2luIHlldCI7CiAgICAgICAgICAgICAgICBlaW5mbyAiUGxl
YXNlIHJlcG9ydCB0aGUgZWJ1aWxkIGFsb25nIHdpdGggdGhlIGluZm8gYmVsb3ciOwogICAgICAg
ICAgICAgICAgZWluZm8gImVleHRyYTogJEAiOwogICAgICAgICAgICAgICAgZGllICJSZXF1aXJl
ZCBmdW5jdGlvbiBtaXNzaW5nIjsKICAgICAgICAgICAgZmkKICAgICAgICA7OwogICAgICAgICot
ZnJlZWJzZCogfCAqLWRyYWdvbmZseSopCiAgICAgICAgICAgIGlmIFtbIC16ICRAIF1dOyB0aGVu
CiAgICAgICAgICAgICAgICBwdyB1c2VyYWRkICR7ZXVzZXJ9ICR7b3B0c30gLWMgImFkZGVkIGJ5
IHBvcnRhZ2UgZm9yICR7UE59IiBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgIGVpbmZvICIgLSBFeHRyYTogJEAiOwogICAgICAgICAgICAgICAg
cHcgdXNlcmFkZCAke2V1c2VyfSAke29wdHN9ICIkQCIgfHwgZGllICJlbmV3dXNlciBmYWlsZWQi
OwogICAgICAgICAgICBmaQogICAgICAgIDs7CiAgICAgICAgKi1uZXRic2QqKQogICAgICAgICAg
ICBpZiBbWyAteiAkQCBdXTsgdGhlbgogICAgICAgICAgICAgICAgdXNlcmFkZCAke29wdHN9ICR7
ZXVzZXJ9IHx8IGRpZSAiZW5ld3VzZXIgZmFpbGVkIjsKICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgZWluZm8gIiAtIEV4dHJhOiAkQCI7CiAgICAgICAgICAgICAgICB1c2VyYWRkICR7
b3B0c30gJHtldXNlcn0gIiRAIiB8fCBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAg
IGZpCiAgICAgICAgOzsKICAgICAgICAqLW9wZW5ic2QqKQogICAgICAgICAgICBpZiBbWyAteiAk
QCBdXTsgdGhlbgogICAgICAgICAgICAgICAgdXNlcmFkZCAtdSAke2V1aWR9IC1zICR7ZXNoZWxs
fSAtZCAke2Vob21lfSAtYyAiQWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iIC1nICR7ZWdyb3Vw
c30gJHtldXNlcn0gfHwgZGllICJlbmV3dXNlciBmYWlsZWQiOwogICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICBlaW5mbyAiIC0gRXh0cmE6ICRAIjsKICAgICAgICAgICAgICAgIHVzZXJh
ZGQgLXUgJHtldWlkfSAtcyAke2VzaGVsbH0gLWQgJHtlaG9tZX0gLWMgIkFkZGVkIGJ5IHBvcnRh
Z2UgZm9yICR7UE59IiAtZyAke2Vncm91cHN9ICR7ZXVzZXJ9ICIkQCIgfHwgZGllICJlbmV3dXNl
ciBmYWlsZWQiOwogICAgICAgICAgICBmaQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAg
ICAgaWYgW1sgLXogJEAgXV07IHRoZW4KICAgICAgICAgICAgICAgIHVzZXJhZGQgJHtvcHRzfSAk
e2V1c2VyfSAtYyAiYWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iIHx8IGRpZSAiZW5ld3VzZXIg
ZmFpbGVkIjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIiAtIEV4dHJh
OiAkQCI7CiAgICAgICAgICAgICAgICB1c2VyYWRkICR7b3B0c30gJHtldXNlcn0gIiRAIiB8fCBk
aWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGZpCiAgICAgICAgOzsKICAgIGVzYWM7
CiAgICBpZiBbWyAhIC1lICR7Uk9PVH0vJHtlaG9tZX0gXV07IHRoZW4KICAgICAgICBlaW5mbyAi
IC0gQ3JlYXRpbmcgJHtlaG9tZX0gaW4gJHtST09UfSI7CiAgICAgICAgbWtkaXIgLXAgIiR7Uk9P
VH0vJHtlaG9tZX0iOwogICAgICAgIGNob3duICR7ZXVzZXJ9ICIke1JPT1R9LyR7ZWhvbWV9IjsK
ICAgICAgICBjaG1vZCA3NTUgIiR7Uk9PVH0vJHtlaG9tZX0iOwogICAgZmk7CiAgICBleHBvcnQg
U0FOREJPWF9PTj0ke29sZHNhbmRib3h9Cn0KZXBhdGNoICgpIAp7IAogICAgZnVuY3Rpb24gX2Vw
YXRjaF9kcmF3X2xpbmUgKCkgCiAgICB7IAogICAgICAgIFtbIC16ICQxIF1dICYmIHNldCAiJChw
cmludGYgIiU2NXMiICcnKSI7CiAgICAgICAgZWNobyAiJHsxLy8/Lz19IgogICAgfTsKICAgIGZ1
bmN0aW9uIF9lcGF0Y2hfYXNzZXJ0ICgpIAogICAgeyAKICAgICAgICBsb2NhbCBfcGlwZXN0YXR1
cz0ke1BJUEVTVEFUVVNbKl19OwogICAgICAgIFtbICR7X3BpcGVzdGF0dXMvLyAvfSAtZXEgMCBd
XQogICAgfTsKICAgIGxvY2FsIFBJUEVfQ01EPSIiOwogICAgbG9jYWwgU1RERVJSX1RBUkdFVD0i
JHtUfS8kJC5vdXQiOwogICAgbG9jYWwgUEFUQ0hfVEFSR0VUPSIke1R9LyQkLnBhdGNoIjsKICAg
IGxvY2FsIFBBVENIX1NVRkZJWD0iIjsKICAgIGxvY2FsIFNJTkdMRV9QQVRDSD0ibm8iOwogICAg
bG9jYWwgeD0iIjsKICAgIHVuc2V0IFA0Q09ORklHIFA0UE9SVCBQNFVTRVI7CiAgICBpZiBbICIk
IyIgLWd0IDEgXTsgdGhlbgogICAgICAgIGxvY2FsIG09IiI7CiAgICAgICAgZm9yIG0gaW4gIiRA
IjsKICAgICAgICBkbwogICAgICAgICAgICBlcGF0Y2ggIiR7bX0iOwogICAgICAgIGRvbmU7CiAg
ICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGlmIFsgLW4gIiQxIiAtYSAtZiAiJDEiIF07IHRo
ZW4KICAgICAgICBTSU5HTEVfUEFUQ0g9InllcyI7CiAgICAgICAgbG9jYWwgRVBBVENIX1NPVVJD
RT0iJDEiOwogICAgICAgIGxvY2FsIEVQQVRDSF9TVUZGSVg9IiR7MSMjKlwufSI7CiAgICBlbHNl
CiAgICAgICAgaWYgWyAtbiAiJDEiIC1hIC1kICIkMSIgXTsgdGhlbgogICAgICAgICAgICBpZiBb
ICIke0VQQVRDSF9GT1JDRX0iID0gInllcyIgXSAmJiBbIC16ICIke0VQQVRDSF9TVUZGSVh9IiBd
OyB0aGVuCiAgICAgICAgICAgICAgICBsb2NhbCBFUEFUQ0hfU09VUkNFPSIkMS8qIjsKICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgbG9jYWwgRVBBVENIX1NPVVJDRT0iJDEvKi4ke0VQ
QVRDSF9TVUZGSVh9IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBp
ZiBbWyAhIC1kICR7RVBBVENIX1NPVVJDRX0gXV0gfHwgW1sgLW4gJDEgXV07IHRoZW4KICAgICAg
ICAgICAgICAgIGlmIFsgLW4gIiQxIiAtYSAiJHtFUEFUQ0hfU09VUkNFfSIgPSAiJHtXT1JLRElS
fS9wYXRjaCIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIEVQQVRDSF9TT1VSQ0U9IiQxIjsK
ICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAg
IGVlcnJvciAiQ2Fubm90IGZpbmQgXCRFUEFUQ0hfU09VUkNFISAgVmFsdWUgZm9yIFwkRVBBVENI
X1NPVVJDRSBpczoiOwogICAgICAgICAgICAgICAgZWVycm9yOwogICAgICAgICAgICAgICAgZWVy
cm9yICIgICR7RVBBVENIX1NPVVJDRX0iOwogICAgICAgICAgICAgICAgZWVycm9yICIgICggJHtF
UEFUQ0hfU09VUkNFIyMqL30gKSI7CiAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAgICAg
ICAgZGllICJDYW5ub3QgZmluZCBcJEVQQVRDSF9TT1VSQ0UhIjsKICAgICAgICAgICAgZmk7CiAg
ICAgICAgICAgIGxvY2FsIEVQQVRDSF9TT1VSQ0U9IiR7RVBBVENIX1NPVVJDRX0vKi4ke0VQQVRD
SF9TVUZGSVh9IjsKICAgICAgICBmaTsKICAgIGZpOwogICAgY2FzZSAke0VQQVRDSF9TVUZGSVgj
IypcLn0gaW4gCiAgICAgICAgYnoyKQogICAgICAgICAgICBQSVBFX0NNRD0iYnppcDIgLWRjIjsK
ICAgICAgICAgICAgUEFUQ0hfU1VGRklYPSJiejIiCiAgICAgICAgOzsKICAgICAgICBneiB8IFog
fCB6KQogICAgICAgICAgICBQSVBFX0NNRD0iZ3ppcCAtZGMiOwogICAgICAgICAgICBQQVRDSF9T
VUZGSVg9Imd6IgogICAgICAgIDs7CiAgICAgICAgWklQIHwgemlwKQogICAgICAgICAgICBQSVBF
X0NNRD0idW56aXAgLXAiOwogICAgICAgICAgICBQQVRDSF9TVUZGSVg9InppcCIKICAgICAgICA7
OwogICAgICAgICopCiAgICAgICAgICAgIFBJUEVfQ01EPSJjYXQiOwogICAgICAgICAgICBQQVRD
SF9TVUZGSVg9InBhdGNoIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgaWYgWyAiJHtTSU5HTEVf
UEFUQ0h9IiA9ICJubyIgXTsgdGhlbgogICAgICAgIGVpbmZvICIke0VQQVRDSF9NVUxUSV9NU0d9
IjsKICAgIGZpOwogICAgZm9yIHggaW4gJHtFUEFUQ0hfU09VUkNFfTsKICAgIGRvCiAgICAgICAg
aWYgWyAtZiAke3h9IF0gJiYgKCBbICIke1NJTkdMRV9QQVRDSH0iID0gInllcyIgLW8gIiR7eC9f
YWxsX30iICE9ICIke3h9IiAtbyAiJHt4L18ke0FSQ0h9X30iICE9ICIke3h9IiBdIHx8IFsgIiR7
RVBBVENIX0ZPUkNFfSIgPSAieWVzIiBdICk7IHRoZW4KICAgICAgICAgICAgbG9jYWwgY291bnQ9
MDsKICAgICAgICAgICAgbG9jYWwgcG9wdHM9IiR7RVBBVENIX09QVFN9IjsKICAgICAgICAgICAg
bG9jYWwgcGF0Y2huYW1lPSR7eCMjKi99OwogICAgICAgICAgICBpZiBbIC1uICIke0VQQVRDSF9F
WENMVURFfSIgXTsgdGhlbgogICAgICAgICAgICAgICAgaWYgWyAiJHtFUEFUQ0hfRVhDTFVERS8k
e3BhdGNobmFtZX19IiAhPSAiJHtFUEFUQ0hfRVhDTFVERX0iIF07IHRoZW4KICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsKICAg
ICAgICAgICAgaWYgWyAiJHtTSU5HTEVfUEFUQ0h9IiA9ICJ5ZXMiIF07IHRoZW4KICAgICAgICAg
ICAgICAgIGlmIFsgLW4gIiR7RVBBVENIX1NJTkdMRV9NU0d9IiBdOyB0aGVuCiAgICAgICAgICAg
ICAgICAgICAgZWluZm8gIiR7RVBBVENIX1NJTkdMRV9NU0d9IjsKICAgICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICAgICBlaW5mbyAiQXBwbHlpbmcgJHtwYXRjaG5hbWV9IC4uLiI7
CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWlu
Zm8gIiAgJHtwYXRjaG5hbWV9IC4uLiI7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBlY2hv
ICIqKioqKiAke3BhdGNobmFtZX0gKioqKioiID4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNo
bmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJf
VEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAg
IHdoaWxlIFsgIiR7Y291bnR9IiAtbHQgNSBdOyBkbwogICAgICAgICAgICAgICAgX2VwYXRjaF9k
cmF3X2xpbmUgIioqKioqICR7cGF0Y2huYW1lfSAqKioqKiIgPj4gJHtTVERFUlJfVEFSR0VUJS8q
fS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICBlY2hv
ID4+ICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99
OwogICAgICAgICAgICAgICAgaWYgWyAiJHtQQVRDSF9TVUZGSVh9IiAhPSAicGF0Y2giIF07IHRo
ZW4KICAgICAgICAgICAgICAgICAgICBlY2hvIC1uICJQSVBFX0NPTU1BTkQ6CSIgPj4gJHtTVERF
UlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAg
ICAgICAgICAgICAgZWNobyAiJHtQSVBFX0NNRH0gJHt4fSA+ICR7UEFUQ0hfVEFSR0VUfSIgPj4g
JHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAg
ICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgUEFUQ0hfVEFSR0VUPSIke3h9
IjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgZWNobyAtbiAiUEFUQ0ggQ09N
TUFORDoJICIgPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFS
R0VUIyMqL307CiAgICAgICAgICAgICAgICBlY2hvICJwYXRjaCAtcCR7Y291bnR9ICR7cG9wdHN9
IDwgJHtQQVRDSF9UQVJHRVR9IiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0k
e1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFS
R0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAg
ICBfZXBhdGNoX2RyYXdfbGluZSAiKioqKiogJHtwYXRjaG5hbWV9ICoqKioqIiA+PiAke1NUREVS
Ul9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAg
ICAgICAgIGlmIFsgIiR7UEFUQ0hfU1VGRklYfSIgIT0gInBhdGNoIiBdOyB0aGVuCiAgICAgICAg
ICAgICAgICAgICAgaWYgISAoICR7UElQRV9DTUR9ICR7eH0gPiAke1BBVENIX1RBUkdFVH0gKSA+
PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfSAy
PiYxOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICAg
ICAgICAgIGVlcnJvciAiQ291bGQgbm90IGV4dHJhY3QgcGF0Y2ghIjsKICAgICAgICAgICAgICAg
ICAgICAgICAgY291bnQ9NTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGlmICgg
Y2F0ICR7UEFUQ0hfVEFSR0VUfSB8IHBhdGNoIC1wJHtjb3VudH0gJHtwb3B0c30gLS1kcnktcnVu
IC1mOwogICAgICAgICAgICAgICAgX2VwYXRjaF9hc3NlcnQgKSA+PiAke1NUREVSUl9UQVJHRVQl
Lyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfSAyPiYxOyB0aGVuCiAgICAgICAg
ICAgICAgICAgICAgX2VwYXRjaF9kcmF3X2xpbmUgIioqKioqICR7cGF0Y2huYW1lfSAqKioqKiIg
PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfS5y
ZWFsOwogICAgICAgICAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3Bh
dGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30ucmVhbDsKICAgICAgICAgICAgICAgICAgICBl
Y2hvICJBQ1RVQUxMWSBBUFBMWUlORyAke3BhdGNobmFtZX0gLi4uIiA+PiAke1NUREVSUl9UQVJH
RVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAg
ICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERF
UlJfVEFSR0VUIyMqL30ucmVhbDsKICAgICAgICAgICAgICAgICAgICBfZXBhdGNoX2RyYXdfbGlu
ZSAiKioqKiogJHtwYXRjaG5hbWV9ICoqKioqIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0
Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAgICAgIGNh
dCAke1BBVENIX1RBUkdFVH0gfCBwYXRjaCAtcCR7Y291bnR9ICR7cG9wdHN9ID4+ICR7U1RERVJS
X1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99LnJlYWwgMj4mMTsK
ICAgICAgICAgICAgICAgICAgICBfZXBhdGNoX2Fzc2VydDsKICAgICAgICAgICAgICAgICAgICBp
ZiBbICIkPyIgLW5lIDAgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBjYXQgJHtTVERF
UlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30ucmVhbCA+PiAk
e1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAg
ICAgICAgICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9y
ICJBIGRyeS1ydW4gb2YgcGF0Y2ggY29tbWFuZCBzdWNjZWVkZWQsIGJ1dCBhY3R1YWxseSI7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGVlcnJvciAiYXBwbHlpbmcgdGhlIHBhdGNoIGZhaWxlZCEi
OwogICAgICAgICAgICAgICAgICAgICAgICBjb3VudD01OwogICAgICAgICAgICAgICAgICAgIGZp
OwogICAgICAgICAgICAgICAgICAgIHJtIC1mICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5h
bWV9LSR7U1RERVJSX1RBUkdFVCMjKi99LnJlYWw7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGNvdW50PSQoKGNvdW50ICsgMSkp
OwogICAgICAgICAgICBkb25lOwogICAgICAgICAgICBpZiBbICIke1BBVENIX1NVRkZJWH0iICE9
ICJwYXRjaCIgXTsgdGhlbgogICAgICAgICAgICAgICAgcm0gLWYgJHtQQVRDSF9UQVJHRVR9Owog
ICAgICAgICAgICBmaTsKICAgICAgICAgICAgaWYgWyAiJHtjb3VudH0iIC1lcSA1IF07IHRoZW4K
ICAgICAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICBlZXJyb3IgIkZhaWxlZCBQYXRj
aDogJHtwYXRjaG5hbWV9ICEiOwogICAgICAgICAgICAgICAgZWVycm9yICIgKCAke1BBVENIX1RB
UkdFVH0gKSI7CiAgICAgICAgICAgICAgICBlZXJyb3I7CiAgICAgICAgICAgICAgICBlZXJyb3Ig
IkluY2x1ZGUgaW4geW91ciBidWdyZXBvcnQgdGhlIGNvbnRlbnRzIG9mOiI7CiAgICAgICAgICAg
ICAgICBlZXJyb3I7CiAgICAgICAgICAgICAgICBlZXJyb3IgIiAgJHtTVERFUlJfVEFSR0VUJS8q
fS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30iOwogICAgICAgICAgICAgICAgZWNo
bzsKICAgICAgICAgICAgICAgIGRpZSAiRmFpbGVkIFBhdGNoOiAke3BhdGNobmFtZX0hIjsKICAg
ICAgICAgICAgZmk7CiAgICAgICAgICAgIHJtIC1mICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRj
aG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAgICAgICAgICBlZW5kIDA7CiAgICAgICAg
Zmk7CiAgICBkb25lOwogICAgaWYgWyAiJHtTSU5HTEVfUEFUQ0h9IiA9ICJubyIgXTsgdGhlbgog
ICAgICAgIGVpbmZvICJEb25lIHdpdGggcGF0Y2hpbmciOwogICAgZmkKfQplcGF1c2UgKCkgCnsg
CiAgICBbWyAteiAke0VQQVVTRV9JR05PUkV9IF1dICYmIHNsZWVwICR7MTotNX0KfQplcHVudF9j
eHggKCkgCnsgCiAgICBsb2NhbCBkaXI9JDE7CiAgICBbWyAteiAke2Rpcn0gXV0gJiYgZGlyPSR7
U307CiAgICBlYmVnaW4gIlJlbW92aW5nIHVzZWxlc3MgQysrIGNoZWNrcyI7CiAgICBsb2NhbCBm
OwogICAgZmluZCAiJHtkaXJ9IiAtbmFtZSBjb25maWd1cmUgfCB3aGlsZSByZWFkIGY7IGRvCiAg
ICAgICAgcGF0Y2ggLS1uby1iYWNrdXAtaWYtbWlzbWF0Y2ggLXAwICIke2Z9IiAiJHtQT1JURElS
fS9lY2xhc3MvRUxULXBhdGNoZXMvbm9jeHgvbm9jeHgucGF0Y2giID4gL2Rldi9udWxsOwogICAg
ZG9uZTsKICAgIGVlbmQgMAp9CmVzdm5fY2xlYW4gKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiBz
ZXQgLS0gLjsKICAgIGZpbmQgIiRAIiAtdHlwZSBkIC1uYW1lICcuc3ZuJyAtcHJ1bmUgLXByaW50
MCB8IHhhcmdzIC0wIHJtIC1yZgp9CmZkby1taW1lX2Rlc2t0b3BfZGF0YWJhc2VfdXBkYXRlICgp
IAp7IAogICAgaWYgWyAteCAiJHtST09UfS91c3IvYmluL3VwZGF0ZS1kZXNrdG9wLWRhdGFiYXNl
IiBdOyB0aGVuCiAgICAgICAgZWluZm8gIlVwZGF0aW5nIGRlc2t0b3AgbWltZSBkYXRhYmFzZSAu
Li4iOwogICAgICAgICIke1JPT1R9L3Vzci9iaW4vdXBkYXRlLWRlc2t0b3AtZGF0YWJhc2UiIC1x
ICIke1JPT1R9L3Vzci9zaGFyZS9hcHBsaWNhdGlvbnMiOwogICAgZmkKfQpmZG8tbWltZV9taW1l
X2RhdGFiYXNlX3VwZGF0ZSAoKSAKeyAKICAgIGlmIFsgLXggIiR7Uk9PVH0vdXNyL2Jpbi91cGRh
dGUtbWltZS1kYXRhYmFzZSIgXTsgdGhlbgogICAgICAgIGVpbmZvICJVcGRhdGluZyBzaGFyZWQg
bWltZSBpbmZvIGRhdGFiYXNlIC4uLiI7CiAgICAgICAgIiR7Uk9PVH0vdXNyL2Jpbi91cGRhdGUt
bWltZS1kYXRhYmFzZSIgIiR7Uk9PVH0vdXNyL3NoYXJlL21pbWUiOwogICAgZmkKfQpmaWx0ZXJf
aW52YWxpZF9mbGFncyAoKSAKeyAKICAgIGxvY2FsIGZsYWcgYnJva2VuX2ZsYWdzOwogICAgZXZh
bCBicm9rZW5fZmxhZ3M9KCQoZ2V0X2Jyb2tlbl9mbGFncyAkKGdldFBST0cgQ0MgZ2NjKSBjICR7
Q0ZMQUdTfSkpOwogICAgZm9yIGZsYWcgaW4gIiR7YnJva2VuX2ZsYWdzW0BdfSI7CiAgICBkbwog
ICAgICAgIGV3YXJuICJGaWx0ZXJpbmcgb3V0IGludmFsaWQgQ0ZMQUcgXCIke2ZsYWd9XCIiOwog
ICAgICAgIENGTEFHUz0iJChyZW1vdmVfZmxhZyAiJHtmbGFnfSIgJHtDRkxBR1N9KSI7CiAgICBk
b25lOwogICAgZXZhbCBicm9rZW5fZmxhZ3M9KCQoZ2V0X2Jyb2tlbl9mbGFncyAkKGdldFBST0cg
Q1hYIGcrKykgYysrICR7Q1hYRkxBR1N9KSk7CiAgICBmb3IgZmxhZyBpbiAiJHticm9rZW5fZmxh
Z3NbQF19IjsKICAgIGRvCiAgICAgICAgZXdhcm4gIkZpbHRlcmluZyBvdXQgaW52YWxpZCBDWFhG
TEFHIFwiJHtmbGFnfVwiIjsKICAgICAgICBDWFhGTEFHUz0iJChyZW1vdmVfZmxhZyAiJHtmbGFn
fSIgJHtDWFhGTEFHU30pIjsKICAgIGRvbmUKfQpmaW5kX3VucGFja2FibGVfZmlsZSAoKSAKeyAK
ICAgIGxvY2FsIHNyYz0kMTsKICAgIGlmIFtbIC16ICR7c3JjfSBdXTsgdGhlbgogICAgICAgIHNy
Yz0ke0RJU1RESVJ9LyR7QX07CiAgICBlbHNlCiAgICAgICAgaWYgW1sgLWUgJHtESVNURElSfS8k
e3NyY30gXV07IHRoZW4KICAgICAgICAgICAgc3JjPSR7RElTVERJUn0vJHtzcmN9OwogICAgICAg
IGVsc2UKICAgICAgICAgICAgaWYgW1sgLWUgJHtQV0R9LyR7c3JjfSBdXTsgdGhlbgogICAgICAg
ICAgICAgICAgc3JjPSR7UFdEfS8ke3NyY307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgIGlmIFtbIC1lICR7c3JjfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIHNyYz0ke3Ny
Y307CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAgICBm
aTsKICAgIFtbICEgLWUgJHtzcmN9IF1dICYmIHJldHVybiAxOwogICAgZWNobyAiJHtzcmN9Igp9
CmdjYy1mdWxsdmVyc2lvbiAoKSAKeyAKICAgICQodGMtZ2V0Q0MgIiRAIikgLWR1bXB2ZXJzaW9u
Cn0KZ2NjLW1ham9yLXZlcnNpb24gKCkgCnsgCiAgICBnY2MtdmVyc2lvbiAiJEAiIHwgY3V0IC1m
MSAtZC4KfQpnY2MtbWljcm8tdmVyc2lvbiAoKSAKeyAKICAgIGdjYy1mdWxsdmVyc2lvbiAiJEAi
IHwgY3V0IC1mMyAtZC4gfCBjdXQgLWYxIC1kLQp9CmdjYy1taW5vci12ZXJzaW9uICgpIAp7IAog
ICAgZ2NjLXZlcnNpb24gIiRAIiB8IGN1dCAtZjIgLWQuCn0KZ2NjLXNwZWNzLWRpcmVjdGl2ZSAo
KSAKeyAKICAgIGxvY2FsIGRpcmVjdGl2ZSBzdWJkbmFtZSBzdWJkaXJlY3RpdmU7CiAgICBkaXJl
Y3RpdmU9IiQoX2djYy1zcGVjcy1kaXJlY3RpdmVfcmF3ICQxKSI7CiAgICB3aGlsZSBbWyAke2Rp
cmVjdGl2ZX0gPT0gKiVcKCpcKSogXV07IGRvCiAgICAgICAgc3ViZG5hbWU9JHtkaXJlY3RpdmUv
KiVcKH07CiAgICAgICAgc3ViZG5hbWU9JHtzdWJkbmFtZS9cKSp9OwogICAgICAgIHN1YmRpcmVj
dGl2ZT0iJChfZ2NjLXNwZWNzLWRpcmVjdGl2ZV9yYXcgJHtzdWJkbmFtZX0pIjsKICAgICAgICBk
aXJlY3RpdmU9IiR7ZGlyZWN0aXZlLy9cJSgke3N1YmRuYW1lfSkvJHtzdWJkaXJlY3RpdmV9fSI7
CiAgICBkb25lOwogICAgZWNobyAiJHtkaXJlY3RpdmV9IjsKICAgIHJldHVybiAwCn0KZ2NjLXNw
ZWNzLW5vdyAoKSAKeyAKICAgIGxvY2FsIGRpcmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1z
cGVjcy1kaXJlY3RpdmUgbGlua19jb21tYW5kKTsKICAgIHJldHVybiAkKFtbICR7ZGlyZWN0aXZl
L1x7IW5vbm93On0gIT0gJHtkaXJlY3RpdmV9IF1dKQp9CmdjYy1zcGVjcy1waWUgKCkgCnsgCiAg
ICBsb2NhbCBkaXJlY3RpdmU7CiAgICBkaXJlY3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0aXZlIGNj
MSk7CiAgICByZXR1cm4gJChbWyAke2RpcmVjdGl2ZS9ceyFub3BpZTp9ICE9ICR7ZGlyZWN0aXZl
fSBdXSkKfQpnY2Mtc3BlY3MtcmVscm8gKCkgCnsgCiAgICBsb2NhbCBkaXJlY3RpdmU7CiAgICBk
aXJlY3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0aXZlIGxpbmtfY29tbWFuZCk7CiAgICByZXR1cm4g
JChbWyAke2RpcmVjdGl2ZS9ceyFub3JlbHJvOn0gIT0gJHtkaXJlY3RpdmV9IF1dKQp9CmdjYy1z
cGVjcy1zc3AgKCkgCnsgCiAgICBsb2NhbCBkaXJlY3RpdmU7CiAgICBkaXJlY3RpdmU9JChnY2Mt
c3BlY3MtZGlyZWN0aXZlIGNjMSk7CiAgICByZXR1cm4gJChbWyAke2RpcmVjdGl2ZS9ceyFmbm8t
c3RhY2stcHJvdGVjdG9yOn0gIT0gJHtkaXJlY3RpdmV9IF1dKQp9CmdjYy1zcGVjcy1zc3AtdG8t
YWxsICgpIAp7IAogICAgbG9jYWwgZGlyZWN0aXZlOwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNz
LWRpcmVjdGl2ZSBjYzEpOwogICAgcmV0dXJuICQoW1sgJHtkaXJlY3RpdmUvXHshZm5vLXN0YWNr
LXByb3RlY3Rvci1hbGw6fSAhPSAke2RpcmVjdGl2ZX0gXV0pCn0KZ2NjLXZlcnNpb24gKCkgCnsg
CiAgICBnY2MtZnVsbHZlcnNpb24gIiRAIiB8IGN1dCAtZjEsMiAtZC4KfQpnZW5fdXNyX2xkc2Ny
aXB0ICgpIAp7IAogICAgbG9jYWwgbGliIGxpYmRpcj0kKGdldF9saWJkaXIpIG91dHB1dF9mb3Jt
YXQ9IiI7CiAgICBkb2RpciAvdXNyLyR7bGliZGlyfTsKICAgIG91dHB1dF9mb3JtYXQ9JCgkKHRj
LWdldENDKSAke0NGTEFHU30gJHtMREZMQUdTfSAtV2wsLS12ZXJib3NlIDI+JjEgfCBzZWQgLW4g
J3MvXk9VVFBVVF9GT1JNQVQoIlwoW14iXSpcKSIsLiovXDEvcCcpOwogICAgW1sgLW4gJHtvdXRw
dXRfZm9ybWF0fSBdXSAmJiBvdXRwdXRfZm9ybWF0PSJPVVRQVVRfRk9STUFUICggJHtvdXRwdXRf
Zm9ybWF0fSApIjsKICAgIGZvciBsaWIgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgaWYgW1sgJHtV
U0VSTEFORH0gPT0gIkRhcndpbiIgXV07IHRoZW4KICAgICAgICAgICAgZXdhcm4gIk5vdCBjcmVh
dGluZyBmYWtlIGR5bmFtaWMgbGlicmFyeSBmb3IgJGxpYiBvbiBEYXJ3aW47IjsKICAgICAgICAg
ICAgZXdhcm4gIm1ha2luZyBhIHN5bWxpbmsgaW5zdGVhZC4iOwogICAgICAgICAgICBkb3N5bSAi
LyR7bGliZGlyfS8ke2xpYn0iICIvdXNyLyR7bGliZGlyfS8ke2xpYn0iOwogICAgICAgIGVsc2UK
ICAgICAgICAgICAgY2F0ID4gIiR7RH0vdXNyLyR7bGliZGlyfS8ke2xpYn0iICA8PC1FTkRfTERT
Q1JJUFQKLyogR05VIGxkIHNjcmlwdAogICBTaW5jZSBHZW50b28gaGFzIGNyaXRpY2FsIGR5bmFt
aWMgbGlicmFyaWVzCiAgIGluIC9saWIsIGFuZCB0aGUgc3RhdGljIHZlcnNpb25zIGluIC91c3Iv
bGliLAogICB3ZSBuZWVkIHRvIGhhdmUgYSAiZmFrZSIgZHluYW1pYyBsaWIgaW4gL3Vzci9saWIs
CiAgIG90aGVyd2lzZSB3ZSBydW4gaW50byBsaW5raW5nIHByb2JsZW1zLgoKICAgU2VlIGJ1ZyBo
dHRwOi8vYnVncy5nZW50b28ub3JnLzQ0MTEgZm9yIG1vcmUgaW5mby4KICovCiR7b3V0cHV0X2Zv
cm1hdH0KR1JPVVAgKCAvJHtsaWJkaXJ9LyR7bGlifSApCkVORF9MRFNDUklQVAoKICAgICAgICBm
aQogICAgICAgIGZwZXJtcyBhK3ggIi91c3IvJHtsaWJkaXJ9LyR7bGlifSIgfHwgZGllICJjb3Vs
ZCBub3QgY2hhbmdlIHBlcm1zIG9uICR7bGlifSI7CiAgICBkb25lCn0KZ2V0UFJPRyAoKSAKeyAK
ICAgIGxvY2FsIHZhcj0kMSBwcm9nPSQyOwogICAgaWYgW1sgLW4gJHshdmFyfSBdXTsgdGhlbgog
ICAgICAgIGVjaG8gIiR7IXZhcn0iOwogICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBsb2Nh
bCBzZWFyY2g9OwogICAgW1sgLW4gJDMgXV0gJiYgc2VhcmNoPSQodHlwZSAtcCAiJDMtJHtwcm9n
fSIpOwogICAgW1sgLXogJHtzZWFyY2h9ICYmIC1uICR7Q0hPU1R9IF1dICYmIHNlYXJjaD0kKHR5
cGUgLXAgIiR7Q0hPU1R9LSR7cHJvZ30iKTsKICAgIFtbIC1uICR7c2VhcmNofSBdXSAmJiBwcm9n
PSR7c2VhcmNoIyMqL307CiAgICBleHBvcnQgJHt2YXJ9PSR7cHJvZ307CiAgICBlY2hvICIkeyF2
YXJ9Igp9CmdldF9hYmlfQVNGTEFHUyAoKSAKeyAKICAgIGdldF9hYmlfdmFyIEFTRkxBR1MgIiRA
Igp9CmdldF9hYmlfQ0RFRklORSAoKSAKeyAKICAgIGdldF9hYmlfdmFyIENERUZJTkUgIiRAIgp9
CmdldF9hYmlfQ0ZMQUdTICgpIAp7IAogICAgZ2V0X2FiaV92YXIgQ0ZMQUdTICIkQCIKfQpnZXRf
YWJpX0NIT1NUICgpIAp7IAogICAgZ2V0X2FiaV92YXIgQ0hPU1QgIiRAIgp9CmdldF9hYmlfQ1RB
UkdFVCAoKSAKeyAKICAgIGdldF9hYmlfdmFyIENUQVJHRVQgIiRAIgp9CmdldF9hYmlfRkFLRV9U
QVJHRVRTICgpIAp7IAogICAgZ2V0X2FiaV92YXIgRkFLRV9UQVJHRVRTICIkQCIKfQpnZXRfYWJp
X0xERkxBR1MgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBMREZMQUdTICIkQCIKfQpnZXRfYWJpX0xJ
QkRJUiAoKSAKeyAKICAgIGdldF9hYmlfdmFyIExJQkRJUiAiJEAiCn0KZ2V0X2FiaV92YXIgKCkg
CnsgCiAgICBsb2NhbCBmbGFnPSQxOwogICAgbG9jYWwgYWJpOwogICAgaWYgWyAkIyAtZ3QgMSBd
OyB0aGVuCiAgICAgICAgYWJpPSR7Mn07CiAgICBlbHNlCiAgICAgICAgaWYgWyAtbiAiJHtBQkl9
IiBdOyB0aGVuCiAgICAgICAgICAgIGFiaT0ke0FCSX07CiAgICAgICAgZWxzZQogICAgICAgICAg
ICBpZiBbIC1uICIke0RFRkFVTFRfQUJJfSIgXTsgdGhlbgogICAgICAgICAgICAgICAgYWJpPSR7
REVGQVVMVF9BQkl9OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBhYmk9ImRlZmF1
bHQiOwogICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGZpOwogICAgbG9jYWwgdmFyPSIk
e2ZsYWd9XyR7YWJpfSI7CiAgICBlY2hvICR7IXZhcn0KfQpnZXRfYWxsX2FiaXMgKCkgCnsgCiAg
ICBsb2NhbCBvcmRlcj0iIjsKICAgIGlmIFtbIC16ICR7TVVMVElMSUJfQUJJU30gXV07IHRoZW4K
ICAgICAgICBlY2hvICJkZWZhdWx0IjsKICAgICAgICByZXR1cm4gMDsKICAgIGZpOwogICAgZm9y
IHggaW4gJHtNVUxUSUxJQl9BQklTfTsKICAgIGRvCiAgICAgICAgaWYgW1sgJHt4fSAhPSAke0RF
RkFVTFRfQUJJfSBdXTsgdGhlbgogICAgICAgICAgICBvcmRlcj0iJHtvcmRlcjorJHtvcmRlcn0g
fSR7eH0iOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIG9yZGVyPSIke29yZGVyOiske29yZGVy
fSB9JHtERUZBVUxUX0FCSX0iOwogICAgZWNobyAke29yZGVyfTsKICAgIHJldHVybiAwCn0KZ2V0
X2FsbF9saWJkaXJzICgpIAp7IAogICAgbG9jYWwgbGliZGlycz0ibGliIjsKICAgIGxvY2FsIGFi
aTsKICAgIGxvY2FsIGRpcjsKICAgIGZvciBhYmkgaW4gJHtNVUxUSUxJQl9BQklTfTsKICAgIGRv
CiAgICAgICAgWyAiJChnZXRfYWJpX0xJQkRJUiAke2FiaX0pIiAhPSAibGliIiBdICYmIGxpYmRp
cnM9IiR7bGliZGlyc30gJChnZXRfYWJpX0xJQkRJUiAke2FiaX0pIjsKICAgIGRvbmU7CiAgICBl
Y2hvICIke2xpYmRpcnN9Igp9CmdldF9ibWFrZSAoKSAKeyAKICAgIGlmIFtbICR7VVNFUkxBTkR9
ID09ICpCU0QgXV07IHRoZW4KICAgICAgICBlY2hvIG1ha2U7CiAgICBlbHNlCiAgICAgICAgaWYg
W1sgJHtVU0VSTEFORH0gPT0gIkRhcndpbiIgXV07IHRoZW4KICAgICAgICAgICAgZWNobyBic2Rt
YWtlOwogICAgICAgIGVsc2UKICAgICAgICAgICAgZWNobyBwbWFrZTsKICAgICAgICBmaTsKICAg
IGZpCn0KZ2V0X2Jyb2tlbl9mbGFncyAoKSAKeyAKICAgIGxvY2FsIG15cHJvZz0iJHsxfSIgbGFu
Zz0iJHsyfSI7CiAgICBzaGlmdCAyOwogICAgZWNobyAnbWFpbigpe30nIHwgTENfQUxMPUMgJHtt
eXByb2d9ICR7QH0gLXggJHtsYW5nfSAtbyAvZGV2L251bGwgLSAyPiYxIHwgZWdyZXAgInVucmVj
b2duaXplZCAuKm9wdGlvbiIgfCBlZ3JlcCAtbyAtLSAnKCdcJyd8XCJ8YCktLionIHwgc2VkIC1y
ICdzLygnXCcnfGB8IikvL2c7IHMvXi8iLzsgcy8kLyIvJzsKICAgIGVjaG8gJ21haW4oKXt9JyB8
IExDX0FMTD1DICR7bXlwcm9nfSAke0B9IC14ICR7bGFuZ30gLW8gL2Rldi9udWxsIC0gMj4mMSB8
IGVncmVwICJ1bnJlY29nbmlzZWQgZGVidWcgb3V0cHV0IiB8IGVncmVwIC1vIC0tICcoJ1wnJ3xc
InxgKS4qJyB8IHNlZCAtciAncy8oJ1wnJ3xgfCIpLy9nOyBzL14vIi1nLzsgcy8kLyIvJwp9Cmdl
dF9pbnN0YWxsX2FiaXMgKCkgCnsgCiAgICBsb2NhbCBvcmRlcj0iIjsKICAgIGlmIFtbIC16ICR7
TVVMVElMSUJfQUJJU30gXV07IHRoZW4KICAgICAgICBlY2hvICJkZWZhdWx0IjsKICAgICAgICBy
ZXR1cm4gMDsKICAgIGZpOwogICAgaWYgW1sgJHtFTVVMVElMSUJfUEtHfSA9PSAidHJ1ZSIgXV07
IHRoZW4KICAgICAgICBmb3IgeCBpbiAke01VTFRJTElCX0FCSVN9OwogICAgICAgIGRvCiAgICAg
ICAgICAgIGlmIFtbICR7eH0gIT0gIiR7REVGQVVMVF9BQkl9IiBdXTsgdGhlbgogICAgICAgICAg
ICAgICAgaGFzcSAke3h9ICR7QUJJX0RFTll9IHx8IG9yZGVyYT0iJHtvcmRlcmF9ICR7eH0iOwog
ICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgICAgIGhhc3EgJHtERUZBVUxUX0FCSX0g
JHtBQklfREVOWX0gfHwgb3JkZXI9IiR7b3JkZXJhfSAke0RFRkFVTFRfQUJJfSI7CiAgICAgICAg
aWYgW1sgLW4gJHtBQklfQUxMT1d9IF1dOyB0aGVuCiAgICAgICAgICAgIGxvY2FsIG9yZGVyYT0i
IjsKICAgICAgICAgICAgZm9yIHggaW4gJHtvcmRlcn07CiAgICAgICAgICAgIGRvCiAgICAgICAg
ICAgICAgICBpZiBoYXNxICR7eH0gJHtBQklfQUxMT1d9OyB0aGVuCiAgICAgICAgICAgICAgICAg
ICAgb3JkZXJhPSIke29yZGVyYX0gJHt4fSI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAg
ICAgZG9uZTsKICAgICAgICAgICAgb3JkZXI9JHtvcmRlcmF9OwogICAgICAgIGZpOwogICAgZWxz
ZQogICAgICAgIG9yZGVyPSR7REVGQVVMVF9BQkl9OwogICAgZmk7CiAgICBpZiBbWyAteiAke29y
ZGVyfSBdXTsgdGhlbgogICAgICAgIGRpZSAiVGhlIEFCSSBsaXN0IGlzIGVtcHR5LiAgQXJlIHlv
dSB1c2luZyBhIHByb3BlciBtdWx0aWxpYiBwcm9maWxlPyAgUGVyaGFwcyB5b3VyIFVTRSBmbGFn
cyBvciBNVUxUSUxJQl9BQklTIGFyZSB0b28gcmVzdHJpY3RpdmUgZm9yIHRoaXMgcGFja2FnZS4i
OwogICAgZmk7CiAgICBlY2hvICR7b3JkZXJ9OwogICAgcmV0dXJuIDAKfQpnZXRfbGliZGlyICgp
IAp7IAogICAgbG9jYWwgQ09ORl9MSUJESVI7CiAgICBpZiBbIC1uICIke0NPTkZfTElCRElSX09W
RVJSSURFfSIgXTsgdGhlbgogICAgICAgIGVjaG8gJHtDT05GX0xJQkRJUl9PVkVSUklERX07CiAg
ICBlbHNlCiAgICAgICAgZ2V0X2FiaV9MSUJESVI7CiAgICBmaQp9CmdldF9saWJkaXJfb3ZlcnJp
ZGUgKCkgCnsgCiAgICBpZiBoYXNfbXVsdGlsaWJfcHJvZmlsZTsgdGhlbgogICAgICAgIGVlcnJv
ciAiZ2V0X2xpYmRpcl9vdmVycmlkZSBjYWxsZWQsIGJ1dCBpdCBzaG91bGRuJ3QgYmUgbmVlZGVk
IHdpdGggdGhlIG5ldyBtdWx0aWxpYiBhcHByb2FjaC4gIFBsZWFzZSBmaWxlIGEgYnVnIGF0IGh0
dHA6Ly9idWdzLmdlbnRvby5vcmcgYW5kIGFzc2lnbiBpdCB0byBlcmFkaWNhdG9yQGdlbnRvby5v
cmciOwogICAgICAgIGV4aXQgMTsKICAgIGZpOwogICAgQ09ORl9MSUJESVI9IiQxIjsKICAgIENP
TkZfTElCRElSX09WRVJSSURFPSIkMSI7CiAgICBMSUJESVJfZGVmYXVsdD0iJDEiCn0KZ2V0X2xp
Ym5hbWUgKCkgCnsgCiAgICBsb2NhbCBsaWJuYW1lOwogICAgbG9jYWwgdmVyPSQxOwogICAgY2Fz
ZSAke0NIT1NUfSBpbiAKICAgICAgICBtaW5ndyogfCAqLW1pbmd3KikKICAgICAgICAgICAgbGli
bmFtZT0iZGxsIgogICAgICAgIDs7CiAgICAgICAgKi1kYXJ3aW4qKQogICAgICAgICAgICBsaWJu
YW1lPSJkeWxpYiIKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGxpYm5hbWU9InNv
IgogICAgICAgIDs7CiAgICBlc2FjOwogICAgaWYgW1sgLXogJCogXV07IHRoZW4KICAgICAgICBl
Y2hvICIuJHtsaWJuYW1lfSI7CiAgICBlbHNlCiAgICAgICAgZm9yIHZlciBpbiAiJEAiOwogICAg
ICAgIGRvCiAgICAgICAgICAgIGNhc2UgJHtDSE9TVH0gaW4gCiAgICAgICAgICAgICAgICAqLWRh
cndpbiopCiAgICAgICAgICAgICAgICAgICAgZWNobyAiLiR7dmVyfS4ke2xpYm5hbWV9IgogICAg
ICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICAgICAgZWNo
byAiLiR7bGlibmFtZX0uJHt2ZXJ9IgogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNh
YzsKICAgICAgICBkb25lOwogICAgZmkKfQpnZXRfbWxfaW5jZGlyICgpIAp7IAogICAgbG9jYWwg
ZGlyPS91c3IvaW5jbHVkZTsKICAgIGlmIFtbICQjIC1ndCAwIF1dOyB0aGVuCiAgICAgICAgaW5j
ZGlyPSQxOwogICAgICAgIHNoaWZ0OwogICAgZmk7CiAgICBpZiBbWyAteiAiJHtNVUxUSUxJQl9B
QklTfSIgXV07IHRoZW4KICAgICAgICBlY2hvICR7aW5jZGlyfTsKICAgICAgICByZXR1cm4gMDsK
ICAgIGZpOwogICAgbG9jYWwgYWJpPSR7QUJJLSR7REVGQVVMVF9BQkl9fTsKICAgIGlmIFtbICQj
IC1ndCAwIF1dOyB0aGVuCiAgICAgICAgYWJpPSQxOwogICAgICAgIHNoaWZ0OwogICAgZmk7CiAg
ICBpZiBbWyAtZCAiJHtkaXJ9L2dlbnRvby1tdWx0aWxpYi8ke2FiaX0iIF1dOyB0aGVuCiAgICAg
ICAgZWNobyAke2Rpcn0vZ2VudG9vLW11bHRpbGliLyR7YWJpfTsKICAgIGVsc2UKICAgICAgICBl
Y2hvICR7ZGlyfTsKICAgIGZpCn0KZ2V0X21vdW50cyAoKSAKeyAKICAgIGxvY2FsIHBvaW50PSBu
b2RlPSBmcz0gb3B0cz0gZm9vPTsKICAgIGlmIFtbICQodW5hbWUgLXMpID09ICJMaW51eCIgXV07
IHRoZW4KICAgICAgICB3aGlsZSByZWFkIG5vZGUgcG9pbnQgZnMgb3B0cyBmb287IGRvCiAgICAg
ICAgICAgIGVjaG8gIiR7cG9pbnR9ICR7bm9kZX0gJHtmc30gJHtvcHRzfSI7CiAgICAgICAgZG9u
ZSA8IC9wcm9jL21vdW50czsKICAgICAgICByZXR1cm47CiAgICBmaTsKICAgIGxvY2FsIElGUz0n
CSc7CiAgICBMQ19BTEw9QyBtb3VudCAtcCB8IHdoaWxlIHJlYWQgbm9kZSBwb2ludCBmcyBmb287
IGRvCiAgICAgICAgb3B0cz0ke2ZzIyogfTsKICAgICAgICBmcz0ke2ZzJSUgKn07CiAgICAgICAg
ZWNobyAiJHtwb2ludC8vIC9cMDQwfSAke25vZGUvLyAvXDA0MH0gJHtmcyUlICp9ICR7b3B0cy8v
IC9cMDQwfSI7CiAgICBkb25lCn0KZ2V0X211bHRpbGliZGlyICgpIAp7IAogICAgaWYgaGFzX211
bHRpbGliX3Byb2ZpbGU7IHRoZW4KICAgICAgICBlZXJyb3IgImdldF9tdWx0aWxpYmRpciBjYWxs
ZWQsIGJ1dCBpdCBzaG91bGRuJ3QgYmUgbmVlZGVkIHdpdGggdGhlIG5ldyBtdWx0aWxpYiBhcHBy
b2FjaC4gIFBsZWFzZSBmaWxlIGEgYnVnIGF0IGh0dHA6Ly9idWdzLmdlbnRvby5vcmcgYW5kIGFz
c2lnbiBpdCB0byBlcmFkaWNhdG9yQGdlbnRvby5vcmciOwogICAgICAgIGV4aXQgMTsKICAgIGZp
OwogICAgZWNobyAke0NPTkZfTVVMVElMSUJESVI6PWxpYjMyfQp9Cmdub21lMl9nY29uZl9pbnN0
YWxsICgpIAp7IAogICAgbG9jYWwgRjsKICAgIGlmIFtbICEgLXggIiR7R0NPTkZUT09MX0JJTn0i
IF1dOyB0aGVuCiAgICAgICAgcmV0dXJuOwogICAgZmk7CiAgICBpZiBbWyAteiAiJHtHTk9NRTJf
RUNMQVNTX1NDSEVNQVN9IiBdXTsgdGhlbgogICAgICAgIGVpbmZvICJObyBHTk9NRSAyIEdDb25m
IHNjaGVtYXMgZm91bmQiOwogICAgICAgIHJldHVybjsKICAgIGZpOwogICAgdW5zZXQgR0NPTkZf
RElTQUJMRV9NQUtFRklMRV9TQ0hFTUFfSU5TVEFMTDsKICAgIGV4cG9ydCBHQ09ORl9DT05GSUdf
U09VUkNFPSIkKCIke0dDT05GVE9PTF9CSU59IiAtLWdldC1kZWZhdWx0LXNvdXJjZSkiOwogICAg
ZWluZm8gIkluc3RhbGxpbmcgR05PTUUgMiBHQ29uZiBzY2hlbWFzIjsKICAgIGZvciBGIGluICR7
R05PTUUyX0VDTEFTU19TQ0hFTUFTfTsKICAgIGRvCiAgICAgICAgaWYgW1sgLWUgIiR7Uk9PVH0k
e0Z9IiBdXTsgdGhlbgogICAgICAgICAgICAiJHtHQ09ORlRPT0xfQklOfSIgLS1tYWtlZmlsZS1p
bnN0YWxsLXJ1bGUgIiR7Uk9PVH0ke0Z9IiA+IC9kZXYvbnVsbDsKICAgICAgICBmaTsKICAgIGRv
bmU7CiAgICBwaWRzPSQocGdyZXAgLXggZ2NvbmZkLTIpOwogICAgaWYgW1sgJD8gPT0gMCBdXTsg
dGhlbgogICAgICAgIGViZWdpbiAiUmVsb2FkaW5nIEdDb25mIHNjaGVtYXMiOwogICAgICAgIGtp
bGwgLUhVUCAke3BpZHN9OwogICAgICAgIGVlbmQgJD87CiAgICBmaQp9Cmdub21lMl9nY29uZl9z
YXZlbGlzdCAoKSAKeyAKICAgIHB1c2hkICIke0R9IiA+Ji9kZXYvbnVsbDsKICAgIGV4cG9ydCBH
Tk9NRTJfRUNMQVNTX1NDSEVNQVM9JChmaW5kICdldGMvZ2NvbmYvc2NoZW1hcy8nIC1uYW1lICcq
LnNjaGVtYXMnIDI+IC9kZXYvbnVsbCk7CiAgICBwb3BkID4mL2Rldi9udWxsCn0KZ25vbWUyX2dj
b25mX3VuaW5zdGFsbCAoKSAKeyAKICAgIGxvY2FsIEY7CiAgICBpZiBbWyAhIC14ICIke0dDT05G
VE9PTF9CSU59IiBdXTsgdGhlbgogICAgICAgIHJldHVybjsKICAgIGZpOwogICAgaWYgW1sgLXog
IiR7R05PTUUyX0VDTEFTU19TQ0hFTUFTfSIgXV07IHRoZW4KICAgICAgICBlaW5mbyAiTm8gR05P
TUUgMiBHQ29uZiBzY2hlbWFzIGZvdW5kIjsKICAgICAgICByZXR1cm47CiAgICBmaTsKICAgIHVu
c2V0IEdDT05GX0RJU0FCTEVfTUFLRUZJTEVfU0NIRU1BX0lOU1RBTEw7CiAgICBleHBvcnQgR0NP
TkZfQ09ORklHX1NPVVJDRT0kKCIke0dDT05GVE9PTF9CSU59IiAtLWdldC1kZWZhdWx0LXNvdXJj
ZSk7CiAgICBlaW5mbyAiVW5pbnN0YWxsaW5nIEdOT01FIDIgR0NvbmYgc2NoZW1hcyI7CiAgICBm
b3IgRiBpbiAke0dOT01FMl9FQ0xBU1NfU0NIRU1BU307CiAgICBkbwogICAgICAgIGlmIFtbIC1l
ICIke1JPT1R9JHtGfSIgXV07IHRoZW4KICAgICAgICAgICAgIiR7R0NPTkZUT09MX0JJTn0iIC0t
bWFrZWZpbGUtdW5pbnN0YWxsLXJ1bGUgIiR7Uk9PVH0ke0Z9IiA+IC9kZXYvbnVsbDsKICAgICAg
ICBmaTsKICAgIGRvbmU7CiAgICBwaWRzPSQocGdyZXAgLXggZ2NvbmZkLTIpOwogICAgaWYgW1sg
JD8gPT0gMCBdXTsgdGhlbgogICAgICAgIGViZWdpbiAiUmVsb2FkaW5nIEdDb25mIHNjaGVtYXMi
OwogICAgICAgIGtpbGwgLUhVUCAke3BpZHN9OwogICAgICAgIGVlbmQgJD87CiAgICBmaQp9Cmdu
b21lMl9pY29uX2NhY2hlX3VwZGF0ZSAoKSAKeyAKICAgIGxvY2FsIHVwZGF0ZXI9IiQodHlwZSAt
cCBndGstdXBkYXRlLWljb24tY2FjaGUgMj4gL2Rldi9udWxsKSI7CiAgICBpZiBbWyAhIC14ICIk
e3VwZGF0ZXJ9IiBdXTsgdGhlbgogICAgICAgIGRlYnVnLXByaW50ICIke3VwZGF0ZXJ9IGlzIG5v
dCBleGVjdXRhYmxlIjsKICAgICAgICByZXR1cm47CiAgICBmaTsKICAgIGlmIFtbIC16ICIke0dO
T01FMl9FQ0xBU1NfSUNPTlN9IiBdXTsgdGhlbgogICAgICAgIHJldHVybjsKICAgIGZpOwogICAg
ZWJlZ2luICJVcGRhdGluZyBpY29ucyBjYWNoZSI7CiAgICBsb2NhbCByZXR2YWw9MDsKICAgIGxv
Y2FsIGZhaWxzPSgpOwogICAgZm9yIGRpciBpbiAke0dOT01FMl9FQ0xBU1NfSUNPTlN9OwogICAg
ZG8KICAgICAgICBpZiBbWyAtZiAiJHtST09UfSR7ZGlyfS9pbmRleC50aGVtZSIgXV07IHRoZW4K
ICAgICAgICAgICAgbG9jYWwgcnY9MDsKICAgICAgICAgICAgIiR7dXBkYXRlcn0iIC1xZiAiJHtS
T09UfSR7ZGlyfSI7CiAgICAgICAgICAgIHJ2PSQ/OwogICAgICAgICAgICBpZiBbWyAhICRydiAt
ZXEgMCBdXTsgdGhlbgogICAgICAgICAgICAgICAgZGVidWctcHJpbnQgIlVwZGF0aW5nIGNhY2hl
IGZhaWxlZCBvbiAke1JPT1R9JHtkaXJ9IjsKICAgICAgICAgICAgICAgIGZhaWxzWyQoKCAkeyNm
YWlsc1tAXX0gKyAxICkpXT0iJHtST09UfSR7ZGlyfSI7CiAgICAgICAgICAgICAgICByZXR2YWw9
MjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgZWVuZCAke3JldHZh
bH07CiAgICBmb3IgZiBpbiAiJHtmYWlsc1tAXX0iOwogICAgZG8KICAgICAgICBlZXJyb3IgIkZh
aWxlZCB0byB1cGRhdGUgY2FjaGUgd2l0aCBpY29uICRmIjsKICAgIGRvbmUKfQpnbm9tZTJfaWNv
bl9zYXZlbGlzdCAoKSAKeyAKICAgIHB1c2hkICIke0R9IiA+Ji9kZXYvbnVsbDsKICAgIGV4cG9y
dCBHTk9NRTJfRUNMQVNTX0lDT05TPSQoZmluZCAndXNyL3NoYXJlL2ljb25zJyAtbWF4ZGVwdGgg
MSAtbWluZGVwdGggMSAtdHlwZSBkIDI+IC9kZXYvbnVsbCk7CiAgICBwb3BkID4mL2Rldi9udWxs
Cn0KZ25vbWUyX29tZl9maXggKCkgCnsgCiAgICBsb2NhbCBvbWZfbWFrZWZpbGVzIGZpbGVuYW1l
OwogICAgb21mX21ha2VmaWxlcz0iJEAiOwogICAgaWYgW1sgLWYgJHtTfS9vbWYubWFrZSBdXTsg
dGhlbgogICAgICAgIG9tZl9tYWtlZmlsZXM9IiR7b21mX21ha2VmaWxlc30gJHtTfS9vbWYubWFr
ZSI7CiAgICBmaTsKICAgIGZvciBmaWxlbmFtZSBpbiAkKGZpbmQgLi8gLW5hbWUgIk1ha2VmaWxl
LmluIiAtbyAtbmFtZSAiTWFrZWZpbGUuYW0iKTsKICAgIGRvCiAgICAgICAgb21mX21ha2VmaWxl
cz0iJHtvbWZfbWFrZWZpbGVzfSAke2ZpbGVuYW1lfSI7CiAgICBkb25lOwogICAgZWJlZ2luICJG
aXhpbmcgT01GIE1ha2VmaWxlcyI7CiAgICBsb2NhbCByZXR2YWw9MDsKICAgIGxvY2FsIGZhaWxz
PSgpOwogICAgZm9yIG9tZiBpbiAke29tZl9tYWtlZmlsZXN9OwogICAgZG8KICAgICAgICBsb2Nh
bCBydj0wOwogICAgICAgIHNlZCAtaSAtZSAnczpzY3JvbGxrZWVwZXItdXBkYXRlOnRydWU6JyAi
JHtvbWZ9IjsKICAgICAgICByZXR2YWw9JD87CiAgICAgICAgaWYgW1sgISAkcnYgLWVxIDAgXV07
IHRoZW4KICAgICAgICAgICAgZGVidWctcHJpbnQgInVwZGF0aW5nIG9mICR7b21mfSBmYWlsZWQi
OwogICAgICAgICAgICBmYWlsc1skKCggJHsjZmFpbHNbQF19ICsgMSApKV09JG9tZjsKICAgICAg
ICAgICAgcmV0dmFsPTI7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgZWVuZCAkcmV0dmFsOwog
ICAgZm9yIGYgaW4gIiR7ZmFpbHNbQF19IjsKICAgIGRvCiAgICAgICAgZWVycm9yICJGYWlsZWQg
dG8gdXBkYXRlIE9NRiBNYWtlZmlsZSAkZiI7CiAgICBkb25lCn0KZ25vbWUyX3BrZ19wb3N0aW5z
dCAoKSAKeyAKICAgIGdub21lMl9nY29uZl9pbnN0YWxsOwogICAgZmRvLW1pbWVfZGVza3RvcF9k
YXRhYmFzZV91cGRhdGU7CiAgICBmZG8tbWltZV9taW1lX2RhdGFiYXNlX3VwZGF0ZTsKICAgIGdu
b21lMl9pY29uX2NhY2hlX3VwZGF0ZTsKICAgIGlmIFtbICIke1NDUk9MTEtFRVBFUl9VUERBVEV9
IiA9ICIxIiBdXTsgdGhlbgogICAgICAgIGdub21lMl9zY3JvbGxrZWVwZXJfdXBkYXRlOwogICAg
ZmkKfQpnbm9tZTJfcGtnX3Bvc3RybSAoKSAKeyAKICAgIGZkby1taW1lX2Rlc2t0b3BfZGF0YWJh
c2VfdXBkYXRlOwogICAgZmRvLW1pbWVfbWltZV9kYXRhYmFzZV91cGRhdGU7CiAgICBnbm9tZTJf
aWNvbl9jYWNoZV91cGRhdGU7CiAgICBpZiBbWyAiJHtTQ1JPTExLRUVQRVJfVVBEQVRFfSIgPSAi
MSIgXV07IHRoZW4KICAgICAgICBnbm9tZTJfc2Nyb2xsa2VlcGVyX3VwZGF0ZTsKICAgIGZpCn0K
Z25vbWUyX3BrZ19wcmVpbnN0ICgpIAp7IAogICAgZ25vbWUyX2djb25mX3NhdmVsaXN0OwogICAg
Z25vbWUyX2ljb25fc2F2ZWxpc3QKfQpnbm9tZTJfc2Nyb2xsa2VlcGVyX3VwZGF0ZSAoKSAKeyAK
ICAgIGlmIFtbIC14ICIke1NDUk9MTEtFRVBFUl9VUERBVEVfQklOfSIgXV07IHRoZW4KICAgICAg
ICBlaW5mbyAiVXBkYXRpbmcgc2Nyb2xsa2VlcGVyIGRhdGFiYXNlIC4uLiI7CiAgICAgICAgIiR7
U0NST0xMS0VFUEVSX1VQREFURV9CSU59IiAtcSAtcCAiJHtTQ1JPTExLRUVQRVJfRElSfSI7CiAg
ICBmaQp9Cmdub21lMl9zcmNfY29tcGlsZSAoKSAKeyAKICAgIGdub21lMl9zcmNfY29uZmlndXJl
ICIkQCI7CiAgICBlbWFrZSB8fCBkaWUgImNvbXBpbGUgZmFpbHVyZSIKfQpnbm9tZTJfc3JjX2Nv
bmZpZ3VyZSAoKSAKeyAKICAgIGlmIFtbICR7R0NPTkZfREVCVUd9ICE9ICdubycgXV07IHRoZW4K
ICAgICAgICBpZiB1c2UgZGVidWc7IHRoZW4KICAgICAgICAgICAgRzJDT05GPSIke0cyQ09ORn0g
LS1lbmFibGUtZGVidWc9eWVzIjsKICAgICAgICBmaTsKICAgIGZpOwogICAgaWYgaGFzcSBkb2Mg
JHtJVVNFfTsgdGhlbgogICAgICAgIEcyQ09ORj0iJHtHMkNPTkZ9ICQodXNlX2VuYWJsZSBkb2Mg
Z3RrLWRvYykiOwogICAgZmk7CiAgICBhZGR3cml0ZSAiL3Jvb3QvLmdub21lMiI7CiAgICBHU1Rf
UkVHSVNUUlk9IiR7U30vcmVnaXN0cnkueG1sIiBlY29uZiAiJEAiICR7RzJDT05GfSB8fCBkaWUg
ImNvbmZpZ3VyZSBmYWlsZWQiCn0KZ25vbWUyX3NyY19pbnN0YWxsICgpIAp7IAogICAgbG9jYWwg
c2tfdG1wX2Rpcj0iL3Zhci9saWIvc2Nyb2xsa2VlcGVyIjsKICAgIGRvZGlyICIke3NrX3RtcF9k
aXJ9IjsKICAgIGV4cG9ydCBHQ09ORl9ESVNBQkxFX01BS0VGSUxFX1NDSEVNQV9JTlNUQUxMPSIx
IjsKICAgIGlmIFtbIC16ICIke1VTRV9FSU5TVEFMTH0iIHx8ICIke1VTRV9FSU5TVEFMTH0iID0g
IjAiIF1dOyB0aGVuCiAgICAgICAgZGVidWctcHJpbnQgIkluc3RhbGxpbmcgd2l0aCAnbWFrZSBp
bnN0YWxsJyI7CiAgICAgICAgZW1ha2UgREVTVERJUj0iJHtEfSIgInNjcm9sbGtlZXBlcl9sb2Nh
bHN0YXRlX2Rpcj0ke0R9JHtza190bXBfZGlyfSAiICIkQCIgaW5zdGFsbCB8fCBkaWUgImluc3Rh
bGwgZmFpbGVkIjsKICAgIGVsc2UKICAgICAgICBkZWJ1Zy1wcmludCAiSW5zdGFsbGluZyB3aXRo
ICdlaW5zdGFsbCciOwogICAgICAgIGVpbnN0YWxsICJzY3JvbGxrZWVwZXJfbG9jYWxzdGF0ZV9k
aXI9JHtEfSR7c2tfdG1wX2Rpcn0gIiAiJEAiIHx8IGRpZSAiZWluc3RhbGwgZmFpbGVkIjsKICAg
IGZpOwogICAgdW5zZXQgR0NPTkZfRElTQUJMRV9NQUtFRklMRV9TQ0hFTUFfSU5TVEFMTDsKICAg
IFtbIC1uICIke0RPQ1N9IiBdXSAmJiBkb2RvYyAke0RPQ1N9OwogICAgaWYgW1sgLXogIiQoZmlu
ZCAiJHtEfSIgLW5hbWUgJyoub21mJykiIF1dOyB0aGVuCiAgICAgICAgZXhwb3J0IFNDUk9MTEtF
RVBFUl9VUERBVEU9IjAiOwogICAgZmk7CiAgICBybSAtcmYgIiR7RH0ke3NrX3RtcF9kaXJ9IjsK
ICAgIHJtIC1mciAiJHtEfS91c3Ivc2hhcmUvYXBwbGljYXRpb25zL21pbWVpbmZvLmNhY2hlIgp9
Cmdub21lMl9zcmNfdW5wYWNrICgpIAp7IAogICAgdW5wYWNrICR7QX07CiAgICBjZCAiJHtTfSI7
CiAgICBnbm9tZTJfb21mX2ZpeDsKICAgIGVsaWJ0b29saXplICR7RUxUQ09ORn0KfQpoYXNfbXVs
dGlsaWJfcHJvZmlsZSAoKSAKeyAKICAgIFsgLW4gIiR7TVVMVElMSUJfQUJJU30iIC1hICIke01V
TFRJTElCX0FCSVN9IiAhPSAiJHtNVUxUSUxJQl9BQklTLyAvfSIgXQp9CmlzLWxvZ2luLWRpc2Fi
bGVkICgpIAp7IAogICAgc2hlbGw9JChlZ2V0c2hlbGwgIiQxIik7CiAgICBjYXNlICR7c2hlbGx9
IGluIAogICAgICAgIC9iaW4vZmFsc2UgfCAvdXNyL2Jpbi9mYWxzZSB8IC9zYmluL25vbG9naW4g
fCAvdXNyL3NiaW4vbm9sb2dpbikKICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICA7OwogICAg
ICAgICopCiAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgOzsKICAgIGVzYWMKfQppc19maW5h
bF9hYmkgKCkgCnsgCiAgICBoYXNfbXVsdGlsaWJfcHJvZmlsZSB8fCByZXR1cm4gMDsKICAgIGxv
Y2FsIEFMTF9BQklTPSQoZ2V0X2luc3RhbGxfYWJpcyk7CiAgICBsb2NhbCBMQVNUX0FCST0ke0FM
TF9BQklTLyogL307CiAgICBbWyAke0xBU1RfQUJJfSA9PSAke0FCSX0gXV0KfQptYWtlX2Rlc2t0
b3BfZW50cnkgKCkgCnsgCiAgICBbWyAteiAkMSBdXSAmJiBlZXJyb3IgIm1ha2VfZGVza3RvcF9l
bnRyeTogWW91IG11c3Qgc3BlY2lmeSB0aGUgZXhlY3V0YWJsZSIgJiYgcmV0dXJuIDE7CiAgICBs
b2NhbCBleGVjPSR7MX07CiAgICBsb2NhbCBuYW1lPSR7MjotJHtQTn19OwogICAgbG9jYWwgaWNv
bj0kezM6LSR7UE59fTsKICAgIGxvY2FsIHR5cGU9JHs0fTsKICAgIGxvY2FsIHBhdGg9JHs1fTsK
ICAgIGlmIFtbIC16ICR7dHlwZX0gXV07IHRoZW4KICAgICAgICBsb2NhbCBjYXRtYWo9JHtDQVRF
R09SWSUlLSp9OwogICAgICAgIGxvY2FsIGNhdG1pbj0ke0NBVEVHT1JZIyMqLX07CiAgICAgICAg
Y2FzZSAke2NhdG1han0gaW4gCiAgICAgICAgICAgIGFwcCkKICAgICAgICAgICAgICAgIGNhc2Ug
JHtjYXRtaW59IGluIAogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkpCiAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGU9QWNjZXNzaWJpbGl0eQogICAgICAgICAgICAgICAgICAgIDs7
CiAgICAgICAgICAgICAgICAgICAgYWRtaW4pCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9
U3lzdGVtCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBhbnRpdmly
dXMpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U3lzdGVtCiAgICAgICAgICAgICAgICAg
ICAgOzsKICAgICAgICAgICAgICAgICAgICBhcmNoKQogICAgICAgICAgICAgICAgICAgICAgICB0
eXBlPUFyY2hpdmluZwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAg
YmFja3VwKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFyY2hpdmluZwogICAgICAgICAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgY2RyKQogICAgICAgICAgICAgICAgICAg
ICAgICB0eXBlPURpc2NCdXJuaW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ICAgICAgICBkaWN0cykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1EaWN0aW9uYXJ5CiAg
ICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBkb2MpCiAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGU9RG9jdW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgICAgICAgICAgZWRpdG9ycykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1U
ZXh0RWRpdG9yCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBlbWFj
cykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UZXh0RWRpdG9yCiAgICAgICAgICAgICAg
ICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBlbXVsYXRpb24pCiAgICAgICAgICAgICAgICAg
ICAgICAgIHR5cGU9RW11bGF0b3IKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg
ICAgICAgIGxhcHRvcCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1IYXJkd2FyZVNldHRp
bmdzCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBvZmZpY2UpCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9T2ZmaWNlCiAgICAgICAgICAgICAgICAgICAgOzsK
ICAgICAgICAgICAgICAgICAgICBwZGEpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9UERB
CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICB2aW0pCiAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGU9VGV4dEVkaXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgICAgICAgICAgeGVtYWNzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRl
eHRFZGl0b3IKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgIGVzYWMKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZGV2KQogICAgICAgICAg
ICAgICAgdHlwZT0iRGV2ZWxvcG1lbnQiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGdhbWVz
KQogICAgICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAg
YWN0aW9uIHwgZnBzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFjdGlvbkdhbWUKICAg
ICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGFyY2FkZSkKICAgICAgICAg
ICAgICAgICAgICAgICAgdHlwZT1BcmNhZGVHYW1lCiAgICAgICAgICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgICAgICAgICBib2FyZCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1Cb2Fy
ZEdhbWUKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVtdWxhdGlv
bikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1FbXVsYXRvcgogICAgICAgICAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgICAgICAgICAga2lkcykKICAgICAgICAgICAgICAgICAgICAgICAg
dHlwZT1LaWRzR2FtZQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAg
cHV6emxlKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUxvZ2ljR2FtZQogICAgICAgICAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcm9ndWVsaWtlKQogICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlPVJvbGVQbGF5aW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICAgICBycGcpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Um9sZVBsYXlp
bmcKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHNpbXVsYXRpb24p
CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U2ltdWxhdGlvbgogICAgICAgICAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgICAgICAgICAgc3BvcnRzKQogICAgICAgICAgICAgICAgICAgICAg
ICB0eXBlPVNwb3J0c0dhbWUKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg
ICAgIHN0cmF0ZWd5KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVN0cmF0ZWd5R2FtZQog
ICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAg
ICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg
ZXNhYzsKICAgICAgICAgICAgICAgIHR5cGU9IkdhbWU7JHt0eXBlfSIKICAgICAgICAgICAgOzsK
ICAgICAgICAgICAgZ25vbWUpCiAgICAgICAgICAgICAgICB0eXBlPSJHbm9tZTtHVEsiCiAgICAg
ICAgICAgIDs7CiAgICAgICAgICAgIGtkZSkKICAgICAgICAgICAgICAgIHR5cGU9IktERTtRdCIK
ICAgICAgICAgICAgOzsKICAgICAgICAgICAgbWFpbCkKICAgICAgICAgICAgICAgIHR5cGU9Ik5l
dHdvcms7RW1haWwiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIG1lZGlhKQogICAgICAgICAg
ICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgZ2Z4KQogICAgICAg
ICAgICAgICAgICAgICAgICB0eXBlPUdyYXBoaWNzCiAgICAgICAgICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgICAgICAgICByYWRpbykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UdW5l
cgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgc291bmQpCiAgICAg
ICAgICAgICAgICAgICAgICAgIHR5cGU9QXVkaW8KICAgICAgICAgICAgICAgICAgICA7OwogICAg
ICAgICAgICAgICAgICAgIHR2KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRWCiAgICAg
ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICB2aWRlbykKICAgICAgICAgICAg
ICAgICAgICAgICAgdHlwZT1WaWRlbwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAg
ICAgICAgICAgKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAg
ICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgICAgIHR5cGU9IkF1ZGlv
VmlkZW87JHt0eXBlfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgbmV0KQogICAgICAgICAg
ICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgZGlhbHVwKQogICAg
ICAgICAgICAgICAgICAgICAgICB0eXBlPURpYWx1cAogICAgICAgICAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgICAgICAgICAgZnRwKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUZpbGVU
cmFuc2ZlcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgaW0pCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9SW5zdGFudE1lc3NhZ2luZwogICAgICAgICAgICAg
ICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgaXJjKQogICAgICAgICAgICAgICAgICAgICAg
ICB0eXBlPUlSQ0NsaWVudAogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAg
ICAgbWFpbCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1FbWFpbAogICAgICAgICAgICAg
ICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgbmV3cykKICAgICAgICAgICAgICAgICAgICAg
ICAgdHlwZT1OZXdzCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBu
bnRwKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPU5ld3MKICAgICAgICAgICAgICAgICAg
ICA7OwogICAgICAgICAgICAgICAgICAgIHAycCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlw
ZT1GaWxlVHJhbnNmZXIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg
ICopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsK
ICAgICAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgICAgICB0eXBlPSJOZXR3b3JrOyR7dHlw
ZX0iCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIHNjaSkKICAgICAgICAgICAgICAgIGNhc2Ug
JHtjYXRtaW59IGluIAogICAgICAgICAgICAgICAgICAgIGFzdHJvKikKICAgICAgICAgICAgICAg
ICAgICAgICAgdHlwZT1Bc3Ryb25vbXkKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAg
ICAgICAgICAgIGJpbyopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9QmlvbG9neQogICAg
ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgY2FsYyopCiAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGU9Q2FsY3VsYXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAg
ICAgICAgICAgICAgICAgY2hlbSopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Q2hlbWlz
dHJ5CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBlbGVjKikKICAg
ICAgICAgICAgICAgICAgICAgICAgdHlwZT1FbGVjdHJvbmljcwogICAgICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgICAgICAgICAgZ2VvKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlw
ZT1HZW9sb2d5CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBtYXRo
KikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1NYXRoCiAgICAgICAgICAgICAgICAgICAg
OzsKICAgICAgICAgICAgICAgICAgICBwaHlzaWNzKQogICAgICAgICAgICAgICAgICAgICAgICB0
eXBlPVBoeXNpY3MKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHZp
c3VhbCopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RGF0YVZpc3VhbGl6YXRpb24KICAg
ICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAg
ICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVz
YWM7CiAgICAgICAgICAgICAgICB0eXBlPSJTY2llbmNlOyR7dHlwZX0iCiAgICAgICAgICAgIDs7
CiAgICAgICAgICAgIHN5cykKICAgICAgICAgICAgICAgIHR5cGU9IlN5c3RlbSIKICAgICAgICAg
ICAgOzsKICAgICAgICAgICAgd3d3KQogICAgICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4g
CiAgICAgICAgICAgICAgICAgICAgY2xpZW50KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
PVdlYkJyb3dzZXIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICop
CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgICAgICB0eXBlPSJOZXR3b3JrIgogICAgICAg
ICAgICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAg
OzsKICAgICAgICBlc2FjOwogICAgZmk7CiAgICBpZiBbICIke1NMT1R9IiA9PSAiMCIgXTsgdGhl
bgogICAgICAgIGxvY2FsIGRlc2t0b3BfbmFtZT0iJHtQTn0iOwogICAgZWxzZQogICAgICAgIGxv
Y2FsIGRlc2t0b3BfbmFtZT0iJHtQTn0tJHtTTE9UfSI7CiAgICBmaTsKICAgIGxvY2FsIGRlc2t0
b3A9IiR7VH0vJChlY2hvICR7ZXhlY30gfCBzZWQgJ3M6W1s6c3BhY2U6XS86XTpfOmcnKS0ke2Rl
c2t0b3BfbmFtZX0uZGVza3RvcCI7CiAgICBjYXQgPiAiJHtkZXNrdG9wfSIgIDw8LUVPRgpbRGVz
a3RvcCBFbnRyeV0KVmVyc2lvbj0xLjAKTmFtZT0ke25hbWV9ClR5cGU9QXBwbGljYXRpb24KQ29t
bWVudD0ke0RFU0NSSVBUSU9OfQpFeGVjPSR7ZXhlY30KVHJ5RXhlYz0ke2V4ZWMlJSAqfQpJY29u
PSR7aWNvbn0KQ2F0ZWdvcmllcz0ke3R5cGV9OwpFT0YKCiAgICBbWyAtbiAke3BhdGh9IF1dICYm
IGVjaG8gIlBhdGg9JHtwYXRofSIgPj4gIiR7ZGVza3RvcH0iOwogICAgKCBpbnNpbnRvIC91c3Iv
c2hhcmUvYXBwbGljYXRpb25zOwogICAgZG9pbnMgIiR7ZGVza3RvcH0iICkKfQptYWtlX3Nlc3Np
b25fZGVza3RvcCAoKSAKeyAKICAgIFtbIC16ICQxIF1dICYmIGVlcnJvciAibWFrZV9zZXNzaW9u
X2Rlc2t0b3A6IFlvdSBtdXN0IHNwZWNpZnkgdGhlIHRpdGxlIiAmJiByZXR1cm4gMTsKICAgIFtb
IC16ICQyIF1dICYmIGVlcnJvciAibWFrZV9zZXNzaW9uX2Rlc2t0b3A6IFlvdSBtdXN0IHNwZWNp
ZnkgdGhlIGNvbW1hbmQiICYmIHJldHVybiAxOwogICAgbG9jYWwgdGl0bGU9JDE7CiAgICBsb2Nh
bCBjb21tYW5kPSQyOwogICAgbG9jYWwgZGVza3RvcD0ke1R9LyR7d219LmRlc2t0b3A7CiAgICBj
YXQgPiAiJHtkZXNrdG9wfSIgIDw8LUVPRgpbRGVza3RvcCBFbnRyeV0KTmFtZT0ke3RpdGxlfQpD
b21tZW50PVRoaXMgc2Vzc2lvbiBsb2dzIHlvdSBpbnRvICR7dGl0bGV9CkV4ZWM9JHtjb21tYW5k
fQpUcnlFeGVjPSR7Y29tbWFuZH0KVHlwZT1BcHBsaWNhdGlvbgpFT0YKCiAgICAoIGluc2ludG8g
L3Vzci9zaGFyZS94c2Vzc2lvbnM7CiAgICBkb2lucyAiJHtkZXNrdG9wfSIgKQp9Cm1ha2Vfd3Jh
cHBlciAoKSAKeyAKICAgIGxvY2FsIHdyYXBwZXI9JDEgYmluPSQyIGNoZGlyPSQzIGxpYmRpcj0k
NCBwYXRoPSQ1OwogICAgbG9jYWwgdG1wd3JhcHBlcj0kKGVta3RlbXApOwogICAgY2F0ID4gIiR7
dG1wd3JhcHBlcn0iICA8PEVPRgojIS9iaW4vc2gKY2QgIiR7Y2hkaXI6LS59IgppZiBbIC1uICIk
e2xpYmRpcn0iIF0gOyB0aGVuCglpZiBbICJcJHtMRF9MSUJSQVJZX1BBVEgrc2V0fSIgPSAic2V0
IiBdIDsgdGhlbgoJCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9Ilwke0xEX0xJQlJBUllfUEFUSH06
JHtsaWJkaXJ9IgoJZWxzZQoJCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9IiR7bGliZGlyfSIKCWZp
CmZpCmV4ZWMgJHtiaW59ICJcJEAiCkVPRgoKICAgIGNobW9kIGdvK3J4ICIke3RtcHdyYXBwZXJ9
IjsKICAgIGlmIFtbIC1uICR7cGF0aH0gXV07IHRoZW4KICAgICAgICAoIGV4ZWludG8gIiR7cGF0
aH0iOwogICAgICAgIG5ld2V4ZSAiJHt0bXB3cmFwcGVyfSIgIiR7d3JhcHBlcn0iICkgfHwgZGll
OwogICAgZWxzZQogICAgICAgIG5ld2JpbiAiJHt0bXB3cmFwcGVyfSIgIiR7d3JhcHBlcn0iIHx8
IGRpZTsKICAgIGZpCn0KbXVsdGlsaWJfZW52ICgpIAp7IAogICAgbG9jYWwgQ1RBUkdFVD0kezE6
LSR7Q1RBUkdFVH19OwogICAgY2FzZSAke0NUQVJHRVR9IGluIAogICAgICAgIHg4Nl82NCopCiAg
ICAgICAgICAgIGV4cG9ydCBDRkxBR1NfeDg2PSR7Q0ZMQUdTX3g4Ni0tbTMyfTsKICAgICAgICAg
ICAgZXhwb3J0IENIT1NUX3g4Nj0ke0NUQVJHRVQveDg2XzY0L2k2ODZ9OwogICAgICAgICAgICBl
eHBvcnQgQ1RBUkdFVF94ODY9JHtDSE9TVF94ODZ9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklO
RV94ODY9Il9faTM4Nl9fIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl94ODY9ImxpYiI7CiAg
ICAgICAgICAgIGV4cG9ydCBDRkxBR1NfYW1kNjQ9JHtDRkxBR1NfYW1kNjQtLW02NH07CiAgICAg
ICAgICAgIGV4cG9ydCBDSE9TVF9hbWQ2ND0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQg
Q1RBUkdFVF9hbWQ2ND0ke0NIT1NUX2FtZDY0fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVf
YW1kNjQ9Il9feDg2XzY0X18iOwogICAgICAgICAgICBleHBvcnQgTElCRElSX2FtZDY0PSJsaWI2
NCI7CiAgICAgICAgICAgIGV4cG9ydCBNVUxUSUxJQl9BQklTPSJhbWQ2NCB4ODYiOwogICAgICAg
ICAgICBleHBvcnQgREVGQVVMVF9BQkk9ImFtZDY0IgogICAgICAgIDs7CiAgICAgICAgbWlwczY0
KikKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19vMzI9JHtDRkxBR1NfbzMyLS1tYWJpPTMyfTsK
ICAgICAgICAgICAgZXhwb3J0IENIT1NUX28zMj0ke0NUQVJHRVQvbWlwczY0L21pcHN9OwogICAg
ICAgICAgICBleHBvcnQgQ1RBUkdFVF9vMzI9JHtDSE9TVF9vMzJ9OwogICAgICAgICAgICBleHBv
cnQgQ0RFRklORV9vMzI9Il9NSVBTX1NJTSA9PSBfQUJJTzMyIjsKICAgICAgICAgICAgZXhwb3J0
IExJQkRJUl9vMzI9ImxpYiI7CiAgICAgICAgICAgIGV4cG9ydCBDRkxBR1NfbjMyPSR7Q0ZMQUdT
X24zMi0tbWFiaT1uMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfbjMyPSR7Q1RBUkdFVH07
CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX24zMj0ke0NIT1NUX24zMn07CiAgICAgICAgICAg
IGV4cG9ydCBDREVGSU5FX24zMj0iX01JUFNfU0lNID09IF9BQklOMzIiOwogICAgICAgICAgICBl
eHBvcnQgTElCRElSX24zMj0ibGliMzIiOwogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX242ND0k
e0NGTEFHU19uNjQtLW1hYmk9NjR9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfbjY0PSR7Q1RB
UkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX242ND0ke0NIT1NUX242NH07CiAgICAg
ICAgICAgIGV4cG9ydCBDREVGSU5FX242ND0iX01JUFNfU0lNID09IF9BQkk2NCI7CiAgICAgICAg
ICAgIGV4cG9ydCBMSUJESVJfbjY0PSJsaWI2NCI7CiAgICAgICAgICAgIGV4cG9ydCBNVUxUSUxJ
Ql9BQklTPSJuNjQgbjMyIG8zMiI7CiAgICAgICAgICAgIGV4cG9ydCBERUZBVUxUX0FCST0ibjMy
IgogICAgICAgIDs7CiAgICAgICAgcG93ZXJwYzY0KikKICAgICAgICAgICAgZXhwb3J0IENGTEFH
U19wcGM9JHtDRkxBR1NfcHBjLS1tMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfcHBjPSR7
Q1RBUkdFVC9wb3dlcnBjNjQvcG93ZXJwY307CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3Bw
Yz0ke0NIT1NUX3BwY307CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX3BwYz0iIV9fcG93ZXJw
YzY0X18iOwogICAgICAgICAgICBleHBvcnQgTElCRElSX3BwYz0ibGliIjsKICAgICAgICAgICAg
ZXhwb3J0IENGTEFHU19wcGM2ND0ke0NGTEFHU19wcGM2NC0tbTY0fTsKICAgICAgICAgICAgZXhw
b3J0IENIT1NUX3BwYzY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3Bw
YzY0PSR7Q0hPU1RfcHBjNjR9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9wcGM2ND0iX19w
b3dlcnBjNjRfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfcHBjNjQ9ImxpYjY0IjsKICAg
ICAgICAgICAgZXhwb3J0IE1VTFRJTElCX0FCSVM9InBwYzY0IHBwYyI7CiAgICAgICAgICAgIGV4
cG9ydCBERUZBVUxUX0FCST0icHBjNjQiCiAgICAgICAgOzsKICAgICAgICBzMzkweCopCiAgICAg
ICAgICAgIGV4cG9ydCBDRkxBR1NfczM5MD0ke0NGTEFHU19zMzkwLS1tMzF9OwogICAgICAgICAg
ICBleHBvcnQgQ0hPU1RfczM5MD0ke0NUQVJHRVQvczM5MHgvczM5MH07CiAgICAgICAgICAgIGV4
cG9ydCBDVEFSR0VUX3MzOTA9JHtDSE9TVF9zMzkwfTsKICAgICAgICAgICAgZXhwb3J0IENERUZJ
TkVfczM5MD0iIV9fczM5MHhfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfczM5MD0ibGli
IjsKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19zMzkweD0ke0NGTEFHU19zMzkweC0tbTY0fTsK
ICAgICAgICAgICAgZXhwb3J0IENIT1NUX3MzOTB4PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4
cG9ydCBDVEFSR0VUX3MzOTB4PSR7Q0hPU1RfczM5MHh9OwogICAgICAgICAgICBleHBvcnQgQ0RF
RklORV9zMzkweD0iX19zMzkweF9fIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9zMzkweD0i
bGliNjQiOwogICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0iczM5MHggczM5MCI7CiAg
ICAgICAgICAgIGV4cG9ydCBERUZBVUxUX0FCST0iczM5MHgiCiAgICAgICAgOzsKICAgICAgICBz
cGFyYzY0KikKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19zcGFyYzMyPSR7Q0ZMQUdTX3NwYXJj
MzItLW0zMn07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9zcGFyYzMyPSR7Q1RBUkdFVC9zcGFy
YzY0L3NwYXJjfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfc3BhcmMzMj0ke0NIT1NUX3Nw
YXJjMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9zcGFyYzMyPSIhX19hcmNoNjRfXyI7
CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfc3BhcmMzMj0ibGliIjsKICAgICAgICAgICAgZXhw
b3J0IENGTEFHU19zcGFyYzY0PSR7Q0ZMQUdTX3NwYXJjNjQtLW02NH07CiAgICAgICAgICAgIGV4
cG9ydCBDSE9TVF9zcGFyYzY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VU
X3NwYXJjNjQ9JHtDSE9TVF9zcGFyYzY0fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfc3Bh
cmM2ND0iX19hcmNoNjRfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfc3BhcmM2ND0ibGli
NjQiOwogICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0ic3BhcmM2NCBzcGFyYzMyIjsK
ICAgICAgICAgICAgZXhwb3J0IERFRkFVTFRfQUJJPSJzcGFyYzY0IgogICAgICAgIDs7CiAgICAg
ICAgKikKICAgICAgICAgICAgZXhwb3J0IE1VTFRJTElCX0FCSVM9ImRlZmF1bHQiOwogICAgICAg
ICAgICBleHBvcnQgREVGQVVMVF9BQkk9ImRlZmF1bHQiCiAgICAgICAgOzsKICAgIGVzYWMKfQpt
dWx0aWxpYl90b29sY2hhaW5fc2V0dXAgKCkgCnsgCiAgICBleHBvcnQgQUJJPSQxOwogICAgaWYg
aGFzX3ZlcnNpb24gYXBwLWFkbWluL2VzZWxlY3QtY29tcGlsZXI7IHRoZW4KICAgICAgICBleHBv
cnQgTEQ9ImxkICQoZ2V0X2FiaV9MREZMQUdTICQxKSI7CiAgICAgICAgZXhwb3J0IEFTPSJhcyAk
KGdldF9hYmlfQVNGTEFHUyAkMSkiOwogICAgICAgIGV4cG9ydCBDSE9TVD0kKGdldF9hYmlfQ0hP
U1QgJDEpOwogICAgICAgIGV4cG9ydCBDQlVJTEQ9JChnZXRfYWJpX0NIT1NUICQxKTsKICAgIGVs
c2UKICAgICAgICB0Yy1leHBvcnQgQ0M7CiAgICBmaQp9Cm5ld2ljb24gKCkgCnsgCiAgICAoIGlu
c2ludG8gL3Vzci9zaGFyZS9waXhtYXBzOwogICAgbmV3aW5zICIkQCIgKQp9Cm5ld21lbnUgKCkg
CnsgCiAgICAoIGluc2ludG8gL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM7CiAgICBuZXdpbnMgIiRA
IiApCn0KbnVtYmVyX2FiaXMgKCkgCnsgCiAgICBnZXRfaW5zdGFsbF9hYmlzIHwgd2MgLXcKfQpw
a2dfbm9mZXRjaCAoKSAKeyAKICAgIFsgLXogIiR7U1JDX1VSSX0iIF0gJiYgcmV0dXJuOwogICAg
ZWNobyAiISEhIFRoZSBmb2xsb3dpbmcgYXJlIGxpc3RlZCBpbiBTUkNfVVJJIGZvciAke1BOfToi
OwogICAgbG9jYWwgeDsKICAgIGZvciB4IGluICQoZWNobyAke1NSQ19VUkl9KTsKICAgIGRvCiAg
ICAgICAgZWNobyAiISEhICAgJHt4fSI7CiAgICBkb25lCn0KcGtnX3Bvc3RpbnN0ICgpIAp7IAog
ICAgZ25vbWUyX3BrZ19wb3N0aW5zdCAkQAp9CnBrZ19wb3N0cm0gKCkgCnsgCiAgICBnbm9tZTJf
cGtnX3Bvc3RybSAkQAp9CnBrZ19wcmVpbnN0ICgpIAp7IAogICAgZ25vbWUyX3BrZ19wcmVpbnN0
ICRACn0KcGtnX3NldHVwICgpIAp7IAogICAgaWYgISBidWlsdF93aXRoX3VzZSAnZGV2LWxpYnMv
Z2RsJyAnZ25vbWUnOyB0aGVuCiAgICAgICAgZWVycm9yICdQbGVhc2UgYnVpbGQgZ2RsIHdpdGgg
dGhlIGdub21lIHVzZWZsYWcuJzsKICAgICAgICBlZXJyb3IgJ2VjaG8gImRldi1saWJzL2dkbCBn
bm9tZSIgPj4gL2V0Yy9wb3J0YWdlL3BhY2thZ2UudXNlIiA7IGVtZXJnZSAtMSBnZGwnOwogICAg
ICAgIGRpZSAnZ2RsIGJ1aWx0IHdpdGhvdXQgZ25vbWUnOwogICAgZmkKfQpwcmVwX21sX2luY2x1
ZGVzICgpIAp7IAogICAgaWYgW1sgJChudW1iZXJfYWJpcykgLWd0IDEgXV07IHRoZW4KICAgICAg
ICBsb2NhbCBkaXI7CiAgICAgICAgbG9jYWwgZGlyczsKICAgICAgICBsb2NhbCBiYXNlOwogICAg
ICAgIGlmIFtbICQjIC1lcSAwIF1dOyB0aGVuCiAgICAgICAgICAgIGRpcnM9L3Vzci9pbmNsdWRl
OwogICAgICAgIGVsc2UKICAgICAgICAgICAgZGlycz0iJEAiOwogICAgICAgIGZpOwogICAgICAg
IGZvciBkaXIgaW4gJHtkaXJzfTsKICAgICAgICBkbwogICAgICAgICAgICBiYXNlPSR7VH0vZ2Vu
dG9vLW11bHRpbGliLyR7ZGlyfS9nZW50b28tbXVsdGlsaWI7CiAgICAgICAgICAgIG1rZGlyIC1w
ICIke2Jhc2V9IjsKICAgICAgICAgICAgW1sgLWQgJHtiYXNlfS8ke0FCSX0gXV0gJiYgcm0gLXJm
ICIke2Jhc2V9LyR7QUJJfSI7CiAgICAgICAgICAgIG12ICIke0R9LyR7ZGlyfSIgIiR7YmFzZX0v
JHtBQkl9IjsKICAgICAgICBkb25lOwogICAgICAgIGlmIGlzX2ZpbmFsX2FiaTsgdGhlbgogICAg
ICAgICAgICBiYXNlPSR7VH0vZ2VudG9vLW11bHRpbGliOwogICAgICAgICAgICBwdXNoZCAiJHti
YXNlfSI7CiAgICAgICAgICAgIGZpbmQgLiB8IHRhciAtYyAtVCAtIC1mIC0gfCB0YXIgLXggLS1u
by1zYW1lLW93bmVyIC1mIC0gLUMgJHtEfTsKICAgICAgICAgICAgcG9wZDsKICAgICAgICAgICAg
c2V0IC0tOwogICAgICAgICAgICBmb3IgZGlyIGluICR7ZGlyc307CiAgICAgICAgICAgIGRvCiAg
ICAgICAgICAgICAgICBzZXQgLS0gIiRAIiAiJHtkaXJ9IjsKICAgICAgICAgICAgICAgIGxvY2Fs
IGFiaTsKICAgICAgICAgICAgICAgIGZvciBhYmkgaW4gJChnZXRfaW5zdGFsbF9hYmlzKTsKICAg
ICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICAgICAgc2V0IC0tICIkQCIgIiQoZ2V0X2Fi
aV9DREVGSU5FICR7YWJpfSk6JHtkaXJ9L2dlbnRvby1tdWx0aWxpYi8ke2FiaX0iOwogICAgICAg
ICAgICAgICAgZG9uZTsKICAgICAgICAgICAgICAgIGNyZWF0ZV9tbF9pbmNsdWRlcyAiJEAiOwog
ICAgICAgICAgICBkb25lOwogICAgICAgIGZpOwogICAgZmkKfQpwcmVzZXJ2ZV9vbGRfbGliICgp
IAp7IAogICAgaWYgW1sgJHtFQlVJTERfUEhBU0V9ICE9ICJwcmVpbnN0IiBdXTsgdGhlbgogICAg
ICAgIGVlcnJvciAicHJlc2VydmVfb2xkX2xpYigpIG11c3QgYmUgY2FsbGVkIGZyb20gcGtnX3By
ZWluc3QoKSBvbmx5IjsKICAgICAgICBkaWUgIkludmFsaWQgcHJlc2VydmVfb2xkX2xpYigpIHVz
YWdlIjsKICAgIGZpOwogICAgW1sgLXogJDEgXV0gJiYgZGllICJVc2FnZTogcHJlc2VydmVfb2xk
X2xpYiA8bGlicmFyeSB0byBwcmVzZXJ2ZT4gW21vcmUgbGlicmFyaWVzIHRvIHByZXNlcnZlXSI7
CiAgICBoYXMgcHJlc2VydmUtbGlicyAke0ZFQVRVUkVTfSAmJiByZXR1cm4gMDsKICAgIGxvY2Fs
IGxpYiBkaXI7CiAgICBmb3IgbGliIGluICIkQCI7CiAgICBkbwogICAgICAgIFtbIC1lICR7Uk9P
VH0vJHtsaWJ9IF1dIHx8IGNvbnRpbnVlOwogICAgICAgIGRpcj0ke2xpYiUvKn07CiAgICAgICAg
ZG9kaXIgJHtkaXJ9IHx8IGRpZSAiZG9kaXIgJHtkaXJ9IGZhaWxlZCI7CiAgICAgICAgY3AgIiR7
Uk9PVH0iLyR7bGlifSAiJHtEfSIvJHtsaWJ9IHx8IGRpZSAiY3AgJHtsaWJ9IGZhaWxlZCI7CiAg
ICAgICAgdG91Y2ggIiR7RH0iLyR7bGlifTsKICAgIGRvbmUKfQpwcmVzZXJ2ZV9vbGRfbGliX25v
dGlmeSAoKSAKeyAKICAgIGlmIFtbICR7RUJVSUxEX1BIQVNFfSAhPSAicG9zdGluc3QiIF1dOyB0
aGVuCiAgICAgICAgZWVycm9yICJwcmVzZXJ2ZV9vbGRfbGliX25vdGlmeSgpIG11c3QgYmUgY2Fs
bGVkIGZyb20gcGtnX3Bvc3RpbnN0KCkgb25seSI7CiAgICAgICAgZGllICJJbnZhbGlkIHByZXNl
cnZlX29sZF9saWJfbm90aWZ5KCkgdXNhZ2UiOwogICAgZmk7CiAgICBoYXMgcHJlc2VydmUtbGli
cyAke0ZFQVRVUkVTfSAmJiByZXR1cm4gMDsKICAgIGxvY2FsIGxpYiBub3RpY2U9MDsKICAgIGZv
ciBsaWIgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgW1sgLWUgJHtST09UfS8ke2xpYn0gXV0gfHwg
Y29udGludWU7CiAgICAgICAgaWYgW1sgJHtub3RpY2V9IC1lcSAwIF1dOyB0aGVuCiAgICAgICAg
ICAgIG5vdGljZT0xOwogICAgICAgICAgICBld2FybiAiT2xkIHZlcnNpb25zIG9mIGluc3RhbGxl
ZCBsaWJyYXJpZXMgd2VyZSBkZXRlY3RlZCBvbiB5b3VyIHN5c3RlbS4iOwogICAgICAgICAgICBl
d2FybiAiSW4gb3JkZXIgdG8gYXZvaWQgYnJlYWtpbmcgcGFja2FnZXMgdGhhdCBkZXBlbmQgb24g
dGhlc2Ugb2xkIGxpYnMsIjsKICAgICAgICAgICAgZXdhcm4gInRoZSBsaWJyYXJpZXMgYXJlIG5v
dCBiZWluZyByZW1vdmVkLiAgWW91IG5lZWQgdG8gcnVuIHJldmRlcC1yZWJ1aWxkIjsKICAgICAg
ICAgICAgZXdhcm4gImluIG9yZGVyIHRvIHJlbW92ZSB0aGVzZSBvbGQgZGVwZW5kZW5jaWVzLiAg
SWYgeW91IGRvIG5vdCBoYXZlIHRoaXMiOwogICAgICAgICAgICBld2FybiAiaGVscGVyIHByb2dy
YW0sIHNpbXBseSBlbWVyZ2UgdGhlICdnZW50b29sa2l0JyBwYWNrYWdlLiI7CiAgICAgICAgICAg
IGV3YXJuOwogICAgICAgIGZpOwogICAgICAgIGV3YXJuICIgICMgcmV2ZGVwLXJlYnVpbGQgLS1s
aWJyYXJ5ICR7bGliIyMqL30iOwogICAgZG9uZTsKICAgIGlmIFtbICR7bm90aWNlfSAtZXEgMSBd
XTsgdGhlbgogICAgICAgIGV3YXJuOwogICAgICAgIGV3YXJuICJPbmNlIHlvdSd2ZSBmaW5pc2hl
ZCBydW5uaW5nIHJldmRlcC1yZWJ1aWxkLCBpdCBzaG91bGQgYmUgc2FmZSB0byI7CiAgICAgICAg
ZXdhcm4gImRlbGV0ZSB0aGUgb2xkIGxpYnJhcmllcy4gIEhlcmUgaXMgYSBjb3B5ICYgcGFzdGUg
Zm9yIHRoZSBsYXp5OiI7CiAgICAgICAgZm9yIGxpYiBpbiAiJEAiOwogICAgICAgIGRvCiAgICAg
ICAgICAgIGV3YXJuICIgICMgcm0gJyR7bGlifSciOwogICAgICAgIGRvbmU7CiAgICBmaQp9CnJl
bW92ZV9mbGFnICgpIAp7IAogICAgbG9jYWwgcmVtb3ZlPSIkezF9IjsKICAgIHNoaWZ0OwogICAg
d2hpbGUgW1sgLW4gIiR7MX0iIF1dOyBkbwogICAgICAgIFtbICIkezF9IiAhPSAiJHtyZW1vdmV9
IiBdXSAmJiBlY2hvIC1uICIkezF9ICI7CiAgICAgICAgc2hpZnQ7CiAgICBkb25lCn0Kc2VxICgp
IAp7IAogICAgbG9jYWwgcD0kKHR5cGUgLVAgc2VxKTsKICAgIGNhc2UgJCMgaW4gCiAgICAgICAg
MSkKICAgICAgICAgICAgbWluPTEgbWF4PSQxIHN0ZXA9MQogICAgICAgIDs7CiAgICAgICAgMikK
ICAgICAgICAgICAgbWluPSQxIG1heD0kMiBzdGVwPTEKICAgICAgICA7OwogICAgICAgIDMpCiAg
ICAgICAgICAgIG1pbj0kMSBtYXg9JDMgc3RlcD0kMgogICAgICAgIDs7CiAgICAgICAgKikKICAg
ICAgICAgICAgZGllICJzZXEgY2FsbGVkIHdpdGggd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIK
ICAgICAgICA7OwogICAgZXNhYzsKICAgIGlmIFtbIC16ICR7cH0gXV07IHRoZW4KICAgICAgICBs
b2NhbCByZXBzOwogICAgICAgIGlmIFtbICR7c3RlcH0gIT0gMCBdXTsgdGhlbgogICAgICAgICAg
ICByZXBzPSQoKCAoJG1heC0kbWluKSAvICRzdGVwICsxICkpOwogICAgICAgIGVsc2UKICAgICAg
ICAgICAgcmVwcz0wOwogICAgICAgIGZpOwogICAgICAgIGpvdCAkcmVwcyAkbWluICRtYXggJHN0
ZXA7CiAgICBlbHNlCiAgICAgICAgIiR7cH0iICRtaW4gJHN0ZXAgJG1heDsKICAgIGZpCn0Kc3Jj
X2NvbXBpbGUgKCkgCnsgCiAgICBnbm9tZTJfc3JjX2NvbXBpbGUgJEAKfQpzcmNfaW5zdGFsbCAo
KSAKeyAKICAgIGdub21lMl9zcmNfaW5zdGFsbCAkQAp9CnNyY190ZXN0ICgpIAp7IAogICAgaWYg
ZW1ha2UgLWoxIGNoZWNrIC1uID4mL2Rldi9udWxsOyB0aGVuCiAgICAgICAgdmVjaG8gIj4+PiBU
ZXN0IHBoYXNlIFtjaGVja106ICR7Q0FURUdPUll9LyR7UEZ9IjsKICAgICAgICBpZiAhIGVtYWtl
IC1qMSBjaGVjazsgdGhlbgogICAgICAgICAgICBoYXNxIHRlc3QgJEZFQVRVUkVTICYmIGRpZSAi
TWFrZSBjaGVjayBmYWlsZWQuIFNlZSBhYm92ZSBmb3IgZGV0YWlscy4iOwogICAgICAgICAgICBo
YXNxIHRlc3QgJEZFQVRVUkVTIHx8IGVlcnJvciAiTWFrZSBjaGVjayBmYWlsZWQuIFNlZSBhYm92
ZSBmb3IgZGV0YWlscy4iOwogICAgICAgIGZpOwogICAgZWxzZQogICAgICAgIGlmIGVtYWtlIC1q
MSB0ZXN0IC1uID4mL2Rldi9udWxsOyB0aGVuCiAgICAgICAgICAgIHZlY2hvICI+Pj4gVGVzdCBw
aGFzZSBbdGVzdF06ICR7Q0FURUdPUll9LyR7UEZ9IjsKICAgICAgICAgICAgaWYgISBlbWFrZSAt
ajEgdGVzdDsgdGhlbgogICAgICAgICAgICAgICAgaGFzcSB0ZXN0ICRGRUFUVVJFUyAmJiBkaWUg
Ik1ha2UgdGVzdCBmYWlsZWQuIFNlZSBhYm92ZSBmb3IgZGV0YWlscy4iOwogICAgICAgICAgICAg
ICAgaGFzcSB0ZXN0ICRGRUFUVVJFUyB8fCBlZXJyb3IgIk1ha2UgdGVzdCBmYWlsZWQuIFNlZSBh
Ym92ZSBmb3IgZGV0YWlscy4iOwogICAgICAgICAgICBmaTsKICAgICAgICBlbHNlCiAgICAgICAg
ICAgIHZlY2hvICI+Pj4gVGVzdCBwaGFzZSBbbm9uZV06ICR7Q0FURUdPUll9LyR7UEZ9IjsKICAg
ICAgICBmaTsKICAgIGZpCn0Kc3JjX3VucGFjayAoKSAKeyAKICAgIGdub21lMl9zcmNfdW5wYWNr
ICRACn0Kc3RyaXAtbGluZ3VhcyAoKSAKeyAKICAgIGxvY2FsIGxzIG5ld2xzIG5vbHM7CiAgICBp
ZiBbWyAkMSA9PSAiLWkiIF1dIHx8IFtbICQxID09ICItdSIgXV07IHRoZW4KICAgICAgICBsb2Nh
bCBvcD0kMTsKICAgICAgICBzaGlmdDsKICAgICAgICBscz0kKGZpbmQgIiQxIiAtbmFtZSAnKi5w
bycgLWV4ZWMgYmFzZW5hbWUge30gLnBvIFw7KTsKICAgICAgICBzaGlmdDsKICAgICAgICBsb2Nh
bCBkIGY7CiAgICAgICAgZm9yIGQgaW4gIiRAIjsKICAgICAgICBkbwogICAgICAgICAgICBpZiBb
WyAke29wfSA9PSAiLXUiIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBuZXdscz0ke2xzfTsKICAg
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgbmV3bHM9IiI7CiAgICAgICAgICAgIGZpOwog
ICAgICAgICAgICBmb3IgZiBpbiAkKGZpbmQgIiRkIiAtbmFtZSAnKi5wbycgLWV4ZWMgYmFzZW5h
bWUge30gLnBvIFw7KTsKICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgIGlmIFtbICR7b3B9
ID09ICItaSIgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICBoYXNxICR7Zn0gJHtsc30gJiYg
bmV3bHM9IiR7bmV3bHN9ICR7Zn0iOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgICAgIGhhc3EgJHtmfSAke2xzfSB8fCBuZXdscz0iJHtuZXdsc30gJHtmfSI7CiAgICAgICAg
ICAgICAgICBmaTsKICAgICAgICAgICAgZG9uZTsKICAgICAgICAgICAgbHM9JHtuZXdsc307CiAg
ICAgICAgZG9uZTsKICAgIGVsc2UKICAgICAgICBscz0iJEAiOwogICAgZmk7CiAgICBub2xzPSIi
OwogICAgbmV3bHM9IiI7CiAgICBmb3IgZiBpbiAke0xJTkdVQVN9OwogICAgZG8KICAgICAgICBp
ZiBoYXNxICR7Zn0gJHtsc307IHRoZW4KICAgICAgICAgICAgbmV3bHM9IiR7bmV3bHN9ICR7Zn0i
OwogICAgICAgIGVsc2UKICAgICAgICAgICAgbm9scz0iJHtub2xzfSAke2Z9IjsKICAgICAgICBm
aTsKICAgIGRvbmU7CiAgICBbWyAtbiAke25vbHN9IF1dICYmIGV3YXJuICJTb3JyeSwgYnV0ICR7
UE59IGRvZXMgbm90IHN1cHBvcnQgdGhlIExJTkdVQXM6IiAke25vbHN9OwogICAgZXhwb3J0IExJ
TkdVQVM9JHtuZXdsczoxfQp9CnRjLWFyY2ggKCkgCnsgCiAgICB0Yy1uaW5qYV9tYWdpY190b19h
cmNoIHBvcnRhZ2UgIiRAIgp9CnRjLWFyY2gta2VybmVsICgpIAp7IAogICAgdGMtbmluamFfbWFn
aWNfdG9fYXJjaCBrZXJuICIkQCIKfQp0Yy1lbmRpYW4gKCkgCnsgCiAgICBsb2NhbCBob3N0PSQx
OwogICAgW1sgLXogJHtob3N0fSBdXSAmJiBob3N0PSR7Q1RBUkdFVDotJHtDSE9TVH19OwogICAg
aG9zdD0ke2hvc3QlJS0qfTsKICAgIGNhc2UgJHtob3N0fSBpbiAKICAgICAgICBhbHBoYSopCiAg
ICAgICAgICAgIGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBhcm0qYiopCiAgICAgICAgICAg
IGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBhcm0qKQogICAgICAgICAgICBlY2hvIGxpdHRs
ZQogICAgICAgIDs7CiAgICAgICAgY3JpcyopCiAgICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAg
ICAgOzsKICAgICAgICBocHBhKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAg
ICAgIGk/ODYqKQogICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7CiAgICAgICAgaWE2
NCopCiAgICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICBtNjgqKQogICAg
ICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAgbWlwcypsKikKICAgICAgICAgICAg
ZWNobyBsaXR0bGUKICAgICAgICA7OwogICAgICAgIG1pcHMqKQogICAgICAgICAgICBlY2hvIGJp
ZwogICAgICAgIDs7CiAgICAgICAgcG93ZXJwYyopCiAgICAgICAgICAgIGVjaG8gYmlnCiAgICAg
ICAgOzsKICAgICAgICBzMzkwKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAg
ICAgIHNoKmIqKQogICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAgc2gqKQog
ICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7CiAgICAgICAgc3BhcmMqKQogICAgICAg
ICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAgeDg2XzY0KikKICAgICAgICAgICAgZWNo
byBsaXR0bGUKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGVjaG8gd3RmCiAgICAg
ICAgOzsKICAgIGVzYWMKfQp0Yy1leHBvcnQgKCkgCnsgCiAgICBsb2NhbCB2YXI7CiAgICBmb3Ig
dmFyIGluICIkQCI7CiAgICBkbwogICAgICAgIGV2YWwgdGMtZ2V0JHt2YXJ9ID4gL2Rldi9udWxs
OwogICAgZG9uZQp9CnRjLWdldEFSICgpIAp7IAogICAgdGMtZ2V0UFJPRyBBUiBhciAiJEAiCn0K
dGMtZ2V0QVMgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIEFTIGFzICIkQCIKfQp0Yy1nZXRCVUlMRF9D
QyAoKSAKeyAKICAgIGxvY2FsIHY7CiAgICBmb3IgdiBpbiBDQ19GT1JfQlVJTEQgQlVJTERfQ0Mg
SE9TVENDOwogICAgZG8KICAgICAgICBpZiBbWyAtbiAkeyF2fSBdXTsgdGhlbgogICAgICAgICAg
ICBleHBvcnQgQlVJTERfQ0M9JHshdn07CiAgICAgICAgICAgIGVjaG8gIiR7IXZ9IjsKICAgICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgbG9jYWwgc2VhcmNoPTsK
ICAgIGlmIFtbIC1uICR7Q0JVSUxEfSBdXTsgdGhlbgogICAgICAgIHNlYXJjaD0kKHR5cGUgLXAg
JHtDQlVJTER9LWdjYyk7CiAgICAgICAgc2VhcmNoPSR7c2VhcmNoIyMqL307CiAgICBmaTsKICAg
IHNlYXJjaD0ke3NlYXJjaDotZ2NjfTsKICAgIGV4cG9ydCBCVUlMRF9DQz0ke3NlYXJjaH07CiAg
ICBlY2hvICIke3NlYXJjaH0iCn0KdGMtZ2V0Q0MgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIENDIGdj
YyAiJEAiCn0KdGMtZ2V0Q1BQICgpIAp7IAogICAgdGMtZ2V0UFJPRyBDUFAgY3BwICIkQCIKfQp0
Yy1nZXRDWFggKCkgCnsgCiAgICB0Yy1nZXRQUk9HIENYWCBnKysgIiRAIgp9CnRjLWdldEY3NyAo
KSAKeyAKICAgIHRjLWdldFBST0cgRjc3IGY3NyAiJEAiCn0KdGMtZ2V0RjkwICgpIAp7IAogICAg
dGMtZ2V0UFJPRyBGOTAgZ2ZvcnRyYW4gIiRAIgp9CnRjLWdldEZPUlRSQU4gKCkgCnsgCiAgICB0
Yy1nZXRQUk9HIEZPUlRSQU4gZ2ZvcnRyYW4gIiRAIgp9CnRjLWdldEdDSiAoKSAKeyAKICAgIHRj
LWdldFBST0cgR0NKIGdjaiAiJEAiCn0KdGMtZ2V0TEQgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIExE
IGxkICIkQCIKfQp0Yy1nZXROTSAoKSAKeyAKICAgIHRjLWdldFBST0cgTk0gbm0gIiRAIgp9CnRj
LWdldFBST0cgKCkgCnsgCiAgICBsb2NhbCB2YXI9JDE7CiAgICBsb2NhbCBwcm9nPSQyOwogICAg
aWYgW1sgLW4gJHshdmFyfSBdXTsgdGhlbgogICAgICAgIGVjaG8gIiR7IXZhcn0iOwogICAgICAg
IHJldHVybiAwOwogICAgZmk7CiAgICBsb2NhbCBzZWFyY2g9OwogICAgW1sgLW4gJDMgXV0gJiYg
c2VhcmNoPSQodHlwZSAtcCAiJDMtJHtwcm9nfSIpOwogICAgW1sgLXogJHtzZWFyY2h9ICYmIC1u
ICR7Q0hPU1R9IF1dICYmIHNlYXJjaD0kKHR5cGUgLXAgIiR7Q0hPU1R9LSR7cHJvZ30iKTsKICAg
IFtbIC1uICR7c2VhcmNofSBdXSAmJiBwcm9nPSR7c2VhcmNoIyMqL307CiAgICBleHBvcnQgJHt2
YXJ9PSR7cHJvZ307CiAgICBlY2hvICIkeyF2YXJ9Igp9CnRjLWdldFJBTkxJQiAoKSAKeyAKICAg
IHRjLWdldFBST0cgUkFOTElCIHJhbmxpYiAiJEAiCn0KdGMtZ2V0U1RSSVAgKCkgCnsgCiAgICB0
Yy1nZXRQUk9HIFNUUklQIHN0cmlwICIkQCIKfQp0Yy1pcy1jcm9zcy1jb21waWxlciAoKSAKeyAK
ICAgIHJldHVybiAkKFtbICR7Q0JVSUxEOi0ke0NIT1NUfX0gIT0gJHtDSE9TVH0gXV0pCn0KdGMt
aXMtc29mdGZsb2F0ICgpIAp7IAogICAgY2FzZSAke0NUQVJHRVR9IGluIAogICAgICAgIGJmaW4q
IHwgaDgzMDAqKQogICAgICAgICAgICBlY2hvICJvbmx5IgogICAgICAgIDs7CiAgICAgICAgKikK
ICAgICAgICAgICAgW1sgJHtDVEFSR0VULy9fLy19ID09ICotc29mdGZsb2F0LSogXV0gJiYgZWNo
byAieWVzIiB8fCBlY2hvICJubyIKICAgICAgICA7OwogICAgZXNhYwp9CnRjLW5pbmphX21hZ2lj
X3RvX2FyY2ggKCkgCnsgCiAgICBmdW5jdGlvbiBuaW5qICgpIAogICAgeyAKICAgICAgICBbWyAk
e3R5cGV9ID09ICJrZXJuIiBdXSAmJiBlY2hvICQxIHx8IGVjaG8gJDIKICAgIH07CiAgICBsb2Nh
bCB0eXBlPSQxOwogICAgbG9jYWwgaG9zdD0kMjsKICAgIFtbIC16ICR7aG9zdH0gXV0gJiYgaG9z
dD0ke0NUQVJHRVQ6LSR7Q0hPU1R9fTsKICAgIGNhc2UgJHtob3N0fSBpbiAKICAgICAgICBhbHBo
YSopCiAgICAgICAgICAgIGVjaG8gYWxwaGEKICAgICAgICA7OwogICAgICAgIGFybSopCiAgICAg
ICAgICAgIGVjaG8gYXJtCiAgICAgICAgOzsKICAgICAgICBhdnIqKQogICAgICAgICAgICBuaW5q
IGF2cjMyIGF2cgogICAgICAgIDs7CiAgICAgICAgYmZpbiopCiAgICAgICAgICAgIG5pbmogYmxh
Y2tmaW4gYmZpbgogICAgICAgIDs7CiAgICAgICAgY3JpcyopCiAgICAgICAgICAgIGVjaG8gY3Jp
cwogICAgICAgIDs7CiAgICAgICAgaHBwYSopCiAgICAgICAgICAgIG5pbmogcGFyaXNjIGhwcGEK
ICAgICAgICA7OwogICAgICAgIGk/ODYqKQogICAgICAgICAgICBpZiBbWyAke3R5cGV9ID09ICJr
ZXJuIiBdXSAmJiBbWyAkKEtWX3RvX2ludCAke0tWfSkgLWx0ICQoS1ZfdG9faW50IDIuNi4yNCkg
fHwgJHtob3N0fSA9PSAqZnJlZWJzZCogXV07IHRoZW4KICAgICAgICAgICAgICAgIGVjaG8gaTM4
NjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWNobyB4ODY7CiAgICAgICAgICAg
IGZpCiAgICAgICAgOzsKICAgICAgICBpYTY0KikKICAgICAgICAgICAgZWNobyBpYTY0CiAgICAg
ICAgOzsKICAgICAgICBtNjgqKQogICAgICAgICAgICBlY2hvIG02OGsKICAgICAgICA7OwogICAg
ICAgIG1pcHMqKQogICAgICAgICAgICBlY2hvIG1pcHMKICAgICAgICA7OwogICAgICAgIG5pb3My
KikKICAgICAgICAgICAgZWNobyBuaW9zMgogICAgICAgIDs7CiAgICAgICAgbmlvcyopCiAgICAg
ICAgICAgIGVjaG8gbmlvcwogICAgICAgIDs7CiAgICAgICAgcG93ZXJwYyopCiAgICAgICAgICAg
IGlmIFtbICQoS1ZfdG9faW50ICR7S1Z9KSAtZ2UgJChLVl90b19pbnQgMi42LjE2KSBdXSAmJiBb
WyAke3R5cGV9ID09ICJrZXJuIiBdXTsgdGhlbgogICAgICAgICAgICAgICAgZWNobyBwb3dlcnBj
OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBpZiBbWyAkKEtWX3RvX2ludCAke0tW
fSkgLWVxICQoS1ZfdG9faW50IDIuNi4xNSkgXV0gJiYgW1sgJHt0eXBlfSA9PSAia2VybiIgXV07
IHRoZW4KICAgICAgICAgICAgICAgICAgICBpZiBbWyAke2hvc3R9ID09IHBvd2VycGM2NCogXV0g
fHwgW1sgJHtQUk9GSUxFX0FSQ0h9ID09ICJwcGM2NCIgXV07IHRoZW4KICAgICAgICAgICAgICAg
ICAgICAgICAgZWNobyBwb3dlcnBjOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgICAgICAgICAgICAgZWNobyBwcGM7CiAgICAgICAgICAgICAgICAgICAgZmk7CiAgICAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgJHtob3N0fSA9PSBwb3dlcnBj
NjQqIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gcHBjNjQ7CiAgICAgICAg
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAke1BST0ZJTEVf
QVJDSH0gPT0gInBwYzY0IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlu
aiBwcGM2NCBwcGM7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVjaG8gcHBjOwogICAgICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAg
ICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaQogICAg
ICAgIDs7CiAgICAgICAgczM5MCopCiAgICAgICAgICAgIGVjaG8gczM5MAogICAgICAgIDs7CiAg
ICAgICAgc2g2NCopCiAgICAgICAgICAgIG5pbmogc2g2NCBzaAogICAgICAgIDs7CiAgICAgICAg
c2gqKQogICAgICAgICAgICBlY2hvIHNoCiAgICAgICAgOzsKICAgICAgICBzcGFyYzY0KikKICAg
ICAgICAgICAgbmluaiBzcGFyYzY0IHNwYXJjCiAgICAgICAgOzsKICAgICAgICBzcGFyYyopCiAg
ICAgICAgICAgIFtbICR7UFJPRklMRV9BUkNIfSA9PSAic3BhcmM2NCIgXV0gJiYgbmluaiBzcGFy
YzY0IHNwYXJjIHx8IGVjaG8gc3BhcmMKICAgICAgICA7OwogICAgICAgIHZheCopCiAgICAgICAg
ICAgIGVjaG8gdmF4CiAgICAgICAgOzsKICAgICAgICB4ODZfNjQqKQogICAgICAgICAgICBpZiBb
WyAke3R5cGV9ID09ICJrZXJuIiBdXSAmJiBbWyAkKEtWX3RvX2ludCAke0tWfSkgLWdlICQoS1Zf
dG9faW50IDIuNi4yNCkgXV07IHRoZW4KICAgICAgICAgICAgICAgIGVjaG8geDg2OwogICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICBuaW5qIHg4Nl82NCBhbWQ2NDsKICAgICAgICAgICAg
ZmkKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGVjaG8gdW5rbm93bgogICAgICAg
IDs7CiAgICBlc2FjCn0KdHJlZWNvcHkgKCkgCnsgCiAgICBkZXN0PSR7ISN9OwogICAgZmlsZXNf
Y291bnQ9JCM7CiAgICB3aGlsZSAoKCAkIyA+IDEgKSk7IGRvCiAgICAgICAgZGlyc3RydWN0PSQo
ZGlybmFtZSAiJDEiKTsKICAgICAgICBta2RpciAtcCAiJHtkZXN0fS8ke2RpcnN0cnVjdH0iOwog
ICAgICAgIGNwIC1wUFIgIiQxIiAiJHtkZXN0fS8ke2RpcnN0cnVjdH0iOwogICAgICAgIHNoaWZ0
OwogICAgZG9uZQp9CnVjbGliY3Rvb2xpemUgKCkgCnsgCiAgICBld2FybiAidWNsaWJjdG9vbGl6
ZSgpIGlzIGRlcHJlY2F0ZWQsIHBsZWFzZSBqdXN0IHVzZSBlbGlidG9vbGl6ZSgpISI7CiAgICBl
bGlidG9vbGl6ZQp9CnVucGFja19tYWtlc2VsZiAoKSAKeyAKICAgIGxvY2FsIHNyY19pbnB1dD0k
ezE6LSR7QX19OwogICAgbG9jYWwgc3JjPSQoZmluZF91bnBhY2thYmxlX2ZpbGUgIiR7c3JjX2lu
cHV0fSIpOwogICAgbG9jYWwgc2tpcD0kMjsKICAgIGxvY2FsIGV4ZT0kMzsKICAgIFtbIC16ICR7
c3JjfSBdXSAmJiBkaWUgIkNvdWxkIG5vdCBsb2NhdGUgc291cmNlIGZvciAnJHtzcmNfaW5wdXR9
JyI7CiAgICBsb2NhbCBzaHJ0c3JjPSQoYmFzZW5hbWUgIiR7c3JjfSIpOwogICAgZWNobyAiPj4+
IFVucGFja2luZyAke3NocnRzcmN9IHRvICR7UFdEfSI7CiAgICBpZiBbWyAteiAke3NraXB9IF1d
OyB0aGVuCiAgICAgICAgbG9jYWwgdmVyPSQoZ3JlcCAtYSAnIy4qTWFrZXNlbGYnICIke3NyY30i
IHwgYXdrICd7cHJpbnQgJE5GfScpOwogICAgICAgIGxvY2FsIHNraXA9MDsKICAgICAgICBleGU9
dGFpbDsKICAgICAgICBjYXNlICR7dmVyfSBpbiAKICAgICAgICAgICAgMS41LiogfCAxLjYuMC1u
dikKICAgICAgICAgICAgICAgIHNraXA9JChncmVwIC1hIF5za2lwPSAiJHtzcmN9IiB8IGN1dCAt
ZD0gLWYyKQogICAgICAgICAgICA7OwogICAgICAgICAgICAyLjAgfCAyLjAuMSkKICAgICAgICAg
ICAgICAgIHNraXA9JChncmVwIC1hIF4nCSd0YWlsICIke3NyY30iIHwgYXdrICd7cHJpbnQgJDJ9
JyB8IGN1dCAtYjItKQogICAgICAgICAgICA7OwogICAgICAgICAgICAyLjEuMSkKICAgICAgICAg
ICAgICAgIHNraXA9JChncmVwIC1hIF5vZmZzZXQ9ICIke3NyY30iIHwgYXdrICd7cHJpbnQgJDJ9
JyB8IGN1dCAtYjItKTsKICAgICAgICAgICAgICAgIGxldCBza2lwPSJza2lwICsgMSIKICAgICAg
ICAgICAgOzsKICAgICAgICAgICAgMi4xLjIpCiAgICAgICAgICAgICAgICBza2lwPSQoZ3JlcCAt
YSBeb2Zmc2V0PSAiJHtzcmN9IiB8IGF3ayAne3ByaW50ICQzfScgfCBoZWFkIC1uIDEpOwogICAg
ICAgICAgICAgICAgbGV0IHNraXA9InNraXAgKyAxIgogICAgICAgICAgICA7OwogICAgICAgICAg
ICAyLjEuMykKICAgICAgICAgICAgICAgIHNraXA9YGdyZXAgLWEgXm9mZnNldD0gIiR7c3JjfSIg
fCBhd2sgJ3twcmludCAkM30nYDsKICAgICAgICAgICAgICAgIGxldCBza2lwPSJza2lwICsgMSIK
ICAgICAgICAgICAgOzsKICAgICAgICAgICAgMi4xLjQgfCAyLjEuNSkKICAgICAgICAgICAgICAg
IHNraXA9JChncmVwIC1hIG9mZnNldD0uKmhlYWQuKndjICIke3NyY30iIHwgYXdrICd7cHJpbnQg
JDN9JyB8IGhlYWQgLW4gMSk7CiAgICAgICAgICAgICAgICBza2lwPSQoaGVhZCAtbiAke3NraXB9
ICIke3NyY30iIHwgd2MgLWMpOwogICAgICAgICAgICAgICAgZXhlPSJkZCIKICAgICAgICAgICAg
OzsKICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgIGVlcnJvciAiSSdtIHNvcnJ5LCBidXQg
SSB3YXMgdW5hYmxlIHRvIHN1cHBvcnQgdGhlIE1ha2VzZWxmIGZpbGUuIjsKICAgICAgICAgICAg
ICAgIGVlcnJvciAiVGhlIHZlcnNpb24gSSBkZXRlY3RlZCB3YXMgJyR7dmVyfScuIjsKICAgICAg
ICAgICAgICAgIGVlcnJvciAiUGxlYXNlIGZpbGUgYSBidWcgYWJvdXQgdGhlIGZpbGUgJHtzaHJ0
c3JjfSBhdCI7CiAgICAgICAgICAgICAgICBlZXJyb3IgImh0dHA6Ly9idWdzLmdlbnRvby5vcmcv
IHNvIHRoYXQgc3VwcG9ydCBjYW4gYmUgYWRkZWQuIjsKICAgICAgICAgICAgICAgIGRpZSAibWFr
ZXNlbGYgdmVyc2lvbiAnJHt2ZXJ9JyBub3Qgc3VwcG9ydGVkIgogICAgICAgICAgICA7OwogICAg
ICAgIGVzYWM7CiAgICAgICAgZGVidWctcHJpbnQgIkRldGVjdGVkIE1ha2VzZWxmIHZlcnNpb24g
JHt2ZXJ9IC4uLiB1c2luZyAke3NraXB9IGFzIG9mZnNldCI7CiAgICBmaTsKICAgIGNhc2UgJHtl
eGV9IGluIAogICAgICAgIHRhaWwpCiAgICAgICAgICAgIGV4ZT0idGFpbCAtbiArJHtza2lwfSAn
JHtzcmN9JyIKICAgICAgICA7OwogICAgICAgIGRkKQogICAgICAgICAgICBleGU9ImRkIGlicz0k
e3NraXB9IHNraXA9MSBvYnM9MTAyNCBjb252PXN5bmMgaWY9JyR7c3JjfSciCiAgICAgICAgOzsK
ICAgICAgICAqKQogICAgICAgICAgICBkaWUgIm1ha2VzZWxmIGNhbnQgaGFuZGxlIGV4ZSAnJHtl
eGV9JyIKICAgICAgICA7OwogICAgZXNhYzsKICAgIGxvY2FsIHRtcGZpbGU9JChlbWt0ZW1wKTsK
ICAgIGV2YWwgJHtleGV9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMgNTEyID4gIiR7dG1wZmlsZX0i
OwogICAgbG9jYWwgZmlsZXR5cGU9JChmaWxlIC1iICIke3RtcGZpbGV9Iik7CiAgICBjYXNlICR7
ZmlsZXR5cGV9IGluIAogICAgICAgICp0YXJcIGFyY2hpdmUqKQogICAgICAgICAgICBldmFsICR7
ZXhlfSB8IHRhciAtLW5vLXNhbWUtb3duZXIgLXhmIC0KICAgICAgICA7OwogICAgICAgIGJ6aXAy
KikKICAgICAgICAgICAgZXZhbCAke2V4ZX0gfCBiemlwMiAtZGMgfCB0YXIgLS1uby1zYW1lLW93
bmVyIC14ZiAtCiAgICAgICAgOzsKICAgICAgICBnemlwKikKICAgICAgICAgICAgZXZhbCAke2V4
ZX0gfCB0YXIgLS1uby1zYW1lLW93bmVyIC14emYgLQogICAgICAgIDs7CiAgICAgICAgY29tcHJl
c3MqKQogICAgICAgICAgICBldmFsICR7ZXhlfSB8IGd1bnppcCB8IHRhciAtLW5vLXNhbWUtb3du
ZXIgLXhmIC0KICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGVlcnJvciAiVW5rbm93
biBmaWxldHlwZSBcIiR7ZmlsZXR5cGV9XCIgPyI7CiAgICAgICAgICAgIGZhbHNlCiAgICAgICAg
OzsKICAgIGVzYWM7CiAgICBfcGlwZXN0YXR1cz0iJHtQSVBFU1RBVFVTWypdfSI7CiAgICBbWyAi
JHtfcGlwZXN0YXR1cy8vIC99IiAtZXEgMCBdXSB8fCBkaWUgImZhaWx1cmUgdW5wYWNraW5nICgk
e2ZpbGV0eXBlfSkgbWFrZXNlbGYgJHtzaHJ0c3JjfSAoJyR7dmVyfScgKyR7c2tpcH0pIgp9CnVu
cGFja19wZHYgKCkgCnsgCiAgICBsb2NhbCBzcmM9JChmaW5kX3VucGFja2FibGVfZmlsZSAiJDEi
KTsKICAgIGxvY2FsIHNpemVvZmZfdD0kMjsKICAgIFtbIC16ICR7c3JjfSBdXSAmJiBkaWUgIkNv
dWxkIG5vdCBsb2NhdGUgc291cmNlIGZvciAnJDEnIjsKICAgIFtbIC16ICR7c2l6ZW9mZl90fSBd
XSAmJiBkaWUgIk5vIGlkZWEgd2hhdCBvZmZfdCBzaXplIHdhcyB1c2VkIGZvciB0aGlzIHBkdiA6
KCI7CiAgICBsb2NhbCBzaHJ0c3JjPSQoYmFzZW5hbWUgIiR7c3JjfSIpOwogICAgZWNobyAiPj4+
IFVucGFja2luZyAke3NocnRzcmN9IHRvICR7UFdEfSI7CiAgICBsb2NhbCBtZXRhc2tpcD0kKHRh
aWwgLWMgJHtzaXplb2ZmX3R9ICIke3NyY30iIHwgaGV4ZHVtcCAtZSBcIiVpXCIpOwogICAgbG9j
YWwgdGFpbHNraXA9JCh0YWlsIC1jICQoKCR7c2l6ZW9mZl90fSoyKSkgIiR7c3JjfSIgfCBoZWFk
IC1jICR7c2l6ZW9mZl90fSB8IGhleGR1bXAgLWUgXCIlaVwiKTsKICAgIGxvY2FsIG1ldGFmaWxl
PSQoZW1rdGVtcCk7CiAgICB0YWlsIC1jICskKCgke21ldGFza2lwfSsxKSkgIiR7c3JjfSIgPiAi
JHttZXRhZmlsZX0iOwogICAgbG9jYWwgZGF0YWZpbGU9JCh0YWlsIC1jICskKCgke21ldGFza2lw
fSsxKSkgIiR7c3JjfSIgfCBzdHJpbmdzIHwgaGVhZCAtbiAxKTsKICAgIGRhdGFmaWxlPSQoYmFz
ZW5hbWUgIiR7ZGF0YWZpbGV9Iik7CiAgICBsb2NhbCB0bXBmaWxlPSQoZW1rdGVtcCk7CiAgICB0
YWlsIC1jICskKCgke3RhaWxza2lwfSsxKSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMg
NTEyID4gJHt0bXBmaWxlfTsKICAgIGxvY2FsIGlzY29tcHJlc3NlZD0kKGZpbGUgLWIgIiR7dG1w
ZmlsZX0iKTsKICAgIGlmIFtbICR7aXNjb21wcmVzc2VkOjA6OH0gPT0gImNvbXByZXNzIiBdXTsg
dGhlbgogICAgICAgIGlzY29tcHJlc3NlZD0xOwogICAgICAgIG12ICR7dG1wZmlsZX17LC5afTsK
ICAgICAgICBndW56aXAgJHt0bXBmaWxlfTsKICAgIGVsc2UKICAgICAgICBpc2NvbXByZXNzZWQ9
MDsKICAgIGZpOwogICAgbG9jYWwgaXN0YXI9JChmaWxlIC1iICIke3RtcGZpbGV9Iik7CiAgICBp
ZiBbWyAke2lzdGFyOjA6OX0gPT0gIlBPU0lYIHRhciIgXV07IHRoZW4KICAgICAgICBpc3Rhcj0x
OwogICAgZWxzZQogICAgICAgIGlzdGFyPTA7CiAgICBmaTsKICAgIGlmIFsgJHtpc2NvbXByZXNz
ZWR9IC1lcSAxIF07IHRoZW4KICAgICAgICBpZiBbICR7aXN0YXJ9IC1lcSAxIF07IHRoZW4KICAg
ICAgICAgICAgdGFpbCAtYyArJCgoJHt0YWlsc2tpcH0rMSkpICR7c3JjfSAyPiAvZGV2L251bGwg
fCBoZWFkIC1jICQoKCR7bWV0YXNraXB9LSR7dGFpbHNraXB9KSkgfCB0YXIgLXh6ZiAtOwogICAg
ICAgIGVsc2UKICAgICAgICAgICAgdGFpbCAtYyArJCgoJHt0YWlsc2tpcH0rMSkpICR7c3JjfSAy
PiAvZGV2L251bGwgfCBoZWFkIC1jICQoKCR7bWV0YXNraXB9LSR7dGFpbHNraXB9KSkgfCBnemlw
IC1kYyA+ICR7ZGF0YWZpbGV9OwogICAgICAgIGZpOwogICAgZWxzZQogICAgICAgIGlmIFsgJHtp
c3Rhcn0gLWVxIDEgXTsgdGhlbgogICAgICAgICAgICB0YWlsIC1jICskKCgke3RhaWxza2lwfSsx
KSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMgJCgoJHttZXRhc2tpcH0tJHt0YWlsc2tp
cH0pKSB8IHRhciAtLW5vLXNhbWUtb3duZXIgLXhmIC07CiAgICAgICAgZWxzZQogICAgICAgICAg
ICB0YWlsIC1jICskKCgke3RhaWxza2lwfSsxKSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhlYWQg
LWMgJCgoJHttZXRhc2tpcH0tJHt0YWlsc2tpcH0pKSA+ICR7ZGF0YWZpbGV9OwogICAgICAgIGZp
OwogICAgZmk7CiAgICB0cnVlCn0KdmFsaWRhdGVfZGVza3RvcF9lbnRyaWVzICgpIAp7IAogICAg
aWYgW1sgLXggL3Vzci9iaW4vZGVza3RvcC1maWxlLXZhbGlkYXRlIF1dOyB0aGVuCiAgICAgICAg
ZWluZm8gIkNoZWNraW5nIGRlc2t0b3AgZW50cnkgdmFsaWRpdHkiOwogICAgICAgIGxvY2FsIGRp
cmVjdG9yaWVzPSIiOwogICAgICAgIGZvciBkIGluIC91c3Ivc2hhcmUvYXBwbGljYXRpb25zICRA
OwogICAgICAgIGRvCiAgICAgICAgICAgIFtbIC1kICR7RH0ke2R9IF1dICYmIGRpcmVjdG9yaWVz
PSIke2RpcmVjdG9yaWVzfSAke0R9JHtkfSI7CiAgICAgICAgZG9uZTsKICAgICAgICBpZiBbWyAt
biAke2RpcmVjdG9yaWVzfSBdXTsgdGhlbgogICAgICAgICAgICBmb3IgRklMRSBpbiAkKGZpbmQg
JHtkaXJlY3Rvcmllc30gLW5hbWUgIipcLmRlc2t0b3AiIAkJCQkJCQktbm90IC1wYXRoICcqLmhp
ZGRlbionIHwgc29ydCAtdSAyPi9kZXYvbnVsbCk7CiAgICAgICAgICAgIGRvCiAgICAgICAgICAg
ICAgICBsb2NhbCB0ZW1wPSQoZGVza3RvcC1maWxlLXZhbGlkYXRlICR7RklMRX0gfCBncmVwIC12
ICJ3YXJuaW5nOiIgfCAJCQkJCQkJCXNlZCAtZSAic3xlcnJvcjogfHwiIC1lICJzfCR7RklMRX06
fC0tfGciICk7CiAgICAgICAgICAgICAgICBbWyAtbiAkdGVtcCBdXSAmJiBlbG9nICR7dGVtcC8t
LS8ke0ZJTEUvJHtEfS99On07CiAgICAgICAgICAgIGRvbmU7CiAgICAgICAgZmk7CiAgICAgICAg
ZWNobyAiIjsKICAgIGVsc2UKICAgICAgICBlaW5mbyAiUGFzc2luZyBkZXNrdG9wIGVudHJ5IHZh
bGlkaXR5IGNoZWNrLiBJbnN0YWxsIGRldi11dGlsL2Rlc2t0b3AtZmlsZS11dGlscywgaWYgeW91
IHdhbnQgdG8gaGVscCB0byBpbXByb3ZlIEdlbnRvby4iOwogICAgZmkKfQpkZWNsYXJlIC14IEFC
ST0iYW1kNjQiCmRlY2xhcmUgLXggQUxTQV9DQVJEUz0iaW50ZWxfaGRhIgpkZWNsYXJlIC14IEFM
U0FfUENNX1BMVUdJTlM9ImFkcGNtIGFsYXcgYXN5bSBjb3B5IGRtaXggZHNoYXJlIGRzbm9vcCBl
bXB0eSBleHRwbHVnIGZpbGUgaG9va3MgaWVjOTU4IGlvcGx1ZyBsYWRzcGEgbGZsb2F0IGxpbmVh
ciBtZXRlciBtdWxhdyBtdWx0aSBudWxsIHBsdWcgcmF0ZSByb3V0ZSBzaGFyZSBzaG0gc29mdHZv
bCIKZGVjbGFyZSAteCBBTlRfSE9NRT0iL3Vzci9zaGFyZS9hbnQiCmRlY2xhcmUgLXggQVBBQ0hF
Ml9NT0RVTEVTPSJhY3Rpb25zIGFsaWFzIGF1dGhfYmFzaWMgYXV0aF9kaWdlc3QgYXV0aG5fYW5v
biBhdXRobl9kYmQgYXV0aG5fZGJtIGF1dGhuX2RlZmF1bHQgYXV0aG5fZmlsZSBhdXRoel9kYm0g
YXV0aHpfZGVmYXVsdCBhdXRoel9ncm91cGZpbGUgYXV0aHpfaG9zdCBhdXRoel9vd25lciBhdXRo
el91c2VyIGF1dG9pbmRleCBjYWNoZSBkYXYgZGF2X2ZzIGRhdl9sb2NrIGRiZCBkZWZsYXRlIGRp
ciBkaXNrX2NhY2hlIGVudiBleHBpcmVzIGV4dF9maWx0ZXIgZmlsZV9jYWNoZSBmaWx0ZXIgaGVh
ZGVycyBpZGVudCBpbWFnZW1hcCBpbmNsdWRlIGluZm8gbG9nX2NvbmZpZyBsb2dpbyBtZW1fY2Fj
aGUgbWltZSBtaW1lX21hZ2ljIG5lZ290aWF0aW9uIHByb3h5IHByb3h5X2FqcCBwcm94eV9iYWxh
bmNlciBwcm94eV9jb25uZWN0IHByb3h5X2h0dHAgcmV3cml0ZSBzZXRlbnZpZiBzbyBzcGVsaW5n
IHN0YXR1cyB1bmlxdWVfaWQgdXNlcmRpciB1c2VydHJhY2sgdmhvc3RfYWxpYXMiCmRlY2xhcmUg
LXggQVJDSD0iYW1kNjQiCmRlY2xhcmUgLXggQVNGTEFHU194ODY9Ii0tMzIiCmRlY2xhcmUgLXgg
Q0JVSUxEPSJ4ODZfNjQtcGMtbGludXgtZ251IgpkZWNsYXJlIC14IENDPSJnY2MiCmRlY2xhcmUg
LXggQ0RFRklORV9hbWQ2ND0iX194ODZfNjRfXyIKZGVjbGFyZSAteCBDREVGSU5FX2RlZmF1bHQ9
Il9fdW5peF9fIgpkZWNsYXJlIC14IENERUZJTkVfeDg2PSJfX2kzODZfXyIKZGVjbGFyZSAteCBD
REZfQkFTRT0iL3VzciIKZGVjbGFyZSAteCBDREZfQklOPSJcJHtDREZfQkFTRX0vYmluIgpkZWNs
YXJlIC14IENERl9IRUxQPSJcJHtDREZfQkFTRX0vbGliL2NkZi9oZWxwIgpkZWNsYXJlIC14IENE
Rl9JTkM9Ilwke0NERl9CQVNFfS9pbmNsdWRlIgpkZWNsYXJlIC14IENERl9MSUI9Ilwke0NERl9C
QVNFfS9saWIiCmRlY2xhcmUgLXggQ0ZMQUdTPSItTzIgLXBpcGUgLW1hcmNoPWF0aGxvbjY0IC1t
c3NlMyIKZGVjbGFyZSAteCBDRkxBR1NfZGVmYXVsdD0iIgpkZWNsYXJlIC14IENGTEFHU194ODY9
Ii1tMzIgLUwvZW11bC9saW51eC94ODYvbGliIC1ML2VtdWwvbGludXgveDg2L3Vzci9saWIiCmRl
Y2xhcmUgLXggQ0hPU1Q9Ing4Nl82NC1wYy1saW51eC1nbnUiCmRlY2xhcmUgLXggQ0hPU1RfYW1k
NjQ9Ing4Nl82NC1wYy1saW51eC1nbnUiCmRlY2xhcmUgLXggQ0hPU1RfZGVmYXVsdD0ieDg2XzY0
LXBjLWxpbnV4LWdudSIKZGVjbGFyZSAteCBDSE9TVF94ODY9Imk2ODYtcGMtbGludXgtZ251Igpk
ZWNsYXJlIC14IENMQVNTUEFUSD0iLiIKZGVjbGFyZSAteCBDVEFSR0VUX2RlZmF1bHQ9Ing4Nl82
NC1wYy1saW51eC1nbnUiCmRlY2xhcmUgLXggQ1ZTX1JTSD0ic3NoIgpkZWNsYXJlIC14IENYWEZM
QUdTPSItTzIgLXBpcGUgLW1hcmNoPWF0aGxvbjY0IC1tc3NlMyIKZGVjbGFyZSAteCBERUZBVUxU
X0FCST0iYW1kNjQiCmRlY2xhcmUgLXggREVTVFRSRUU9Ii91c3IiCmRlY2xhcmUgLXggRElST1BU
SU9OUz0iLW0wNzU1IgpkZWNsYXJlIC14IEVMSUJDPSJnbGliYyIKZGVjbGFyZSAteCBFTFRfQVBQ
TElFRF9QQVRDSEVTPSIgMS41LjQgMS41LjEwIDEuNS42IgpkZWNsYXJlIC14IEVMVF9MVE1BSU5f
U0g9Ii9ob21lL3RtcC9wb3J0YWdlL2Rldi1saWJzL2dub21lLWJ1aWxkLTAuMy4wL3dvcmsvZ25v
bWUtYnVpbGQtMC4zLjAvbHRtYWluLnNoIgpkZWNsYXJlIC14IEVYRU9QVElPTlM9Ii1tMDc1NSIK
ZGVjbGFyZSAteCBGNzc9Imdmb3J0cmFuIgpkZWNsYXJlIC14IEZFQVRVUkVTPSJjY2FjaGUgZGlz
dGxvY2tzIG1ldGFkYXRhLXRyYW5zZmVyIHBhcmFsbGVsLWZldGNoIHNhbmRib3ggc2ZwZXJtcyBz
dHJpY3QgdW5tZXJnZS1vcnBoYW5zIHVzZXItZmV0Y2ggdXNlcmZldGNoIgpkZWNsYXJlIC14IEZG
TEFHUz0iLU8yIC1waXBlIC1tYXJjaD1hdGhsb242NCAtbXNzZTMiCmRlY2xhcmUgLXggRkxUS19E
T0NESVI9Ii91c3Ivc2hhcmUvZG9jL2ZsdGstMS4xLjctcjIvaHRtbCIKZGVjbGFyZSAteCBHQ0Nf
U1BFQ1M9IiIKZGVjbGFyZSAteCBHREtfVVNFX1hGVD0iMSIKZGVjbGFyZSAteCBHRE1fTEFORz0i
ZGVfQVQudXRmOCIKZGVjbGFyZSAteCBHRU5FUkFUSU9OPSIyIgpkZWNsYXJlIC14IEdOT01FX1RB
UkJBTExfU1VGRklYPSJiejIiCmRlY2xhcmUgLXggR1VJTEVfTE9BRF9QQVRIPSIvdXNyL3NoYXJl
L2d1aWxlLzEuOCIKZGVjbGFyZSAteCBIVVNITE9HSU49IkZBTFNFIgpkZWNsYXJlIC14IElOSEVS
SVRFRD0idG9vbGNoYWluLWZ1bmNzIHBvcnRhYmlsaXR5IG11bHRpbGliIGdub21lMi11dGlscyBs
aWJ0b29sIGdub21lLm9yZyBnbm9tZTIgZmRvLW1pbWUgZXV0aWxzIgpkZWNsYXJlIC14IElOUFVU
X0RFVklDRVM9ImtleWJvYXJkIG1vdXNlIHN5bmFwdGljcyBldmRldiIKZGVjbGFyZSAteCBJTlNE
RVNUVFJFRT0iIgpkZWNsYXJlIC14IElOU09QVElPTlM9Ii1tMDY0NCIKZGVjbGFyZSAteCBJVVNF
PSIgZGVidWciCmRlY2xhcmUgLXggSkFWQUM9Ii9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5
c3RlbS12bS9iaW4vamF2YWMiCmRlY2xhcmUgLXggSkFWQUNDX0hPTUU9Ii91c3Ivc2hhcmUvamF2
YWNjLyIKZGVjbGFyZSAteCBKQVZBX0hPTUU9Ii9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5
c3RlbS12bSIKZGVjbGFyZSAteCBKREtfSE9NRT0iL2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQt
c3lzdGVtLXZtIgpkZWNsYXJlIC14IEtERURJUlM9Ii91c3I6L3Vzci9sb2NhbDovdXNyL2tkZS8z
LjUiCmRlY2xhcmUgLXggS0VSTkVMPSJsaW51eCIKZGVjbGFyZSAteCBLRVJORUxfQUJJPSJhbWQ2
NCIKZGVjbGFyZSAteCBLVj0iMi42LjI0LWdlbnRvby1yOCIKZGVjbGFyZSAteCBMQURTUEFfUEFU
SD0iL3Vzci9saWI2NC9sYWRzcGEiCmRlY2xhcmUgLXggTEFORz0iZGVfQVQudXRmOCIKZGVjbGFy
ZSAteCBMQU5HVUFHRT0iZGVfQVQ6ZGU6ZW5fVVM6ZW4iCmRlY2xhcmUgLXggTENEX0RFVklDRVM9
ImJheXJhZCBjZm9udHogY2ZvbnR6NjMzIGdsayBoZDQ0NzgwIGxiMjE2IGxjZG0wMDEgbXR4b3Ji
IG5jdXJzZXMgdGV4dCIKZGVjbGFyZSAteCBMQ19BTEw9ImRlX0FULlVURi04IgpkZWNsYXJlIC14
IExDX0xBTkc9ImRlX0FULnV0ZjgiCmRlY2xhcmUgLXggTERGTEFHU19kZWZhdWx0PSIiCmRlY2xh
cmUgLXggTERGTEFHU194ODY9Ii1tIGVsZl9pMzg2IC1ML2VtdWwvbGludXgveDg2L2xpYiAtTC9l
bXVsL2xpbnV4L3g4Ni91c3IvbGliIgpkZWNsYXJlIC14IExEX0xJQlJBUllfUEFUSD0iL3Vzci9s
aWIzMi94b3JnOi91c3IvbGliNjQveG9yZyIKZGVjbGFyZSAteCBMSUJESVJfYW1kNjQ9ImxpYjY0
IgpkZWNsYXJlIC14IExJQkRJUl9kZWZhdWx0PSJsaWIiCmRlY2xhcmUgLXggTElCRElSX3g4Nj0i
bGliMzIiCmRlY2xhcmUgLXggTElCR0xfRFJJVkVSU19QQVRIPSIvdXNyL2xpYjY0L2RyaTovdXNy
L2xpYjMyL2RyaTovdXNyL2xpYjMyL21vZHVsZXMvZHJpLzovdXNyL2xpYjY0L21vZHVsZXMvZHJp
LzovdXNyL2xpYjMyL2RyaTovdXNyL2xpYjY0L2RyaSIKZGVjbGFyZSAteCBMSUJPUFRJT05TPSIt
bTA2NDQiCmRlY2xhcmUgLXggTElOR1VBUz0iZGUiCmRlY2xhcmUgLXggTUFJTD0iL3Zhci9tYWls
L3Jvb3QiCmRlY2xhcmUgLXggTUFLRU9QVFM9Ii1qMyAtajEiCmRlY2xhcmUgLXggTVVMVElMSUJf
QUJJUz0iYW1kNjQgeDg2IgpkZWNsYXJlIC14IE1VTFRJTElCX1NUUklDVF9ERU5ZPSI2NC1iaXQu
KnNoYXJlZCBvYmplY3QiCmRlY2xhcmUgLXggTVVMVElMSUJfU1RSSUNUX0RJUlM9Ii9saWIgL3Vz
ci9saWIgL3Vzci9rZGUvKi9saWIgL3Vzci9xdC8qL2xpYiAvdXNyL1gxMVI2L2xpYiIKZGVjbGFy
ZSAteCBNVUxUSUxJQl9TVFJJQ1RfRVhFTVBUPSIocGVybDV8Z2NjfGdjYy1saWJ8YmludXRpbHN8
ZWNsaXBzZS0zfGRlYnVnfHBvcnRhZ2UpIgpkZWNsYXJlIC14IE9QRU5HTF9QUk9GSUxFPSJ4b3Jn
LXgxMSIKZGVjbGFyZSAteCBQS0dfQ09ORklHX1BBVEg9Ii91c3IvcXQvMy9saWI2NC9wa2djb25m
aWciCmRlY2xhcmUgLXggUFJFTElOS19QQVRIX01BU0s9Ii91c3IvbGliL2dzdHJlYW1lci0wLjgi
CmRlY2xhcmUgLXggUFZNX0FSQ0g9IkxJTlVYNjQiCmRlY2xhcmUgLXggUFZNX1JPT1Q9Ii91c3Iv
c2hhcmUvcHZtMyIKZGVjbGFyZSAteCBQWVRIT05ET0NTPSIvdXNyL3NoYXJlL2RvYy9weXRob24t
ZG9jcy0yLjUuMS9odG1sL2xpYiIKZGVjbGFyZSAteCBQWVRIT05QQVRIPSIvdXNyL2xpYjY0L3Bv
cnRhZ2UvcHltIgpkZWNsYXJlIC14IFFNQUtFU1BFQz0ibGludXgtZysrIgpkZWNsYXJlIC14IFFU
RElSPSIvdXNyL3F0LzMiCmRlY2xhcmUgLXggUkVTVFJJQ1Q9IiIKZGVjbGFyZSAteCBSVUJZT1BU
PSItcmF1dG9fZ2VtIgpkZWNsYXJlIC14IFJfSE9NRT0iL3Vzci9saWI2NC9SIgpkZWNsYXJlIC14
IFM9Ii9ob21lL3RtcC9wb3J0YWdlL2Rldi1saWJzL2dub21lLWJ1aWxkLTAuMy4wL3dvcmsvZ25v
bWUtYnVpbGQtMC4zLjAiCmRlY2xhcmUgLXggU0FOREJPWF9ERU5ZPSI6L2V0Yy9sZC5zby5wcmVs
b2FkOiIKZGVjbGFyZSAteCBTQU5EQk9YX1BSRURJQ1Q9IjovZGV2L2NvbnNvbGU6L2Rldi9yYW5k
b206L2hvbWUvdG1wL3BvcnRhZ2UvZGV2LWxpYnMvZ25vbWUtYnVpbGQtMC4zLjAvaG9tZWRpci8u
Oi9wcm9jL3NlbGYvbWFwczovdXNyL2xpYjY0L3BvcnRhZ2UvcHltOi91c3IvbGliL3B5dGhvbjIu
MC86L3Vzci9saWIvcHl0aG9uMi4xLzovdXNyL2xpYi9weXRob24yLjIvOi91c3IvbGliL3B5dGhv
bjIuMy86L3Vzci9saWIvcHl0aG9uMi40LzovdXNyL2xpYi9weXRob24yLjUvOi91c3IvbGliL3B5
dGhvbjMuMC86L3Zhci9jYWNoZS9lZGIvZGVwOi92YXIvZGIvYWxpYXNlcy5kYjovdmFyL2RiL2V0
aGVycy5kYjovdmFyL2RiL2dyb3VwLmRiOi92YXIvZGIvaG9zdHMuZGI6L3Zhci9kYi9uZXRncm91
cC5kYjovdmFyL2RiL25ldG1hc2tzLmRiOi92YXIvZGIvbmV0d29ya3MuZGI6L3Zhci9kYi9wYXNz
d2QuZGI6L3Zhci9kYi9wcm90b2NvbHMuZGI6L3Zhci9kYi9ycGMuZGI6L3Zhci9kYi9zZXJ2aWNl
cy5kYjoiCmRlY2xhcmUgLXggU0FOREJPWF9SRUFEPSI6LzovZGV2L3NobTovZGV2L3N0ZGluOi9o
b21lL3RtcDovb3B0L3RtcC9jY2FjaGU6IgpkZWNsYXJlIC14IFNBTkRCT1hfV1JJVEU9IjovZGV2
L2NvbnNvbGU6L2Rldi9mZDovZGV2L251bGw6L2Rldi9wdHMvOi9kZXYvcHR5Oi9kZXYvc2htOi9k
ZXYvc2htL25ncHQ6L2Rldi9zdGRlcnI6L2Rldi9zdGRvdXQ6L2Rldi90dHM6L2Rldi90dHk6L2Rl
di92Yy86L2Rldi96ZXJvOi9ob21lL3RtcDovaG9tZS90bXAvcG9ydGFnZS9kZXYtbGlicy9nbm9t
ZS1idWlsZC0wLjMuMC9ob21lZGlyLy5iYXNoX2hpc3Rvcnk6L2hvbWUvdG1wL3BvcnRhZ2UvZGV2
LWxpYnMvZ25vbWUtYnVpbGQtMC4zLjAvaG9tZWRpci8uZ2NvbmZkL2xvY2s6L29wdC90bXAvY2Nh
Y2hlOi9wcm9jL3NlbGYvZmQ6L3RtcDovdG1wLzovdXNyL2xpYjMyL2NmOi91c3IvbGliMzIvY29u
ZnRlc3Q6L3Vzci9saWI2NC9jZjovdXNyL2xpYjY0L2NvbmZ0ZXN0Oi91c3IvbGliL2NmOi91c3Iv
bGliL2NvbmZ0ZXN0Oi91c3IvdG1wL2NmOi91c3IvdG1wL2NvbmZ0ZXN0Oi92YXIvbG9nL3Njcm9s
bGtlZXBlci5sb2c6L3Zhci90bXA6L3Zhci90bXAvOiIKZGVjbGFyZSAteCBTQU5FX0NPTkZJR19E
SVI9Ii9ldGMvc2FuZS5kIgpkZWNsYXJlIC14IFNCQ0xfSE9NRT0iL3Vzci9saWI2NC9zYmNsIgpk
ZWNsYXJlIC14IFNCQ0xfU09VUkNFX1JPT1Q9Ii91c3IvbGliNjQvc2JjbC9zcmMiCmRlY2xhcmUg
LXggU0dNTF9DQVRBTE9HX0ZJTEVTPSIvZXRjL3NnbWwvc2dtbC1kb2Nib29rLmNhdDovZXRjL3Nn
bWwvb3BlbmphZGUtMS4zLjIuY2F0Oi9ldGMvc2dtbC94bWwtZG9jYm9vay00LjQuY2F0Oi9ldGMv
c2dtbC9zZ21sLWVudC5jYXQ6L2V0Yy9zZ21sL3htbC1zaW1wbGUtZG9jYm9vay0xLjAuY2F0Oi9l
dGMvc2dtbC94bWwtc2ltcGxlLWRvY2Jvb2stNC4xLjIuNC5jYXQ6L2V0Yy9zZ21sL3htbC1kb2Ni
b29rLTQuMS4yLmNhdDovZXRjL3NnbWwvc2dtbC1kb2Nib29rLTMuMC5jYXQ6L2V0Yy9zZ21sL3Nn
bWwtZG9jYm9vay0zLjEuY2F0Oi9ldGMvc2dtbC9zZ21sLWRvY2Jvb2stNC4wLmNhdDovZXRjL3Nn
bWwvc2dtbC1kb2Nib29rLTQuMS5jYXQ6L2V0Yy9zZ21sL3NnbWwtZG9jYm9vay00LjIuY2F0Oi9l
dGMvc2dtbC9zZ21sLWxpdGUuY2F0Oi9ldGMvc2dtbC9kc3NzbC1kb2Nib29rLXN0eWxlc2hlZXRz
LmNhdCIKZGVjbGFyZSAteCBTTE9UPSIwIgpkZWNsYXJlIC14IFNUQUdFMV9VU0U9Im5wdGwgbnB0
bG9ubHkgdW5pY29kZSIKZGVjbGFyZSAteCBTWU1MSU5LX0xJQj0ieWVzIgpkZWNsYXJlIC14IFNZ
U1FVQUtFTFhQQVRIPSIuOy4vTGliOy9vcHQvU3lzUXVha2UvU3lzUXVha2VMeC9MaWIiCmRlY2xh
cmUgLXggVEVYSU5QVVRTPSIvdXNyL2xpYjY0L29jYW1sL29jYW1sZG9jOiIKZGVjbGFyZSAteCBV
U0JfREVWRlNfUEFUSD0iL2Rldi9idXMvdXNiIgpkZWNsYXJlIC14IFVTRT0iYW1kNjQgZWxpYmNf
Z2xpYmMga2VybmVsX2xpbnV4IHVzZXJsYW5kX0dOVSIKZGVjbGFyZSAteCBVU0VSTEFORD0iR05V
IgpkZWNsYXJlIC14IFZJREVPX0NBUkRTPSJmZ2xyeCIKZGVjbGFyZSAteCBWTUhBTkRMRT0iYmxh
Y2tkb3duLWpkay0xLjQuMiIKZGVjbGFyZSAteCBWVEtIT01FPSIvdXNyIgpkZWNsYXJlIC14IFZU
S19EQVRBX1JPT1Q9Ii91c3Ivc2hhcmUvdnRrL2RhdGEiCmRlY2xhcmUgLXggVlRLX0RJUj0iL3Vz
ci9saWIvdnRrLTUuMCIKZGVjbGFyZSAteCBYREdfREFUQV9ESVJTPSIvdXNyL3NoYXJlOi91c3Iv
a2RlLzMuNS9zaGFyZTovdXNyL2xvY2FsL3NoYXJlIgpkZWNsYXJlIC14IF9FX0RPQ0RFU1RUUkVF
Xz0iIgpkZWNsYXJlIC14IF9FX0VYRURFU1RUUkVFXz0iIgo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>156517</attachid>
            <date>2008-06-12 17:06 0000</date>
            <desc>Elibtool log</desc>
            <filename>elibtool.log</filename>
            <type>text/plain</type>
            <data encoding="base64">cGF0Y2hpbmcgZmlsZSAvaG9tZS90bXAvcG9ydGFnZS9kZXYtbGlicy9nbm9tZS1idWlsZC0wLjMu
MC93b3JrL2dub21lLWJ1aWxkLTAuMy4wL2x0bWFpbi5zaApIdW5rICMxIEZBSUxFRCBhdCAzNDYy
LgoxIG91dCBvZiAxIGh1bmsgRkFJTEVEIC0tIHNhdmluZyByZWplY3RzIHRvIGZpbGUgL2hvbWUv
dG1wL3BvcnRhZ2UvZGV2LWxpYnMvZ25vbWUtYnVpbGQtMC4zLjAvd29yay9nbm9tZS1idWlsZC0w
LjMuMC9sdG1haW4uc2gucmVqCg==
</data>        

          </attachment>
    </bug>

</bugzilla>