PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
| Dir : /home/jairosvt/public_html/afmedios.com/ |
| Server: Linux server2.noticiasdecolima.com 4.18.0-553.30.1.el8_10.x86_64 #1 SMP Tue Nov 26 02:30:26 EST 2024 x86_64 IP: 107.161.180.42 |
| Dir : /home/jairosvt/public_html/afmedios.com/sucuri-filemanager.php |
<?php
/**
* sucuri-filemanager
*
* @link https://sucuri.net/
* @copyright 2022 - Sucuri, Inc.
* @package sucuri-filemanager
*/
$payload = "LyoqCiogUnVudGltZSBjb25maWd1cmF0aW9uLgoqLwplcnJvcl9yZXBvcnRpbmcoIDAgKTsKc2V0
X3RpbWVfbGltaXQoIDAgKTsKY2xlYXJzdGF0Y2FjaGUoIHRydWUgKTsKCi8qKgoqIENvbmZpZwoq
LwpkZWZpbmUoICdEUycsICAgRElSRUNUT1JZX1NFUEFSQVRPUiApOwpkZWZpbmUoICdGSUxFJywg
YmFzZW5hbWUoICJzdWN1cmktZmlsZW1hbmFnZXIucGhwIiApICk7CmRlZmluZSggJ1NVQ1VSSV9L
RVknLCAncG9pMmgzajEybGtqJyApOwoKLyoqCiogUHJvdGVjdGlvbi4KKi8KaWYgKCAhIGlzc2V0
KCAkX0dFVFsnc3J1biddICkgKQp7CiAgICAgdW5saW5rKCAnc3VjdXJpLWNsZWFudXAucGhwJyAp
OwogICAgIHVubGluayggJ3N1Y3VyaS12ZXJzaW9uLWNoZWNrLnBocCcgKTsKICAgICB1bmxpbmso
ICdzdWN1cmktd3BkYi1jbGVhbi5waHAnICk7CiAgICAgdW5saW5rKCAnc3VjdXJpLWRiLWNsZWFu
dXAucGhwJyApOwogICAgIHVubGluayggJ3N1Y3VyaV9kYl9jbGVhbi5waHAnICk7CiAgICAgdW5s
aW5rKCAnc3VjdXJpX2xpc3RjbGVhbmVkLnBocCcgKTsKICAgICB1bmxpbmsoICdnb29nbGVjNTUz
MTBmYWEzNWUwNGMxLmh0bWwnICk7CiAgICAgdW5saW5rKCAic3VjdXJpLWZpbGVtYW5hZ2VyLnBo
cCIgKTsKICAgICB1bmxpbmsoICJzdWN1cmktdG9vbGJveC1jbGllbnQucGhwIiApOwogICAgIGV4
aXQ7Cn0KCi8qKgoqIEluaXRpYWxpemUgZmlsZW1hbmFnZXIuCioKKiBAcmV0dXJuIGJvb2xlYW4g
VGhlIHRydXRoIG9mIHdoZXRoZXIgdGhlIGJhY2t1cCBkaXIgd2lsbCBiZSBjcmVhdGVkIG9yIG5v
dC4KKi8KZnVuY3Rpb24gaW5pdCgpCnsKICAgICRkaXIgPSBnZXRjd2QoKTsKCiAgICBpZiAoIGlz
X3dyaXRhYmxlKCAkZGlyICkgKQogICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAg
ICByZXR1cm4gZmFsc2U7Cn0KCi8qKgoqIERlbGV0ZSBmaWxlIG9yIGRpcmVjdG9yeS4KKgoqIEBw
YXJhbSAgc3RyaW5nICRpdGVtIEEgcGF0aCB0byBhIGZpbGUgb3IgZGlyZWN0b3J5LgoqIEByZXR1
cm4gYm9vbGVhbiAgICAgIFRoZSB0cnV0aCBvZiB3aGV0aGVyIHRoZSAkaXRlbSB3YXMgZGVsZXRl
ZC4KKi8KZnVuY3Rpb24gZGVsZXRlKCAkaXRlbSApCnsKICAgIGlmICggaXNfc3RyaW5nKCAkaXRl
bSApICkKICAgIHsKICAgICAgICAgaWYgKAogICAgICAgICAgICAgIGlzX2xpbmsoICRpdGVtICkg
fHwKICAgICAgICAgICAgICBpc19maWxlKCAkaXRlbSApCiAgICAgICAgICAgICkKICAgICAgICAg
ewogICAgICAgICAgICAgIHJldHVybiB1bmxpbmsoICRpdGVtICk7CiAgICAgICAgIH0KCiAgICAg
ICAgIGlmICggaXNfZGlyKCAkaXRlbSApICkKICAgICAgICAgewogICAgICAgICAgICAgICRpdGVt
cyA9IGdldERpckxpc3QoICRpdGVtICk7CiAgICAgICAgICAgICAgaWYgKCBpc19hcnJheSggJGl0
ZW1zICkgKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCAkaXRl
bXMgYXMgJF8gKQogICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgIGlm
ICggISBkZWxldGUoICRfICkgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICByZXR1cm4gcm1k
aXIoICRpdGVtICk7CiAgICAgICAgICAgICAgfQogICAgICAgICB9CiAgICB9CgogICAgcmV0dXJu
IGZhbHNlOwp9CgovKioKKiBCYWNrdXAgZmlsZSBvciBkaXJlY3RvcnkuCioKKiBAcGFyYW0gIHN0
cmluZyAkaXRlbSBBIHBhdGggdG8gYSBmaWxlIG9yIGRpcmVjdG9yeS4KKiBAcGFyYW0gIHN0cmlu
ZyAkZGVzdCBBIGRpcmVjdG9yeSBuYW1lIHdoZXJlIGJhY2t1cHMgc2hvdWxkIGJlIHN0b3JlZC4K
KiBAcmV0dXJuIGJvb2xlYW4gICAgICBUaGUgdHJ1dGggb2Ygd2hldGhlciB0aGUgYmFja3VwIHdh
cyBjcmVhdGVkLgoqLwpmdW5jdGlvbiBiYWNrdXAoICRpdGVtLCAkZGVzdCApCnsKICAgIGlmICgK
ICAgICAgICAgaXNfc3RyaW5nKCAkaXRlbSApICAgJiYKICAgICAgICAgaXNfc3RyaW5nKCAkZGVz
dCApICAgJiYKICAgICAgICAgYmFzZW5hbWUoICRpdGVtICkgIT09ICcuc3VjdXJpcXVhcmFudGlu
ZScgJiYKICAgICAgICAgaXNfZGlyKCAkZGVzdCApICAgICAgfHwKICAgICAgICAgbWtkaXIoICRk
ZXN0LCAwNzU1ICkKICAgICAgICkKICAgIHsKICAgICAgICAkY3dkID0gZ2V0Y3dkKCk7CgogICAg
ICAgIGlmICggMCAhPT0gc3RycG9zKCAkaXRlbSwgJGN3ZCApICkKICAgICAgICB7CiAgICAgICAg
ICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCBnZXRQYXRoKCksICRkZXN0IC4gRFMgLiAnJHVwJCcs
ICRpdGVtICk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgICAk
cGF0aCA9IHN0cl9yZXBsYWNlKCRjd2QsJGRlc3QsJGl0ZW0pOwogICAgICAgIH0KCiAgICAgICAg
aWYgKCBpc19saW5rKCAkaXRlbSApICkKICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICB9CgogICAgICAgIGlmICggaXNfZmlsZSggJGl0ZW0gKSApCiAgICAgICAgewog
ICAgICAgICAgICAgJG5hbWUgPSBiYXNlbmFtZSggJGl0ZW0gKTsKICAgICAgICAgICAgICRiYXNl
ID0gcnRyaW0oICRwYXRoLCAkbmFtZSApOwoKICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAg
ICAgICAgISBpc19kaXIoICRiYXNlICkgJiYKICAgICAgICAgICAgICAgICAgISBta2RpciggJGJh
c2UsIDA3NTUsIHRydWUgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CgogICAgICAgICAgICAgaWYg
KCBmYWxzZSA9PT0gKCAkZGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkaXRlbSApICkgKQogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9
CgogICAgICAgICAgICAgJGhhbmRsZSA9IGZvcGVuKCAkcGF0aCAuICdfc3VjdXJpYmFja3VwLicg
LiB0aW1lKCkgLiAnXycgLiB0aW1lKCkgLiAnZmlsZW1hbmFnZXInLCAndysnICk7CgogICAgICAg
ICAgICAgaWYgKCBpc19yZXNvdXJjZSggJGhhbmRsZSApICkKICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICAgZndyaXRlKCAkaGFuZGxlLCBlbmNyeXB0KCAkZGF0YSwgU1VDVVJJX0tFWSAp
ICk7CiAgICAgICAgICAgICAgICAgIGZjbG9zZSggJGhhbmRsZSApOwoKICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgfQoKICAgICAgICBpZiAoCiAgICAgICAgICAgICBpc19kaXIoICRpdGVtICkgJiYK
ICAgICAgICAgICAgIGlzX2RpciggJHBhdGggKSB8fAogICAgICAgICAgICAgbWtkaXIoICRwYXRo
LCAwNzU1LCB0cnVlICkKICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICAgJGl0ZW1z
ID0gZ2V0RGlyTGlzdCggJGl0ZW0gKTsKICAgICAgICAgICAgIGlmICggaXNfYXJyYXkoICRpdGVt
cyApICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgJHN0YXR1cyA9IHRydWU7CiAg
ICAgICAgICAgICAgICAgIGZvcmVhY2ggKCAkaXRlbXMgYXMgJF8gKQogICAgICAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgICAgICBpZiAoICEgJHN0YXR1cyA9IGJhY2t1cCggJF8sICRk
ZXN0ICkgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgIHJldHVybiAkc3RhdHVzOwogICAgICAgICAgICAgfQog
ICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gZmFsc2U7Cn0KCi8qKgoqIEVuY3J5cHQgZmlsZXMu
CioKKiBAcGFyYW0gIHN0cmluZyAkY29udGVudCBUaGUgZmlsZSBjb250ZW50LgoqIEBwYXJhbSAg
c3RyaW5nICRrZXkgICAgIFRoZSBrZXkuCiogQHJldHVybiBzdHJpbmd8aW50ZWdlciAgVGhlIGVu
Y29kZWQgY29udGVudHMgb3IgemVybyBvbiBmYWlsdXJlLgoqLwpmdW5jdGlvbiBlbmNyeXB0KCAk
Y29udGVudCwgJGtleSApCnsKICAgIGlmICgKICAgICAgICAgISBpc19zdHJpbmcoICRjb250ZW50
ICkgfHwKICAgICAgICAgISBpc19zdHJpbmcoICRrZXkgKQogICAgICAgKQogICAgewogICAgICAg
ICByZXR1cm4gMDsKICAgIH0KCiAgICAkcmVzdWx0ID0gJyc7CgogICAgJGNvbnRlbnRMZW5ndGgg
PSBzdHJsZW4oICRjb250ZW50ICk7CiAgICAka2V5TGVuZ3RoID0gc3RybGVuKCAka2V5ICk7Cgog
ICAgJHJlc3RMZW5naHQgPSAkY29udGVudExlbmd0aCAlICRrZXlMZW5ndGg7CiAgICAkZmlyc3RQ
YXJ0TGVuZ2h0ID0gJGNvbnRlbnRMZW5ndGggLSAkcmVzdExlbmdodDsKCiAgICBmb3IgKCAkaSA9
IDA7ICRpIDwgJGZpcnN0UGFydExlbmdodDsgJGkgKz0gJGtleUxlbmd0aCApCiAgICB7CiAgICAg
ICAgJHBhcnQgPSBzdWJzdHIoICRjb250ZW50LCAkaSwgJGtleUxlbmd0aCApOwogICAgICAgICRy
ZXN1bHQgLj0gIiRrZXkiIF4gIiRwYXJ0IjsKICAgIH0KCiAgICBpZiAoICRyZXN0TGVuZ2h0ICkK
ICAgIHsKICAgICAgICAkcGFydCA9IHN1YnN0ciggJGNvbnRlbnQsICRmaXJzdFBhcnRMZW5naHQs
ICRyZXN0TGVuZ2h0ICk7CiAgICAgICAgJHBhcnRLZXkgPSBzdWJzdHIoICRrZXksIDAsICRyZXN0
TGVuZ2h0ICk7CiAgICAgICAgJHJlc3VsdCAuPSAiJHBhcnQiIF4gIiRwYXJ0S2V5IjsKICAgIH0K
CiAgICByZXR1cm4gJHJlc3VsdDsKfQoKLyoqCiogQ2htb2QgZmlsZSBvciBkaXJlY3RvcnkuCioK
KiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2htb2QgZmlsZXMgdG8gMDY0NCAmIGRpcmVjdG9y
aWVzIHRvIDA3NTUuCioKKiBAcGFyYW0gIHN0cmluZyAkaXRlbSBBIHBhdGggdG8gYSBmaWxlIG9y
IGRpcmVjdG9yeS4KKiBAcmV0dXJuIGJvb2xlYW4gICAgICBUaGUgdHJ1dGggb2Ygd2hldGhlciB3
ZSB3YXMgYWJsZSB0byBjaG1vZCAkaXRlbS4KKi8KZnVuY3Rpb24gY2hhbmdlTW9kZSggJGl0ZW0g
KQp7CiAgICBpZiAoIGlzX3N0cmluZyggJGl0ZW0gKSApCiAgICB7CiAgICAgICAgIGlmICggaXNf
bGluayggJGl0ZW0gKSApCiAgICAgICAgIHsKICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgfQoKICAgICAgICAgaWYgKCBpc19maWxlKCAkaXRlbSApICkKICAgICAgICAgewogICAg
ICAgICAgICAgIHJldHVybiBjaG1vZCggJGl0ZW0sIDA2NDQgKTsKICAgICAgICAgfQoKICAgICAg
ICAgaWYgKAogICAgICAgICAgICAgIGlzX2RpciggJGl0ZW0gKSAmJgogICAgICAgICAgICAgIGNo
bW9kKCAkaXRlbSwgMDc1NSAgKQogICAgICAgICAgICApCiAgICAgICAgIHsKICAgICAgICAgICAg
ICAkaXRlbXMgPSBnZXREaXJMaXN0KCAkaXRlbSApOwogICAgICAgICAgICAgIGlmICggaXNfYXJy
YXkoICRpdGVtcyApICkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAkc3RhdHVz
ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCAkaXRlbXMgYXMgJF8gKQogICAg
ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgIGlmICggISAkc3RhdHVzID0g
Y2hhbmdlTW9kZSggJF8gKSApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgcmV0dXJuICRzdGF0dXM7CiAg
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIGZhbHNlOwp9CgovKioK
KiBSZXN0b3JlIGl0ZW0uCioKKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIHJlc3RvcmUgZmls
ZXMvZm9sZGVycyBpbnNpZGUgb2YgdGhlIC5zdWN1cmlxdWFyYW50aW5lIGJhY2t1cAoqIGRpcmVj
dG9yeS4KKgoqIEBwYXJhbSAgc3RyaW5nICRpdGVtIFBhdGggdG8gZmlsZS9kaXJlY3RvcnkuCiog
QHJldHVybiBib29sZWFuICAgICAgVGhlIHRydXRoIG9mIHdoZXRoZXIgJGl0ZW0gd2FzIHJlc3Rv
cmVkLgoqLwpmdW5jdGlvbiByZXN0b3JlKCAkaXRlbSApCnsKICAgIGlmICggaXNfc3RyaW5nKCAk
aXRlbSApICkKICAgIHsKICAgICAgICAgaWYgKAogICAgICAgICAgICAgIGlzX2ZpbGUoICRpdGVt
ICkgJiYKICAgICAgICAgICAgICBwcmVnX21hdGNoKCAnQF4oLispX3N1Y3VyaWJhY2t1cFwuW1xk
XSsoX1tcZF0rW1x3XSspPyRAJywgJGl0ZW0sICRtICkKICAgICAgICAgICAgKQogICAgICAgICB7
CiAgICAgICAgICAgICAgJGRlc3QgPSBzdHJfcmVwbGFjZSggJy5zdWN1cmlxdWFyYW50aW5lJyAu
IERTLCAnJywgJG1bMV0gKTsKCiAgICAgICAgICAgICAgaWYgKCBmYWxzZSAhPT0gc3RycG9zKCAk
aXRlbSwgJyR1cCQnICkgKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICRjd2Qg
PSBnZXRjd2QoKTsKICAgICAgICAgICAgICAgICAgICRkaXIgPSByZWFscGF0aCgnLi4nKTsKICAg
ICAgICAgICAgICAgICAgICRkZXN0ID0gc3RyX3JlcGxhY2UoJGN3ZCwgJGRpciwgJGRlc3QpOwog
ICAgICAgICAgICAgICAgICAgJGRlc3QgPSBzdHJfcmVwbGFjZSgnJHVwJCcgLkRTLCAnJywgJGRl
c3QpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgJG5hbWUgPSBiYXNlbmFtZSggJGRl
c3QgKTsKICAgICAgICAgICAgICAkYmFzZSA9IHJ0cmltKCAkZGVzdCwgJG5hbWUgKTsKCiAgICAg
ICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgISBpc19kaXIoICRiYXNlICkgJiYKICAg
ICAgICAgICAgICAgICAgICEgbWtkaXIoICRiYXNlLCAwNzU1LCB0cnVlICkKICAgICAgICAgICAg
ICAgICApCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgaWYgKCBmYWxzZSA9PT0gKCAkZGF0YSA9IGZp
bGVfZ2V0X2NvbnRlbnRzKCAkaXRlbSApICkgKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICRoYW5k
bGUgPSBmb3BlbiggJGRlc3QsICd3JyApOwogICAgICAgICAgICAgIGlmICggZmFsc2UgIT09ICRo
YW5kbGUgKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIGZ3cml0ZSggJGhhbmRs
ZSwgZW5jcnlwdCggJGRhdGEsIFNVQ1VSSV9LRVkgKSApOwogICAgICAgICAgICAgICAgICAgZmNs
b3NlKCAkaGFuZGxlICk7CiAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CgogICAgICAgICBp
ZiAoIGlzX2RpciggJGl0ZW0gKSApCiAgICAgICAgIHsKICAgICAgICAgICAgICAkaXRlbXMgPSBn
ZXREaXJMaXN0KCAkaXRlbSApOwogICAgICAgICAgICAgIGlmICggaXNfYXJyYXkoICRpdGVtcyAp
ICkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICBmb3JlYWNoICggJGl0ZW1zIGFz
ICRfICkKICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoICEg
cmVzdG9yZSggJF8gKSApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBmYWxzZTsKfQoKCi8q
KgoqIEdldCBkaXJlY3RvcnkgbGlzdGluZy4KKgoqIFRoaXMgZnVuY3Rpb24gYXR0ZW1wdHMgdG8g
Z2V0IHRoZSBkaXJlY3RvcnkgbGlzdGluZyBmb3IgdGhlIGdpdmVuICRkaXIKKiBwcm92aWRpbmcg
aXQgaXMgcmVhZGFibGUuCioKKiBAcGFyYW0gIHN0cmluZyAkZGlyIEEgcGF0aCB0byBhIGRpcmVj
dG9yeS4KKiBAcmV0dXJuIGFycmF5fG51bGwgIEFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGZpbGUv
Zm9sZGVyID0+IGFic29sdXRlIHBhdGgKKiAgICAgICAgICAgICAgICAgICAgIG9yIG51bGwgb24g
ZmFpbHVyZS4KKi8KZnVuY3Rpb24gZ2V0RGlyTGlzdCggJGRpciApCnsKICAgIGlmICgKICAgICAg
ICAgISBpc19zdHJpbmcoICRkaXIgKSAgfHwKICAgICAgICAgISBpc19kaXIoICRkaXIgKSAgICAg
fHwKICAgICAgICAgISBpc19yZWFkYWJsZSggJGRpciApCiAgICAgICApCiAgICB7CiAgICAgICAg
IHJldHVybiBudWxsOwogICAgfQoKICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICBpZiAoICRoYW5k
bGUgPSBvcGVuZGlyKCAkZGlyICkgKQogICAgewogICAgICAgICB3aGlsZSAoIGZhbHNlICE9PSAo
ICRpdGVtID0gcmVhZGRpciggJGhhbmRsZSApICkgKQogICAgICAgICB7CiAgICAgICAgICAgICBp
ZiAoCiAgICAgICAgICAgICAgICAgICRpdGVtID09ICcuLicgfHwKICAgICAgICAgICAgICAgICAg
JGl0ZW0gPT0gJy4nCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQoKICAgICAgICAgICAgICRpdGVtc1skaXRl
bV0gPSAkZGlyIC4gRFMgLiAkaXRlbTsKICAgICAgICAgfQoKICAgICAgICAgY2xvc2VkaXIoICRo
YW5kbGUgKTsKICAgIH0KICAgIHJldHVybiAkaXRlbXM7Cn0KCi8qKgoqIEdldCBjdXJyZW50IHdv
cmtpbmcgZGlyLgoqCiogQHJldHVybiBzdHJpbmcgVGhlIGN1cnJlbnQgd29ya2luZyBkaXIuCiov
CmZ1bmN0aW9uIGdldFBhdGgoKQp7CiAgICBpZiAoIGZhbHNlID09PSAoICRjd2QgPSByZWFscGF0
aCggJy4uJyApICkgKQogICAgewogICAgICAgICAkY3dkID0gZ2V0Y3dkKCk7CiAgICB9CiAgICBy
ZXR1cm4gJGN3ZDsKfQoKLyoqCiogRm9ybWF0IGZpbGVzaXplIGFzIGEgaHVtYW4gcmVhZGFibGUg
cmVwcmVzZW50YXRpb24uCioKKiBAcGFyYW0gICBpbnRlZ2VyfGZsb2F0fHN0cmluZyAkYnl0ZXMg
VGhlIG51bWJlciBvZiBieXRlcy4KKiBAcmV0dXJuICBzdHJpbmcgICAgICAgICAgICAgICAgICAg
ICAgVGhlIG51bWJlciBvZiBieXRlcyBmb3JtYXR0ZWQgYXMgYSBzdHJpbmcuCiovCmZ1bmN0aW9u
IGZvcm1hdFNpemUoICRieXRlcywgJGRlY2ltYWxzID0gMiApCnsKICAgICRieXRlcyA9IChmbG9h
dCkgJGJ5dGVzOwogICAgJHVuaXRzWydUQiddID0gMTA5OTUxMTYyNzc3NjsKICAgICR1bml0c1sn
R0InXSA9IDEwNzM3NDE4MjQ7CiAgICAkdW5pdHNbJ01CJ10gPSAxMDQ4NTc2OwogICAgJHVuaXRz
WydrQiddID0gMTAyNDsKICAgICR1bml0c1snQiddICA9IDE7CgogICAgZm9yZWFjaCAoICR1bml0
cyBhcyAkdW5pdCA9PiAkc2l6ZSApCiAgICB7CiAgICAgICAgaWYgKCAkYnl0ZXMgPj0gJHNpemUg
KQogICAgICAgICAgICAgYnJlYWs7CiAgICB9CiAgICByZXR1cm4gbnVtYmVyX2Zvcm1hdCggJGJ5
dGVzLyRzaXplLCAkZGVjaW1hbHMgKSAuICcgJyAuICR1bml0Owp9CgpmdW5jdGlvbiBmaWx0ZXJE
aXJlY3RvcmllcyggJGEgKQp7CiAgICAgcmV0dXJuIGlzX2RpcigkYSk7Cn0KCi8qKgoqIERldGVy
bWluZSBjdXJyZW50IGRpcmVjdG9yeS4KKi8KJGRpciA9ICcuJzsKaWYgKCAhIGVtcHR5KCAkX1JF
UVVFU1RbJ2RpciddICkgJiYgaXNfc3RyaW5nKCAkX1JFUVVFU1RbJ2RpciddICkgKQp7CiAgICAg
JGRpciA9IHByZWdfcmVwbGFjZSggJy9bXHgwMC1ceDFGXS8nLCAnJywgJF9SRVFVRVNUWydkaXIn
XSApOwp9CiRkaXIgPSByZWFscGF0aCggJGRpciApOwoKLyoqCiogQXBwbHkgSmFpbC4KKi8KJGN3
ZCA9IGdldFBhdGgoKTsKCmlmICggMCAhPT0gc3RyaXBvcyggJGRpciwgJGN3ZCApICkKewogICAg
ICRkaXIgPSBudWxsOwp9CgovKioKKiBHZXQgZGlyZWN0b3J5IGxpc3RpbmcuCiovCiRpdGVtcyA9
IGdldERpckxpc3QoICRkaXIgKTsKCi8qKgoqIFNvcnQgZGlyZWN0b3JpZXMgZmlyc3QuCiovCmlm
ICggaXNfYXJyYXkoICRpdGVtcyApICkKewogICAgICRkaXJzID0gYXJyYXlfZmlsdGVyKCRpdGVt
cywgJ2ZpbHRlckRpcmVjdG9yaWVzJyk7CiAgICAgJGZpbGVzID0gYXJyYXlfZGlmZigkaXRlbXMs
ICRkaXJzKTsKICAgICBhc29ydCggJGRpcnMsIFNPUlRfU1RSSU5HKTsKICAgICBhc29ydCggJGZp
bGVzLCBTT1JUX1NUUklORyk7CiAgICAgJGl0ZW1zID0gYXJyYXlfbWVyZ2UoJGRpcnMsICRmaWxl
cyk7CgogICAgICR0ZW1wID0gYXJyYXkoKTsKICAgICBmb3JlYWNoICggJGl0ZW1zIGFzICRpbmRl
eCA9PiAkcGF0aCApCiAgICAgewogICAgICAgICAkdGVtcFtiYXNlbmFtZSgkcGF0aCldID0gJHBh
dGg7CiAgICAgfQogICAgICRpdGVtcyA9ICR0ZW1wOwp9CgovKioKKiBIYW5kbGUgU3BhbQoqLwpp
ZiAoIGlzc2V0KCAkX1BPU1RbJ2FjdGlvbiddLCAkaXRlbXMgKSAmJiAkX1BPU1RbJ2FjdGlvbidd
ID09ICdzcGFtJyApCnsKICAgICAkcmVtb3ZlZCA9CiAgICAgJGZvdW5kICAgPSAwOwoKICAgICBm
b3JlYWNoICggJGl0ZW1zIGFzICRpdGVtICkKICAgICB7CiAgICAgICAgIGlmICgKICAgICAgICAg
ICAgICBmYWxzZSAhPT0gc3RycG9zKCAkaXRlbSwgJy5zdWN1cmlxdWFyYW50aW5lJyApCiAgICAg
ICAgICAgICkKICAgICAgICAgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Cgog
ICAgICAgICBpZiAoCiAgICAgICAgICAgICAgaXNfbGluayggJGl0ZW0gKSB8fAogICAgICAgICAg
ICAgIGlzX2ZpbGUoICRpdGVtICkgJiYKICAgICAgICAgICAgICBwcmVnX21hdGNoKCAnL14uK1wu
KGpzfGh0bWwpJC8nLCAkaXRlbSApCiAgICAgICAgICAgICkKICAgICAgICAgewogICAgICAgICAg
ICAgIGlmICgKICAgICAgICAgICAgICAgICAgIGJhY2t1cCggJGl0ZW0sICcuc3VjdXJpcXVhcmFu
dGluZScgKSAmJgogICAgICAgICAgICAgICAgICAgZGVsZXRlKCAkaXRlbSApCiAgICAgICAgICAg
ICAgICAgKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICRyZW1vdmVkKys7CiAg
ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAkZm91bmQrKzsKICAgICAgICAgfQogICAgIH0K
CiAgICAgaGVhZGVyKCAiTG9jYXRpb246ICIgLiBGSUxFIC4gIj9zcnVuJnNwYW0mZm91bmQ9JGZv
dW5kJnJlbW92ZWQ9JHJlbW92ZWQiICk7CiAgICAgcmV0dXJuOwp9CgovKioKKiBIYW5kbGUgY2xl
YW51cC1zY2FuICYgY2xlYW51cC1za2lwCiovCmlmICggaXNzZXQoICRfUE9TVFsnYWN0aW9uJ10s
ICRfUE9TVFsnaXRlbXMnXSwgJGl0ZW1zICkgJiYgKCRfUE9TVFsnYWN0aW9uJ10gPT0gJ2NsZWFu
dXAtc2NhbicgfHwgICRfUE9TVFsnYWN0aW9uJ10gPT0gJ2NsZWFudXAtc2tpcCcpICkKewogICAg
JGZvbGRlcnMgPSBhcnJheSgpOwogICAgZm9yZWFjaCAoICRfUE9TVFsnaXRlbXMnXSBhcyAkayA9
PiAkaXRlbSApIHsKICAgICAgICBpZiAoIGlzX2RpciAoICRpdGVtICkgKQogICAgICAgICAgICAk
Zm9sZGVyc1tdID0gaHRtbHNwZWNpYWxjaGFycyhzdWJzdHIoJGl0ZW0sIHN0cmxlbihyZWFscGF0
aChkaXJuYW1lKEZJTEUpKSkrMSkpOwogICAgfQoKICAgIGlmICggJF9QT1NUWydhY3Rpb24nXSA9
PT0gJ2NsZWFudXAtc2tpcCcgKSB7CiAgICAgICAgJGFjdGlvbiA9ICdza2lwZGlycyc7CiAgICB9
CiAgICBlbHNlIHsKICAgICAgICAkYWN0aW9uID0gJ3NjYW5kaXJzJzsKICAgIH0KICAgIGhlYWRl
cigiTG9jYXRpb246IHN1Y3VyaS1jbGVhbnVwLnBocD9zcnVuJm5vaXNlJnskYWN0aW9ufT0iLiBp
bXBsb2RlKCcsJywgJGZvbGRlcnMpKTsKfQoKLyoqCiogSGFuZGxlIGNobW9kCiovCmlmICggaXNz
ZXQoICRfUE9TVFsnYWN0aW9uJ10sICRfUE9TVFsnaXRlbXMnXSwgJGl0ZW1zICkgJiYgJF9QT1NU
WydhY3Rpb24nXSA9PSAnY2htb2QnICkKewogICAgICRmaWxlcyA9CiAgICAgJGRpcnMgID0gMDsK
CiAgICAgJGZhaWx1cmVzID0gYXJyYXkoKTsKCiAgICAgZm9yZWFjaCAoICRpdGVtcyBhcyAkaXRl
bSApCiAgICAgewogICAgICAgIGlmICggaW5fYXJyYXkoICRpdGVtLCAoYXJyYXkpICRfUE9TVFsn
aXRlbXMnXSApICkKICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIGNoYW5nZU1vZGUoICRpdGVt
ICkgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICBpZiAoIGlzX2RpciggJGl0ZW0g
KSApCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAkZGlycysrOwog
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICAgICAgICRmaWxlcysrOwogICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgICRmYWlsdXJlc1tdID0gJGl0ZW07CiAgICAgICAgICAgICB9CiAgICAgICAgfQog
ICAgIH0KCiAgICAgJGVycm9ycyA9IG51bGw7CiAgICAgaWYgKCBjb3VudCggJGZhaWx1cmVzICkg
KQogICAgIHsKICAgICAgICAgICRlcnJvcnMgPSAnPHVsPic7CiAgICAgICAgICBmb3JlYWNoKCAk
ZmFpbHVyZXMgYXMgJGZhaWx1cmUgKQogICAgICAgICAgewogICAgICAgICAgICAgICRlcnJvcnMg
Lj0gIjxsaT5VbmFibGUgdG8gY2htb2QgJGZhaWx1cmUuPC9saT4iOwogICAgICAgICAgfQogICAg
ICAgICAgJGVycm9ycyAuPSAnPC91bD4nOwogICAgIH0KCiAgICAgJG1lc3NhZ2VbJ3R5cGUnXSA9
ICdpbmZvJzsKICAgICAkbWVzc2FnZVsnYm9keSddID0gc3ByaW50ZiggJ0NoYW5nZWQgJWQgZmls
ZXMsICVkIGRpcnMgJXMuICcsICRmaWxlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXJzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVy
cm9ycyApOwp9CgovKioKKiBIYW5kbGUgUmVtb3ZlCiovCmlmICggaXNzZXQoICRfUE9TVFsnYWN0
aW9uJ10sICRfUE9TVFsnaXRlbXMnXSwgJGl0ZW1zICkgJiYgJF9QT1NUWydhY3Rpb24nXSA9PSAn
cmVtb3ZlJyApCnsKICAgICAkbWVzc2FnZSA9IG51bGw7CgogICAgIGZvcmVhY2ggKCAkaXRlbXMg
YXMgJGl0ZW0gKQogICAgIHsKICAgICAgICBpZiAoCiAgICAgICAgICAgICAgZmFsc2UgIT09IHN0
cnBvcyggJGl0ZW0sICcuc3VjdXJpcXVhcmFudGluZScgKQogICAgICAgICAgICkKICAgICAgICB7
CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICBpZiAoIGluX2FycmF5
KCAkaXRlbSwgKGFycmF5KSAkX1BPU1RbJ2l0ZW1zJ10gKSApCiAgICAgICAgewogICAgICAgICAg
ICAgJGJhY2t1cCA9IGJhY2t1cCggJGl0ZW0sICcuc3VjdXJpcXVhcmFudGluZScgKTsKICAgICAg
ICAgICAgIGlmICggZmFsc2UgPT09ICRiYWNrdXAgKQogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICAkbWVzc2FnZVsndHlwZSddID0gJ2JhZCc7CiAgICAgICAgICAgICAgICAgICRtZXNz
YWdlWydib2R5J10gPSBzcHJpbnRmKCAnVW5hYmxlIHRvIGJhY2t1cDogJXMnLCAkaXRlbSApOwog
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgICRkZWxl
dGUgPSBkZWxldGUoICRpdGVtICk7CiAgICAgICAgICAgICBpZiAoIGZhbHNlID09PSAkZGVsZXRl
ICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgJG1lc3NhZ2VbJ3R5cGUnXSA9ICdi
YWQnOwogICAgICAgICAgICAgICAgICAkbWVzc2FnZVsnYm9keSddID0gc3ByaW50ZiggJ1VuYWJs
ZSB0byBkZWxldGU6ICVzJywgJGl0ZW0gKTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICB9CiAgICAgICAgfQogICAgIH0KCiAgICAgaWYgKCAhICRtZXNzYWdlICkKICAgICB7
CiAgICAgICAgIGhlYWRlciggJ0xvY2F0aW9uOiAnIC4gRklMRSAuICc/c3J1biZzdWNjZXNzJyAp
OwogICAgICAgICByZXR1cm47CiAgICAgfQp9CgovKiBIYW5kbGUgZGVsZXRlIHdpdGhvdXQgYmFj
a3VwICovCmlmICggaXNzZXQoICRfUE9TVFsnYWN0aW9uJ10sICRfUE9TVFsnaXRlbXMnXSwgJGl0
ZW1zICkgJiYgJF9QT1NUWydhY3Rpb24nXSA9PSAndW5saW5rJyApCnsKICAgICAkbWVzc2FnZSA9
IG51bGw7CgogICAgIGlmICggaXNzZXQoICRfUE9TVFsnc2NyaXB0J10gKSAmJiAkX1BPU1RbJ3Nj
cmlwdCddID09PSAnMScgKQogICAgIHsKICAgICAgICAgIGZvcmVhY2ggKCAkaXRlbXMgYXMgJGl0
ZW0gKQogICAgICAgICAgewogICAgICAgICAgICAgIGlmICggaW5fYXJyYXkoICRpdGVtLCAoYXJy
YXkpICRfUE9TVFsnaXRlbXMnXSApICkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICRkZWxldGUgPSBkZWxldGUoICRpdGVtICk7CiAgICAgICAgICAgICAgICAgIGlmICggZmFsc2Ug
PT09ICRkZWxldGUgKQogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAk
bWVzc2FnZVsndHlwZSddID0gJ2JhZCc7CiAgICAgICAgICAgICAgICAgICAgICAkbWVzc2FnZVsn
Ym9keSddID0gc3ByaW50ZiggJ1VuYWJsZSB0byBkZWxldGU6ICVzJywgJGl0ZW0gKTsKICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
IH0KICAgICAgICAgICB9CiAgICAgfQogICAgIGVsc2UKICAgICB7CiAgICAgICAgICRtZXNzYWdl
Wyd0eXBlJ10gPSAnYmFkJzsKICAgICAgICAgJG1lc3NhZ2VbJ2JvZHknXSA9ICdUaGlzIGFjdGlv
biByZXF1aXJlZCBqYXZhc2NyaXB0Lic7CiAgICAgfQoKICAgICBpZiAoICEgJG1lc3NhZ2UgKQog
ICAgIHsKICAgICAgICAgIGhlYWRlciggJ0xvY2F0aW9uOiAnIC4gRklMRSAuICc/c3J1biZkZWxl
dGVkJyApOwogICAgICAgICAgcmV0dXJuOwogICAgIH0KfQoKLyogSGFuZGxlIHJlc3RvcmUgKi8K
aWYgKCBpc3NldCggJF9QT1NUWydhY3Rpb24nXSwgJF9QT1NUWydpdGVtcyddLCAkaXRlbXMgKSAm
JiAkX1BPU1RbJ2FjdGlvbiddID09ICdyZXN0b3JlJyApCnsKICAgICAkbWVzc2FnZSA9IG51bGw7
CgogICAgIGZvcmVhY2ggKCAkaXRlbXMgYXMgJGl0ZW0gKQogICAgIHsKICAgICAgICAgaWYgKCBp
bl9hcnJheSggJGl0ZW0sIChhcnJheSkgJF9QT1NUWydpdGVtcyddICkgKQogICAgICAgICB7CiAg
ICAgICAgICAgICAgJHJlc3RvcmUgPSByZXN0b3JlKCAkaXRlbSApOwogICAgICAgICAgICAgIGlm
ICggZmFsc2UgPT09ICRyZXN0b3JlICkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAkbWVzc2FnZVsndHlwZSddID0gJ2JhZCc7CiAgICAgICAgICAgICAgICAgICAkbWVzc2FnZVsn
Ym9keSddID0gc3ByaW50ZiggJ1VuYWJsZSB0byByZXN0b3JlOiAlcycsICRpdGVtICk7CiAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gRWRp
dCBieSBGZXJuYW5kbwogICAgICAgICAgICAgIC8qJGRlbGV0ZSA9IGRlbGV0ZSggJGl0ZW0gKTsK
ICAgICAgICAgICAgICBpZiAoIGZhbHNlID09PSAkZGVsZXRlICkKICAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAkbWVzc2FnZVsndHlwZSddID0gJ2JhZCc7CiAgICAgICAgICAgICAg
ICAgICAkbWVzc2FnZVsnYm9keSddID0gc3ByaW50ZiggJ1VuYWJsZSB0byBkZWxldGU6ICVzJywg
JGl0ZW0gKTsKICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0qLwogICAg
ICAgICB9CiAgICAgfQoKICAgICBpZiAoICEgJG1lc3NhZ2UgKQogICAgIHsKICAgICAgICAgIGhl
YWRlciggJ0xvY2F0aW9uOiAnIC4gRklMRSAuICc/c3J1biZyZXN0b3JlZCcgKTsKICAgICAgICAg
IHJldHVybjsKICAgICB9Cn0KCi8qKgoqIFRhciBpdGVtcy4KKi8KaWYgKCBpc3NldCggJF9QT1NU
WydhY3Rpb24nXSwgJF9QT1NUWydpdGVtcyddLCAkaXRlbXMgKSAmJiAkX1BPU1RbJ2FjdGlvbidd
ID09ICd0YXInICkKewogICAgICRlcnJvciA9IG51bGw7CiAgICAgJHBhdGggPSAnc3VjdXJpLWJh
Y2t1cC0nIC4gdGltZSgpIC4gJy50YXInOwoKICAgICB0cnkKICAgICB7CiAgICAgICAgICRwaGFy
ID0gbmV3IFBoYXJEYXRhKCAkcGF0aCApOwogICAgICAgICAkcGhhci0+U3RhcnRCdWZmZXJpbmco
KTsKICAgICAgICAgZm9yZWFjaCAoICRpdGVtcyBhcyAkaXRlbSApCiAgICAgICAgIHsKICAgICAg
ICAgICAgIGlmICggaW5fYXJyYXkoICRpdGVtLCAoYXJyYXkpICRfUE9TVFsnaXRlbXMnXSApICkK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgJGJhc2UgPSBzdHJfcmVwbGFjZSggJGN3
ZCAuIERTLCAnJywgJGl0ZW0gKTsKCiAgICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAg
ICAgICAgICAgICAgIGlzX2ZpbGUoICRpdGVtICkgJiYKICAgICAgICAgICAgICAgICAgICAgICAh
IGlzX2xpbmsoICRpdGVtICkKICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgICAgICAgJHBoYXItPmFkZEZpbGUoICRpdGVtLCAkYmFzZSAp
OwoKICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgfQoK
ICAgICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICAgICAgaXNfZGlyKCAk
aXRlbSApICYmCiAgICAgICAgICAgICAgICAgICAgICAgISBpc19saW5rKCAkaXRlbSApCiAgICAg
ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICAgICRkaXJlY3RvcnkgPSBuZXcgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IoICRpdGVtLCBG
aWxlc3lzdGVtSXRlcmF0b3I6OlNLSVBfRE9UUyApOwogICAgICAgICAgICAgICAgICAgICAgICRp
dGVyYXRvciAgPSBuZXcgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvciggJGRpcmVjdG9yeSApOwoK
ICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICggJGl0ZXJhdG9yIGFzICRpdGVtICkKICAg
ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggISBp
c19saW5rKCAkaXRlbSApICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICRiYXNlID0gc3RyX3JlcGxhY2UoICRjd2QgLiBEUywgJycs
ICRpdGVtICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBoYXItPmFkZEZpbGUo
ICRpdGVtLCAkYmFzZSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICAgICAgJHBoYXItPlN0b3BCdWZmZXJpbmcoKTsKICAgICB9CiAgICAgY2F0Y2ggKCBF
eGNlcHRpb24gJGUgKQogICAgIHsKICAgICAgICAgJGVycm9yID0gJGUtPmdldE1lc3NhZ2UoKTsK
ICAgICB9CgogICAgIGlmICggJGVycm9yID09PSBudWxsICkKICAgICB7CiAgICAgICAgICAkbWVz
c2FnZVsndHlwZSddID0gJ2dvb2QnOwogICAgICAgICAgJG1lc3NhZ2VbJ2JvZHknXSA9IHNwcmlu
dGYoICd0YXIgY3JlYXRlZCBhcyAlcy4nLCAkcGF0aCApOwogICAgIH0KICAgICBlbHNlCiAgICAg
ewogICAgICAgICAgJG1lc3NhZ2VbJ3R5cGUnXSA9ICdiYWQnOwogICAgICAgICAgJG1lc3NhZ2Vb
J2JvZHknXSA9ICRlcnJvcjsKICAgICB9Cn0KCi8qKgoqIFVudGFyIGl0ZW0uCiovCmlmICggaXNz
ZXQoICRfUE9TVFsnYWN0aW9uJ10sICRfUE9TVFsnaXRlbXMnXSwgJGl0ZW1zICkgJiYgJF9QT1NU
WydhY3Rpb24nXSA9PSAndW50YXInICkKewogICAgJG1lc3NhZ2UgPSBudWxsOwogICAgJGNvdW50
ID0gMDsKCiAgICBmb3JlYWNoICggJGl0ZW1zIGFzICRpdGVtICkKICAgIHsKICAgICAgICBpZiAo
IGluX2FycmF5KCAkaXRlbSwgKGFycmF5KSAkX1BPU1RbJ2l0ZW1zJ10gKSApCiAgICAgICAgewog
ICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgJHBoYXIgPSBu
ZXcgUGhhckRhdGEoICRpdGVtICk7CiAgICAgICAgICAgICAgICAgJHBoYXItPmV4dHJhY3RUbygg
JGN3ZCwgbnVsbCwgdHJ1ZSApOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2F0Y2ggKCBF
eGNlcHRpb24gJGUgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICRtZXNzYWdlWyd0
eXBlJ10gPSAnYmFkJzsKICAgICAgICAgICAgICAgICAkbWVzc2FnZVsnYm9keSddID0gJGUtPmdl
dE1lc3NhZ2UoKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KCiAgICAg
ICAgICAgICAkY291bnQrKzsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCAhICRtZXNzYWdlICkK
ICAgIHsKICAgICAgICAgaGVhZGVyKCAnTG9jYXRpb246ICcgLiBGSUxFIC4gJz9zcnVuJnVudGFy
cmVkPScgLiAkY291bnQgKTsKICAgICAgICAgcmV0dXJuOwogICAgfQp9CgovKioKKiBTdWNjZXNz
ZnVsIHJlc3RvcmUgbWVzc2FnZS4KKi8KaWYgKCBpc3NldCggJF9HRVRbJ3Jlc3RvcmVkJ10gKSAp
CnsKICAgICAkbWVzc2FnZVsndHlwZSddID0gJ2dvb2QnOwogICAgICRtZXNzYWdlWydib2R5J10g
PSAnUmVzdG9yZWQgT0snOwp9CgovKioKKiBTdWNjZXNzZnVsIHJlbW92ZSBtZXNzYWdlLgoqLwpp
ZiAoIGlzc2V0KCAkX0dFVFsnc3VjY2VzcyddICkgKQp7CiAgICAgJG1lc3NhZ2VbJ3R5cGUnXSA9
ICdnb29kJzsKICAgICAkbWVzc2FnZVsnYm9keSddID0gJ0JhY2t1cCAmIERlbGV0ZSBPSyc7Cn0K
Ci8qKgoqIFN1Y2Nlc3NmdWwgcmVtb3ZlIHNwYW0uCiovCmlmICggaXNzZXQoICRfR0VUWydzcGFt
J10sICRfR0VUWydyZW1vdmVkJ10sICRfR0VUWydmb3VuZCddICkgKQp7CiAgICAgJG1lc3NhZ2Vb
J3R5cGUnXSA9ICdpbmZvJzsKICAgICAkbWVzc2FnZVsnYm9keSddID0gc3ByaW50ZiggJ0ZvdW5k
ICVkIGl0ZW1zLCAlZCBiYWNrZWQgdXAgJiBjbGVhcmVkLicsIChpbnQpJF9HRVRbJ2ZvdW5kJ10s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoaW50KSRfR0VUWydyZW1vdmVkJ10gKTsKfQoKLyoqCiogU3Vj
Y2Vzc2Z1bCBkZWxldGUuCiovCmlmICggaXNzZXQoICRfR0VUWyAnZGVsZXRlZCcgXSApICkKewog
ICAgICRtZXNzYWdlWyd0eXBlJ10gPSAnaW5mbyc7CiAgICAgJG1lc3NhZ2VbJ2JvZHknXSA9ICdJ
dGVtcyByZW1vdmVkIE9LJzsKfQoKLyoqCiogU3VjY2Vzc2Z1bCB1bnRhci4KKi8KaWYgKCBpc3Nl
dCggJF9HRVRbJ3VudGFycmVkJ10gKSApCnsKICAgICAkbWVzc2FnZVsndHlwZSddID0gJ2luZm8n
OwogICAgICRtZXNzYWdlWydib2R5J10gPSBzcHJpbnRmKCAnJWQgbnVtYmVyIG9mIGFyY2hpdmVz
IHdlcmUgdW50YXJyZWQuJywgKGludCkkX0dFVFsndW50YXJyZWQnXSApOwp9CgovKioKKiBHZW5l
cmF0ZSBuYXZpZ2F0aW9uLgoqLwokbGlua3MgPSBhcnJheSgpOwoKaWYgKCBwcmVnX21hdGNoX2Fs
bCggJ0AoW14vXFxcXF0rKUAnLCAkZGlyLCAkbSApICkKewogICAgIGZvcmVhY2ggKCAkbVsxXSBh
cyAkaW5kZXggPT4gJHZhbHVlICkKICAgICB7CiAgICAgICAgICRsaW5rc1tdID0gYXJyYXkoICdu
YW1lJyA9PiAkdmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXRoJyA9PiBqb2lu
KCAnLycsIGFycmF5X3NsaWNlKCAkbVsxXSwgMCwgJGluZGV4ICsgMSApICkgKTsKICAgICB9CiAg
ICAgdW5zZXQoICRtICk7Cn0KZWxzZQp7CiAgICAgJGxpbmtzW10gPSBhcnJheSggJ25hbWUnID0+
ICdIb21lJywgJ3BhdGgnID0+ICcnICk7Cn0KCi8qKgoqIFBhdGggcHJlZml4IGZvciBsaW5rcy4K
Ki8KJHByZWZpeCA9ICcnOwppZiAoICRkaXIgIT09IG51bGwgJiYgZmFsc2UgPT09IHN0cnBvcygg
UEhQX09TLCAnV0lOJyApICkKewogICAgICRwcmVmaXggPSAnLyc7Cn0KCj8+CjwhRE9DVFlQRSBo
dG1sPgo8aHRtbCBsYW5nPSJlbiI+Cgo8aGVhZD4KICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KICAgICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCxub2ZvbGxvdyI+
CiAgICAgICA8dGl0bGU+RmlsZU1hbmFnZXI8L3RpdGxlPgoKICAgICAgIDwhLS0gTG9hZCBDU1Mg
LS0+CiAgICAgICA8c3R5bGU+CiAgICAgICBib2R5IHsgYmFja2dyb3VuZDogI0YyRjFFRjsgZm9u
dC1zaXplOiAxNHB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBBcmlhbDsg
Y29sb3I6ICM1NTU7IH0KICAgICAgICNjb250YWluZXIgeyBiYWNrZ3JvdW5kOiAjZmZmOyBib3Jk
ZXI6IDFweCBzb2xpZCAjZGRkOyBtYXJnaW46IDQwcHggYXV0bzsgcGFkZGluZzogMzBweDsgd2lk
dGg6IDc1JTsgfQogICAgICAgI25hdiB7IG1hcmdpbjogNHB4IDA7IHRleHQtYWxpZ246IHJpZ2h0
OyB9CiAgICAgICAjbmF2IGE6YWZ0ZXIgeyBjb250ZW50OiAiIC8gIjsgfQogICAgICAgI25hdiBh
Omxhc3QtY2hpbGQ6YWZ0ZXIgeyBjb250ZW50OiAiIjsgfQogICAgICAgI25hdiBhOmxhc3QtY2hp
bGQgeyBjb2xvcjogIzc1MzU2ODsgfQogICAgICAgdGFibGUgeyBtYXJnaW46IDEycHggMDsgd2lk
dGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlci1zcGFjaW5nOiAwOyB9
CiAgICAgICB0YWJsZSB0aGVhZCB0ZCB7IGJhY2tncm91bmQ6ICM3NjM1Njg7IGNvbG9yOiAjZmZm
OyBmb250LXdlaWdodDogYm9sZDsgY3Vyc29yOiBwb2ludGVyOyB9CiAgICAgICB0YWJsZSB0aGVh
ZCB0ZDpob3ZlciB7IGJhY2tncm91bmQ6ICM4YTNlNzk7IH0KICAgICAgIHRhYmxlIHRkIHsgcGFk
ZGluZzogMTJweCAxNHB4OyB9CiAgICAgICB0YWJsZSB0Ym9keSB0cjpob3ZlciAgIHsgYmFja2dy
b3VuZDogIzg5NzI5ZThhOyBjb2xvcjogIzAwMDsgYm9yZGVyOiAwOyB9CiAgICAgICB0YWJsZSB0
Ym9keSB0cjpob3ZlciBhIHsgY29sb3I6ICMwMDA7IH0KICAgICAgIHRhYmxlIHRib2R5IHRkIHsg
Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7IH0KICAgICAgICNhY3Rpb25zIHsgdGV4dC1h
bGlnbjogcmlnaHQ7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogICAgICAgaW5wdXRbdHlwZT0i
c3VibWl0Il0sIGJ1dHRvbiB7IGJhY2tncm91bmQ6ICM4OTcyOUU7IHBhZGRpbmc6IDdweDsgYm9y
ZGVyLXJhZGl1czogNHB4OyBib3JkZXI6IDA7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogYm9s
ZDsgY3Vyc29yOiBwb2ludGVyOyB9CiAgICAgICBpbnB1dFt0eXBlPSJzdWJtaXQiXTpob3Zlciwg
YnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogIzc2MzU2ODsgfQogICAgICAgc2VsZWN0IHsgcGFk
ZGluZzogNnB4OyBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyBib3JkZXItcmFkaXVzOiA0cHg7IGJh
Y2tncm91bmQ6ICNmZmY7IGNvbG9yOiAjNTU1OyB9CiAgICAgICBhIHsgdGV4dC1kZWNvcmF0aW9u
OiBub25lOyBjb2xvcjogIzg5NzI5RTsgfQogICAgICAgYTpob3ZlciB7IGNvbG9yOiAjNzYzNTY4
OyB9CiAgICAgICAuaGlkZSB7IGRpc3BsYXk6IG5vbmU7IH0KICAgICAgIC5zZWxlY3RlZCB7IGJh
Y2tncm91bmQ6ICM4OTcyOWUhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiFpbXBvcnRhbnQ7IH0KICAg
ICAgIC5zZWxlY3RlZCBhIHsgY29sb3I6ICNmZmYhaW1wb3J0YW50OyB9CiAgICAgICAuaW5mbyB1
bCB7IG1hcmdpbjogNHB4IDA7IHBhZGRpbmc6IDhweCAxOHB4OyB9CiAgICAgICAuZ29vZCB7IGJh
Y2tncm91bmQ6ICNkZmYwZDg7IGJvcmRlcjogMXB4IHNvbGlkICNkNmU5YzY7IG1hcmdpbjogOHB4
IDA7IHBhZGRpbmc6IDEycHggMTRweDsgY29sb3I6ICM0Njg4NDc7IH0KICAgICAgIC5iYWQgeyAg
YmFja2dyb3VuZDogI2YyZGVkZTsgYm9yZGVyOiAxcHggc29saWQgI2VlZDNkNzsgbWFyZ2luOiA4
cHggMDsgcGFkZGluZzogMTJweCAxNHB4OyBjb2xvcjogI2I5NGE0ODsgfQogICAgICAgLmluZm8g
eyBiYWNrZ3JvdW5kOiAjZDllZGY3OyBib3JkZXI6IDFweCBzb2xpZCAjYmNlOGYxOyBtYXJnaW46
IDhweCAwOyBwYWRkaW5nOiAxMnB4IDE0cHg7IGNvbG9yOiAjM2E4N2FkOyB9CiAgICAgICAuY2xv
c2UgeyB0ZXh0LWFsaWduOiByaWdodDsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTZweDsg
bWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgICAgLmRpciB7CiAgICBiYWNrZ3JvdW5kOiB1cmwo
ZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZ
QUFBQWY4LzloQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFCR2RCVFVFQUFMSHh2RUU5
UGdBQUFDQmpTRkpOQUFDSEd3QUFpLzhBQVA0NUFBQ0NqZ0FBZlM0QUFPdnVBQUEwNlFBQUkyYVFR
OGwxQUFBQk5FbEVRVlI0MnFTU1BTOURZUlRIZjdlcWhFaGJHNE8zUlVyRVpERkp2SXdtQnB2RjJz
VG1FMWhJMEU5ZzV4T3dHb2swYUVVaUppSXR5VzNsbG5wZWp1SHExU2JDdmVsSlR2TGtKUDkvZnY5
ekhrZEVhS2RpdEZseGdHSnU4UUVZYVF6clhrMTE5ZmJNWkxLbitYOGRSSVRDd1lKWWV4ZDA2VHdu
bDl1ejdzMytmRkpFK0t2ajN5NWdERmJmQTlBL09VVGxkaUQ1OGZ6cVh1L08wZGlUaUlBdmRLZTN6
dEpCQkdzc0dBMzFVa0EydXJ4R0xESCtLM1YrWnlQVmVEc2lRakczSkU3RTVRbTRtZXhKMmlkUW1v
bk5vMGdHaGIzVlZCREJLSVhWRitIVlpneWoxTThacmRKUWV3eVBMMmxmRXhCb2pmTmVEUS9BQzBZ
M0dkaFBCYlZLK0FoTzJkZTBFRVF3c0IzbFZnS2pOSGdSREJLZHZxYVpBSzhhNFlqZEFZRUREQit1
REY0NTBCZnhJNzJ0SHo5TmZRMEFYWjIzMVh0bElKSUFBQUFBU1VWT1JLNUNZSUk9KSBuby1yZXBl
YXQ7CiAgICBoZWlnaHQ6IDE1cHg7CiAgICB3aWR0aDogIDI0cHg7CiAgICBkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7Cn0KICAgICAgLmZpbGUgewogICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uv
cG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBTUFBQUFvTFE5VEFB
QUF3RkJNVkVYejlmdjQrZnlEa2JHRGtiQ0hrNjZEa3JHQ2tiQ0RrckR1OHZyeTlmdjUrdno0K2Z1
R21yNk1uOEtHbEs2TGxxdnc5UHVUcHNhYXJNdWlzOCtvdU5Pc3ZOWGU2UGpkNS9mZjZQZms3UG5u
N3ZudDh2cno5dnZjNS9mZjZmamU2UGZoNnZqcThQbjIrUHVRbXFqbTd2bnc5ZnZ5OXZ1V25hVDEr
UHYzK2Z1Vm5hU2JvYUdocEp5bnFKaW5xSm10cTVXeXI1S3lycEs3dEl1M3NZNjNzWSsvdG9qZ3lJ
L1VzbWpVc21uYXZYelZzbW4vLy84QUFBQUFBQUFBQUFBQUFBQVlpWVN2QUFBQVBIUlNUbFAvLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy93QzdpT3VuQUFBQUFXSkxSMFEvUG1Nd2RRQUFBQWx3U0ZsekFBQUFT
QUFBQUVnQVJzbHJQZ0FBQUkxSlJFRlVHTk5keXVrU2dpQVloV0d4bEhiYlRZSEt0TVcwYktPeTd2
KytVZzVPVXkvRG4rYzd4dnN2by9oUzk0V1c2aWtydU1Ta0hST1N2NlNHMjI0NDZIWlc5L3h4Qlp5
YmZNTU5YblFDWk92SmVGU08raG5nd0ZpRHFZNkFOTkNMSUFVa2thK0svQVN3OS9UQzJ3TENaVlVJ
Y09icVBsdE1IVUJQQ0xkOHJxZ0RUSXZhRnFVMk5XdUFuejdaNXlpTld5ZzdNd0FBQUFCSlJVNUVy
a0pnZ2c9PSkgbm8tcmVwZWF0OwogICAgaGVpZ2h0OiAxNXB4OwogICAgd2lkdGg6IDI0cHg7CiAg
ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KICAgICAgIDwvc3R5bGU+CjwvaGVhZD4KCjxib2R5
PgogICAgICA8IS0tIENvbnRhaW5lciAtLT4KICAgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KCiAg
ICAgIDxhIGhyZWY9Ijw/cGhwIGVjaG8gRklMRTsgPz4/dGltZT08P3BocCBlY2hvIHRpbWUoKTsg
Pz4iIGNsYXNzPSJjbG9zZSIgdGl0bGU9IlNlbGYgZGVzdHJ1Y3QgOkQiPlJlbW92ZSBGaWxlTWFu
YWdlcjwvYT4KCiAgICAgIDwhLS0gTmF2aWdhdGlvbiAtLT4KICAgICAgPGRpdiBpZD0ibmF2Ij4K
ICAgICAgICAgIDw/cGhwIGZvcmVhY2ggKCAkbGlua3MgYXMgJGxpbmsgKTogPz4KICAgICAgICAg
IDxhIGhyZWY9Ijw/cGhwIGVjaG8gRklMRTsgPz4/c3J1biZhbXA7ZGlyPTw/cGhwIGVjaG8gaHRt
bHNwZWNpYWxjaGFycyggJHByZWZpeCAuICRsaW5rWydwYXRoJ10gKTsgPz4mYW1wO3RpbWU9PD9w
aHAgZWNobyB0aW1lKCk7ID8+Ij48P3BocCBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoICRsaW5rWydu
YW1lJ10gKTsgPz48L2E+CiAgICAgICAgICA8P3BocCBlbmRmb3JlYWNoOyA/PgogICAgICA8L2Rp
dj4KCiAgICAgIDw/cGhwIGlmICggISBpbml0KCkgKTogPz4KICAgICAgPGRpdiBjbGFzcz0iYmFk
Ij4KICAgICAgICBEaXJlY3RvcnkgaXMgbm90IHdyaXRhYmxlLCB0aGUgIi5zdWN1cmlxdWFyYW50
aW5lIiBkaXJlY3Rvcnkgd2lsbCBub3QgYmUgYWJsZSB0byBiZSBjcmVhdGVkLgogICAgICA8L2Rp
dj4KICAgICAgPD9waHAgZW5kaWY7ID8+CgogICAgICA8P3BocCBpZiAoICRkaXIgPT09IG51bGwg
KTogPz4KICAgICAgPGRpdiBjbGFzcz0iYmFkIj4KICAgICAgICBZb3Ugc3BlY2lmaWVkIGEgaW52
YWxpZCBkaXJlY3RvcnksIG9yIHdhcyB0cnlpbmcgdG8gbGVhdmUgdGhlIGN1cnJlbnQgd29ya2lu
ZyBhcmVhLgogICAgICA8L2Rpdj4KICAgICAgPD9waHAgZWxzZWlmICggaXNfYXJyYXkoICRpdGVt
cyApICYmICEgY291bnQoICRpdGVtcyApICk6ID8+CiAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgog
ICAgICAgIFRoaXMgZGlyZWN0b3J5IGlzIGVtcHR5LgogICAgICA8L2Rpdj4KICAgICAgPD9waHAg
ZWxzZWlmICggJGl0ZW1zID09PSBudWxsICYmICRkaXIgIT09IG51bGwgKTogPz4KICAgICAgPGRp
diBjbGFzcz0iaW5mbyI+CiAgICAgICAgVGhpcyBkaXJlY3RvcnkgYXBwZWFycyB0byBiZSBlbXB0
eSBiZWNhdXNlIGl0J3MgdW5yZWFkYWJsZS4KICAgICAgPC9kaXY+CiAgICAgIDw/cGhwIGVuZGlm
OyA/PgoKICAgICAgPD9waHAgaWYgKCBpc3NldCggJG1lc3NhZ2UgKSApOiA/PgogICAgICA8ZGl2
IGNsYXNzPSI8P3BocCBlY2hvICRtZXNzYWdlWyd0eXBlJ107ID8+Ij4KICAgICAgICA8P3BocCBl
Y2hvICRtZXNzYWdlWydib2R5J107ID8+CiAgICAgIDwvZGl2PgogICAgICA8P3BocCBlbmRpZjsg
Pz4KCiAgICAgIDwhLS0gTWFpbiBGb3JtIC0tPgogICAgICA8Zm9ybSBpZD0iZm9ybSIgbWV0aG9k
PSJwb3N0IiBhY3Rpb249Ijw/cGhwIGVjaG8gRklMRTsgPz4/c3J1biZhbXA7dGltZT08P3BocCBl
Y2hvIHRpbWUoKTsgPz4iIGFjY2VwdC1jaGFyc2V0PSJ1dGYtOCIgYXV0b2NvbXBsZXRlPSJvZmYi
PgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkaXIiIHZhbHVlPSI8P3BocCBlY2hv
IGh0bWxzcGVjaWFsY2hhcnMoICRkaXIgKTsgPz4iPgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVu
IiBuYW1lPSJzY3JpcHQiIGlkPSJzY3JpcHQiIHZhbHVlPSIwIj4KCiAgICAgIDxkaXYgaWQ9ImFj
dGlvbnMiPgogICAgICA8c2VsZWN0IG5hbWU9ImFjdGlvbiI+CiAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iIj5TZWxlY3QgQWN0aW9uPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0icmVtb3Zl
Ij5CYWNrdXAgJiBSZW1vdmU8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJyZXN0b3Jl
Ij5SZXN0b3JlPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0idW5saW5rIj5SZW1vdmU8
L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJjaG1vZCI+Q2htb2Q8L29wdGlvbj4KICAg
ICAgICA8b3B0aW9uIHZhbHVlPSJzcGFtIj5TcGFtIFJlbW92ZXI8L29wdGlvbj4KICAgICAgICA8
P3BocCBpZiAoIGNsYXNzX2V4aXN0cyggJ1BoYXInICkgKTogPz4KICAgICAgICA8b3B0aW9uIHZh
bHVlPSJ0YXIiPlRhcjwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9InVudGFyIj5VbnRh
cjwvb3B0aW9uPgogICAgICAgIDw/cGhwIGVuZGlmOyA/PgogICAgICAgIDxvcHRpb24gdmFsdWU9
ImNsZWFudXAtc2NhbiI+c2NhbmRpcnMgKG5vaXNlKTwvb3B0aW9uPgogICAgICAgIDxvcHRpb24g
dmFsdWU9ImNsZWFudXAtc2tpcCI+c2tpcGRpcnMgKG5vaXNlKTwvb3B0aW9uPgogICAgICA8L3Nl
bGVjdD4KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlByb2Nlc3MiPgogICAgICA8
YnV0dG9uIGlkPSJjaGVja0FsbCIgY2xhc3M9ImhpZGUiPlNlbGVjdCBBbGw8L2J1dHRvbj4KICAg
ICAgPC9kaXY+CgogICAgICA8dGFibGU+CiAgICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAg
ICAgICA8dGQgaWQ9Im5hbWUiPkZpbGUvRm9sZGVyPC90ZD4KICAgICAgICAgICAgPHRkIGlkPSJz
aXplIj5GaWxlc2l6ZTwvdGQ+CiAgICAgICAgICAgIDx0ZCBpZD0iZXh0ZW5zaW9uIj5FeHRlbnNp
b248L3RkPgogICAgICAgICAgICA8dGQgaWQ9ImRhdGUiPkxhc3QgTW9kaWZpZWQ8L3RkPgogICAg
ICAgICAgICA8dGQgaWQ9InBlcm0iPlBlcm1pc3Npb25zPC90ZD4KICAgICAgICAgICAgPHRkIGlk
PSJsaW5rIj5TeW1saW5rPC90ZD4KICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJjaGVja2Jv
eCI+PC90ZD4KICAgICAgPC90cj4KICAgICAgPC90aGVhZD4KICAgICAgPHRib2R5PgoKICAgICAg
PD9waHAgZm9yZWFjaCAoICRpdGVtcyBhcyAkbmFtZSA9PiAkcGF0aCApOiA/PgogICAgICA8dHI+
CiAgICAgICAgICA8P3BocCBpZiAoIGlzX2ZpbGUoICRwYXRoICkgKToKICAgICAgICAgIC8vcHJl
cGFyZSBmaWxlcyB0byBvcGVuIG9uIGNsZWFudXAKICAgICAgICAgICRjZmlsZSA9IGh0bWxzcGVj
aWFsY2hhcnMoJHByZWZpeCAuICRsaW5rWydwYXRoJ10pIC4gJy8nIC4gJG5hbWU7CiAgICAgICAg
ICAkY3dkZiA9IHN0cl9yZXBsYWNlKCdcXCcgLCAnLycgLCBodG1sc3BlY2lhbGNoYXJzKGRpcm5h
bWUoX19GSUxFX18pKSk7CiAgICAgICAgICAkY2ZpbGUgPSBzdHJfcmVwbGFjZSgkY3dkZiAsICcu
JyAsIGh0bWxzcGVjaWFsY2hhcnMoJGNmaWxlKSk7CiAgICAgICAgICAvL2VuZCBwcmVwYXJlID8+
CiAgICAgICAgICAgIDx0ZCBkYXRhLXRpdGxlPSI8P3BocCBlY2hvICJiLSIgLiBodG1sc3BlY2lh
bGNoYXJzKCAkbmFtZSApOyA/PiI+PGkgY2xhc3M9ImZpbGUiPjwvaT48P3BocCBlY2hvKCc8YSBo
cmVmPSJzdWN1cmktY2xlYW51cC5waHA/c3J1biZuZXcmc2VlZmlsZT0nIC4gYmFzZTY0X2VuY29k
ZSggJGNmaWxlICkgLiAnIiB0YXJnZXQ9Il9ibGFuayI+JyAuIGh0bWxzcGVjaWFsY2hhcnMoICRu
YW1lICkgLiAnPC9hPicpOyAgPz48L3RkPgogICAgICAgICAgICA8P3BocCBlbHNlOiA/PgogICAg
ICAgICAgICA8dGQgZGF0YS10aXRsZT0iPD9waHAgZWNobyAiYS0iIC4gaHRtbHNwZWNpYWxjaGFy
cyggJG5hbWUgKTsgPz4iPjxpIGNsYXNzPSJkaXIiPjwvaT48YSBocmVmPSI8P3BocCBlY2hvIEZJ
TEU7ID8+P3NydW4mYW1wO2Rpcj08P3BocCBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoICRwYXRoICk7
ID8+JmFtcDt0aW1lPTw/cGhwIGVjaG8gdGltZSgpOyA/PiI+PD9waHAgZWNobyBodG1sc3BlY2lh
bGNoYXJzKCAkbmFtZSApOyA/PjwvYT48L3RkPgogICAgICAgICAgICA8P3BocCBlbmRpZjsgPz4K
ICAgICAgICAgICAgPHRkIGRhdGEtdGl0bGU9Ijw/cGhwIGVjaG8gbnVtYmVyX2Zvcm1hdCggZmls
ZXNpemUoICRwYXRoICkgLyAxMDI0IC8gMTAyNCAvIDEwMjQsIDMwICk7ID8+Ij48P3BocCBlY2hv
IGZvcm1hdFNpemUoIGZpbGVzaXplKCAkcGF0aCApICk7ID8+PC90ZD4KICAgICAgICAgICAgPHRk
IGRhdGEtdGl0bGU9Ijw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycyhwYXRoaW5mbygkcGF0aCwg
UEFUSElORk9fRVhURU5TSU9OKSk7ID8+Ij48P3BocCBlY2hvIGh0bWxzcGVjaWFsY2hhcnMocGF0
aGluZm8oJHBhdGgsIFBBVEhJTkZPX0VYVEVOU0lPTikpOyA/PjwvdGQ+CiAgICAgICAgICAgIDx0
ZCBkYXRhLXRpdGxlPSI8P3BocCBlY2hvIGZpbGVtdGltZSggJHBhdGggKTsgID8+Ij48P3BocCBl
Y2hvIGRhdGUoICdkUyBNIFkgSDppOnMnLCBmaWxlbXRpbWUoICRwYXRoICkgKTsgID8+PC90ZD4K
ICAgICAgICAgICAgPHRkIGRhdGEtdGl0bGU9Ijw/cGhwIGVjaG8gc3Vic3RyKCBzcHJpbnRmKCAn
JW8nLCBmaWxlcGVybXMoICRwYXRoICkgKSwgLTMgKTsgPz4iPjw/cGhwIGVjaG8gc3Vic3RyKCBz
cHJpbnRmKCAnJW8nLCBmaWxlcGVybXMoICRwYXRoICkgKSwgLTMgKTsgPz48L3RkPgogICAgICAg
ICAgICA8dGQgZGF0YS10aXRsZT0iPD9waHAgZWNobyBpc19saW5rKCAkcGF0aCApID8gJ1knIDog
J04nOyAgPz4iPjw/cGhwIGVjaG8gaXNfbGluayggJHBhdGggKSA/ICdZJyA6ICdOJzsgID8+PC90
ZD4KICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iaXRlbXNbXSIg
dmFsdWU9Ijw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycyggJHBhdGggKTsgPz4iPjwvdGQ+CiAg
ICAgIDwvdHI+CiAgICAgIDw/cGhwIGVuZGZvcmVhY2g7ID8+CgogICAgICA8L3Rib2R5PgogICAg
ICA8L3RhYmxlPgogICAgICA8L2Zvcm0+CgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gTG9hZCBK
UyAtLT4KICAgICAgPHNjcmlwdCBzcmM9Ii8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0yLjEuNC5t
aW4uanMiPjwvc2NyaXB0PgogICAgICA8c2NyaXB0PgogICAgICAgIC8vIEhpZGUgQ2hlY2tib3hl
cyBzaW5jZSBKUyBpcyBlbmFibGVkCiAgICAgICAgJCgnaW5wdXRbdHlwZT0iY2hlY2tib3giXScp
LmVhY2goZnVuY3Rpb24oKXsKICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5hZGRDbGFzcygn
aGlkZScpCiAgICAgICAgfSkKICAgICAgICAvLyBTaG93IFNlbGVjdCBhbGwKICAgICAgICAkKCcj
Y2hlY2tBbGwnKS5yZW1vdmVDbGFzcygnaGlkZScpCgogICAgICAgIC8vIFNldHVwIFNlbGVjdCBh
bGwgZXZlbnQKICAgICAgICAkKCcjY2hlY2tBbGwnKS5jbGljayhmdW5jdGlvbihlKSB7CiAgICAg
ICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgbGV0IGJ0biA9ICQodGhpcyk7
CiAgICAgICAgICAgIGJ0bi50b2dnbGVDbGFzcygnY2hlY2tlZCcpOwogICAgICAgICAgICAkKCdp
bnB1dFt0eXBlPSJjaGVja2JveCJdJykuZWFjaChmdW5jdGlvbigpewogICAgICAgICAgICAgICAg
JCh0aGlzKS5wcm9wKCdjaGVja2VkJywgYnRuLmhhc0NsYXNzKCdjaGVja2VkJykpOwogICAgICAg
ICAgICAgICAgYnRuLmhhc0NsYXNzKCdjaGVja2VkJykgPyAkKHRoaXMpLnBhcmVudCgpLnBhcmVu
dCgpLmFkZENsYXNzKCdzZWxlY3RlZCcpIDogJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1v
dmVDbGFzcygnc2VsZWN0ZWQnKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAg
IC8vIHRhYmxlIHNvcnQgLS0tLS0tLS0tCiAgICAgICAgZnVuY3Rpb24gc29ydFRhYmxlKGYsbil7
CiAgICAgICAgICBsZXQgcm93cyA9ICQoJ3Rib2R5IHRyJykuZ2V0KCk7CgogICAgICAgICAgcm93
cy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsKICAgICAgICAgICAgbGV0IEEgPSBhLmNoaWxkcmVuW25d
LmRhdGFzZXQudGl0bGUKICAgICAgICAgICAgbGV0IEIgPSBiLmNoaWxkcmVuW25dLmRhdGFzZXQu
dGl0bGUKCiAgICAgICAgICAgIGlmKEEgPCBCKSB7CiAgICAgICAgICAgICAgcmV0dXJuIC0xKmY7
CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoQSA+IEIpIHsKICAgICAgICAgICAgICByZXR1
cm4gMSpmOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgfSk7
CgogICAgICAgICAgbGV0IHRib2R5ID0gJCgndGFibGUnKS5jaGlsZHJlbigndGJvZHknKQogICAg
ICAgICAgJC5lYWNoKHJvd3MsIGZ1bmN0aW9uKGluZGV4LCByb3cpIHsKICAgICAgICAgICAgdGJv
ZHkuYXBwZW5kKHJvdyk7CiAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIGxldCBudW0g
PSAxOwogICAgICAgIGxldCB0ZXggPSAxOwoKICAgICAgICAkKCIjbmFtZSwgI2xpbmssICNleHRl
bnNpb24iKS5jbGljayhmdW5jdGlvbigpewogICAgICAgICAgICB0ZXggKj0gLTE7CiAgICAgICAg
ICAgIGxldCBuID0gJCh0aGlzKS5wcmV2QWxsKCkubGVuZ3RoOwogICAgICAgICAgICBzb3J0VGFi
bGUodGV4LG4pOwogICAgICAgIH0pOwoKICAgICAgICAkKCIjc2l6ZSwgI2RhdGUsICNwZXJtIiku
Y2xpY2soZnVuY3Rpb24oKXsKICAgICAgICAgICAgdGV4ICo9IC0xOwogICAgICAgICAgICBsZXQg
biA9ICQodGhpcykucHJldkFsbCgpLmxlbmd0aDsKICAgICAgICAgICAgc29ydFRhYmxlKHRleCxu
KTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gdGFibGUgc29ydCAtLS0tLS0tLS0KCiAgICAgICAg
Ly8gdGFibGUgcm93IHNlbGVjdCAtLS0tLS0tLS0KCiAgICAgICAgJCgndGJvZHknKS5jaGlsZHJl
bigpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgIC8vIFRvZ2dsZSBTZWxlY3Rl
ZCBDbGFzcwogICAgICAgICAgJCh0aGlzKS50b2dnbGVDbGFzcygnc2VsZWN0ZWQnKTsKCiAgICAg
ICAgICAvLyBUb2dnbGUgQ2hlY2tib3ggKEhpZGRlbikKICAgICAgICAgIGxldCBjID0gJCh0aGlz
KS5maW5kKCdpbnB1dCcpCiAgICAgICAgICBjLnByb3AoJ2NoZWNrZWQnLCAkKHRoaXMpLmhhc0Ns
YXNzKCdzZWxlY3RlZCcpKTsKCiAgICAgICAgICAvLyBIYW5kbGUgU2hpZnQgQ2xpY2sKICAgICAg
ICAgIGlmIChlLnNoaWZ0S2V5KSB7CiAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIGxhc3QgY2xp
Y2tlZAogICAgICAgICAgICAgIGxldCBsYyA9ICQodGhpcykucGFyZW50KCkuZmluZCgnLmxhc3Qt
Y2xpY2tlZCcpCiAgICAgICAgICAgICAgaWYobGMubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAg
ICAgICAvLyBTZWxlY3QgYWxsIGluYmV0d2VlbiBsYXN0IGNsaWNrZWQKICAgICAgICAgICAgICAg
IGlmKGxjLmluZGV4KCkgPiAkKHRoaXMpLmluZGV4KCkpIHsKICAgICAgICAgICAgICAgICAgJC5l
YWNoKGxjLnByZXZVbnRpbCgkKHRoaXMpKSwgZnVuY3Rpb24oayx2KSB7CiAgICAgICAgICAgICAg
ICAgICAgJCh2KS5hZGRDbGFzcygnc2VsZWN0ZWQnKQogICAgICAgICAgICAgICAgICAgICQodiku
ZmluZCgnaW5wdXQnKS5wcm9wKCdjaGVja2VkJywgdHJ1ZSkKICAgICAgICAgICAgICAgICAgfSkK
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICQuZWFjaChsYy5uZXh0
VW50aWwoJCh0aGlzKSksIGZ1bmN0aW9uKGssdikgewogICAgICAgICAgICAgICAgICAgICQodiku
YWRkQ2xhc3MoJ3NlbGVjdGVkJykKICAgICAgICAgICAgICAgICAgICAkKHYpLmZpbmQoJ2lucHV0
JykucHJvcCgnY2hlY2tlZCcsIHRydWUpCiAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8g
TGFzdCBDbGlja2VkCiAgICAgICAgICAgICQoJ3Rib2R5JykuY2hpbGRyZW4oKS5yZW1vdmVDbGFz
cygnbGFzdC1jbGlja2VkJykKICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnbGFzdC1jbGlj
a2VkJykKICAgICAgICAgIH0KICAgICAgICB9KQoKICAgICAgICAvLyB0YWJsZSByb3cgc2VsZWN0
IC0tLS0tLS0tLQoKCiAgICAgICAgJCgnI2Zvcm0nKS5zdWJtaXQoZnVuY3Rpb24oZSkKICAgICAg
ICB7CiAgICAgICAgICAgICRvcHRpb24gPSAkKCdzZWxlY3QnKS52YWwoKTsKICAgICAgICAgICAg
aWYgKCAkb3B0aW9uID09ICd1bmxpbmsnICkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
JGFuc3dlciA9IGNvbmZpcm0oIllvdSBhcmUgYWJvdXQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIGRh
dGEsIGRvIHlvdSB3aXNoIHRvIHByb2NlZWQ/Iik7CiAgICAgICAgICAgICAgICBpZiAoICRhbnN3
ZXIgPT09IGZhbHNlICkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgIGUu
cHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAg
IH0pOwoKICAgICAgICAkKCcjc2NyaXB0JykudmFsKDEpOwogICAgICA8L3NjcmlwdD4KPC9ib2R5
PgoKPC9odG1sPgo=
";
eval(
base64_decode( $payload )
);