CommentEditor前台评论编辑器http://www.zsxsoft.com2012-11-32013-1-281.1130128前台评论编辑器0zsxhttp://www.zsxsoft.comzsx@zsxsoft.comCommentEditor\CommentEditor\commenteditor.jsZG9jdW1lbnQud3JpdGUoIjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiIHNyYz1c
IiIgKyBibG9naG9zdCArICJ6Yl91c2Vycy9wbHVnaW4vY29tbWVudGVkaXRvci94aGVkaXRv
ci0xLjEuMTQtemgtY24ubWluLmpzXCI+PC9zY3JpIiArICJwdD4iKTsNCnZhciB4aGVkaXRv
cixfeGg7DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCiAgICBfeGggPSAkKCJb
bmFtZT0ndHhhQXJ0aWNsZSddIik7DQogICAgaWYgKF94aC5sZW5ndGggPiAwKSB7DQogICAg
ICAgIHJlbmRlcnhoKCkNCiAgICB9DQogICAgdHJ5IHsNCiAgICAgICAgUmVDb21tZW50X0Nh
bGxCYWNrLmFkZChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIF94aC54aGVkaXRvcihmYWxz
ZSk7DQogICAgICAgICAgICByZW5kZXJ4aCgpOw0KICAgICAgICB9KQ0KICAgIH0gY2F0Y2go
ZSkge30NCn0pOw0KZnVuY3Rpb24gcmVuZGVyeGgoKSB7DQogICAgeGhlZGl0b3IgPSBfeGgu
eGhlZGl0b3Ioew0KICAgICAgICB0b29sczogJ0JvbGQsSXRhbGljLFVuZGVybGluZSxGb250
Q29sb3IsTGluayxVbmxpbmssRW1vdCx8LEFib3V0JywNCiAgICAgICAgd2lkdGg6ICcxNTAn
LA0KICAgICAgICBjbGlja0NhbmNlbERpYWxvZzogZmFsc2UsDQogICAgICAgIGZvcmNlUHRh
ZzogZmFsc2UsDQogICAgICAgIHN1Ym1pdElEOiAnYnRuU3VtYml0JywNCiAgICAgICAgaW50
ZXJuYWxTdHlsZTogZmFsc2UsDQogICAgICAgIGlubGluZVN0eWxlOiBmYWxzZSwNCiAgICAg
ICAgaHRtbDVVcGxvYWQ6IGZhbHNlLA0KICAgICAgICBlbW90UGF0aDogYmxvZ2hvc3QgKyAi
emJfdXNlcnMvZW1vdGlvbi8iLA0KICAgICAgICBlbW90TWFyazogdHJ1ZSwNCgkJc2tpbjog
Im5vc3R5bGUiLA0KICAgICAgICBiZWZvcmVTZXRTb3VyY2U6IHViYjJodG1sLA0KICAgICAg
ICBiZWZvcmVHZXRTb3VyY2U6IGh0bWwydWJiDQogICAgfSk7DQp9DQpmdW5jdGlvbiBWZXJp
ZnlNZXNzYWdlKCkgew0KICAgIHZhciBkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlu
cE5hbWUiKS52YWx1ZTsNCiAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
bnBFbWFpbCIpLnZhbHVlOw0KICAgIHZhciBiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImlucEhvbWVQYWdlIikudmFsdWU7DQogICAgdmFyIGY7DQogICAgZiA9IHhoZWRpdG9yLmdl
dFNvdXJjZSgpOw0KICAgIGlmIChkID09ICIiKSB7DQogICAgICAgIGFsZXJ0KHN0cjAxKTsN
CiAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgfSBlbHNlIHsNCiAgICAgICAgcmUgPSBuZXcg
UmVnRXhwKCJeWy5BLVphLXowLTlcdTRlMDAtXHU5ZmE1XSskIik7DQogICAgICAgIGlmICgh
cmUudGVzdChkKSkgew0KICAgICAgICAgICAgYWxlcnQoc3RyMDIpOw0KICAgICAgICAgICAg
cmV0dXJuIGZhbHNlDQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKGMgPT0gIiIpIHt9IGVs
c2Ugew0KICAgICAgICByZSA9IG5ldyBSZWdFeHAoIl5bXFx3LV0rKFxcLltcXHctXSspKkBb
XFx3LV0rKFxcLltcXHctXSspKyQiKTsNCiAgICAgICAgaWYgKCFyZS50ZXN0KGMpKSB7DQog
ICAgICAgICAgICBhbGVydChzdHIwMik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2UNCiAg
ICAgICAgfQ0KICAgIH0NCiAgICBpZiAodHlwZW9mKGYpID09ICJ1bmRlZmluZWQiKSB7DQog
ICAgICAgIGFsZXJ0KHN0cjAzKTsNCiAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgfQ0KICAg
IGlmICh0eXBlb2YoZikgPT0gInN0cmluZyIpIHsNCiAgICAgICAgaWYgKGYgPT0gIiIpIHsN
CiAgICAgICAgICAgIGFsZXJ0KHN0cjAzKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZQ0K
ICAgICAgICB9DQogICAgICAgIGlmIChmLmxlbmd0aCA+IGludE1heExlbikgew0KICAgICAg
ICAgICAgYWxlcnQoc3RyMDMpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgICAg
IH0NCiAgICB9DQogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucEFydGljbGUiKS52
YWx1ZSA9IGY7DQogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucExvY2F0aW9uIiku
dmFsdWUgPSBwYXJlbnQud2luZG93LmxvY2F0aW9uLmhyZWY7DQogICAgaWYgKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmcm1TdW1iaXQiKS5hY3Rpb24uc2VhcmNoKCJhY3Q9Y210Iikg
PiAwKSB7DQogICAgICAgIHN0ckZvcm1BY3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZnJtU3VtYml0IikuYWN0aW9uDQogICAgfQ0KICAgIHZhciBhID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNoa1JlbWVtYmVyIikuY2hlY2tlZDsNCiAgICBpZiAoYSA9PSB0cnVl
KSB7DQogICAgICAgIFNhdmVSZW1lbWJlckluZm8oKQ0KICAgIH0gZWxzZSB7DQogICAgICAg
IFNldENvb2tpZSgiY2hrUmVtZW1iZXIiLCBhLCAzNjUpDQogICAgfQ0KICAgIHZhciBlID0g
JCgiI2ZybVN1bWJpdCA6c3VibWl0IikudmFsKCk7DQogICAgJCgiI2ZybVN1bWJpdCA6c3Vi
bWl0IikudmFsKCJXYWl0aW5nLi4uIik7DQogICAgJCgiI2ZybVN1bWJpdCA6c3VibWl0Iiku
YXR0cigiZGlzYWJsZWQiLCAiZGlzYWJsZWQiKTsNCiAgICAkKCIjZnJtU3VtYml0IDpzdWJt
aXQiKS5hZGRDbGFzcygiYnRubG9hZGluZyIpOw0KICAgICQucG9zdChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZnJtU3VtYml0IikuYWN0aW9uLCB7DQogICAgICAgIGlucEFqYXg6IHRy
dWUsDQogICAgICAgIGlucElEOiAkKCIjaW5wSWQiKS52YWwoKSwNCiAgICAgICAgaW5wVmVy
aWZ5OiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucFZlcmlmeSIpID8gJCgiI2lucFZl
cmlmeSIpLnZhbCgpIDogIiIpLA0KICAgICAgICBpbnBFbWFpbDogYywNCiAgICAgICAgaW5w
TmFtZTogZCwNCiAgICAgICAgaW5wQXJ0aWNsZTogZiwNCiAgICAgICAgaW5wSG9tZVBhZ2U6
IGIsDQogICAgICAgIGlucFJldklEOiBpbnRSZXZJRA0KICAgIH0sDQogICAgZnVuY3Rpb24o
aykgew0KICAgICAgICB2YXIgaCA9IGs7DQogICAgICAgIGlmICgoaC5zZWFyY2goImZhdWx0
Q29kZSIpID4gMCkgJiYgKGguc2VhcmNoKCJmYXVsdFN0cmluZyIpID4gMCkpIHsNCiAgICAg
ICAgICAgIGFsZXJ0KGgubWF0Y2goIjxzdHJpbmc+Lis/PC9zdHJpbmc+IilbMF0ucmVwbGFj
ZSgiPHN0cmluZz4iLCAiIikucmVwbGFjZSgiPC9zdHJpbmc+IiwgIiIpKQ0KICAgICAgICB9
IGVsc2Ugew0KICAgICAgICAgICAgdmFyIGcgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkg
KiAxMDAwKTsNCiAgICAgICAgICAgIHZhciBoID0gazsNCiAgICAgICAgICAgIGlmIChpbnRS
ZXZJRCA9PSAwKSB7DQogICAgICAgICAgICAgICAgJChoKS5pbnNlcnRCZWZvcmUoIiNBamF4
Q29tbWVudEVuZCIpDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICQo
aCkuaW5zZXJ0QmVmb3JlKCIjQWpheENvbW1lbnRFbmQiICsgaW50UmV2SUQpOw0KICAgICAg
ICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICIjY210IiArIGludFJldklEDQogICAgICAg
ICAgICB9DQogICAgICAgICAgICAkKCIjZGl2QWpheENvbW1lbnQiICsgZykuZmFkZUluKCJz
bG93Iik7DQogICAgICAgICAgICBpZiAoc3RyRm9ybUFjdGlvbikgew0KICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcm1TdW1iaXQiKS5hY3Rpb24gPSBzdHJG
b3JtQWN0aW9uDQogICAgICAgICAgICB9DQogICAgICAgICAgICAkKCIjdHhhQXJ0aWNsZSIp
LnZhbCgiIik7DQogICAgICAgICAgICB4aGVkaXRvci5zZXRTb3VyY2UoIiIpOw0KICAgICAg
ICB9DQogICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wVmVyaWZ5Iikp
IHsNCiAgICAgICAgICAgICQoIiNpbnBWZXJpZnkiKS52YWwoIiIpOw0KICAgICAgICAgICAg
dmFyIGogPSAkKCJpbWdbc3JjXj0nIiArIHN0cjAwICsgInpiX3N5c3RlbS9mdW5jdGlvbi9j
X3ZhbGlkY29kZS5hc3A/bmFtZT1jb21tZW50dmFsaWQnXSIpOw0KICAgICAgICAgICAgai5h
dHRyKCJzcmMiLCBzdHIwMCArICJ6Yl9zeXN0ZW0vZnVuY3Rpb24vY192YWxpZGNvZGUuYXNw
P25hbWU9Y29tbWVudHZhbGlkJnJhbmRvbT0iICsgTWF0aC5yYW5kb20oKSkNCiAgICAgICAg
fQ0KICAgICAgICAkKCIjZnJtU3VtYml0IDpzdWJtaXQiKS5yZW1vdmVDbGFzcygiYnRubG9h
ZGluZyIpOw0KICAgICAgICAkKCIjZnJtU3VtYml0IDpzdWJtaXQiKS5yZW1vdmVBdHRyKCJk
aXNhYmxlZCIpOw0KICAgICAgICAkKCIjZnJtU3VtYml0IDpzdWJtaXQiKS52YWwoZSkNCiAg
ICB9KTsNCiAgICByZXR1cm4gZmFsc2UNCn07DQoNCi8v5YW85a65SFRNTDUrQ1NTMw0KaWYo
dHlwZW9mKGJsb2cpIT11bmRlZmluZWQpew0KCWJsb2cuanMuYWpheENtdD1mdW5jdGlvbigp
ew0KCQl2YXIgJGZvcm09YmxvZy5mb3JtLA0KCQkJJGJ0bj0kKCI6c3VibWl0IiwkZm9ybS5j
bXQpLA0KCQkJdGlwPWJsb2cubXNnLmNtdCwNCgkJCSR0aXA9JCgiI2NtdHRpcCIpLA0KCQkJ
JGNtdD1ibG9nLmNtdDsNCgkJJCgiLmVyciIpLnJlbW92ZUNsYXNzKCJlcnIiKTsNCgkJJHRp
cC5lbXB0eSgpLnN0b3AoKS5zaG93KDIwMCk7Ow0KCQl2YXIgdmFsPXsNCgkJCW5hbWU6JC50
cmltKCRmb3JtLm5hbWUudmFsKCkpLA0KCQkJZW1haWw6JC50cmltKCRmb3JtLmVtYWlsLnZh
bCgpKSwNCgkJCWhvbWVwYWdlOiQudHJpbSgkZm9ybS5ob21lcGFnZS52YWwoKSksDQoJCQl0
eHQ6JC50cmltKHhoZWRpdG9yLmdldFNvdXJjZSgpKSwNCgkJCXZlcmlmeTokLnRyaW0oJGZv
cm0udmVyaWZ5LnZhbCgpKQ0KCQl9Ow0KCQlpZihibG9nLnVzZXIoIm5hbWUiKT09dmFsLm5h
bWUpIHRpcC5yZWNvcmQ9IiI7DQoJCWlmKHZhbC50eHQ9PSIifHx2YWwudHh0Lmxlbmd0aD5i
bG9nLm1zZy5tYXgpew0KCQkJJGZvcm0udHh0LmFkZENsYXNzKCJlcnIiKS5mb2N1cygpOw0K
CQkJJHRpcC50ZXh0KHRpcC5tc2cpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9Ow0KCQlpZigh
dmFsLm5hbWUpew0KCQkJJGZvcm0ubmFtZS5hZGRDbGFzcygiZXJyIikuZm9jdXMoKTsNCgkJ
CSR0aXAudGV4dCh0aXAubmFtZSk7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX07DQoJCWlmKHZh
bC5lbWFpbCE9IiImJiF2YWwuZW1haWwubWF0Y2goIl5bXFx3LV0rKFxcLltcXHctXSspKkBb
XFx3LV0rKFxcLltcXHctXSspKyQiKSl7DQoJCQkkZm9ybS5lbWFpbC5hZGRDbGFzcygiZXJy
IikuZm9jdXMoKTsNCgkJCSR0aXAudGV4dCh0aXAuZW1haWwpOw0KCQkJcmV0dXJuIGZhbHNl
Ow0KCQl9Ow0KCQlpZigkZm9ybS52ZXJpZnlbMF0mJiF2YWwudmVyaWZ5KXsNCgkJCSRmb3Jt
LnZlcmlmeS5hZGRDbGFzcygiZXJyIikuZm9jdXMoKTsNCgkJCSR0aXAudGV4dCgi6K+36L6T
5YWl6aqM6K+B56CBIik7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX07DQoJCSR0aXAudGV4dCh0
aXAuc3VibWl0aW5nKTsNCgkJJGJ0bi5hdHRyKCJkaXNhYmxlZCIsdHJ1ZSkuZmFkZVRvKDUw
MCwuNSk7DQoJCSQucG9zdCgkZm9ybS5jbXRbMF0uYWN0aW9uLHsNCgkJCSJpbnBBamF4Ijp0
cnVlLA0KCQkJImlucElEIjokZm9ybS5pZC52YWwoKSwNCgkJCSJpbnBWZXJpZnkiOigkZm9y
bS52ZXJpZnlbMF0/dmFsLnZlcmlmeToiIiksDQoJCQkiaW5wRW1haWwiOnZhbC5lbWFpbCwN
CgkJCSJpbnBOYW1lIjp2YWwubmFtZSwNCgkJCSJpbnBBcnRpY2xlIjp2YWwudHh0LA0KCQkJ
ImlucEhvbWVQYWdlIjp2YWwuaG9tZXBhZ2U/dmFsLmhvbWVwYWdlOmJsb2cuaG9zdCwNCgkJ
CSJpbnBSZXZJRCI6YmxvZy5yZXBseUlEDQoJCX0sZnVuY3Rpb24ocyl7DQoJCQlpZigocy5z
ZWFyY2goImZhdWx0Q29kZSIpPjApJiYocy5zZWFyY2goImZhdWx0U3RyaW5nIik+MCkpew0K
CQkJCXRpcC5lcnI9cy5tYXRjaCgiPHN0cmluZz4uKz88L3N0cmluZz4iKVswXS5yZXBsYWNl
KCI8c3RyaW5nPiIsIiIpLnJlcGxhY2UoIjwvc3RyaW5nPiIsIiIpDQoJCQkJJHRpcC50ZXh0
KHRpcC5lcnIpOw0KCQkJCWlmKHRpcC5lcnI9PSLpqozor4HnoIHovpPlhaXplJnor68iKXsN
CgkJCQkJJGZvcm0udmVyaWZ5LnZhbCgiIikuYWRkQ2xhc3MoImVyciIpLmZvY3VzKCk7DQoJ
CQkJCSRmb3JtLnZhbGlkY29kZS50cmlnZ2VyKCJjbGljayIpOw0KCQkJCX0NCgkJCX1lbHNl
ew0KCQkJCWlmKGJsb2cucmVwbHlJRCE9MCl7DQoJCQkJCSQoIiNjYW5jZWxyZXBseSIpLnRy
aWdnZXIoImNsaWNrIikuYWZ0ZXIocyk7DQoJCQkJfWVsc2V7DQoJCQkJCXZhciAkaW5zPSRj
bXQuYmVnaW4uc2libGluZ3MoImJsb2NrcXVvdGU6bGFzdCIpOw0KCQkJCQlpZigkaW5zWzBd
KXsNCgkJCQkJCSRpbnMuYWZ0ZXIocyk7DQoJCQkJCX1lbHNlew0KCQkJCQkJJGNtdC5iZWdp
bi5hZnRlcihzKTsNCgkJCQkJCSRjbXQubGlzdC5mYWRlSW4oKTsNCgkJCQkJfQ0KCQkJCX0N
CgkJCQl4aGVkaXRvci5zZXRTb3VyY2UoIiIpOw0KCQkJCV94aC5ibHVyKCk7DQoJCQkJaWYo
JGZvcm0udmVyaWZ5WzBdKXsNCgkJCQkJJGZvcm0udmVyaWZ5LnZhbCgiIik7DQoJCQkJCSRm
b3JtLnZhbGlkY29kZS50cmlnZ2VyKCJjbGljayIpOw0KCQkJCX0NCgkJCQlibG9nLmNvb2tp
ZXMuc2V0KCJpbnBOYW1lIix2YWwubmFtZSwzNjUpOw0KCQkJCWJsb2cuY29va2llcy5zZXQo
ImlucEVtYWlsIix2YWwuZW1haWwsMzY1KTsNCgkJCQlibG9nLmNvb2tpZXMuc2V0KCJpbnBI
b21lUGFnZSIsdmFsLmhvbWVwYWdlLDM2NSk7DQoJCQkJJHRpcC50ZXh0KHRpcC5zdWNjZXNz
K3RpcC5yZWNvcmQpLmRlbGF5KDUwMDApLmZhZGVPdXQoNTAwKTsNCgkJCX0NCgkJCSRidG4u
YXR0cigiZGlzYWJsZWQiLGZhbHNlKS5mYWRlVG8oNTAwLDEpOw0KCQl9KTsNCgkJcmV0dXJu
IGZhbHNlOwkNCgl9Ow0KfQ==CommentEditor\commenteditor.pack.jsZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Iicr
YmxvZ2hvc3QrJ3piX3VzZXJzL3BsdWdpbi9jb21tZW50ZWRpdG9yL3hoZWRpdG9yLTEuMS4x
NC16aC1jbi5taW4uanMiPjxcL3NjcmlwdD4nKTt2YXIgeGhlZGl0b3IsX3hoOyQoZG9jdW1l
bnQpLnJlYWR5KGZ1bmN0aW9uKCl7X3hoPSQoIltuYW1lPSd0eGFBcnRpY2xlJ10iKTtpZihf
eGgubGVuZ3RoPjApe3JlbmRlcnhoKCl9dHJ5e1JlQ29tbWVudF9DYWxsQmFjay5hZGQoZnVu
Y3Rpb24oKXtfeGgueGhlZGl0b3IoZmFsc2UpO3JlbmRlcnhoKCl9KX1jYXRjaChhKXt9fSk7
ZnVuY3Rpb24gcmVuZGVyeGgoKXt4aGVkaXRvcj1feGgueGhlZGl0b3Ioe3Rvb2xzOiJCb2xk
LEl0YWxpYyxVbmRlcmxpbmUsRm9udENvbG9yLExpbmssVW5saW5rLEVtb3QsfCxBYm91dCIs
d2lkdGg6IjE1MCIsY2xpY2tDYW5jZWxEaWFsb2c6ZmFsc2UsZm9yY2VQdGFnOmZhbHNlLHN1
Ym1pdElEOiJidG5TdW1iaXQiLGludGVybmFsU3R5bGU6ZmFsc2UsaW5saW5lU3R5bGU6ZmFs
c2UsaHRtbDVVcGxvYWQ6ZmFsc2UsZW1vdFBhdGg6YmxvZ2hvc3QrInpiX3VzZXJzL2Vtb3Rp
b24vIixlbW90TWFyazp0cnVlLHNraW46Im5vc3R5bGUiLGJlZm9yZVNldFNvdXJjZTp1YmIy
aHRtbCxiZWZvcmVHZXRTb3VyY2U6aHRtbDJ1YmJ9KX1mdW5jdGlvbiBWZXJpZnlNZXNzYWdl
KCl7dmFyIGs9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucE5hbWUiKS52YWx1ZTt2YXIg
bD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wRW1haWwiKS52YWx1ZTt2YXIgZz1kb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wSG9tZVBhZ2UiKS52YWx1ZTt2YXIgaTtpPXhoZWRp
dG9yLmdldFNvdXJjZSgpO2lmKGs9PSIiKXthbGVydChzdHIwMSk7cmV0dXJuIGZhbHNlfWVs
c2V7cmU9bmV3IFJlZ0V4cCgiXlsuQS1aYS16MC05XHU0ZTAwLVx1OWZhNV0rJCIpO2lmKCFy
ZS50ZXN0KGspKXthbGVydChzdHIwMik7cmV0dXJuIGZhbHNlfX1pZihsPT0iIil7fWVsc2V7
cmU9bmV3IFJlZ0V4cCgiXltcXHctXSsoXFwuW1xcdy1dKykqQFtcXHctXSsoXFwuW1xcdy1d
KykrJCIpO2lmKCFyZS50ZXN0KGwpKXthbGVydChzdHIwMik7cmV0dXJuIGZhbHNlfX1pZih0
eXBlb2YoaSk9PSJ1bmRlZmluZWQiKXthbGVydChzdHIwMyk7cmV0dXJuIGZhbHNlfWlmKHR5
cGVvZihpKT09InN0cmluZyIpe2lmKGk9PSIiKXthbGVydChzdHIwMyk7cmV0dXJuIGZhbHNl
fWlmKGkubGVuZ3RoPmludE1heExlbil7YWxlcnQoc3RyMDMpO3JldHVybiBmYWxzZX19ZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucEFydGljbGUiKS52YWx1ZT1pO2RvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpbnBMb2NhdGlvbiIpLnZhbHVlPXBhcmVudC53aW5kb3cubG9jYXRp
b24uaHJlZjtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJtU3VtYml0IikuYWN0aW9u
LnNlYXJjaCgiYWN0PWNtdCIpPjApe3N0ckZvcm1BY3Rpb249ZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZybVN1bWJpdCIpLmFjdGlvbn12YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2hrUmVtZW1iZXIiKS5jaGVja2VkO2lmKGg9PXRydWUpe1NhdmVSZW1lbWJlckluZm8o
KX1lbHNle1NldENvb2tpZSgiY2hrUmVtZW1iZXIiLGgsMzY1KX12YXIgaj0kKCIjZnJtU3Vt
Yml0IDpzdWJtaXQiKS52YWwoKTskKCIjZnJtU3VtYml0IDpzdWJtaXQiKS52YWwoIldhaXRp
bmcuLi4iKTskKCIjZnJtU3VtYml0IDpzdWJtaXQiKS5hdHRyKCJkaXNhYmxlZCIsImRpc2Fi
bGVkIik7JCgiI2ZybVN1bWJpdCA6c3VibWl0IikuYWRkQ2xhc3MoImJ0bmxvYWRpbmciKTsk
LnBvc3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZybVN1bWJpdCIpLmFjdGlvbix7aW5w
QWpheDp0cnVlLGlucElEOiQoIiNpbnBJZCIpLnZhbCgpLGlucFZlcmlmeTooZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImlucFZlcmlmeSIpPyQoIiNpbnBWZXJpZnkiKS52YWwoKToiIiks
aW5wRW1haWw6bCxpbnBOYW1lOmssaW5wQXJ0aWNsZTppLGlucEhvbWVQYWdlOmcsaW5wUmV2
SUQ6aW50UmV2SUR9LGZ1bmN0aW9uKGEpe3ZhciBjPWE7aWYoKGMuc2VhcmNoKCJmYXVsdENv
ZGUiKT4wKSYmKGMuc2VhcmNoKCJmYXVsdFN0cmluZyIpPjApKXthbGVydChjLm1hdGNoKCI8
c3RyaW5nPi4rPzwvc3RyaW5nPiIpWzBdLnJlcGxhY2UoIjxzdHJpbmc+IiwiIikucmVwbGFj
ZSgiPC9zdHJpbmc+IiwiIikpfWVsc2V7dmFyIGQ9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgp
KjEwMDApO3ZhciBjPWE7aWYoaW50UmV2SUQ9PTApeyQoYykuaW5zZXJ0QmVmb3JlKCIjQWph
eENvbW1lbnRFbmQiKX1lbHNleyQoYykuaW5zZXJ0QmVmb3JlKCIjQWpheENvbW1lbnRFbmQi
K2ludFJldklEKTt3aW5kb3cubG9jYXRpb249IiNjbXQiK2ludFJldklEfSQoIiNkaXZBamF4
Q29tbWVudCIrZCkuZmFkZUluKCJzbG93Iik7aWYoc3RyRm9ybUFjdGlvbil7ZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZybVN1bWJpdCIpLmFjdGlvbj1zdHJGb3JtQWN0aW9ufSQoIiN0
eGFBcnRpY2xlIikudmFsKCIiKTt4aGVkaXRvci5zZXRTb3VyY2UoIiIpfWlmKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpbnBWZXJpZnkiKSl7JCgiI2lucFZlcmlmeSIpLnZhbCgiIik7
dmFyIGI9JCgiaW1nW3NyY149JyIrc3RyMDArInpiX3N5c3RlbS9mdW5jdGlvbi9jX3ZhbGlk
Y29kZS5hc3A/bmFtZT1jb21tZW50dmFsaWQnXSIpO2IuYXR0cigic3JjIixzdHIwMCsiemJf
c3lzdGVtL2Z1bmN0aW9uL2NfdmFsaWRjb2RlLmFzcD9uYW1lPWNvbW1lbnR2YWxpZCZyYW5k
b209IitNYXRoLnJhbmRvbSgpKX0kKCIjZnJtU3VtYml0IDpzdWJtaXQiKS5yZW1vdmVDbGFz
cygiYnRubG9hZGluZyIpOyQoIiNmcm1TdW1iaXQgOnN1Ym1pdCIpLnJlbW92ZUF0dHIoImRp
c2FibGVkIik7JCgiI2ZybVN1bWJpdCA6c3VibWl0IikudmFsKGopfSk7cmV0dXJuIGZhbHNl
fWlmKHR5cGVvZihibG9nKSE9dW5kZWZpbmVkKXtibG9nLmpzLmFqYXhDbXQ9ZnVuY3Rpb24o
KXt2YXIgYT1ibG9nLmZvcm0sYz0kKCI6c3VibWl0IixhLmNtdCksZD1ibG9nLm1zZy5jbXQs
Zj0kKCIjY210dGlwIiksYj1ibG9nLmNtdDskKCIuZXJyIikucmVtb3ZlQ2xhc3MoImVyciIp
O2YuZW1wdHkoKS5zdG9wKCkuc2hvdygyMDApO3ZhciBlPXtuYW1lOiQudHJpbShhLm5hbWUu
dmFsKCkpLGVtYWlsOiQudHJpbShhLmVtYWlsLnZhbCgpKSxob21lcGFnZTokLnRyaW0oYS5o
b21lcGFnZS52YWwoKSksdHh0OiQudHJpbSh4aGVkaXRvci5nZXRTb3VyY2UoKSksdmVyaWZ5
OiQudHJpbShhLnZlcmlmeS52YWwoKSl9O2lmKGJsb2cudXNlcigibmFtZSIpPT1lLm5hbWUp
e2QucmVjb3JkPSIifWlmKGUudHh0PT0iInx8ZS50eHQubGVuZ3RoPmJsb2cubXNnLm1heCl7
YS50eHQuYWRkQ2xhc3MoImVyciIpLmZvY3VzKCk7Zi50ZXh0KGQubXNnKTtyZXR1cm4gZmFs
c2V9aWYoIWUubmFtZSl7YS5uYW1lLmFkZENsYXNzKCJlcnIiKS5mb2N1cygpO2YudGV4dChk
Lm5hbWUpO3JldHVybiBmYWxzZX1pZihlLmVtYWlsIT0iIiYmIWUuZW1haWwubWF0Y2goIl5b
XFx3LV0rKFxcLltcXHctXSspKkBbXFx3LV0rKFxcLltcXHctXSspKyQiKSl7YS5lbWFpbC5h
ZGRDbGFzcygiZXJyIikuZm9jdXMoKTtmLnRleHQoZC5lbWFpbCk7cmV0dXJuIGZhbHNlfWlm
KGEudmVyaWZ5WzBdJiYhZS52ZXJpZnkpe2EudmVyaWZ5LmFkZENsYXNzKCJlcnIiKS5mb2N1
cygpO2YudGV4dCgi6K+36L6T5YWl6aqM6K+B56CBIik7cmV0dXJuIGZhbHNlfWYudGV4dChk
LnN1Ym1pdGluZyk7Yy5hdHRyKCJkaXNhYmxlZCIsdHJ1ZSkuZmFkZVRvKDUwMCwwLjUpOyQu
cG9zdChhLmNtdFswXS5hY3Rpb24se2lucEFqYXg6dHJ1ZSxpbnBJRDphLmlkLnZhbCgpLGlu
cFZlcmlmeTooYS52ZXJpZnlbMF0/ZS52ZXJpZnk6IiIpLGlucEVtYWlsOmUuZW1haWwsaW5w
TmFtZTplLm5hbWUsaW5wQXJ0aWNsZTplLnR4dCxpbnBIb21lUGFnZTplLmhvbWVwYWdlP2Uu
aG9tZXBhZ2U6YmxvZy5ob3N0LGlucFJldklEOmJsb2cucmVwbHlJRH0sZnVuY3Rpb24oaCl7
aWYoKGguc2VhcmNoKCJmYXVsdENvZGUiKT4wKSYmKGguc2VhcmNoKCJmYXVsdFN0cmluZyIp
PjApKXtkLmVycj1oLm1hdGNoKCI8c3RyaW5nPi4rPzwvc3RyaW5nPiIpWzBdLnJlcGxhY2Uo
IjxzdHJpbmc+IiwiIikucmVwbGFjZSgiPC9zdHJpbmc+IiwiIik7Zi50ZXh0KGQuZXJyKTtp
ZihkLmVycj09IumqjOivgeeggei+k+WFpemUmeivryIpe2EudmVyaWZ5LnZhbCgiIikuYWRk
Q2xhc3MoImVyciIpLmZvY3VzKCk7YS52YWxpZGNvZGUudHJpZ2dlcigiY2xpY2siKX19ZWxz
ZXtpZihibG9nLnJlcGx5SUQhPTApeyQoIiNjYW5jZWxyZXBseSIpLnRyaWdnZXIoImNsaWNr
IikuYWZ0ZXIoaCl9ZWxzZXt2YXIgZz1iLmJlZ2luLnNpYmxpbmdzKCJibG9ja3F1b3RlOmxh
c3QiKTtpZihnWzBdKXtnLmFmdGVyKGgpfWVsc2V7Yi5iZWdpbi5hZnRlcihoKTtiLmxpc3Qu
ZmFkZUluKCl9fXhoZWRpdG9yLnNldFNvdXJjZSgiIik7X3hoLmJsdXIoKTtpZihhLnZlcmlm
eVswXSl7YS52ZXJpZnkudmFsKCIiKTthLnZhbGlkY29kZS50cmlnZ2VyKCJjbGljayIpfWJs
b2cuY29va2llcy5zZXQoImlucE5hbWUiLGUubmFtZSwzNjUpO2Jsb2cuY29va2llcy5zZXQo
ImlucEVtYWlsIixlLmVtYWlsLDM2NSk7YmxvZy5jb29raWVzLnNldCgiaW5wSG9tZVBhZ2Ui
LGUuaG9tZXBhZ2UsMzY1KTtmLnRleHQoZC5zdWNjZXNzK2QucmVjb3JkKS5kZWxheSg1MDAw
KS5mYWRlT3V0KDUwMCl9Yy5hdHRyKCJkaXNhYmxlZCIsZmFsc2UpLmZhZGVUbyg1MDAsMSl9
KTtyZXR1cm4gZmFsc2V9fTs=CommentEditor\emot.asp77u/PCVATEFOR1VBR0U9IlZCU0NSSVBUIiBDT0RFUEFHRT0iNjUwMDEiJT4NCjwlIE9wdGlv
biBFeHBsaWNpdCAlPg0KPCUgT24gRXJyb3IgUmVzdW1lIE5leHQgJT4NCjwlIFJlc3BvbnNl
LkNoYXJzZXQ9IlVURi04IiAlPg0KPCUgUmVzcG9uc2UuQnVmZmVyPVRydWUgJT4NCjwlJyBS
ZXNwb25zZS5Db250ZW50VHlwZT0idGV4dC9qc29uIiAlPg0KPCEtLSAjaW5jbHVkZSBmaWxl
PSIuLi8uLi8uLi96Yl91c2Vycy9jX29wdGlvbi5hc3AiIC0tPg0KPCEtLSAjaW5jbHVkZSBm
aWxlPSIuLi8uLi8uLi96Yl9zeXN0ZW0vZnVuY3Rpb24vY19mdW5jdGlvbi5hc3AiIC0tPg0K
PCEtLSAjaW5jbHVkZSBmaWxlPSIuLi8uLi8uLi96Yl9zeXN0ZW0vZnVuY3Rpb24vY19zeXN0
ZW1fYmFzZS5hc3AiIC0tPg0KPCUgUmVzcG9uc2UuQ2xlYXIgJT57PCUJDQoJRGltIGZzbyxm
KCksZjEsZmIsZmMNCglEaW0gYXJ5RmlsZUxpc3QsYSxpLGosZSx4LHkscA0KDQoJJ2Y9U3Bs
aXQoWkNfRU1PVElDT05TX0ZJTEVOQU1FLCJ8IikNCglTZXQgZnNvID0gQ3JlYXRlT2JqZWN0
KCJTY3JpcHRpbmcuRmlsZVN5c3RlbU9iamVjdCIpDQoJU2V0IGZiID0gZnNvLkdldEZvbGRl
cihCbG9nUGF0aCAmICJ6Yl91c2Vycy9lbW90aW9uIiAmICIvIikNCglTZXQgZmMgPSBmYi5T
dWJGb2xkZXJzDQoJCWk9MA0KCUZvciBFYWNoIGYxIGluIGZjCQ0KCQlSZURpbSBQcmVzZXJ2
ZSBmKGkpDQoJCWYoaSk9ZjEubmFtZQ0KCQlpPWkrMQ0KCU5leHQNCgknZj1Mb2FkSW5jbHVk
ZUZpbGVzKCJ6Yl91c2Vyc1xlbW90aW9uXCIpDQoJeT1VQm91bmQoZikNCglGb3IgeD0wIFRv
IHkNCgkJYXJ5RmlsZUxpc3Q9TG9hZEluY2x1ZGVGaWxlcygiemJfdXNlcnNcZW1vdGlvblwi
JmYoeCkpIA0KCQlJZiBJc0FycmF5KGFyeUZpbGVMaXN0KSBUaGVuDQoJCQlqPVVCb3VuZChh
cnlGaWxlTGlzdCkNCgkJCUZvciBpPTEgdG8gag0KCQkJCUlmIEluU3RyKFpDX0VNT1RJQ09O
U19GSUxFVFlQRSxSaWdodChhcnlGaWxlTGlzdChpKSwzKSk+MCBUaGVuIA0KCQkJCQllPSIn
IiZSZXBsYWNlKFNlcnZlci5VUkxFbmNvZGUoYXJ5RmlsZUxpc3QoaSkpLCIrIiwiJTIwIikm
Iic6JyImYXJ5RmlsZUxpc3QoaSkmIicsIiYgZSANCgkJCQkJcD1pDQoJCQkJRW5kIElmIA0K
CQkJTmV4dA0KCQkJZT1MZWZ0KGUsTGVuKGUpLTEpDQoJCUVuZCBJZiANCgklPic8JT1mKHgp
JT4nOntuYW1lOic8JT1mKHgpJT4nLGxpc3Q6ezwlPWUlPn0sd2lkdGg6NTAsaGVpZ2h0OjUw
LGxpbmU6MTB9PCUgSWYgeDx5IFRoZW4gUmVzcG9uc2UuV3JpdGUgIiwiIA0KCQllPSIiDQoJ
TmV4dA0KCSU+fQ==CommentEditor\include.asp77u/PCUNClpDX1VCQl9FTkFCTEU9VHJ1ZQ0KWkNfVUJCX0FVVE9MSU5LX0VOQUJMRT1GYWxz
ZQ0KQ2FsbCBBZGRfUmVzcG9uc2VfUGx1Z2luKCJSZXNwb25zZV9QbHVnaW5fSHRtbF9qc19B
ZGQiLCJkb2N1bWVudC53cml0ZSgiIjxzY3JpcHQgdHlwZT1cIiJ0ZXh0L2phdmFzY3JpcHRc
IiIgc3JjPVwiIiImXw0KQmxvZ0hvc3QgJiAiemJfdXNlcnMvcGx1Z2luL2NvbW1lbnRlZGl0
b3IvY29tbWVudGVkaXRvci5wYWNrLmpzXCIiPjwvc2NyaXB0PiIiKTsiKSANCiU+DQoN
Cg==CommentEditor\Logo.pngiVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAARnQU1B
AACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVHhe7d0xahRhGIDhX1EMuo2m
FURsvIKNrRewEr2NNnZpbb1Aejsr6xxAEBQJNhqUaDAogR9CsFl2MQt5n6fZ+bqd5WWGgfnY
S3e3Xv8ZZF2en0QJIE4AcQKIE0CcAOIEECeAOAHECSBOAHECiBNAnADiBBAngDgBxAkgTgBx
AogTQJwA4gQQJ4A4AcQJIE4AcQKIE0DcxraDX756MB4/uzen1e282Bs7z/fmdNb7w6fzaD0P
7++Ojx++z+nUyfc/OY91vXu7P548ejOn8+UKECeAOAHECSBOAHECiBNAnADiBBAngDgBxAkg
TgBxAogTQJwA4gQQt7E3gm5uXxs3FlfntLqDr0fj4NvRnM66fWcxj9bz+dOPcfz735/p+uLK
uLW9NafV/fp5PL7sH87pfPnDiDi3gDgBxAkgTgBxAoizGLIEiyFcWAKIE0CcAOIEECeAOAHE
CSBOAHECiBNAnADiBBAngDgBxAkgTgBxFkOWYDGEC8stIE4AcQKIE0Ccp4AleAr4DyyGnLIY
wsYIIE4AcQKIE0CcAOIEECeAOAHECSBOAHECiBNAnADiBBAngDgBxNkLiHMFiBNAnADiBBAn
gDgBxAkgTgBxAogTQJwA4gQQJ4A4AcQJIE4AcQKIE0CcAOIEECeAOAHECSBOAHECiBNAnADi
BBAngLQx/gJM6H7lxhpqCwAAAABJRU5ErkJggg==CommentEditor\plugin.xml77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Inll
cyI/PjxwbHVnaW4gdmVyc2lvbj0iMi4wIj48aWQ+Q29tbWVudEVkaXRvcjwvaWQ+PG5hbWU+
5YmN5Y+w6K+E6K6657yW6L6R5ZmoPC9uYW1lPjx1cmw+aHR0cDovL3d3dy56c3hzb2Z0LmNv
bTwvdXJsPjxub3RlPuWJjeWPsOivhOiuuue8lui+keWZqDwvbm90ZT48cGF0aD5tYWluLmFz
cDwvcGF0aD48aW5jbHVkZT5pbmNsdWRlLmFzcDwvaW5jbHVkZT48bGV2ZWw+MTwvbGV2ZWw+
PGF1dGhvcj48bmFtZT56c3g8L25hbWU+PGVtYWlsPnpzeEB6c3hzb2Z0LmNvbTwvZW1haWw+
PHVybD5odHRwOi8vd3d3LnpzeHNvZnQuY29tPC91cmw+PC9hdXRob3I+PGFkYXB0ZWQ+MTMw
MTI4PC9hZGFwdGVkPjx2ZXJzaW9uPjEuMTwvdmVyc2lvbj48cHViZGF0ZT4yMDEyLTExLTM8
L3B1YmRhdGU+PG1vZGlmaWVkPjIwMTMtMS0yODwvbW9kaWZpZWQ+PGRlc2NyaXB0aW9uPjwh
W0NEQVRBW+WPr+S7peWcqOWJjeWPsOS9v+eUqHhoRWRpdG9y57yW6L6R5Zmo77yM5pSv5oyB
6KGo5oOF44CCXV0+PC9kZXNjcmlwdGlvbj48cHJpY2U+MDwvcHJpY2U+PGFkdmFuY2VkPjxk
ZXBlbmRlbmN5PjwvZGVwZW5kZW5jeT48cmV3cml0ZWZ1bmN0aW9ucz48L3Jld3JpdGVmdW5j
dGlvbnM+PGNvbmZsaWN0PjwvY29uZmxpY3Q+PC9hZHZhbmNlZD48L3BsdWdpbj4NCg==CommentEditor\xheditor-1.1.14-zh-cn.min.jsLyohCiAqIHhoRWRpdG9yIC0gV1lTSVdZRyBYSFRNTCBFZGl0b3IKICogQHJlcXVpcmVzIGpR
dWVyeSB2MS40LjQKICoKICogQGF1dGhvciBZYW5pcy5XYW5nPHlhbmlzLndhbmdAZ21haWwu
Y29tPgogKiBAc2l0ZSBodHRwOi8veGhlZGl0b3IuY29tLwogKiBAbGljZW5jZSBMR1BMKGh0
dHA6Ly94aGVkaXRvci5jb20vbGljZW5zZS9sZ3BsLnR4dCkKICoKICogQFZlcnNpb246IDEu
MS4xNCAoYnVpbGQgMTIwNzAxKQogKi8KKGZ1bmN0aW9uKCQsdW5kZWZpbmVkKXtpZih3aW5k
b3cueGhlZGl0b3Ipe3JldHVybiBmYWxzZX12YXIgYWdlbnQ9bmF2aWdhdG9yLnVzZXJBZ2Vu
dC50b0xvd2VyQ2FzZSgpO3ZhciBiTW9iaWxlPWFnZW50LmluZGV4T2YoIm1vYmlsZSIpIT09
LTEsYnJvd3Nlcj0kLmJyb3dzZXIsYnJvd2VyVmVyPXBhcnNlRmxvYXQoYnJvd3Nlci52ZXJz
aW9uKSxpc0lFPWJyb3dzZXIubXNpZSxpc01vemlsbGE9YnJvd3Nlci5tb3ppbGxhLGlzU2Fm
YXJpPWJyb3dzZXIuc2FmYXJpLGlzT3BlcmE9YnJvd3Nlci5vcGVyYTt2YXIgYkFpcj1hZ2Vu
dC5pbmRleE9mKCIgYWRvYmVhaXIvIik+LTE7dmFyIGJJT1M1PS9PUyA1KF9cZCkrIGxpa2Ug
TWFjIE9TIFgvaS50ZXN0KGFnZW50KTskLmZuLnhoZWRpdG9yPWZ1bmN0aW9uKG9wdGlvbnMp
e3ZhciBhcnJTdWNjZXNzPVtdO3RoaXMuZWFjaChmdW5jdGlvbigpe2lmKCEkLm5vZGVOYW1l
KHRoaXMsIlRFWFRBUkVBIikpe3JldHVybn1pZihvcHRpb25zPT09ZmFsc2Upe2lmKHRoaXMu
eGhlZGl0b3Ipe3RoaXMueGhlZGl0b3IucmVtb3ZlKCk7dGhpcy54aGVkaXRvcj1udWxsfX1l
bHNle2lmKCF0aGlzLnhoZWRpdG9yKXt2YXIgdE9wdGlvbnM9Lyh7Lip9KS8uZXhlYygkKHRo
aXMpLmF0dHIoImNsYXNzIikpO2lmKHRPcHRpb25zKXt0cnl7dE9wdGlvbnM9ZXZhbCgiKCIr
dE9wdGlvbnNbMV0rIikiKX1jYXRjaChleCl7fW9wdGlvbnM9JC5leHRlbmQoe30sdE9wdGlv
bnMsb3B0aW9ucyl9dmFyIGVkaXRvcj1uZXcgeGhlZGl0b3IodGhpcyxvcHRpb25zKTtpZihl
ZGl0b3IuaW5pdCgpKXt0aGlzLnhoZWRpdG9yPWVkaXRvcjthcnJTdWNjZXNzLnB1c2goZWRp
dG9yKX1lbHNle2VkaXRvcj1udWxsfX1lbHNle2FyclN1Y2Nlc3MucHVzaCh0aGlzLnhoZWRp
dG9yKX19fSk7aWYoYXJyU3VjY2Vzcy5sZW5ndGg9PT0wKXthcnJTdWNjZXNzPWZhbHNlfWlm
KGFyclN1Y2Nlc3MubGVuZ3RoPT09MSl7YXJyU3VjY2Vzcz1hcnJTdWNjZXNzWzBdfXJldHVy
biBhcnJTdWNjZXNzfTt2YXIgeENvdW50PTAsYlNob3dQYW5lbD1mYWxzZSxiQ2xpY2tDYW5j
ZWw9dHJ1ZSxiU2hvd01vZGFsPWZhbHNlLGJDaGVja0VzY0luaXQ9ZmFsc2U7dmFyIF9qUGFu
ZWwsX2pTaGFkb3csX2pDbnRMaW5lLF9qUGFuZWxCdXR0b247dmFyIGpNb2RhbCxqTW9kYWxT
aGFkb3csbGF5ZXJTaGFkb3csak92ZXJsYXksakhpZGVTZWxlY3Qsb25Nb2RhbFJlbW92ZTt2
YXIgZWRpdG9yUm9vdDskKCJzY3JpcHRbc3JjKj14aGVkaXRvcl0iKS5lYWNoKGZ1bmN0aW9u
KCl7dmFyIHM9dGhpcy5zcmM7aWYocy5tYXRjaCgveGhlZGl0b3JbXlwvXSpcLmpzL2kpKXtl
ZGl0b3JSb290PXMucmVwbGFjZSgvW1w/I10uKiQvLCIiKS5yZXBsYWNlKC8oXnxbXC9cXF0p
W15cL10qJC8sIiQxIik7cmV0dXJuIGZhbHNlfX0pO2lmKGlzSUUpe3RyeXtkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQmFja2dyb3VuZEltYWdlQ2FjaGUiLGZhbHNlLHRydWUpfWNhdGNoKGUp
e312YXIganF1ZXJ5VmVyPSQuZm4uanF1ZXJ5O2lmKGpxdWVyeVZlciYmanF1ZXJ5VmVyLm1h
dGNoKC9eMVwuWzY3XS8pKXskLmF0dHJIb29rcy53aWR0aD0kLmF0dHJIb29rcy5oZWlnaHQ9
bnVsbH19dmFyIHNwZWNpYWxLZXlzPXsyNzoiZXNjIiw5OiJ0YWIiLDMyOiJzcGFjZSIsMTM6
ImVudGVyIiw4OiJiYWNrc3BhY2UiLDE0NToic2Nyb2xsIiwyMDoiY2Fwc2xvY2siLDE0NDoi
bnVtbG9jayIsMTk6InBhdXNlIiw0NToiaW5zZXJ0IiwzNjoiaG9tZSIsNDY6ImRlbCIsMzU6
ImVuZCIsMzM6InBhZ2V1cCIsMzQ6InBhZ2Vkb3duIiwzNzoibGVmdCIsMzg6InVwIiwzOToi
cmlnaHQiLDQwOiJkb3duIiwxMTI6ImYxIiwxMTM6ImYyIiwxMTQ6ImYzIiwxMTU6ImY0Iiwx
MTY6ImY1IiwxMTc6ImY2IiwxMTg6ImY3IiwxMTk6ImY4IiwxMjA6ImY5IiwxMjE6ImYxMCIs
MTIyOiJmMTEiLDEyMzoiZjEyIn07dmFyIGl0ZW1Db2xvcnM9WyIjRkZGRkZGIiwiI0NDQ0ND
QyIsIiNDMEMwQzAiLCIjOTk5OTk5IiwiIzY2NjY2NiIsIiMzMzMzMzMiLCIjMDAwMDAwIiwi
I0ZGQ0NDQyIsIiNGRjY2NjYiLCIjRkYwMDAwIiwiI0NDMDAwMCIsIiM5OTAwMDAiLCIjNjYw
MDAwIiwiIzMzMDAwMCIsIiNGRkNDOTkiLCIjRkY5OTY2IiwiI0ZGOTkwMCIsIiNGRjY2MDAi
LCIjQ0M2NjAwIiwiIzk5MzMwMCIsIiM2NjMzMDAiLCIjRkZGRjk5IiwiI0ZGRkY2NiIsIiNG
RkNDNjYiLCIjRkZDQzMzIiwiI0NDOTkzMyIsIiM5OTY2MzMiLCIjNjYzMzMzIiwiI0ZGRkZD
QyIsIiNGRkZGMzMiLCIjRkZGRjAwIiwiI0ZGQ0MwMCIsIiM5OTk5MDAiLCIjNjY2NjAwIiwi
IzMzMzMwMCIsIiM5OUZGOTkiLCIjNjZGRjk5IiwiIzMzRkYzMyIsIiMzM0NDMDAiLCIjMDA5
OTAwIiwiIzAwNjYwMCIsIiMwMDMzMDAiLCIjOTlGRkZGIiwiIzMzRkZGRiIsIiM2NkNDQ0Mi
LCIjMDBDQ0NDIiwiIzMzOTk5OSIsIiMzMzY2NjYiLCIjMDAzMzMzIiwiI0NDRkZGRiIsIiM2
NkZGRkYiLCIjMzNDQ0ZGIiwiIzMzNjZGRiIsIiMzMzMzRkYiLCIjMDAwMDk5IiwiIzAwMDA2
NiIsIiNDQ0NDRkYiLCIjOTk5OUZGIiwiIzY2NjZDQyIsIiM2NjMzRkYiLCIjNjYwMENDIiwi
IzMzMzM5OSIsIiMzMzAwOTkiLCIjRkZDQ0ZGIiwiI0ZGOTlGRiIsIiNDQzY2Q0MiLCIjQ0Mz
M0NDIiwiIzk5MzM5OSIsIiM2NjMzNjYiLCIjMzMwMDMzIl07dmFyIGFyckJsb2NrdGFnPVt7
bjoicCIsdDoi5pmu6YCa5q616JC9In0se246ImgxIix0OiLmoIfpopgxIn0se246ImgyIix0
OiLmoIfpopgyIn0se246ImgzIix0OiLmoIfpopgzIn0se246Img0Iix0OiLmoIfpopg0In0s
e246Img1Iix0OiLmoIfpopg1In0se246Img2Iix0OiLmoIfpopg2In0se246InByZSIsdDoi
5bey57yW5o6S5qC85byPIn0se246ImFkZHJlc3MiLHQ6IuWcsOWdgCJ9XTt2YXIgYXJyRm9u
dG5hbWU9W3tuOiLlrovkvZMiLGM6IlNpbVN1biJ9LHtuOiLku7/lrovkvZMiLGM6IkZhbmdT
b25nX0dCMjMxMiJ9LHtuOiLpu5HkvZMiLGM6IlNpbUhlaSJ9LHtuOiLmpbfkvZMiLGM6Ikth
aVRpX0dCMjMxMiJ9LHtuOiLlvq7ova/pm4Xpu5EiLGM6Ik1pY3Jvc29mdCBZYUhlaSJ9LHtu
OiJBcmlhbCJ9LHtuOiJBcmlhbCBCbGFjayJ9LHtuOiJDb21pYyBTYW5zIE1TIn0se246IkNv
dXJpZXIgTmV3In0se246IlN5c3RlbSJ9LHtuOiJUaW1lcyBOZXcgUm9tYW4ifSx7bjoiVGFo
b21hIn0se246IlZlcmRhbmEifV07dmFyIGFyckZvbnRzaXplPVt7bjoieC1zbWFsbCIsczoi
MTBweCIsdDoi5p6B5bCPIn0se246InNtYWxsIixzOiIxMnB4Iix0OiLnibnlsI8ifSx7bjoi
bWVkaXVtIixzOiIxNnB4Iix0OiLlsI8ifSx7bjoibGFyZ2UiLHM6IjE4cHgiLHQ6IuS4rSJ9
LHtuOiJ4LWxhcmdlIixzOiIyNHB4Iix0OiLlpKcifSx7bjoieHgtbGFyZ2UiLHM6IjMycHgi
LHQ6IueJueWkpyJ9LHtuOiItd2Via2l0LXh4eC1sYXJnZSIsczoiNDhweCIsdDoi5p6B5aSn
In1dO3ZhciBtZW51QWxpZ249W3tzOiLlt6blr7npvZAiLHY6Imp1c3RpZnlsZWZ0In0se3M6
IuWxheS4rSIsdjoianVzdGlmeWNlbnRlciJ9LHtzOiLlj7Plr7npvZAiLHY6Imp1c3RpZnly
aWdodCJ9LHtzOiLkuKTnq6/lr7npvZAiLHY6Imp1c3RpZnlmdWxsIn1dLG1lbnVMaXN0PVt7
czoi5pWw5a2X5YiX6KGoIix2OiJpbnNlcnRPcmRlcmVkTGlzdCJ9LHtzOiLnrKblj7fliJfo
oagiLHY6Imluc2VydFVub3JkZXJlZExpc3QifV07dmFyIGh0bWxQYXN0ZXRleHQ9JzxkaXY+
PGxhYmVsIGZvcj0ieGhlUGFzdGV0ZXh0VmFsdWUiPuS9v+eUqOmUruebmOW/q+aNt+mUrihD
dHJsK1Yp5oqK5YaF5a6557KY6LS05Yiw5pa55qGG6YeM77yM5oyJIOehruWumjwvbGFiZWw+
PC9kaXY+PGRpdj48dGV4dGFyZWEgaWQ9InhoZVBhc3RldGV4dFZhbHVlIiB3cmFwPSJzb2Z0
IiBzcGVsbGNoZWNrPSJmYWxzZSIgc3R5bGU9IndpZHRoOjMwMHB4O2hlaWdodDoxMDBweDsi
IC8+PC9kaXY+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjpyaWdodDsiPjxpbnB1dCB0eXBlPSJi
dXR0b24iIGlkPSJ4aGVTYXZlIiB2YWx1ZT0i56Gu5a6aIiAvPjwvZGl2Pic7dmFyIGh0bWxM
aW5rPSc8ZGl2PjxsYWJlbCBmb3I9InhoZUxpbmtVcmwiPumTvuaOpeWcsOWdgDogPC9sYWJl
bD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InhoZUxpbmtVcmwiIHZhbHVlPSJodHRwOi8vIiBj
bGFzcz0ieGhlVGV4dCIgLz48L2Rpdj48ZGl2PjxsYWJlbCBmb3I9InhoZUxpbmtUYXJnZXQi
PuaJk+W8gOaWueW8jzogPC9sYWJlbD48c2VsZWN0IGlkPSJ4aGVMaW5rVGFyZ2V0Ij48b3B0
aW9uIHNlbGVjdGVkPSJzZWxlY3RlZCIgdmFsdWU9IiI+6buY6K6kPC9vcHRpb24+PG9wdGlv
biB2YWx1ZT0iX2JsYW5rIj7mlrDnqpflj6M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJfc2Vs
ZiI+5b2T5YmN56qX5Y+jPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iX3BhcmVudCI+54i256qX
5Y+jPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PGRpdiBzdHlsZT0iZGlzcGxheTpub25lIj48
bGFiZWwgZm9yPSJ4aGVMaW5rVGV4dCI+6ZO+5o6l5paH5a2XOiA8L2xhYmVsPjxpbnB1dCB0
eXBlPSJ0ZXh0IiBpZD0ieGhlTGlua1RleHQiIHZhbHVlPSIiIGNsYXNzPSJ4aGVUZXh0IiAv
PjwvZGl2PjxkaXYgc3R5bGU9InRleHQtYWxpZ246cmlnaHQ7Ij48aW5wdXQgdHlwZT0iYnV0
dG9uIiBpZD0ieGhlU2F2ZSIgdmFsdWU9IuehruWumiIgLz48L2Rpdj4nO3ZhciBodG1sQW5j
aG9yPSc8ZGl2PjxsYWJlbCBmb3I9InhoZUFuY2hvck5hbWUiPumUmueCueWQjeensDogPC9s
YWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InhoZUFuY2hvck5hbWUiIHZhbHVlPSIiIGNs
YXNzPSJ4aGVUZXh0IiAvPjwvZGl2PjxkaXYgc3R5bGU9InRleHQtYWxpZ246cmlnaHQ7Ij48
aW5wdXQgdHlwZT0iYnV0dG9uIiBpZD0ieGhlU2F2ZSIgdmFsdWU9IuehruWumiIgLz48L2Rp
dj4nO3ZhciBodG1sSW1nPSc8ZGl2PjxsYWJlbCBmb3I9InhoZUltZ1VybCI+5Zu+54mH5paH
5Lu2OiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlSW1nVXJsIiB2YWx1ZT0i
aHR0cDovLyIgY2xhc3M9InhoZVRleHQiIC8+PC9kaXY+PGRpdj48ZGl2PjxsYWJlbCBmb3I9
InhoZUltZ0FsdCI+5pu/5o2i5paH5pysOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBp
ZD0ieGhlSW1nQWx0IiAvPjwvZGl2PjxkaXY+PGxhYmVsIGZvcj0ieGhlSW1nQWxpZ24iPuWv
uem9kOaWueW8jzogPC9sYWJlbD48c2VsZWN0IGlkPSJ4aGVJbWdBbGlnbiI+PG9wdGlvbiBz
ZWxlY3RlZD0ic2VsZWN0ZWQiIHZhbHVlPSIiPum7mOiupDwvb3B0aW9uPjxvcHRpb24gdmFs
dWU9ImxlZnQiPuW3puWvuem9kDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJpZ2h0Ij7lj7Pl
r7npvZA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0b3AiPumhtuerrzwvb3B0aW9uPjxvcHRp
b24gdmFsdWU9Im1pZGRsZSI+5bGF5LitPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYmFzZWxp
bmUiPuWfuue6vzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImJvdHRvbSI+5bqV6L65PC9vcHRp
b24+PC9zZWxlY3Q+PC9kaXY+PGRpdj48bGFiZWwgZm9yPSJ4aGVJbWdXaWR0aCI+5a6944CA
44CA5bqmOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlSW1nV2lkdGgiIHN0
eWxlPSJ3aWR0aDo0MHB4OyIgLz4gPGxhYmVsIGZvcj0ieGhlSW1nSGVpZ2h0Ij7pq5jjgIDj
gIDluqY6IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4aGVJbWdIZWlnaHQiIHN0
eWxlPSJ3aWR0aDo0MHB4OyIgLz48L2Rpdj48ZGl2PjxsYWJlbCBmb3I9InhoZUltZ0JvcmRl
ciI+6L655qGG5aSn5bCPOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlSW1n
Qm9yZGVyIiBzdHlsZT0id2lkdGg6NDBweDsiIC8+PC9kaXY+PGRpdj48bGFiZWwgZm9yPSJ4
aGVJbWdIc3BhY2UiPuawtOW5s+mXtOi3nTogPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIg
aWQ9InhoZUltZ0hzcGFjZSIgc3R5bGU9IndpZHRoOjQwcHg7IiAvPiA8bGFiZWwgZm9yPSJ4
aGVJbWdWc3BhY2UiPuWeguebtOmXtOi3nTogPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIg
aWQ9InhoZUltZ1ZzcGFjZSIgc3R5bGU9IndpZHRoOjQwcHg7IiAvPjwvZGl2PjxkaXYgc3R5
bGU9InRleHQtYWxpZ246cmlnaHQ7Ij48aW5wdXQgdHlwZT0iYnV0dG9uIiBpZD0ieGhlU2F2
ZSIgdmFsdWU9IuehruWumiIgLz48L2Rpdj4nO3ZhciBodG1sRmxhc2g9JzxkaXY+PGxhYmVs
IGZvcj0ieGhlRmxhc2hVcmwiPuWKqOeUu+aWh+S7tjogPC9sYWJlbD48aW5wdXQgdHlwZT0i
dGV4dCIgaWQ9InhoZUZsYXNoVXJsIiB2YWx1ZT0iaHR0cDovLyIgY2xhc3M9InhoZVRleHQi
IC8+PC9kaXY+PGRpdj48bGFiZWwgZm9yPSJ4aGVGbGFzaFdpZHRoIj7lrr3jgIDjgIDluqY6
IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4aGVGbGFzaFdpZHRoIiBzdHlsZT0i
d2lkdGg6NDBweDsiIHZhbHVlPSI0ODAiIC8+IDxsYWJlbCBmb3I9InhoZUZsYXNoSGVpZ2h0
Ij7pq5jjgIDjgIDluqY6IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4aGVGbGFz
aEhlaWdodCIgc3R5bGU9IndpZHRoOjQwcHg7IiB2YWx1ZT0iNDAwIiAvPjwvZGl2PjxkaXYg
c3R5bGU9InRleHQtYWxpZ246cmlnaHQ7Ij48aW5wdXQgdHlwZT0iYnV0dG9uIiBpZD0ieGhl
U2F2ZSIgdmFsdWU9IuehruWumiIgLz48L2Rpdj4nO3ZhciBodG1sTWVkaWE9JzxkaXY+PGxh
YmVsIGZvcj0ieGhlTWVkaWFVcmwiPuWqkuS9k+aWh+S7tjogPC9sYWJlbD48aW5wdXQgdHlw
ZT0idGV4dCIgaWQ9InhoZU1lZGlhVXJsIiB2YWx1ZT0iaHR0cDovLyIgY2xhc3M9InhoZVRl
eHQiIC8+PC9kaXY+PGRpdj48bGFiZWwgZm9yPSJ4aGVNZWRpYVdpZHRoIj7lrr3jgIDjgIDl
uqY6IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4aGVNZWRpYVdpZHRoIiBzdHls
ZT0id2lkdGg6NDBweDsiIHZhbHVlPSI0ODAiIC8+IDxsYWJlbCBmb3I9InhoZU1lZGlhSGVp
Z2h0Ij7pq5jjgIDjgIDluqY6IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4aGVN
ZWRpYUhlaWdodCIgc3R5bGU9IndpZHRoOjQwcHg7IiB2YWx1ZT0iNDAwIiAvPjwvZGl2Pjxk
aXYgc3R5bGU9InRleHQtYWxpZ246cmlnaHQ7Ij48aW5wdXQgdHlwZT0iYnV0dG9uIiBpZD0i
eGhlU2F2ZSIgdmFsdWU9IuehruWumiIgLz48L2Rpdj4nO3ZhciBodG1sVGFibGU9JzxkaXY+
PGxhYmVsIGZvcj0ieGhlVGFibGVSb3dzIj7ooYzjgIDjgIDmlbA6IDwvbGFiZWw+PGlucHV0
IHR5cGU9InRleHQiIGlkPSJ4aGVUYWJsZVJvd3MiIHN0eWxlPSJ3aWR0aDo0MHB4OyIgdmFs
dWU9IjMiIC8+IDxsYWJlbCBmb3I9InhoZVRhYmxlQ29sdW1ucyI+5YiX44CA44CA5pWwOiA8
L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlVGFibGVDb2x1bW5zIiBzdHlsZT0i
d2lkdGg6NDBweDsiIHZhbHVlPSIyIiAvPjwvZGl2PjxkaXY+PGxhYmVsIGZvcj0ieGhlVGFi
bGVIZWFkZXJzIj7moIfpopjljZXlhYM6IDwvbGFiZWw+PHNlbGVjdCBpZD0ieGhlVGFibGVI
ZWFkZXJzIj48b3B0aW9uIHNlbGVjdGVkPSJzZWxlY3RlZCIgdmFsdWU9IiI+5pegPC9vcHRp
b24+PG9wdGlvbiB2YWx1ZT0icm93Ij7nrKzkuIDooYw8L29wdGlvbj48b3B0aW9uIHZhbHVl
PSJjb2wiPuesrOS4gOWIlzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImJvdGgiPuesrOS4gOih
jOWSjOesrOS4gOWIlzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXY+PGxhYmVsIGZvcj0i
eGhlVGFibGVXaWR0aCI+5a6944CA44CA5bqmOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0
IiBpZD0ieGhlVGFibGVXaWR0aCIgc3R5bGU9IndpZHRoOjQwcHg7IiB2YWx1ZT0iMjAwIiAv
PiA8bGFiZWwgZm9yPSJ4aGVUYWJsZUhlaWdodCI+6auY44CA44CA5bqmOiA8L2xhYmVsPjxp
bnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlVGFibGVIZWlnaHQiIHN0eWxlPSJ3aWR0aDo0MHB4
OyIgdmFsdWU9IiIgLz48L2Rpdj48ZGl2PjxsYWJlbCBmb3I9InhoZVRhYmxlQm9yZGVyIj7o
vrnmoYblpKflsI86IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4aGVUYWJsZUJv
cmRlciIgc3R5bGU9IndpZHRoOjQwcHg7IiB2YWx1ZT0iMSIgLz48L2Rpdj48ZGl2PjxsYWJl
bCBmb3I9InhoZVRhYmxlQ2VsbFNwYWNpbmciPuihqOagvOmXtOi3nTogPC9sYWJlbD48aW5w
dXQgdHlwZT0idGV4dCIgaWQ9InhoZVRhYmxlQ2VsbFNwYWNpbmciIHN0eWxlPSJ3aWR0aDo0
MHB4OyIgdmFsdWU9IjEiIC8+IDxsYWJlbCBmb3I9InhoZVRhYmxlQ2VsbFBhZGRpbmciPuih
qOagvOWhq+WFhTogPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InhoZVRhYmxlQ2Vs
bFBhZGRpbmciIHN0eWxlPSJ3aWR0aDo0MHB4OyIgdmFsdWU9IjEiIC8+PC9kaXY+PGRpdj48
bGFiZWwgZm9yPSJ4aGVUYWJsZUFsaWduIj7lr7npvZDmlrnlvI86IDwvbGFiZWw+PHNlbGVj
dCBpZD0ieGhlVGFibGVBbGlnbiI+PG9wdGlvbiBzZWxlY3RlZD0ic2VsZWN0ZWQiIHZhbHVl
PSIiPum7mOiupDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImxlZnQiPuW3puWvuem9kDwvb3B0
aW9uPjxvcHRpb24gdmFsdWU9ImNlbnRlciI+5bGF5LitPC9vcHRpb24+PG9wdGlvbiB2YWx1
ZT0icmlnaHQiPuWPs+Wvuem9kDwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXY+PGxhYmVs
IGZvcj0ieGhlVGFibGVDYXB0aW9uIj7ooajmoLzmoIfpopg6IDwvbGFiZWw+PGlucHV0IHR5
cGU9InRleHQiIGlkPSJ4aGVUYWJsZUNhcHRpb24iIC8+PC9kaXY+PGRpdiBzdHlsZT0idGV4
dC1hbGlnbjpyaWdodDsiPjxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJ4aGVTYXZlIiB2YWx1
ZT0i56Gu5a6aIiAvPjwvZGl2Pic7dmFyIGh0bWxBYm91dD0nPGRpdiBzdHlsZT0iZm9udDox
MnB4IEFyaWFsO3dpZHRoOjI0NXB4O3dvcmQtd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6
YnJlYWstYWxsO291dGxpbmU6bm9uZTsiIHJvbGU9ImRpYWxvZyIgdGFiaW5kZXg9Ii0xIj48
cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIwcHg7Y29sb3I6IzE5OTdERjsiPnhoRWRpdG9y
PC9zcGFuPjxiciAvPnYxLjEuMTQgKGJ1aWxkIDEyMDcwMSk8L3A+PHA+eGhFZGl0b3LmmK/l
n7rkuo5qUXVlcnnlvIDlj5HnmoTot6jlubPlj7Dovbvph4/lj6/op4bljJZYSFRNTOe8lui+
keWZqO+8jOWfuuS6jjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9sZ3Bs
Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5MR1BMPC9hPuW8gOa6kOWNj+iuruWPkeW4g+OAgjwv
cD48cD5Db3B5cmlnaHQgJmNvcHk7IDxhIGhyZWY9Imh0dHA6Ly94aGVkaXRvci5jb20vIiB0
YXJnZXQ9Il9ibGFuayI+eGhFZGl0b3IuY29tPC9hPi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48
L3A+PHA+Jm5ic3A7PC9wPjxwPjxhIGhyZWY9Imh0dHA6Ly93d3cuenN4c29mdC5jb20iIHRh
cmdldD0iX2JsYW5rIj56c3g8L2E+5Li65YW25re75Yqg5LqGYWpheCBlbW90aW9u5Yqf6IO9
5bm25bqU55So5LqOWi1CbG9nIDIuMOeahOWJjeWPsOivhOiuuuahhuOAgjwvcD48L2Rpdj4n
O3ZhciBhcnJUb29scz17Q3V0Ont0OiLliarliIcgKEN0cmwrWCkifSxDb3B5Ont0OiLlpI3l
iLYgKEN0cmwrQykifSxQYXN0ZTp7dDoi57KY6LS0IChDdHJsK1YpIn0sUGFzdGV0ZXh0Ont0
OiLnspjotLTmlofmnKwiLGg6aXNJRT8wOjF9LEJsb2NrdGFnOnt0OiLmrrXokL3moIfnrb4i
LGg6MX0sRm9udGZhY2U6e3Q6IuWtl+S9kyIsaDoxfSxGb250U2l6ZTp7dDoi5a2X5L2T5aSn
5bCPIixoOjF9LEJvbGQ6e3Q6IuWKoOeylyAoQ3RybCtCKSIsczoiQ3RybCtCIn0sSXRhbGlj
Ont0OiLmlpzkvZMgKEN0cmwrSSkiLHM6IkN0cmwrSSJ9LFVuZGVybGluZTp7dDoi5LiL5YiS
57q/IChDdHJsK1UpIixzOiJDdHJsK1UifSxTdHJpa2V0aHJvdWdoOnt0OiLliKDpmaTnur8i
fSxGb250Q29sb3I6e3Q6IuWtl+S9k+minOiJsiIsaDoxfSxCYWNrQ29sb3I6e3Q6IuiDjOaZ
r+minOiJsiIsaDoxfSxTZWxlY3RBbGw6e3Q6IuWFqOmAiSAoQ3RybCtBKSJ9LFJlbW92ZWZv
cm1hdDp7dDoi5Yig6Zmk5paH5a2X5qC85byPIn0sQWxpZ246e3Q6IuWvuem9kCIsaDoxfSxM
aXN0Ont0OiLliJfooagiLGg6MX0sT3V0ZGVudDp7dDoi5YeP5bCR57yp6L+bIn0sSW5kZW50
Ont0OiLlop7liqDnvKnov5sifSxMaW5rOnt0OiLotoXpk77mjqUgKEN0cmwrTCkiLHM6IkN0
cmwrTCIsaDoxfSxVbmxpbms6e3Q6IuWPlua2iOi2hemTvuaOpSJ9LEFuY2hvcjp7dDoi6ZSa
54K5IixoOjF9LEltZzp7dDoi5Zu+54mHIixoOjF9LEZsYXNoOnt0OiJGbGFzaOWKqOeUuyIs
aDoxfSxNZWRpYTp7dDoi5aSa5aqS5L2T5paH5Lu2IixoOjF9LEhyOnt0OiLmj5LlhaXmsLTl
ubPnur8ifSxFbW90Ont0OiLooajmg4UiLHM6ImN0cmwrZSIsaDoxfSxUYWJsZTp7dDoi6KGo
5qC8IixoOjF9LFNvdXJjZTp7dDoi5rqQ5Luj56CBIn0sUHJldmlldzp7dDoi6aKE6KeIIn0s
UHJpbnQ6e3Q6IuaJk+WNsCAoQ3RybCtQKSIsczoiQ3RybCtQIn0sRnVsbHNjcmVlbjp7dDoi
5YWo5bGP57yW6L6RIChFc2MpIixzOiJFc2MifSxBYm91dDp7dDoi5YWz5LqOIHhoRWRpdG9y
In19O3ZhciB0b29sc1RoZW1lcz17bWluaToiQm9sZCxJdGFsaWMsVW5kZXJsaW5lLFN0cmlr
ZXRocm91Z2gsfCxBbGlnbixMaXN0LHwsTGluayxJbWciLHNpbXBsZToiQmxvY2t0YWcsRm9u
dGZhY2UsRm9udFNpemUsQm9sZCxJdGFsaWMsVW5kZXJsaW5lLFN0cmlrZXRocm91Z2gsRm9u
dENvbG9yLEJhY2tDb2xvcix8LEFsaWduLExpc3QsT3V0ZGVudCxJbmRlbnQsfCxMaW5rLElt
ZyxFbW90IixmdWxsOiJDdXQsQ29weSxQYXN0ZSxQYXN0ZXRleHQsfCxCbG9ja3RhZyxGb250
ZmFjZSxGb250U2l6ZSxCb2xkLEl0YWxpYyxVbmRlcmxpbmUsU3RyaWtldGhyb3VnaCxGb250
Q29sb3IsQmFja0NvbG9yLFNlbGVjdEFsbCxSZW1vdmVmb3JtYXQsfCxBbGlnbixMaXN0LE91
dGRlbnQsSW5kZW50LHwsTGluayxVbmxpbmssQW5jaG9yLEltZyxGbGFzaCxNZWRpYSxIcixF
bW90LFRhYmxlLHwsU291cmNlLFByZXZpZXcsUHJpbnQsRnVsbHNjcmVlbiJ9O3Rvb2xzVGhl
bWVzLm1mdWxsPXRvb2xzVGhlbWVzLmZ1bGwucmVwbGFjZSgvXHwoLEFsaWduKS9pLCIvJDEi
KTt2YXIgYXJyRGJDbGljaz17YToiTGluayIsaW1nOiJJbWciLGVtYmVkOiJFbWJlZCJ9LHVw
bG9hZElucHV0bmFtZT0iZmlsZWRhdGEiO3ZhciBhcnJFbnRpdGllcz17IjwiOiImbHQ7Iiwi
PiI6IiZndDsiLCciJzoiJnF1b3Q7Iiwiwq4iOiImcmVnOyIsIsKpIjoiJmNvcHk7In07dmFy
IHJlZ0VudGl0aWVzPS9bPD4iwq7CqV0vZzt2YXIgeGhlZGl0b3I9ZnVuY3Rpb24odGV4dGFy
ZWEsb3B0aW9ucyl7dmFyIF90aGlzPXRoaXMsX3RleHQ9dGV4dGFyZWEsX2pUZXh0PSQoX3Rl
eHQpLF9qRm9ybT1falRleHQuY2xvc2VzdCgiZm9ybSIpLF9qVG9vbHMsX2pBcmVhLF93aW4s
X2pXaW4sX2RvYyxfakRvYzt2YXIgYm9va21hcms7dmFyIGJJbml0PWZhbHNlLGJTb3VyY2U9
ZmFsc2UsYkZ1bGxzY3JlZW49ZmFsc2UsYkNsZWFuUGFzdGU9ZmFsc2Usb3V0ZXJTY3JvbGws
YlNob3dCbG9ja3RhZz1mYWxzZSxzTGF5b3V0U3R5bGU9IiIsZXY9bnVsbCx0aW1lcixiRGlz
YWJsZUhvdmVyRXhlYz1mYWxzZSxiUXVpY2tIb3ZlckV4ZWM9ZmFsc2U7dmFyIGxhc3RQb2lu
dD1udWxsLGxhc3RBbmdsZT1udWxsO3ZhciBlZGl0b3JIZWlnaHQ9MDt2YXIgc2V0dGluZ3M9
X3RoaXMuc2V0dGluZ3M9JC5leHRlbmQoe30seGhlZGl0b3Iuc2V0dGluZ3Msb3B0aW9ucyk7
dmFyIHBsdWdpbnM9c2V0dGluZ3MucGx1Z2lucyxzdHJQbHVnaW5zPVtdO2lmKHBsdWdpbnMp
e2FyclRvb2xzPSQuZXh0ZW5kKHt9LGFyclRvb2xzLHBsdWdpbnMpOyQuZWFjaChwbHVnaW5z
LGZ1bmN0aW9uKG4pe3N0clBsdWdpbnMucHVzaChuKX0pO3N0clBsdWdpbnM9c3RyUGx1Z2lu
cy5qb2luKCIsIil9aWYoc2V0dGluZ3MudG9vbHMubWF0Y2goL15ccyoobT9mdWxsfHNpbXBs
ZXxtaW5pKVxzKiQvaSkpe3ZhciB0b29sc1RoZW1lPXRvb2xzVGhlbWVzWyQudHJpbShzZXR0
aW5ncy50b29scyldO3NldHRpbmdzLnRvb2xzPShzZXR0aW5ncy50b29scy5tYXRjaCgvbT9m
dWxsL2kpJiZwbHVnaW5zKT90b29sc1RoZW1lLnJlcGxhY2UoIlRhYmxlIiwiVGFibGUsIitz
dHJQbHVnaW5zKTp0b29sc1RoZW1lfWlmKCFzZXR0aW5ncy50b29scy5tYXRjaCgvKF58LClc
cypBYm91dFxzKigsfCQpL2kpKXtzZXR0aW5ncy50b29scys9IixBYm91dCJ9c2V0dGluZ3Mu
dG9vbHM9c2V0dGluZ3MudG9vbHMuc3BsaXQoIiwiKTtpZihzZXR0aW5ncy5lZGl0b3JSb290
KXtlZGl0b3JSb290PXNldHRpbmdzLmVkaXRvclJvb3R9aWYoYkFpcj09PWZhbHNlKXtlZGl0
b3JSb290PWdldExvY2FsVXJsKGVkaXRvclJvb3QsImFicyIpfWlmKHNldHRpbmdzLnVybEJh
c2Upe3NldHRpbmdzLnVybEJhc2U9Z2V0TG9jYWxVcmwoc2V0dGluZ3MudXJsQmFzZSwiYWJz
Iil9dmFyIGlkQ1NTPSJ4aGVDU1NfIitzZXR0aW5ncy5za2luLGlkQ29udGFpbmVyPSJ4aGUi
K3hDb3VudCsiX2NvbnRhaW5lciIsaWRUb29scz0ieGhlIit4Q291bnQrIl9Ub29sIixpZElm
cmFtZUFyZWE9InhoZSIreENvdW50KyJfaWZyYW1lYXJlYSIsaWRJZnJhbWU9InhoZSIreENv
dW50KyJfaWZyYW1lIixpZEZpeEZGQ3Vyc29yPSJ4aGUiK3hDb3VudCsiX2ZpeGZmY3Vyc29y
Ijt2YXIgaGVhZEhUTUw9IiIsYm9keUNsYXNzPSIiLHNraW5QYXRoPWVkaXRvclJvb3QrInho
ZWRpdG9yX3NraW4vIitzZXR0aW5ncy5za2luKyIvIixhcnJFbW90cz1bXSx1cmxUeXBlPXNl
dHRpbmdzLnVybFR5cGUsdXJsQmFzZT1zZXR0aW5ncy51cmxCYXNlLGVtb3RQYXRoPXNldHRp
bmdzLmVtb3RQYXRoLGVtb3RQYXRoPWVtb3RQYXRoP2Vtb3RQYXRoOmVkaXRvclJvb3QrInho
ZWRpdG9yX2Vtb3QvIixzZWxFbW90R3JvdXA9IiI7YXJyRW1vdHM9JC5leHRlbmQoe30sYXJy
RW1vdHMsc2V0dGluZ3MuZW1vdHMpO2Vtb3RQYXRoPWdldExvY2FsVXJsKGVtb3RQYXRoLCJy
ZWwiLHVybEJhc2U/dXJsQmFzZTpudWxsKTtiU2hvd0Jsb2NrdGFnPXNldHRpbmdzLnNob3dC
bG9ja3RhZztpZihiU2hvd0Jsb2NrdGFnKXtib2R5Q2xhc3MrPSIgc2hvd0Jsb2NrdGFnIn12
YXIgYXJyU2hvcnRDdXRzPVtdO3RoaXMuaXNsb2FkZW1vdD1mYWxzZTt0aGlzLmluaXQ9ZnVu
Y3Rpb24oKXtpZigkKCIjIitpZENTUykubGVuZ3RoPT09MCl7JCgiaGVhZCIpLmFwcGVuZCgn
PGxpbmsgaWQ9IicraWRDU1MrJyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIg
aHJlZj0iJytza2luUGF0aCsndWkuY3NzIiAvPicpfXZhciB0ZXh0YXJlYVdpZHRoPV9qVGV4
dC5vdXRlcldpZHRoKCksdGV4dGFyZWFIZWlnaHQ9X2pUZXh0Lm91dGVySGVpZ2h0KCk7dmFy
IGVkaXRvcldpZHRoPXNldHRpbmdzLndpZHRofHxfdGV4dC5zdHlsZS53aWR0aHx8KHRleHRh
cmVhV2lkdGg+MTA/dGV4dGFyZWFXaWR0aDowKTtlZGl0b3JIZWlnaHQ9c2V0dGluZ3MuaGVp
Z2h0fHxfdGV4dC5zdHlsZS5oZWlnaHR8fCh0ZXh0YXJlYUhlaWdodD4xMD90ZXh0YXJlYUhl
aWdodDoxNTApO2lmKGlzKGVkaXRvcldpZHRoLCJudW1iZXIiKSl7ZWRpdG9yV2lkdGgrPSJw
eCJ9aWYoaXMoZWRpdG9ySGVpZ2h0LCJzdHJpbmciKSl7ZWRpdG9ySGVpZ2h0PWVkaXRvckhl
aWdodC5yZXBsYWNlKC9bXlxkXSsvZywiIil9dmFyIGVkaXRvckJhY2tncm91bmQ9c2V0dGlu
Z3MuYmFja2dyb3VuZHx8X3RleHQuc3R5bGUuYmFja2dyb3VuZDt2YXIgYXJyVG9vbHNIdG1s
PVsnPHNwYW4gY2xhc3M9InhoZUdTdGFydCIvPiddLHRvb2wsY24scmVnU2VwYXJhdG9yPS9c
fHxcLy9pOyQuZWFjaChzZXR0aW5ncy50b29scyxmdW5jdGlvbihpLG4pe2lmKG4ubWF0Y2go
cmVnU2VwYXJhdG9yKSl7YXJyVG9vbHNIdG1sLnB1c2goJzxzcGFuIGNsYXNzPSJ4aGVHRW5k
Ii8+Jyl9aWYobj09PSJ8Iil7YXJyVG9vbHNIdG1sLnB1c2goJzxzcGFuIGNsYXNzPSJ4aGVT
ZXBhcmF0b3IiLz4nKX1lbHNle2lmKG49PT0iLyIpe2FyclRvb2xzSHRtbC5wdXNoKCI8YnIg
Lz4iKX1lbHNle3Rvb2w9YXJyVG9vbHNbbl07aWYoIXRvb2wpe3JldHVybn1pZih0b29sLmMp
e2NuPXRvb2wuY31lbHNle2NuPSJ4aGVJY29uIHhoZUJ0biIrbn1hcnJUb29sc0h0bWwucHVz
aCgnPHNwYW4+PGEgaHJlZj0iIyIgdGl0bGU9IicrdG9vbC50KyciIGNtZD0iJytuKyciIGNs
YXNzPSJ4aGVCdXR0b24geGhlRW5hYmxlZCIgdGFiaW5kZXg9Ii0xIiByb2xlPSJidXR0b24i
PjxzcGFuIGNsYXNzPSInK2NuKyciIHVuc2VsZWN0YWJsZT0ib24iIHN0eWxlPSJmb250LXNp
emU6MDtjb2xvcjp0cmFuc3BhcmVudDt0ZXh0LWluZGVudDotOTk5cHg7Ij4nK3Rvb2wudCsi
PC9zcGFuPjwvYT48L3NwYW4+Iik7aWYodG9vbC5zKXtfdGhpcy5hZGRTaG9ydGN1dHModG9v
bC5zLG4pfX19aWYobi5tYXRjaChyZWdTZXBhcmF0b3IpKXthcnJUb29sc0h0bWwucHVzaCgn
PHNwYW4gY2xhc3M9InhoZUdTdGFydCIvPicpfX0pO2FyclRvb2xzSHRtbC5wdXNoKCc8c3Bh
biBjbGFzcz0ieGhlR0VuZCIvPjxiciAvPicpO19qVGV4dC5hZnRlcigkKCc8aW5wdXQgdHlw
ZT0idGV4dCIgaWQ9IicraWRGaXhGRkN1cnNvcisnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1
dGU7ZGlzcGxheTpub25lOyIgLz48c3BhbiBpZD0iJytpZENvbnRhaW5lcisnIiBjbGFzcz0i
eGhlXycrc2V0dGluZ3Muc2tpbisnIiBzdHlsZT0iZGlzcGxheTpub25lIj48dGFibGUgY2Vs
bHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0ieGhlTGF5b3V0IiBzdHlsZT0i
JysoZWRpdG9yV2lkdGghPSIwcHgiPyJ3aWR0aDoiK2VkaXRvcldpZHRoKyI7IjoiIikrImhl
aWdodDoiK2VkaXRvckhlaWdodCsncHg7IiByb2xlPSJwcmVzZW50YXRpb24iPjx0cj48dGQg
aWQ9IicraWRUb29scysnIiBjbGFzcz0ieGhlVG9vbCIgdW5zZWxlY3RhYmxlPSJvbiIgc3R5
bGU9ImhlaWdodDoxcHg7IiByb2xlPSJwcmVzZW50YXRpb24iPjwvdGQ+PC90cj48dHI+PHRk
IGlkPSInK2lkSWZyYW1lQXJlYSsnIiBjbGFzcz0ieGhlSWZyYW1lQXJlYSIgcm9sZT0icHJl
c2VudGF0aW9uIj48aWZyYW1lIGZyYW1lYm9yZGVyPSIwIiBpZD0iJytpZElmcmFtZSsnIiBz
cmM9ImphdmFzY3JpcHQ6OyIgc3R5bGU9IndpZHRoOjEwMCU7Ij48L2lmcmFtZT48L3RkPjwv
dHI+PC90YWJsZT48L3NwYW4+JykpO19qVG9vbHM9JCgiIyIraWRUb29scyk7X2pBcmVhPSQo
IiMiK2lkSWZyYW1lQXJlYSk7aGVhZEhUTUw9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQt
VHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPjxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iJytza2luUGF0aCsnaWZyYW1lLmNzcyIvPic7dmFyIGxvYWRD
U1M9c2V0dGluZ3MubG9hZENTUztpZihsb2FkQ1NTKXtpZihpcyhsb2FkQ1NTLCJhcnJheSIp
KXtmb3IodmFyIGkgaW4gbG9hZENTUyl7aGVhZEhUTUwrPSc8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9IicrbG9hZENTU1tpXSsnIi8+J319ZWxzZXtpZihsb2FkQ1NTLm1hdGNoKC9c
cyo8c3R5bGUoXHMrW14+XSo/KT8+W1xzXFNdKz88XC9zdHlsZT5ccyovaSkpe2hlYWRIVE1M
Kz1sb2FkQ1NTfWVsc2V7aGVhZEhUTUwrPSc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
IicrbG9hZENTUysnIi8+J319fXZhciBpZnJhbWVIVE1MPSI8aHRtbD48aGVhZD4iK2hlYWRI
VE1MKyI8dGl0bGU+5Y+v6KeG5YyW57yW6L6R5ZmoLGFsdCsx5YiwOemUrizliIfmjaLliLDl
t6XlhbfljLosdGFi6ZSuLOmAieaLqeaMiemSrixlc2PplK4s6L+U5Zue57yW6L6RICIrKHNl
dHRpbmdzLnJlYWRUaXA/c2V0dGluZ3MucmVhZFRpcDoiIikrIjwvdGl0bGU+IjtpZihlZGl0
b3JCYWNrZ3JvdW5kKXtpZnJhbWVIVE1MKz0iPHN0eWxlPmh0bWx7YmFja2dyb3VuZDoiK2Vk
aXRvckJhY2tncm91bmQrIjt9PC9zdHlsZT4ifWlmcmFtZUhUTUwrPSc8L2hlYWQ+PGJvZHkg
c3BlbGxjaGVjaz0iMCIgY2xhc3M9ImVkaXRNb2RlJytib2R5Q2xhc3MrJyI+PC9ib2R5Pjwv
aHRtbD4nO190aGlzLndpbj1fd2luPSQoIiMiK2lkSWZyYW1lKVswXS5jb250ZW50V2luZG93
O19qV2luPSQoX3dpbik7dHJ5e3RoaXMuZG9jPV9kb2M9X3dpbi5kb2N1bWVudDtfakRvYz0k
KF9kb2MpO19kb2Mub3BlbigpO19kb2Mud3JpdGUoaWZyYW1lSFRNTCk7X2RvYy5jbG9zZSgp
O2lmKGlzSUUpe19kb2MuYm9keS5jb250ZW50RWRpdGFibGU9InRydWUifWVsc2V7X2RvYy5k
ZXNpZ25Nb2RlPSJPbiJ9fWNhdGNoKGUpe31zZXRUaW1lb3V0KHNldE9wdHMsMzAwKTtfdGhp
cy5zZXRTb3VyY2UoKTtfd2luLnNldEludGVydmFsPW51bGw7X2pUb29scy5hcHBlbmQoYXJy
VG9vbHNIdG1sLmpvaW4oIiIpKS5iaW5kKCJtb3VzZWRvd24gY29udGV4dG1lbnUiLHJldHVy
bkZhbHNlKS5jbGljayhmdW5jdGlvbihldmVudCl7dmFyIGpCdXR0b249JChldmVudC50YXJn
ZXQpLmNsb3Nlc3QoImEiKTtpZihqQnV0dG9uLmlzKCIueGhlRW5hYmxlZCIpKXtjbGVhclRp
bWVvdXQodGltZXIpO19qVG9vbHMuZmluZCgiYSIpLmF0dHIoInRhYmluZGV4IiwiLTEiKTtl
dj1ldmVudDtfdGhpcy5leGVjKGpCdXR0b24uYXR0cigiY21kIikpfXJldHVybiBmYWxzZX0p
O19qVG9vbHMuZmluZCgiLnhoZUJ1dHRvbiIpLmhvdmVyKGZ1bmN0aW9uKGV2ZW50KXt2YXIg
akJ1dHRvbj0kKHRoaXMpLGRlbGF5PXNldHRpbmdzLmhvdmVyRXhlY0RlbGF5O3ZhciB0QW5n
bGU9bGFzdEFuZ2xlO2xhc3RBbmdsZT1udWxsO2lmKGRlbGF5PT09LTF8fGJEaXNhYmxlSG92
ZXJFeGVjfHwhakJ1dHRvbi5pcygiLnhoZUVuYWJsZWQiKSl7cmV0dXJuIGZhbHNlfWlmKHRB
bmdsZSYmdEFuZ2xlPjEwKXtiRGlzYWJsZUhvdmVyRXhlYz10cnVlO3NldFRpbWVvdXQoZnVu
Y3Rpb24oKXtiRGlzYWJsZUhvdmVyRXhlYz1mYWxzZX0sMTAwKTtyZXR1cm4gZmFsc2V9dmFy
IGNtZD1qQnV0dG9uLmF0dHIoImNtZCIpLGJIb3Zlcj1hcnJUb29sc1tjbWRdLmg9PT0xO2lm
KCFiSG92ZXIpe190aGlzLmhpZGVQYW5lbCgpO3JldHVybiBmYWxzZX1pZihiUXVpY2tIb3Zl
ckV4ZWMpe2RlbGF5PTB9aWYoZGVsYXk+PTApe3RpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24o
KXtldj1ldmVudDtsYXN0UG9pbnQ9e3g6ZXYuY2xpZW50WCx5OmV2LmNsaWVudFl9O190aGlz
LmV4ZWMoY21kKX0sZGVsYXkpfX0sZnVuY3Rpb24oZXZlbnQpe2xhc3RQb2ludD1udWxsO2lm
KHRpbWVyKXtjbGVhclRpbWVvdXQodGltZXIpfX0pLm1vdXNlbW92ZShmdW5jdGlvbihldmVu
dCl7aWYobGFzdFBvaW50KXt2YXIgZGlmZj17eDpldmVudC5jbGllbnRYLWxhc3RQb2ludC54
LHk6ZXZlbnQuY2xpZW50WS1sYXN0UG9pbnQueX07aWYoTWF0aC5hYnMoZGlmZi54KT4xfHxN
YXRoLmFicyhkaWZmLnkpPjEpe2lmKGRpZmYueD4wJiZkaWZmLnk+MCl7dmFyIHRBbmdsZT1N
YXRoLnJvdW5kKE1hdGguYXRhbihkaWZmLnkvZGlmZi54KS8wLjAxNzQ1MzI5Myk7aWYobGFz
dEFuZ2xlKXtsYXN0QW5nbGU9KGxhc3RBbmdsZSt0QW5nbGUpLzJ9ZWxzZXtsYXN0QW5nbGU9
dEFuZ2xlfX1lbHNle2xhc3RBbmdsZT1udWxsfWxhc3RQb2ludD17eDpldmVudC5jbGllbnRY
LHk6ZXZlbnQuY2xpZW50WX19fX0pO19qUGFuZWw9JCgiI3hoZVBhbmVsIik7X2pTaGFkb3c9
JCgiI3hoZVNoYWRvdyIpO19qQ250TGluZT0kKCIjeGhlQ250TGluZSIpO2lmKF9qUGFuZWwu
bGVuZ3RoPT09MCl7X2pQYW5lbD0kKCc8ZGl2IGlkPSJ4aGVQYW5lbCI+PC9kaXY+JykubW91
c2Vkb3duKGZ1bmN0aW9uKGV2KXtldi5zdG9wUHJvcGFnYXRpb24oKX0pO19qU2hhZG93PSQo
JzxkaXYgaWQ9InhoZVNoYWRvdyI+PC9kaXY+Jyk7X2pDbnRMaW5lPSQoJzxkaXYgaWQ9Inho
ZUNudExpbmUiPjwvZGl2PicpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXskKGRvY3VtZW50LmJv
ZHkpLmFwcGVuZChfalBhbmVsKS5hcHBlbmQoX2pTaGFkb3cpLmFwcGVuZChfakNudExpbmUp
fSwxMCl9JCgiIyIraWRDb250YWluZXIpLnNob3coKTtfalRleHQuaGlkZSgpO19qQXJlYS5j
c3MoImhlaWdodCIsZWRpdG9ySGVpZ2h0LV9qVG9vbHMub3V0ZXJIZWlnaHQoKSk7aWYoaXNJ
RSZicm93ZXJWZXI8OCl7c2V0VGltZW91dChmdW5jdGlvbigpe19qQXJlYS5jc3MoImhlaWdo
dCIsZWRpdG9ySGVpZ2h0LV9qVG9vbHMub3V0ZXJIZWlnaHQoKSl9LDEpfV9qVGV4dC5mb2N1
cyhfdGhpcy5mb2N1cyk7X2pGb3JtLnN1Ym1pdChzYXZlUmVzdWx0KS5iaW5kKCJyZXNldCIs
bG9hZFJlc2V0KTtpZihzZXR0aW5ncy5zdWJtaXRJRCl7JCgiIyIrc2V0dGluZ3Muc3VibWl0
SUQpLm1vdXNlZG93bihzYXZlUmVzdWx0KX0kKHdpbmRvdykuYmluZCgidW5sb2FkIGJlZm9y
ZXVubG9hZCIsc2F2ZVJlc3VsdCkuYmluZCgicmVzaXplIixmaXhGdWxsSGVpZ2h0KTskKGRv
Y3VtZW50KS5tb3VzZWRvd24oY2xpY2tDYW5jZWxQYW5lbCk7aWYoIWJDaGVja0VzY0luaXQp
eyQoZG9jdW1lbnQpLmtleWRvd24oY2hlY2tFc2MpO2JDaGVja0VzY0luaXQ9dHJ1ZX1faldp
bi5mb2N1cyhmdW5jdGlvbigpe2lmKHNldHRpbmdzLmZvY3VzKXtzZXR0aW5ncy5mb2N1cygp
fX0pLmJsdXIoZnVuY3Rpb24oKXtpZihzZXR0aW5ncy5ibHVyKXtzZXR0aW5ncy5ibHVyKCl9
fSk7aWYoaXNTYWZhcmkpe19qV2luLmNsaWNrKGZpeEFwcGxlU2VsKX1fakRvYy5tb3VzZWRv
d24oY2xpY2tDYW5jZWxQYW5lbCkua2V5ZG93bihjaGVja1Nob3J0Y3V0cykua2V5cHJlc3Mo
Zm9yY2VQdGFnKS5kYmxjbGljayhjaGVja0RibENsaWNrKS5iaW5kKCJtb3VzZWRvd24gY2xp
Y2siLGZ1bmN0aW9uKGV2KXtfalRleHQudHJpZ2dlcihldi50eXBlKX0pO2lmKGlzSUUpe19q
RG9jLmtleWRvd24oZnVuY3Rpb24oZXYpe3ZhciBybmc9X3RoaXMuZ2V0Um5nKCk7aWYoZXYu
d2hpY2g9PT04JiZybmcuaXRlbSl7JChybmcuaXRlbSgwKSkucmVtb3ZlKCk7cmV0dXJuIGZh
bHNlfX0pO2Z1bmN0aW9uIGZpeFJlc2l6ZShldil7dmFyIGpJbWc9JChldi50YXJnZXQpLHY7
aWYodj1qSW1nLmNzcygid2lkdGgiKSl7akltZy5jc3MoIndpZHRoIiwiIikuYXR0cigid2lk
dGgiLHYucmVwbGFjZSgvW14wLTklXSsvZywiIikpfWlmKHY9akltZy5jc3MoImhlaWdodCIp
KXtqSW1nLmNzcygiaGVpZ2h0IiwiIikuYXR0cigiaGVpZ2h0Iix2LnJlcGxhY2UoL1teMC05
JV0rL2csIiIpKX19X2pEb2MuYmluZCgiY29udHJvbHNlbGVjdCIsZnVuY3Rpb24oZXYpe2V2
PWV2LnRhcmdldDtpZighJC5ub2RlTmFtZShldiwiSU1HIikpe3JldHVybn0kKGV2KS51bmJp
bmQoInJlc2l6ZWVuZCIsZml4UmVzaXplKS5iaW5kKCJyZXNpemVlbmQiLGZpeFJlc2l6ZSl9
KX1fakRvYy5rZXlkb3duKGZ1bmN0aW9uKGUpe3ZhciB3aGljaD1lLndoaWNoO2lmKGUuYWx0
S2V5JiZ3aGljaD49NDkmJndoaWNoPD01Nyl7X2pUb29scy5maW5kKCJhIikuYXR0cigidGFi
aW5kZXgiLCIwIik7X2pUb29scy5maW5kKCIueGhlR1N0YXJ0IikuZXEod2hpY2gtNDkpLm5l
eHQoKS5maW5kKCJhIikuZm9jdXMoKTtfZG9jLnRpdGxlPSJcdUZFRkZcdUZFRkYiO3JldHVy
biBmYWxzZX19KS5jbGljayhmdW5jdGlvbigpe19qVG9vbHMuZmluZCgiYSIpLmF0dHIoInRh
YmluZGV4IiwiLTEiKX0pO19qVG9vbHMua2V5ZG93bihmdW5jdGlvbihlKXt2YXIgd2hpY2g9
ZS53aGljaDtpZih3aGljaD09Mjcpe19qVG9vbHMuZmluZCgiYSIpLmF0dHIoInRhYmluZGV4
IiwiLTEiKTtfdGhpcy5mb2N1cygpfWVsc2V7aWYoZS5hbHRLZXkmJndoaWNoPj00OSYmd2hp
Y2g8PTU3KXtfalRvb2xzLmZpbmQoIi54aGVHU3RhcnQiKS5lcSh3aGljaC00OSkubmV4dCgp
LmZpbmQoImEiKS5mb2N1cygpO3JldHVybiBmYWxzZX19fSk7dmFyIGpCb2R5PSQoX2RvYy5k
b2N1bWVudEVsZW1lbnQpO2lmKGlzT3BlcmEpe2pCb2R5LmJpbmQoImtleWRvd24iLGZ1bmN0
aW9uKGUpe2lmKGUuY3RybEtleSYmZS53aGljaD09PTg2KXtjbGVhblBhc3RlKCl9fSl9ZWxz
ZXtqQm9keS5iaW5kKGlzSUU/ImJlZm9yZXBhc3RlIjoicGFzdGUiLGNsZWFuUGFzdGUpfWlm
KHNldHRpbmdzLmRpc2FibGVDb250ZXh0bWVudSl7akJvZHkuYmluZCgiY29udGV4dG1lbnUi
LHJldHVybkZhbHNlKX1pZihzZXR0aW5ncy5odG1sNVVwbG9hZCl7akJvZHkuYmluZCgiZHJh
Z2VudGVyIGRyYWdvdmVyIixmdW5jdGlvbihldil7dmFyIHR5cGVzO2lmKCh0eXBlcz1ldi5v
cmlnaW5hbEV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcykmJiQuaW5BcnJheSgiRmlsZXMiLHR5
cGVzKSE9PS0xKXtyZXR1cm4gZmFsc2V9fSkuYmluZCgiZHJvcCIsZnVuY3Rpb24oZXYpe3Zh
ciBkYXRhVHJhbnNmZXI9ZXYub3JpZ2luYWxFdmVudC5kYXRhVHJhbnNmZXIsZmlsZUxpc3Q7
aWYoZGF0YVRyYW5zZmVyJiYoZmlsZUxpc3Q9ZGF0YVRyYW5zZmVyLmZpbGVzKSYmZmlsZUxp
c3QubGVuZ3RoPjApe3ZhciBpLGNtZCxhcnJDbWQ9WyJMaW5rIiwiSW1nIiwiRmxhc2giLCJN
ZWRpYSJdLGFyckV4dD1bXSxzdHJFeHQ7Zm9yKGkgaW4gYXJyQ21kKXtjbWQ9YXJyQ21kW2ld
O2lmKHNldHRpbmdzWyJ1cCIrY21kKyJVcmwiXSYmc2V0dGluZ3NbInVwIitjbWQrIlVybCJd
Lm1hdGNoKC9eW14hXS4qL2kpKXthcnJFeHQucHVzaChjbWQrIjosIitzZXR0aW5nc1sidXAi
K2NtZCsiRXh0Il0pfX1pZihhcnJFeHQubGVuZ3RoPT09MCl7cmV0dXJuIGZhbHNlfWVsc2V7
c3RyRXh0PWFyckV4dC5qb2luKCIsIil9ZnVuY3Rpb24gZ2V0Q21kKGZpbGVMaXN0KXt2YXIg
bWF0Y2gsZmlsZUV4dCxjbWQ7Zm9yKGk9MDtpPGZpbGVMaXN0Lmxlbmd0aDtpKyspe2ZpbGVF
eHQ9ZmlsZUxpc3RbaV0ubmFtZS5yZXBsYWNlKC8uK1wuLywiIik7aWYobWF0Y2g9c3RyRXh0
Lm1hdGNoKG5ldyBSZWdFeHAoIihcXHcrKTpbXjpdKiwiK2ZpbGVFeHQrIig/Oix8JCkiLCJp
IikpKXtpZighY21kKXtjbWQ9bWF0Y2hbMV19ZWxzZXtpZihjbWQhPT1tYXRjaFsxXSl7cmV0
dXJuIDJ9fX1lbHNle3JldHVybiAxfX1yZXR1cm4gY21kfWNtZD1nZXRDbWQoZmlsZUxpc3Qp
O2lmKGNtZD09PTEpe2FsZXJ0KCLkuIrkvKDmlofku7bnmoTmianlsZXlkI3lv4XpnIDkuLrv
vJoiK3N0ckV4dC5yZXBsYWNlKC9cdys6LC9nLCIiKSl9ZWxzZXtpZihjbWQ9PT0yKXthbGVy
dCgi5q+P5qyh5Y+q6IO95ouW5pS+5LiK5Lyg5ZCM5LiA57G75Z6L5paH5Lu2Iil9ZWxzZXtp
ZihjbWQpe190aGlzLnN0YXJ0VXBsb2FkKGZpbGVMaXN0LHNldHRpbmdzWyJ1cCIrY21kKyJV
cmwiXSwiKiIsZnVuY3Rpb24oYXJyTXNnKXt2YXIgYXJyVXJsPVtdLG1zZyxvblVwbG9hZD1z
ZXR0aW5ncy5vblVwbG9hZDtpZihvblVwbG9hZCl7b25VcGxvYWQoYXJyTXNnKX1mb3IodmFy
IGk9MCxjPWFyck1zZy5sZW5ndGg7aTxjO2krKyl7bXNnPWFyck1zZ1tpXTt1cmw9aXMobXNn
LCJzdHJpbmciKT9tc2c6bXNnLnVybDtpZih1cmwuc3Vic3RyKDAsMSk9PT0iISIpe3VybD11
cmwuc3Vic3RyKDEpfWFyclVybC5wdXNoKHVybCl9X3RoaXMuZXhlYyhjbWQpOyQoIiN4aGUi
K2NtZCsiVXJsIikudmFsKGFyclVybC5qb2luKCIgIikpOyQoIiN4aGVTYXZlIikuY2xpY2so
KX0pfX19cmV0dXJuIGZhbHNlfX0pfXZhciBzaG9ydGN1dHM9c2V0dGluZ3Muc2hvcnRjdXRz
O2lmKHNob3J0Y3V0cyl7JC5lYWNoKHNob3J0Y3V0cyxmdW5jdGlvbihrZXksZnVuYyl7X3Ro
aXMuYWRkU2hvcnRjdXRzKGtleSxmdW5jKX0pfXhDb3VudCsrO2JJbml0PXRydWU7aWYoc2V0
dGluZ3MuZnVsbHNjcmVlbil7X3RoaXMudG9nZ2xlRnVsbHNjcmVlbigpfWVsc2V7aWYoc2V0
dGluZ3Muc291cmNlTW9kZSl7c2V0VGltZW91dChfdGhpcy50b2dnbGVTb3VyY2UsMjApfX1y
ZXR1cm4gdHJ1ZX07dGhpcy5yZW1vdmU9ZnVuY3Rpb24oKXtfdGhpcy5oaWRlUGFuZWwoKTtz
YXZlUmVzdWx0KCk7X2pUZXh0LnVuYmluZCgiZm9jdXMiLF90aGlzLmZvY3VzKTtfakZvcm0u
dW5iaW5kKCJzdWJtaXQiLHNhdmVSZXN1bHQpLnVuYmluZCgicmVzZXQiLGxvYWRSZXNldCk7
aWYoc2V0dGluZ3Muc3VibWl0SUQpeyQoIiMiK3NldHRpbmdzLnN1Ym1pdElEKS51bmJpbmQo
Im1vdXNlZG93biIsc2F2ZVJlc3VsdCl9JCh3aW5kb3cpLnVuYmluZCgidW5sb2FkIGJlZm9y
ZXVubG9hZCIsc2F2ZVJlc3VsdCkudW5iaW5kKCJyZXNpemUiLGZpeEZ1bGxIZWlnaHQpOyQo
ZG9jdW1lbnQpLnVuYmluZCgibW91c2Vkb3duIixjbGlja0NhbmNlbFBhbmVsKTskKCIjIitp
ZENvbnRhaW5lcikucmVtb3ZlKCk7JCgiIyIraWRGaXhGRkN1cnNvcikucmVtb3ZlKCk7X2pU
ZXh0LnNob3coKTtiSW5pdD1mYWxzZX07dGhpcy5zYXZlQm9va21hcms9ZnVuY3Rpb24oKXtp
ZighYlNvdXJjZSl7X3RoaXMuZm9jdXMoKTt2YXIgcm5nPV90aGlzLmdldFJuZygpO3JuZz1y
bmcuY2xvbmVSYW5nZT9ybmcuY2xvbmVSYW5nZSgpOnJuZztib29rbWFyaz17dG9wOl9qV2lu
LnNjcm9sbFRvcCgpLHJuZzpybmd9fX07dGhpcy5sb2FkQm9va21hcms9ZnVuY3Rpb24oKXtp
ZihiU291cmNlfHwhYm9va21hcmspe3JldHVybn1fdGhpcy5mb2N1cygpO3ZhciBybmc9Ym9v
a21hcmsucm5nO2lmKGlzSUUpe3JuZy5zZWxlY3QoKX1lbHNle3ZhciBzZWw9X3RoaXMuZ2V0
U2VsKCk7c2VsLnJlbW92ZUFsbFJhbmdlcygpO3NlbC5hZGRSYW5nZShybmcpfV9qV2luLnNj
cm9sbFRvcChib29rbWFyay50b3ApO2Jvb2ttYXJrPW51bGx9O3RoaXMuZm9jdXM9ZnVuY3Rp
b24oKXtpZighYlNvdXJjZSl7X3dpbi5mb2N1cygpfWVsc2V7JCgiI3NvdXJjZUNvZGUiLF9k
b2MpLmZvY3VzKCl9aWYoaXNJRSl7dmFyIHJuZz1fdGhpcy5nZXRSbmcoKTtpZihybmcucGFy
ZW50RWxlbWVudCYmcm5nLnBhcmVudEVsZW1lbnQoKS5vd25lckRvY3VtZW50IT09X2RvYyl7
X3RoaXMuc2V0VGV4dEN1cnNvcigpfX1yZXR1cm4gZmFsc2V9O3RoaXMuc2V0VGV4dEN1cnNv
cj1mdW5jdGlvbihiTGFzdCl7dmFyIHJuZz1fdGhpcy5nZXRSbmcodHJ1ZSksY3Vyc29yTm9k
ZT1fZG9jLmJvZHk7aWYoaXNJRSl7cm5nLm1vdmVUb0VsZW1lbnRUZXh0KGN1cnNvck5vZGUp
fWVsc2V7dmFyIGNoaWxlTmFtZT1iTGFzdD8ibGFzdENoaWxkIjoiZmlyc3RDaGlsZCI7d2hp
bGUoY3Vyc29yTm9kZS5ub2RlVHlwZSE9MyYmY3Vyc29yTm9kZVtjaGlsZU5hbWVdKXtjdXJz
b3JOb2RlPWN1cnNvck5vZGVbY2hpbGVOYW1lXX1ybmcuc2VsZWN0Tm9kZShjdXJzb3JOb2Rl
KX1ybmcuY29sbGFwc2UoYkxhc3Q/ZmFsc2U6dHJ1ZSk7aWYoaXNJRSl7cm5nLnNlbGVjdCgp
fWVsc2V7dmFyIHNlbD1fdGhpcy5nZXRTZWwoKTtzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7c2Vs
LmFkZFJhbmdlKHJuZyl9fTt0aGlzLmdldFNlbD1mdW5jdGlvbigpe3JldHVybiBfZG9jLnNl
bGVjdGlvbj9fZG9jLnNlbGVjdGlvbjpfd2luLmdldFNlbGVjdGlvbigpfTt0aGlzLmdldFJu
Zz1mdW5jdGlvbihiTmV3KXt2YXIgc2VsLHJuZzt0cnl7aWYoIWJOZXcpe3NlbD1fdGhpcy5n
ZXRTZWwoKTtybmc9c2VsLmNyZWF0ZVJhbmdlP3NlbC5jcmVhdGVSYW5nZSgpOnNlbC5yYW5n
ZUNvdW50PjA/c2VsLmdldFJhbmdlQXQoMCk6bnVsbH1pZighcm5nKXtybmc9X2RvYy5ib2R5
LmNyZWF0ZVRleHRSYW5nZT9fZG9jLmJvZHkuY3JlYXRlVGV4dFJhbmdlKCk6X2RvYy5jcmVh
dGVSYW5nZSgpfX1jYXRjaChleCl7fXJldHVybiBybmd9O3RoaXMuZ2V0UGFyZW50PWZ1bmN0
aW9uKHRhZyl7dmFyIHJuZz1fdGhpcy5nZXRSbmcoKSxwO2lmKCFpc0lFKXtwPXJuZy5jb21t
b25BbmNlc3RvckNvbnRhaW5lcjtpZighcm5nLmNvbGxhcHNlZCl7aWYocm5nLnN0YXJ0Q29u
dGFpbmVyPT09cm5nLmVuZENvbnRhaW5lciYmcm5nLnN0YXJ0T2Zmc2V0LXJuZy5lbmRPZmZz
ZXQ8MiYmcm5nLnN0YXJ0Q29udGFpbmVyLmhhc0NoaWxkTm9kZXMoKSl7cD1ybmcuc3RhcnRD
b250YWluZXIuY2hpbGROb2Rlc1tybmcuc3RhcnRPZmZzZXRdfX19ZWxzZXtwPXJuZy5pdGVt
P3JuZy5pdGVtKDApOnJuZy5wYXJlbnRFbGVtZW50KCl9dGFnPXRhZz90YWc6IioiO3A9JChw
KTtpZighcC5pcyh0YWcpKXtwPSQocCkuY2xvc2VzdCh0YWcpfXJldHVybiBwfTt0aGlzLmdl
dFNlbGVjdD1mdW5jdGlvbihmb3JtYXQpe3ZhciBzZWw9X3RoaXMuZ2V0U2VsKCkscm5nPV90
aGlzLmdldFJuZygpLGlzQ29sbGFwc2VkPXRydWU7aWYoIXJuZ3x8cm5nLml0ZW0pe2lzQ29s
bGFwc2VkPWZhbHNlfWVsc2V7aXNDb2xsYXBzZWQ9IXNlbHx8cm5nLmJvdW5kaW5nV2lkdGg9
PT0wfHxybmcuY29sbGFwc2VkfWlmKGZvcm1hdD09PSJ0ZXh0Iil7cmV0dXJuIGlzQ29sbGFw
c2VkPyIiOihybmcudGV4dHx8KHNlbC50b1N0cmluZz9zZWwudG9TdHJpbmcoKToiIikpfXZh
ciBzSHRtbDtpZihybmcuY2xvbmVDb250ZW50cyl7dmFyIHRtcD0kKCI8ZGl2PjwvZGl2PiIp
LGM7Yz1ybmcuY2xvbmVDb250ZW50cygpO2lmKGMpe3RtcC5hcHBlbmQoYyl9c0h0bWw9dG1w
Lmh0bWwoKX1lbHNle2lmKGlzKHJuZy5pdGVtKSl7c0h0bWw9cm5nLml0ZW0oMCkub3V0ZXJI
VE1MfWVsc2V7aWYoaXMocm5nLmh0bWxUZXh0KSl7c0h0bWw9cm5nLmh0bWxUZXh0fWVsc2V7
c0h0bWw9cm5nLnRvU3RyaW5nKCl9fX1pZihpc0NvbGxhcHNlZCl7c0h0bWw9IiJ9c0h0bWw9
X3RoaXMucHJvY2Vzc0hUTUwoc0h0bWwsInJlYWQiKTtzSHRtbD1fdGhpcy5jbGVhbkhUTUwo
c0h0bWwpO3NIdG1sPV90aGlzLmZvcm1hdFhIVE1MKHNIdG1sKTtyZXR1cm4gc0h0bWx9O3Ro
aXMucGFzdGVIVE1MPWZ1bmN0aW9uKHNIdG1sLGJTdGFydCl7aWYoYlNvdXJjZSl7cmV0dXJu
IGZhbHNlfV90aGlzLmZvY3VzKCk7c0h0bWw9X3RoaXMucHJvY2Vzc0hUTUwoc0h0bWwsIndy
aXRlIik7dmFyIHNlbD1fdGhpcy5nZXRTZWwoKSxybmc9X3RoaXMuZ2V0Um5nKCk7aWYoYlN0
YXJ0IT09dW5kZWZpbmVkKXtpZihybmcuaXRlbSl7dmFyIGl0ZW09cm5nLml0ZW0oMCk7cm5n
PV90aGlzLmdldFJuZyh0cnVlKTtybmcubW92ZVRvRWxlbWVudFRleHQoaXRlbSk7cm5nLnNl
bGVjdCgpfXJuZy5jb2xsYXBzZShiU3RhcnQpfXNIdG1sKz0iPCIrKGlzSUU/ImltZyI6InNw
YW4iKSsnIGlkPSJfeGhlX3RlbXAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIC8+JztpZihybmcu
aW5zZXJ0Tm9kZSl7aWYoJChybmcuc3RhcnRDb250YWluZXIpLmNsb3Nlc3QoInN0eWxlLHNj
cmlwdCIpLmxlbmd0aD4wKXtyZXR1cm4gZmFsc2V9cm5nLmRlbGV0ZUNvbnRlbnRzKCk7cm5n
Lmluc2VydE5vZGUocm5nLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChzSHRtbCkpfWVsc2V7
aWYoc2VsLnR5cGUudG9Mb3dlckNhc2UoKT09PSJjb250cm9sIil7c2VsLmNsZWFyKCk7cm5n
PV90aGlzLmdldFJuZygpfXJuZy5wYXN0ZUhUTUwoc0h0bWwpfXZhciBqVGVtcD0kKCIjX3ho
ZV90ZW1wIixfZG9jKSx0ZW1wPWpUZW1wWzBdO2lmKGlzSUUpe3JuZy5tb3ZlVG9FbGVtZW50
VGV4dCh0ZW1wKTtybmcuc2VsZWN0KCl9ZWxzZXtybmcuc2VsZWN0Tm9kZSh0ZW1wKTtzZWwu
cmVtb3ZlQWxsUmFuZ2VzKCk7c2VsLmFkZFJhbmdlKHJuZyl9alRlbXAucmVtb3ZlKCl9O3Ro
aXMucGFzdGVUZXh0PWZ1bmN0aW9uKHRleHQsYlN0YXJ0KXtpZighdGV4dCl7dGV4dD0iIn10
ZXh0PV90aGlzLmRvbUVuY29kZSh0ZXh0KTt0ZXh0PXRleHQucmVwbGFjZSgvXHI/XG4vZywi
PGJyIC8+Iik7X3RoaXMucGFzdGVIVE1MKHRleHQsYlN0YXJ0KX07dGhpcy5hcHBlbmRIVE1M
PWZ1bmN0aW9uKHNIdG1sKXtpZihiU291cmNlKXtyZXR1cm4gZmFsc2V9X3RoaXMuZm9jdXMo
KTtzSHRtbD1fdGhpcy5wcm9jZXNzSFRNTChzSHRtbCwid3JpdGUiKTskKF9kb2MuYm9keSku
YXBwZW5kKHNIdG1sKTtfdGhpcy5zZXRUZXh0Q3Vyc29yKHRydWUpfTt0aGlzLmRvbUVuY29k
ZT1mdW5jdGlvbih0ZXh0KXtyZXR1cm4gdGV4dC5yZXBsYWNlKHJlZ0VudGl0aWVzLGZ1bmN0
aW9uKGMpe3JldHVybiBhcnJFbnRpdGllc1tjXX0pfTt0aGlzLnNldFNvdXJjZT1mdW5jdGlv
bihzSHRtbCl7Ym9va21hcms9bnVsbDtpZih0eXBlb2Ygc0h0bWwhPT0ic3RyaW5nIiYmc0h0
bWwhPT0iIil7c0h0bWw9X3RleHQudmFsdWV9aWYoYlNvdXJjZSl7JCgiI3NvdXJjZUNvZGUi
LF9kb2MpLnZhbChzSHRtbCl9ZWxzZXtpZihzZXR0aW5ncy5iZWZvcmVTZXRTb3VyY2Upe3NI
dG1sPXNldHRpbmdzLmJlZm9yZVNldFNvdXJjZShzSHRtbCl9c0h0bWw9X3RoaXMuY2xlYW5I
VE1MKHNIdG1sKTtzSHRtbD1fdGhpcy5mb3JtYXRYSFRNTChzSHRtbCk7c0h0bWw9X3RoaXMu
cHJvY2Vzc0hUTUwoc0h0bWwsIndyaXRlIik7aWYoaXNJRSl7X2RvYy5ib2R5LmlubmVySFRN
TD0nPGltZyBpZD0iX3hoZV90ZW1wIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiAvPicrc0h0bWw7
JCgiI194aGVfdGVtcCIsX2RvYykucmVtb3ZlKCl9ZWxzZXtfZG9jLmJvZHkuaW5uZXJIVE1M
PXNIdG1sfX19O3RoaXMucHJvY2Vzc0hUTUw9ZnVuY3Rpb24oc0h0bWwsbW9kZSl7dmFyIGFw
cGxlQ2xhc3M9JyBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiInO2lmKG1vZGU9PT0id3JpdGUi
KXtzSHRtbD1zSHRtbC5yZXBsYWNlKC8oPChcLz8pKFx3KykpKCg/OlxzK1tcd1wtOl0rXHMq
PVxzKig/OiJbXiJdKiJ8J1teJ10qJ3xbXj5cc10rKSkqKVxzKigoXC8/KT4pL2csZnVuY3Rp
b24oYWxsLGxlZnQsZW5kMSx0YWcsYXR0cixyaWdodCxlbmQyKXt0YWc9dGFnLnRvTG93ZXJD
YXNlKCk7aWYoaXNNb3ppbGxhKXtpZih0YWc9PT0ic3Ryb25nIil7dGFnPSJiIn1lbHNle2lm
KHRhZz09PSJlbSIpe3RhZz0iaSJ9fX1lbHNle2lmKGlzU2FmYXJpKXtpZih0YWc9PT0ic3Ry
b25nIil7dGFnPSJzcGFuIjtpZighZW5kMSl7YXR0cis9YXBwbGVDbGFzcysnIHN0eWxlPSJm
b250LXdlaWdodDogYm9sZDsiJ319ZWxzZXtpZih0YWc9PT0iZW0iKXt0YWc9InNwYW4iO2lm
KCFlbmQxKXthdHRyKz1hcHBsZUNsYXNzKycgc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsi
J319ZWxzZXtpZih0YWc9PT0idSIpe3RhZz0ic3BhbiI7aWYoIWVuZDEpe2F0dHIrPWFwcGxl
Q2xhc3MrJyBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Iid9fWVsc2V7aWYo
dGFnPT09InN0cmlrZSIpe3RhZz0ic3BhbiI7aWYoIWVuZDEpe2F0dHIrPWFwcGxlQ2xhc3Mr
JyBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7Iid9fX19fX19dmFyIGVt
b3QsYWRkQ2xhc3M9IiI7aWYodGFnPT09ImRlbCIpe3RhZz0ic3RyaWtlIn1lbHNle2lmKHRh
Zz09PSJpbWciKXthdHRyPWF0dHIucmVwbGFjZSgvXHMrZW1vdFxzKj1ccyooIlteIl0qInwn
W14nXSonfFtePlxzXSspL2ksZnVuY3Rpb24oYWxsLHYpe2Vtb3Q9di5tYXRjaCgvXihbIidd
PykoLiopXDEvKVsyXTtlbW90PWVtb3Quc3BsaXQoIiwiKTtpZighZW1vdFsxXSl7ZW1vdFsx
XT1lbW90WzBdO2Vtb3RbMF09IiJ9aWYoZW1vdFswXT09PSJkZWZhdWx0Iil7ZW1vdFswXT0i
In1yZXR1cm4gc2V0dGluZ3MuZW1vdE1hcms/YWxsOiIifSl9ZWxzZXtpZih0YWc9PT0iYSIp
e2lmKCFhdHRyLm1hdGNoKC8gaHJlZj1bXiBdL2kpJiZhdHRyLm1hdGNoKC8gbmFtZT1bXiBd
L2kpKXthZGRDbGFzcys9IiB4aGUtYW5jaG9yIn1pZihlbmQyKXtyaWdodD0iPjwvYT4ifX1l
bHNle2lmKHRhZz09PSJ0YWJsZSImJiFlbmQxKXt2YXIgdGI9YXR0ci5tYXRjaCgvXHMrYm9y
ZGVyXHMqPVxzKigiW14iXSoifCdbXiddKid8W14+XHNdKykvaSk7aWYoIXRifHx0YlsxXS5t
YXRjaCgvXihbIiddPylccyowXHMqXDEkLykpe2FkZENsYXNzKz0iIHhoZS1ib3JkZXIifX19
fX12YXIgYkFwcGxlQ2xhc3M7YXR0cj1hdHRyLnJlcGxhY2UoL1xzKyhbXHdcLTpdKylccyo9
XHMqKCJbXiJdKiJ8J1teJ10qJ3xbXj5cc10rKS9nLGZ1bmN0aW9uKGFsbCxuLHYpe249bi50
b0xvd2VyQ2FzZSgpO3Y9di5tYXRjaCgvXihbIiddPykoLiopXDEvKVsyXTthZnQ9IiI7aWYo
aXNJRSYmbi5tYXRjaCgvXihkaXNhYmxlZHxjaGVja2VkfHJlYWRvbmx5fHNlbGVjdGVkKSQv
KSYmdi5tYXRjaCgvXihmYWxzZXwwKSQvaSkpe3JldHVybiIifWlmKHRhZz09PSJpbWciJiZl
bW90JiZuPT09InNyYyIpe3JldHVybiIifWlmKG4ubWF0Y2goL14oc3JjfGhyZWYpJC8pKXth
ZnQ9IiBfeGhlXyIrbisnPSInK3YrJyInO2lmKHVybEJhc2Upe3Y9Z2V0TG9jYWxVcmwodiwi
YWJzIix1cmxCYXNlKX19aWYoYWRkQ2xhc3MmJm49PT0iY2xhc3MiKXt2Kz0iICIrYWRkQ2xh
c3M7YWRkQ2xhc3M9IiJ9aWYoaXNTYWZhcmkmJm49PT0ic3R5bGUiKXtpZih0YWc9PT0ic3Bh
biImJnYubWF0Y2goLyhefDspXHMqKGZvbnQtZmFtaWx5fGZvbnQtc2l6ZXxjb2xvcnxiYWNr
Z3JvdW5kLWNvbG9yKVxzKjpccypbXjtdK1xzKig7fCQpL2kpKXtiQXBwbGVDbGFzcz10cnVl
fX1yZXR1cm4iICIrbisnPSInK3YrJyInK2FmdH0pO2lmKGVtb3Qpe3ZhciB1cmw9ZW1vdFBh
dGgrZW1vdFsxXTthdHRyKz0nIHNyYz0iJyt1cmwrJyIgX3hoZV9zcmM9IicrdXJsKyciJ31p
ZihiQXBwbGVDbGFzcyl7YXR0cis9YXBwbGVDbGFzc31pZihhZGRDbGFzcyl7YXR0cis9JyBj
bGFzcz0iJythZGRDbGFzcysnIid9cmV0dXJuIjwiK2VuZDErdGFnK2F0dHIrcmlnaHR9KTtp
Zihpc0lFKXtzSHRtbD1zSHRtbC5yZXBsYWNlKC8mYXBvczsvaWcsIiYjMzk7Iil9aWYoIWlz
U2FmYXJpKXtmdW5jdGlvbiBzdHlsZTJmb250KGFsbCx0YWcsbGVmdCxzdHlsZSxyaWdodCxj
b250ZW50KXt2YXIgYXR0cnM9IiIsZixzMSxzMixjO2Y9c3R5bGUubWF0Y2goL2ZvbnQtZmFt
aWx5XHMqOlxzKihbXjsiXSspL2kpO2lmKGYpe2F0dHJzKz0nIGZhY2U9IicrZlsxXSsnIid9
czE9c3R5bGUubWF0Y2goL2ZvbnQtc2l6ZVxzKjpccyooW147Il0rKS9pKTtpZihzMSl7czE9
czFbMV0udG9Mb3dlckNhc2UoKTtmb3IodmFyIGo9MDtqPGFyckZvbnRzaXplLmxlbmd0aDtq
Kyspe2lmKHMxPT09YXJyRm9udHNpemVbal0ubnx8czE9PT1hcnJGb250c2l6ZVtqXS5zKXtz
Mj1qKzE7YnJlYWt9fWlmKHMyKXthdHRycys9JyBzaXplPSInK3MyKyciJztzdHlsZT1zdHls
ZS5yZXBsYWNlKC8oXnw7KShccypmb250LXNpemVccyo6XHMqW147Il0rOz8pKy9pZywiJDEi
KX19Yz1zdHlsZS5tYXRjaCgvKD86XnxbXHM7XSljb2xvclxzKjpccyooW147Il0rKS9pKTtp
ZihjKXt2YXIgcmdiO2lmKHJnYj1jWzFdLm1hdGNoKC9ccypyZ2JccypcKFxzKihcZCspXHMq
LFxzKihcZCspXHMqLFxzKihcZCspXHMqXCkvaSkpe2NbMV09IiMiO2Zvcih2YXIgaT0xO2k8
PTM7aSsrKXtjWzFdKz0oIjAiKyhyZ2JbaV0tMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMil9
fWNbMV09Y1sxXS5yZXBsYWNlKC9eIyhbMC05YS1mXSkoWzAtOWEtZl0pKFswLTlhLWZdKSQv
aSwiIyQxJDEkMiQyJDMkMyIpO2F0dHJzKz0nIGNvbG9yPSInK2NbMV0rJyInfXN0eWxlPXN0
eWxlLnJlcGxhY2UoLyhefDspKFxzKihmb250LWZhbWlseXxjb2xvcilccyo6XHMqW147Il0r
Oz8pKy9pZywiJDEiKTtpZihhdHRycyE9PSIiKXtpZihzdHlsZSl7YXR0cnMrPScgc3R5bGU9
Iicrc3R5bGUrJyInfXJldHVybiI8Zm9udCIrKGxlZnQ/bGVmdDoiIikrYXR0cnMrKHJpZ2h0
P3JpZ2h0OiIiKSsiPiIrY29udGVudCsiPC9mb250PiJ9ZWxzZXtyZXR1cm4gYWxsfX1zSHRt
bD1zSHRtbC5yZXBsYWNlKC88KHNwYW4pKFxzK1tePl0qPyk/XHMrc3R5bGVccyo9XHMqIigo
PzpbXiJdKj87KT9ccyooPzpmb250LWZhbWlseXxmb250LXNpemV8Y29sb3IpXHMqOlteIl0q
KSIoIFtePl0qKT8+KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/
KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwx
KFxzK1tePl0qPyk/PilbXHNcU10pKj88XC9cMT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLHN0
eWxlMmZvbnQpO3NIdG1sPXNIdG1sLnJlcGxhY2UoLzwoc3BhbikoXHMrW14+XSo/KT9ccytz
dHlsZVxzKj1ccyoiKCg/OlteIl0qPzspP1xzKig/OmZvbnQtZmFtaWx5fGZvbnQtc2l6ZXxj
b2xvcilccyo6W14iXSopIiggW14+XSopPz4oKCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNd
fDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU10pKj88XC9cMT4p
Kj8pPFwvXDE+L2lnLHN0eWxlMmZvbnQpO3NIdG1sPXNIdG1sLnJlcGxhY2UoLzwoc3Bhbiko
XHMrW14+XSo/KT9ccytzdHlsZVxzKj1ccyoiKCg/OlteIl0qPzspP1xzKig/OmZvbnQtZmFt
aWx5fGZvbnQtc2l6ZXxjb2xvcilccyo6W14iXSopIiggW14+XSopPz4oKCg/ITxcMShccytb
Xj5dKj8pPz4pW1xzXFNdKSo/KTxcL1wxPi9pZyxzdHlsZTJmb250KX1zSHRtbD1zSHRtbC5y
ZXBsYWNlKC88KHRkfHRoKShccytbXj5dKj8pPz4oXHN8Jm5ic3A7KSo8XC9cMT4vaWcsIjwk
MSQyPiIrKGlzSUU/IiI6IjxiciAvPiIpKyI8LyQxPiIpfWVsc2V7aWYoaXNTYWZhcmkpe3Zh
ciBhcnJBcHBsZVNwYW49W3tyOi9mb250LXdlaWdodFxzKjpccypib2xkOz8vaWcsdDoic3Ry
b25nIn0se3I6L2ZvbnQtc3R5bGVccyo6XHMqaXRhbGljOz8vaWcsdDoiZW0ifSx7cjovdGV4
dC1kZWNvcmF0aW9uXHMqOlxzKnVuZGVybGluZTs/L2lnLHQ6InUifSx7cjovdGV4dC1kZWNv
cmF0aW9uXHMqOlxzKmxpbmUtdGhyb3VnaDs/L2lnLHQ6InN0cmlrZSJ9XTtmdW5jdGlvbiBy
ZXBsYWNlQXBwbGVTcGFuKGFsbCx0YWcsYXR0cjEsYXR0cjIsY29udGVudCl7dmFyIGF0dHI9
KGF0dHIxP2F0dHIxOiIiKSsoYXR0cjI/YXR0cjI6IiIpO3ZhciBhcnJQcmU9W10sYXJyQWZ0
PVtdO3ZhciByZWdBcHBsZSx0YWdBcHBsZTtmb3IodmFyIGk9MDtpPGFyckFwcGxlU3Bhbi5s
ZW5ndGg7aSsrKXtyZWdBcHBsZT1hcnJBcHBsZVNwYW5baV0ucjt0YWdBcHBsZT1hcnJBcHBs
ZVNwYW5baV0udDthdHRyPWF0dHIucmVwbGFjZShyZWdBcHBsZSxmdW5jdGlvbigpe2FyclBy
ZS5wdXNoKCI8Iit0YWdBcHBsZSsiPiIpO2FyckFmdC5wdXNoKCI8LyIrdGFnQXBwbGUrIj4i
KTtyZXR1cm4iIn0pfWF0dHI9YXR0ci5yZXBsYWNlKC9ccytzdHlsZVxzKj1ccyoiXHMqIi9p
LCIiKTtyZXR1cm4oYXR0cj8iPHNwYW4iK2F0dHIrIj4iOiIiKSthcnJQcmUuam9pbigiIikr
Y29udGVudCthcnJBZnQuam9pbigiIikrKGF0dHI/Ijwvc3Bhbj4iOiIiKX1mb3IodmFyIGk9
MDtpPDI7aSsrKXtzSHRtbD1zSHRtbC5yZXBsYWNlKC88KHNwYW4pKFxzK1tePl0qPyk/XHMr
Y2xhc3Nccyo9XHMqIkFwcGxlLXN0eWxlLXNwYW4iKFxzK1tePl0qPyk/PigoKD8hPFwxKFxz
K1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+
KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/
PFwvXDE+KSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxyZXBsYWNlQXBwbGVTcGFuKTtzSHRtbD1z
SHRtbC5yZXBsYWNlKC88KHNwYW4pKFxzK1tePl0qPyk/XHMrY2xhc3Nccyo9XHMqIkFwcGxl
LXN0eWxlLXNwYW4iKFxzK1tePl0qPyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118
PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPzxcL1wxPikq
Pyk8XC9cMT4vaWcscmVwbGFjZUFwcGxlU3Bhbik7c0h0bWw9c0h0bWwucmVwbGFjZSgvPChz
cGFuKShccytbXj5dKj8pP1xzK2NsYXNzXHMqPVxzKiJBcHBsZS1zdHlsZS1zcGFuIihccytb
Xj5dKj8pPz4oKCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/KTxcL1wxPi9pZyxyZXBs
YWNlQXBwbGVTcGFuKX19c0h0bWw9c0h0bWwucmVwbGFjZSgvKDwoXHcrKSkoKD86XHMrW1x3
XC06XStccyo9XHMqKD86IlteIl0qInwnW14nXSonfFtePlxzXSspKSopXHMqKFwvPz4pL2cs
ZnVuY3Rpb24oYWxsLGxlZnQsdGFnLGF0dHIscmlnaHQpe3RhZz10YWcudG9Mb3dlckNhc2Uo
KTt2YXIgc2F2ZVZhbHVlO2F0dHI9YXR0ci5yZXBsYWNlKC9ccytfeGhlXyg/OnNyY3xocmVm
KVxzKj1ccyooIlteIl0qInwnW14nXSonfFtePlxzXSspL2ksZnVuY3Rpb24oYWxsLHYpe3Nh
dmVWYWx1ZT12Lm1hdGNoKC9eKFsiJ10/KSguKilcMS8pWzJdO3JldHVybiIifSk7aWYoc2F2
ZVZhbHVlJiZ1cmxUeXBlKXtzYXZlVmFsdWU9Z2V0TG9jYWxVcmwoc2F2ZVZhbHVlLHVybFR5
cGUsdXJsQmFzZSl9YXR0cj1hdHRyLnJlcGxhY2UoL1xzKyhbXHdcLTpdKylccyo9XHMqKCJb
XiJdKiJ8J1teJ10qJ3xbXj5cc10rKS9nLGZ1bmN0aW9uKGFsbCxuLHYpe249bi50b0xvd2Vy
Q2FzZSgpO3Y9di5tYXRjaCgvXihbIiddPykoLiopXDEvKVsyXS5yZXBsYWNlKC8iL2csIici
KTtpZihuPT09ImNsYXNzIil7aWYodi5tYXRjaCgvXlsiJ10/KGFwcGxlfHdlYmtpdCkvaSkp
e3JldHVybiIifXY9di5yZXBsYWNlKC9ccz94aGUtW2Etel0rL2lnLCIiKTtpZih2PT09IiIp
e3JldHVybiIifX1lbHNle2lmKG4ubWF0Y2goL14oKF94aGVffF9tb3pffF93ZWJraXRfKXxq
cXVlcnlcZCspL2kpKXtyZXR1cm4iIn1lbHNle2lmKHNhdmVWYWx1ZSYmbi5tYXRjaCgvXihz
cmN8aHJlZikkL2kpKXtyZXR1cm4iICIrbisnPSInK3NhdmVWYWx1ZSsnIid9ZWxzZXtpZihu
PT09InN0eWxlIil7dj12LnJlcGxhY2UoLyhefDspXHMqKGZvbnQtc2l6ZSlccyo6XHMqKFth
LXotXSspXHMqKDt8JCkvaSxmdW5jdGlvbihhbGwsbGVmdCxuLHYscmlnaHQpe3ZhciB0LHM7
Zm9yKHZhciBpPTA7aTxhcnJGb250c2l6ZS5sZW5ndGg7aSsrKXt0PWFyckZvbnRzaXplW2ld
O2lmKHY9PT10Lm4pe3M9dC5zO2JyZWFrfX1yZXR1cm4gbGVmdCtuKyI6IitzK3JpZ2h0fSl9
fX19cmV0dXJuIiAiK24rJz0iJyt2KyciJ30pO2lmKHRhZz09PSJpbWciJiYhYXR0ci5tYXRj
aCgvXHMrYWx0XHMqPVxzKigiW14iXSoifCdbXiddKid8W14+XHNdKykvaSkpe2F0dHIrPScg
YWx0PSIiJ31yZXR1cm4gbGVmdCthdHRyK3JpZ2h0fSk7c0h0bWw9c0h0bWwucmVwbGFjZSgv
KDwodGR8dGgpKD86XHMrW14+XSo/KT8+KVxzKihbXHNcU10qPykoPGJyKFxzKlwvKT8+KT9c
cyo8XC9cMj4vaWcsZnVuY3Rpb24oYWxsLGxlZnQsdGFnLGNvbnRlbnQpe3JldHVybiBsZWZ0
Kyhjb250ZW50P2NvbnRlbnQ6IiZuYnNwOyIpKyI8LyIrdGFnKyI+In0pO3NIdG1sPXNIdG1s
LnJlcGxhY2UoL15ccyooPzo8KHB8ZGl2KSg/OlxzK1tePl0qPyk/Pik/XHMqKDxzcGFuKD86
XHMrW14+XSo/KT8+XHMqPFwvc3Bhbj58PGJyKD86XHMrW14+XSo/KT8+fCZuYnNwOykqXHMq
KD86PFwvXDE+KT9ccyokL2ksIiIpfXNIdG1sPXNIdG1sLnJlcGxhY2UoLyg8cHJlKD86XHMr
W14+XSo/KT8+KShbXHNcU10rPykoPFwvcHJlPikvZ2ksZnVuY3Rpb24oYWxsLGxlZnQsY29k
ZSxyaWdodCl7cmV0dXJuIGxlZnQrY29kZS5yZXBsYWNlKC88YnJccypcLz8+L2lnLCJcclxu
IikrcmlnaHR9KTtyZXR1cm4gc0h0bWx9O3RoaXMuZ2V0U291cmNlPWZ1bmN0aW9uKGJGb3Jt
YXQpe3ZhciBzSHRtbCxiZWZvcmVHZXRTb3VyY2U9c2V0dGluZ3MuYmVmb3JlR2V0U291cmNl
O2lmKGJTb3VyY2Upe3NIdG1sPSQoIiNzb3VyY2VDb2RlIixfZG9jKS52YWwoKTtpZighYmVm
b3JlR2V0U291cmNlKXtzSHRtbD1fdGhpcy5mb3JtYXRYSFRNTChzSHRtbCxmYWxzZSl9fWVs
c2V7c0h0bWw9X3RoaXMucHJvY2Vzc0hUTUwoX2RvYy5ib2R5LmlubmVySFRNTCwicmVhZCIp
O3NIdG1sPV90aGlzLmNsZWFuSFRNTChzSHRtbCk7c0h0bWw9X3RoaXMuZm9ybWF0WEhUTUwo
c0h0bWwsYkZvcm1hdCk7aWYoYmVmb3JlR2V0U291cmNlKXtzSHRtbD1iZWZvcmVHZXRTb3Vy
Y2Uoc0h0bWwpfX1fdGV4dC52YWx1ZT1zSHRtbDtyZXR1cm4gc0h0bWx9O3RoaXMuY2xlYW5X
b3JkPWZ1bmN0aW9uKHNIdG1sKXt2YXIgY2xlYW5QYXN0ZT1zZXR0aW5ncy5jbGVhblBhc3Rl
O2lmKGNsZWFuUGFzdGU+MCYmY2xlYW5QYXN0ZTwzJiYvbXNvKC18bm9ybWFsKXxXb3JkRG9j
dW1lbnR8PHRhYmxlXHMrW14+XSo/eDpzdHJ8XHMrY2xhc3Nccyo9XHMqIj94bFs2N11cZCIv
aS50ZXN0KHNIdG1sKSl7c0h0bWw9c0h0bWwucmVwbGFjZSgvPCEtLVtcc1xTXSo/LS0+fDwh
KC0tKT9cW1tcc1xTXSs/XF0oLS0pPz58PHN0eWxlKFxzK1tePl0qPyk/Pltcc1xTXSo/PFwv
c3R5bGU+L2lnLCIiKTtzSHRtbD1zSHRtbC5yZXBsYWNlKC9ccj9cbi9pZywiIik7aWYoaXNJ
RSl7c0h0bWw9c0h0bWwucmVwbGFjZSgvPHY6c2hhcGV0eXBlKFxzK1tePl0qKT8+W1xzXFNd
KjxcL3Y6c2hhcGV0eXBlPi9pZywiIik7c0h0bWw9c0h0bWwucmVwbGFjZSgvPHY6c2hhcGUo
XHMrW14+XSspPz5bXHNcU10qPzx2OmltYWdlZGF0YShccytbXj5dKyk/PlxzKjxcL3Y6aW1h
Z2VkYXRhPltcc1xTXSo/PFwvdjpzaGFwZT4vaWcsZnVuY3Rpb24oYWxsLGF0dHIxLGF0dHIy
KXt2YXIgbWF0Y2g7bWF0Y2g9YXR0cjIubWF0Y2goL1xzK3NyY1xzKj1ccyooIlteIl0rInwn
W14nXSsnfFtePlxzXSspL2kpO2lmKG1hdGNoKXttYXRjaD1tYXRjaFsxXS5tYXRjaCgvXihb
IiddPykoLiopXDEvKVsyXTt2YXIgc0ltZz0nPGltZyBzcmM9IicrZWRpdG9yUm9vdCsneGhl
ZGl0b3Jfc2tpbi9ibGFuay5naWYiIF94aGVfdGVtcD0idHJ1ZSIgY2xhc3M9IndvcmRJbWFn
ZSInO21hdGNoPWF0dHIxLm1hdGNoKC9ccytzdHlsZVxzKj1ccyooIlteIl0rInwnW14nXSsn
fFtePlxzXSspL2kpO2lmKG1hdGNoKXttYXRjaD1tYXRjaFsxXS5tYXRjaCgvXihbIiddPyko
LiopXDEvKVsyXTtzSW1nKz0nIHN0eWxlPSInK21hdGNoKyciJ31zSW1nKz0iIC8+IjtyZXR1
cm4gc0ltZ31yZXR1cm4iIn0pfWVsc2V7c0h0bWw9c0h0bWwucmVwbGFjZSgvPGltZyggW148
Pl0qKHY6c2hhcGVzfG1zb2h0bWxjbGlwKVtePD5dKilcLz8+L2lnLGZ1bmN0aW9uKGFsbCxh
dHRyKXt2YXIgbWF0Y2gsc3RyPSc8aW1nIHNyYz0iJytlZGl0b3JSb290Kyd4aGVkaXRvcl9z
a2luL2JsYW5rLmdpZiIgX3hoZV90ZW1wPSJ0cnVlIiBjbGFzcz0id29yZEltYWdlIic7bWF0
Y2g9YXR0ci5tYXRjaCgvIHdpZHRoXHMqPVxzKiIoW14iXSspIi9pKTtpZihtYXRjaCl7c3Ry
Kz0nIHdpZHRoPSInK21hdGNoWzFdKyciJ31tYXRjaD1hdHRyLm1hdGNoKC8gaGVpZ2h0XHMq
PVxzKiIoW14iXSspIi9pKTtpZihtYXRjaCl7c3RyKz0nIGhlaWdodD0iJyttYXRjaFsxXSsn
Iid9cmV0dXJuIHN0cisiIC8+In0pfXNIdG1sPXNIdG1sLnJlcGxhY2UoLyg8KFwvPykoW1x3
XC06XSspKSgoPzpccytbXHdcLTpdKyg/OlxzKj1ccyooPzoiW14iXSoifCdbXiddKid8W14+
XHNdKykpPykqKVxzKihcLz8+KS9nLGZ1bmN0aW9uKGFsbCxsZWZ0LGVuZCx0YWcsYXR0cixy
aWdodCl7dGFnPXRhZy50b0xvd2VyQ2FzZSgpO2lmKCh0YWcubWF0Y2goL14obGluaykkLykm
JmF0dHIubWF0Y2goL2ZpbGU6XC9cLy9pKSl8fHRhZy5tYXRjaCgvOi8pfHwodGFnPT09InNw
YW4iJiZjbGVhblBhc3RlPT09Mikpe3JldHVybiIifWlmKCFlbmQpe2F0dHI9YXR0ci5yZXBs
YWNlKC9ccyhbXHdcLTpdKykoPzpccyo9XHMqKCJbXiJdKiJ8J1teJ10qJ3xbXj5cc10rKSk/
L2lnLGZ1bmN0aW9uKGFsbCxuLHYpe249bi50b0xvd2VyQ2FzZSgpO2lmKC86Ly50ZXN0KG4p
KXtyZXR1cm4iIn12PXYubWF0Y2goL14oWyInXT8pKC4qKVwxLylbMl07aWYoY2xlYW5QYXN0
ZT09PTEpe3N3aXRjaCh0YWcpe2Nhc2UicCI6aWYobj09PSJzdHlsZSIpe3Y9di5yZXBsYWNl
KC8ifCZxdW90Oy9pZywiJyIpLnJlcGxhY2UoL1xzKihbXjpdKylccyo6XHMqKC4qPykoO3wk
KS9pZyxmdW5jdGlvbihhbGwsbix2KXtyZXR1cm4vXih0ZXh0LWFsaWduKSQvaS50ZXN0KG4p
PyhuKyI6Iit2KyI7Iik6IiJ9KS5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIik7cmV0dXJuIHY/
KCIgIituKyc9IicrdisnIicpOiIifWJyZWFrO2Nhc2Uic3BhbiI6aWYobj09PSJzdHlsZSIp
e3Y9di5yZXBsYWNlKC8ifCZxdW90Oy9pZywiJyIpLnJlcGxhY2UoL1xzKihbXjpdKylccyo6
XHMqKC4qPykoO3wkKS9pZyxmdW5jdGlvbihhbGwsbix2KXtyZXR1cm4vXihjb2xvcnxiYWNr
Z3JvdW5kfGZvbnQtc2l6ZXxmb250LWZhbWlseSkkL2kudGVzdChuKT8obisiOiIrdisiOyIp
OiIifSkucmVwbGFjZSgvXlxzK3xccyskL2csIiIpO3JldHVybiB2PygiICIrbisnPSInK3Yr
JyInKToiIn1icmVhaztjYXNlInRhYmxlIjppZihuLm1hdGNoKC9eKGNlbGxzcGFjaW5nfGNl
bGxwYWRkaW5nfGJvcmRlcnx3aWR0aCkkL2kpKXtyZXR1cm4gYWxsfWJyZWFrO2Nhc2UidGQi
OmlmKG4ubWF0Y2goL14ocm93c3Bhbnxjb2xzcGFuKSQvaSkpe3JldHVybiBhbGx9aWYobj09
PSJzdHlsZSIpe3Y9di5yZXBsYWNlKC8ifCZxdW90Oy9pZywiJyIpLnJlcGxhY2UoL1xzKihb
XjpdKylccyo6XHMqKC4qPykoO3wkKS9pZyxmdW5jdGlvbihhbGwsbix2KXtyZXR1cm4vXih3
aWR0aHxoZWlnaHQpJC9pLnRlc3Qobik/KG4rIjoiK3YrIjsiKToiIn0pLnJlcGxhY2UoL15c
cyt8XHMrJC9nLCIiKTtyZXR1cm4gdj8oIiAiK24rJz0iJyt2KyciJyk6IiJ9YnJlYWs7Y2Fz
ZSJhIjppZihuLm1hdGNoKC9eKGhyZWYpJC9pKSl7cmV0dXJuIGFsbH1icmVhaztjYXNlImZv
bnQiOmNhc2UiaW1nIjpyZXR1cm4gYWxsO2JyZWFrfX1lbHNle2lmKGNsZWFuUGFzdGU9PT0y
KXtzd2l0Y2godGFnKXtjYXNlInRkIjppZihuLm1hdGNoKC9eKHJvd3NwYW58Y29sc3Bhbikk
L2kpKXtyZXR1cm4gYWxsfWJyZWFrO2Nhc2UiaW1nIjpyZXR1cm4gYWxsfX19cmV0dXJuIiJ9
KX1yZXR1cm4gbGVmdCthdHRyK3JpZ2h0fSk7Zm9yKHZhciBpPTA7aTwzO2krKyl7c0h0bWw9
c0h0bWwucmVwbGFjZSgvPChbXlxzPl0rKShccytbXj5dKik/PlxzKjxcL1wxPi9nLCIiKX1m
dW5jdGlvbiBjbGVhbkVtcHR5VGFnKGFsbCx0YWcsY29udGVudCl7cmV0dXJuIGNvbnRlbnR9
Zm9yKHZhciBpPTA7aTwzO2krKyl7c0h0bWw9c0h0bWwucmVwbGFjZSgvPChzcGFufGEpPigo
KD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMr
W14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4p
W1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxjbGVhbkVtcHR5VGFnKX1m
b3IodmFyIGk9MDtpPDM7aSsrKXtzSHRtbD1zSHRtbC5yZXBsYWNlKC88KHNwYW58YSk+KCgo
PyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytb
Xj5dKj8pPz4pW1xzXFNdKSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxjbGVhbkVtcHR5VGFnKX1m
b3IodmFyIGk9MDtpPDM7aSsrKXtzSHRtbD1zSHRtbC5yZXBsYWNlKC88KHNwYW58YSk+KCgo
PyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPyk8XC9cMT4vaWcsY2xlYW5FbXB0eVRhZyl9
Zm9yKHZhciBpPTA7aTwzO2krKyl7c0h0bWw9c0h0bWwucmVwbGFjZSgvPGZvbnQoXHMrW14+
XSspPjxmb250KFxzK1tePl0rKT4vaWcsZnVuY3Rpb24oYWxsLGF0dHIxLGF0dHIyKXtyZXR1
cm4iPGZvbnQiK2F0dHIxK2F0dHIyKyI+In0pfXNIdG1sPXNIdG1sLnJlcGxhY2UoLyg8KFwv
PykodHJ8dGQpKD86XHMrW14+XSspPz4pW148Pl0rL2lnLGZ1bmN0aW9uKGFsbCxsZWZ0LGVu
ZCx0YWcpe2lmKCFlbmQmJi9edGQkL2kudGVzdCh0YWcpKXtyZXR1cm4gYWxsfWVsc2V7cmV0
dXJuIGxlZnR9fSl9cmV0dXJuIHNIdG1sfTt0aGlzLmNsZWFuSFRNTD1mdW5jdGlvbihzSHRt
bCl7c0h0bWw9c0h0bWwucmVwbGFjZSgvPCE/XC8/KERPQ1RZUEV8aHRtbHxib2R5fG1ldGEp
KFxzK1tePl0qPyk/Pi9pZywiIik7dmFyIGFyckhlYWRTYXZlO3NIdG1sPXNIdG1sLnJlcGxh
Y2UoLzxoZWFkKD86XHMrW14+XSo/KT8+KFtcc1xTXSo/KTxcL2hlYWQ+L2ksZnVuY3Rpb24o
YWxsLGNvbnRlbnQpe2FyckhlYWRTYXZlPWNvbnRlbnQubWF0Y2goLzwoc2NyaXB0fHN0eWxl
KShccytbXj5dKj8pPz5bXHNcU10qPzxcL1wxPi9pZyk7cmV0dXJuIiJ9KTtpZihhcnJIZWFk
U2F2ZSl7c0h0bWw9YXJySGVhZFNhdmUuam9pbigiIikrc0h0bWx9c0h0bWw9c0h0bWwucmVw
bGFjZSgvPFw/P3htbCg6XHcrKT8oXHMrW14+XSo/KT8+KFtcc1xTXSo/PFwveG1sPik/L2ln
LCIiKTtpZighc2V0dGluZ3MuaW50ZXJuYWxTY3JpcHQpe3NIdG1sPXNIdG1sLnJlcGxhY2Uo
LzxzY3JpcHQoXHMrW14+XSo/KT8+W1xzXFNdKj88XC9zY3JpcHQ+L2lnLCIiKX1pZighc2V0
dGluZ3MuaW50ZXJuYWxTdHlsZSl7c0h0bWw9c0h0bWwucmVwbGFjZSgvPHN0eWxlKFxzK1te
Pl0qPyk/Pltcc1xTXSo/PFwvc3R5bGU+L2lnLCIiKX1pZighc2V0dGluZ3MubGlua1RhZ3x8
IXNldHRpbmdzLmlubGluZVNjcmlwdHx8IXNldHRpbmdzLmlubGluZVN0eWxlKXtzSHRtbD1z
SHRtbC5yZXBsYWNlKC8oPChcdyspKSgoPzpccytbXHctXStccyo9XHMqKD86IlteIl0qInwn
W14nXSonfFtePlxzXSspKSopXHMqKFwvPz4pL2lnLGZ1bmN0aW9uKGFsbCxsZWZ0LHRhZyxh
dHRyLHJpZ2h0KXtpZighc2V0dGluZ3MubGlua1RhZyYmdGFnLnRvTG93ZXJDYXNlKCk9PT0i
bGluayIpe3JldHVybiIifWlmKCFzZXR0aW5ncy5pbmxpbmVTY3JpcHQpe2F0dHI9YXR0ci5y
ZXBsYWNlKC9ccytvbig/OmNsaWNrfGRibGNsaWNrfG1vdXNlKGRvd258dXB8bW92ZXxvdmVy
fG91dHxlbnRlcnxsZWF2ZXx3aGVlbCl8a2V5KGRvd258cHJlc3N8dXApfGNoYW5nZXxzZWxl
Y3R8c3VibWl0fHJlc2V0fGJsdXJ8Zm9jdXN8bG9hZHx1bmxvYWQpXHMqPVxzKigiW14iXSoi
fCdbXiddKid8W14+XHNdKykvaWcsIiIpfWlmKCFzZXR0aW5ncy5pbmxpbmVTdHlsZSl7YXR0
cj1hdHRyLnJlcGxhY2UoL1xzKyhzdHlsZXxjbGFzcylccyo9XHMqKCJbXiJdKiJ8J1teJ10q
J3xbXj5cc10rKS9pZywiIil9cmV0dXJuIGxlZnQrYXR0cityaWdodH0pfXNIdG1sPXNIdG1s
LnJlcGxhY2UoLzxcLyhzdHJvbmd8Ynx1fHN0cmlrZXxlbXxpKT4oKD86XHN8PGJyXC8/Pnwm
bmJzcDspKj8pPFwxKFxzK1tePl0qPyk/Pi9pZywiJDIiKTtyZXR1cm4gc0h0bWx9O3RoaXMu
Zm9ybWF0WEhUTUw9ZnVuY3Rpb24oc0h0bWwsYkZvcm1hdCl7dmFyIGVtcHR5VGFncz1tYWtl
TWFwKCJhcmVhLGJhc2UsYmFzZWZvbnQsYnIsY29sLGZyYW1lLGhyLGltZyxpbnB1dCxpc2lu
ZGV4LGxpbmssbWV0YSxwYXJhbSxlbWJlZCIpO3ZhciBibG9ja1RhZ3M9bWFrZU1hcCgiYWRk
cmVzcyxhcHBsZXQsYmxvY2txdW90ZSxidXR0b24sY2VudGVyLGRkLGRpcixkaXYsZGwsZHQs
ZmllbGRzZXQsZm9ybSxmcmFtZXNldCxoMSxoMixoMyxoNCxoNSxoNixocixpZnJhbWUsaW5z
LGlzaW5kZXgsbGksbWFwLG1lbnUsbm9mcmFtZXMsbm9zY3JpcHQsb2JqZWN0LG9sLHAscHJl
LHRhYmxlLHRib2R5LHRkLHRmb290LHRoLHRoZWFkLHRyLHVsLHNjcmlwdCIpO3ZhciBpbmxp
bmVUYWdzPW1ha2VNYXAoImEsYWJicixhY3JvbnltLGFwcGxldCxiLGJhc2Vmb250LGJkbyxi
aWcsYnIsYnV0dG9uLGNpdGUsY29kZSxkZWwsZGZuLGVtLGZvbnQsaSxpZnJhbWUsaW1nLGlu
cHV0LGlucyxrYmQsbGFiZWwsbWFwLG9iamVjdCxxLHMsc2FtcCxzY3JpcHQsc2VsZWN0LHNt
YWxsLHNwYW4sc3RyaWtlLHN0cm9uZyxzdWIsc3VwLHRleHRhcmVhLHR0LHUsdmFyIik7dmFy
IGNsb3NlU2VsZlRhZ3M9bWFrZU1hcCgiY29sZ3JvdXAsZGQsZHQsbGksb3B0aW9ucyxwLHRk
LHRmb290LHRoLHRoZWFkLHRyIik7dmFyIGZpbGxBdHRyc1RhZ3M9bWFrZU1hcCgiY2hlY2tl
ZCxjb21wYWN0LGRlY2xhcmUsZGVmZXIsZGlzYWJsZWQsaXNtYXAsbXVsdGlwbGUsbm9ocmVm
LG5vcmVzaXplLG5vc2hhZGUsbm93cmFwLHJlYWRvbmx5LHNlbGVjdGVkIik7dmFyIGNkYXRh
VGFncz1tYWtlTWFwKCJzY3JpcHQsc3R5bGUiKTt2YXIgdGFnUmVwbGFjPXtiOiJzdHJvbmci
LGk6ImVtIixzOiJkZWwiLHN0cmlrZToiZGVsIn07dmFyIHJlZ1RhZz0vPCg/OlwvKFteXHM+
XSspfCEoW14+XSo/KXwoW1x3XC06XSspKCg/OiJbXiJdKiJ8J1teJ10qJ3xbXiInPD5dKSop
XHMqKFwvPykpPi9nO3ZhciByZWdBdHRyPS9ccyooW1x3XC06XSspKD86XHMqPVxzKig/OiIo
W14iXSopInwnKFteJ10qKSd8KFteXHNdKykpKT8vZzt2YXIgcmVzdWx0cz1bXSxzdGFjaz1b
XTtzdGFjay5sYXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbdGhpcy5sZW5ndGgtMV19O3Zh
ciBtYXRjaCx0YWdJbmRleCxuZXh0SW5kZXg9MCx0YWdOYW1lLHRhZ0NEQVRBLGFyckNEQVRB
LHRleHQ7dmFyIGx2bD0tMSxsYXN0VGFnPSJib2R5IixsYXN0VGFnU3RhcnQsc3RvcEZvcm1h
dD1mYWxzZTt3aGlsZShtYXRjaD1yZWdUYWcuZXhlYyhzSHRtbCkpe3RhZ0luZGV4PW1hdGNo
LmluZGV4O2lmKHRhZ0luZGV4Pm5leHRJbmRleCl7dGV4dD1zSHRtbC5zdWJzdHJpbmcobmV4
dEluZGV4LHRhZ0luZGV4KTtpZih0YWdDREFUQSl7YXJyQ0RBVEEucHVzaCh0ZXh0KX1lbHNl
e29uVGV4dCh0ZXh0KX19bmV4dEluZGV4PXJlZ1RhZy5sYXN0SW5kZXg7aWYodGFnTmFtZT1t
YXRjaFsxXSl7dGFnTmFtZT1wcm9jZXNzVGFnKHRhZ05hbWUpO2lmKHRhZ0NEQVRBJiZ0YWdO
YW1lPT09dGFnQ0RBVEEpe29uQ0RBVEEoYXJyQ0RBVEEuam9pbigiIikpO3RhZ0NEQVRBPW51
bGw7YXJyQ0RBVEE9bnVsbH1pZighdGFnQ0RBVEEpe29uRW5kVGFnKHRhZ05hbWUpO2NvbnRp
bnVlfX1pZih0YWdDREFUQSl7YXJyQ0RBVEEucHVzaChtYXRjaFswXSl9ZWxzZXtpZih0YWdO
YW1lPW1hdGNoWzNdKXt0YWdOYW1lPXByb2Nlc3NUYWcodGFnTmFtZSk7b25TdGFydFRhZyh0
YWdOYW1lLG1hdGNoWzRdLG1hdGNoWzVdKTtpZihjZGF0YVRhZ3NbdGFnTmFtZV0pe3RhZ0NE
QVRBPXRhZ05hbWU7YXJyQ0RBVEE9W119fWVsc2V7aWYobWF0Y2hbMl0pe29uQ29tbWVudCht
YXRjaFswXSl9fX19aWYoc0h0bWwubGVuZ3RoPm5leHRJbmRleCl7b25UZXh0KHNIdG1sLnN1
YnN0cmluZyhuZXh0SW5kZXgsc0h0bWwubGVuZ3RoKSl9b25FbmRUYWcoKTtzSHRtbD1yZXN1
bHRzLmpvaW4oIiIpO3Jlc3VsdHM9bnVsbDtmdW5jdGlvbiBtYWtlTWFwKHN0cil7dmFyIG9i
aj17fSxpdGVtcz1zdHIuc3BsaXQoIiwiKTtmb3IodmFyIGk9MDtpPGl0ZW1zLmxlbmd0aDtp
Kyspe29ialtpdGVtc1tpXV09dHJ1ZX1yZXR1cm4gb2JqfWZ1bmN0aW9uIHByb2Nlc3NUYWco
dGFnTmFtZSl7dGFnTmFtZT10YWdOYW1lLnRvTG93ZXJDYXNlKCk7dmFyIHRhZz10YWdSZXBs
YWNbdGFnTmFtZV07cmV0dXJuIHRhZz90YWc6dGFnTmFtZX1mdW5jdGlvbiBvblN0YXJ0VGFn
KHRhZ05hbWUscmVzdCx1bmFyeSl7aWYoYmxvY2tUYWdzW3RhZ05hbWVdKXt3aGlsZShzdGFj
ay5sYXN0KCkmJmlubGluZVRhZ3Nbc3RhY2subGFzdCgpXSl7b25FbmRUYWcoc3RhY2subGFz
dCgpKX19aWYoY2xvc2VTZWxmVGFnc1t0YWdOYW1lXSYmc3RhY2subGFzdCgpPT09dGFnTmFt
ZSl7b25FbmRUYWcodGFnTmFtZSl9dW5hcnk9ZW1wdHlUYWdzW3RhZ05hbWVdfHwhIXVuYXJ5
O2lmKCF1bmFyeSl7c3RhY2sucHVzaCh0YWdOYW1lKX12YXIgYWxsPUFycmF5KCk7YWxsLnB1
c2goIjwiK3RhZ05hbWUpO3Jlc3QucmVwbGFjZShyZWdBdHRyLGZ1bmN0aW9uKG1hdGNoLG5h
bWUpe25hbWU9bmFtZS50b0xvd2VyQ2FzZSgpO3ZhciB2YWx1ZT1hcmd1bWVudHNbMl0/YXJn
dW1lbnRzWzJdOmFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106YXJndW1lbnRzWzRdP2FyZ3Vt
ZW50c1s0XTpmaWxsQXR0cnNUYWdzW25hbWVdP25hbWU6IiI7YWxsLnB1c2goIiAiK25hbWUr
Jz0iJyt2YWx1ZS5yZXBsYWNlKC8iL2csIiciKSsnIicpfSk7YWxsLnB1c2goKHVuYXJ5PyIg
LyI6IiIpKyI+Iik7YWRkSHRtbEZyYWcoYWxsLmpvaW4oIiIpLHRhZ05hbWUsdHJ1ZSk7aWYo
dGFnTmFtZT09PSJwcmUiKXtzdG9wRm9ybWF0PXRydWV9fWZ1bmN0aW9uIG9uRW5kVGFnKHRh
Z05hbWUpe2lmKCF0YWdOYW1lKXt2YXIgcG9zPTB9ZWxzZXtmb3IodmFyIHBvcz1zdGFjay5s
ZW5ndGgtMTtwb3M+PTA7cG9zLS0pe2lmKHN0YWNrW3Bvc109PT10YWdOYW1lKXticmVha319
fWlmKHBvcz49MCl7Zm9yKHZhciBpPXN0YWNrLmxlbmd0aC0xO2k+PXBvcztpLS0pe2FkZEh0
bWxGcmFnKCI8LyIrc3RhY2tbaV0rIj4iLHN0YWNrW2ldKX1zdGFjay5sZW5ndGg9cG9zfWlm
KHRhZ05hbWU9PT0icHJlIil7c3RvcEZvcm1hdD1mYWxzZTtsdmwtLX19ZnVuY3Rpb24gb25U
ZXh0KHRleHQpe2FkZEh0bWxGcmFnKF90aGlzLmRvbUVuY29kZSh0ZXh0KSl9ZnVuY3Rpb24g
b25DREFUQSh0ZXh0KXtyZXN1bHRzLnB1c2godGV4dC5yZXBsYWNlKC9eW1xzXHJcbl0rfFtc
c1xyXG5dKyQvZywiIikpfWZ1bmN0aW9uIG9uQ29tbWVudCh0ZXh0KXtyZXN1bHRzLnB1c2go
dGV4dCl9ZnVuY3Rpb24gYWRkSHRtbEZyYWcoaHRtbCx0YWdOYW1lLGJTdGFydCl7aWYoIXN0
b3BGb3JtYXQpe2h0bWw9aHRtbC5yZXBsYWNlKC8oXHQqXHI/XG5cdCopKy9nLCIiKX1pZigh
c3RvcEZvcm1hdCYmYkZvcm1hdD09PXRydWUpe2lmKGh0bWwubWF0Y2goL15ccyokLykpe3Jl
c3VsdHMucHVzaChodG1sKTtyZXR1cm59dmFyIGJCbG9jaz1ibG9ja1RhZ3NbdGFnTmFtZV0s
dGFnPWJCbG9jaz90YWdOYW1lOiIiO2lmKGJCbG9jayl7aWYoYlN0YXJ0KXtsdmwrK31pZihs
YXN0VGFnPT09IiIpe2x2bC0tfX1lbHNle2lmKGxhc3RUYWcpe2x2bCsrfX1pZih0YWchPT1s
YXN0VGFnfHxiQmxvY2spe2FkZEluZGVudCgpfXJlc3VsdHMucHVzaChodG1sKTtpZih0YWdO
YW1lPT09ImJyIil7YWRkSW5kZW50KCl9aWYoYkJsb2NrJiYoZW1wdHlUYWdzW3RhZ05hbWVd
fHwhYlN0YXJ0KSl7bHZsLS19bGFzdFRhZz1iQmxvY2s/dGFnTmFtZToiIjtsYXN0VGFnU3Rh
cnQ9YlN0YXJ0fWVsc2V7cmVzdWx0cy5wdXNoKGh0bWwpfX1mdW5jdGlvbiBhZGRJbmRlbnQo
KXtyZXN1bHRzLnB1c2goIlxyXG4iKTtpZihsdmw+MCl7dmFyIHRhYnM9bHZsO3doaWxlKHRh
YnMtLSl7cmVzdWx0cy5wdXNoKCJcdCIpfX19ZnVuY3Rpb24gZm9udDJzdHlsZShhbGwsdGFn
LGF0dHJzLGNvbnRlbnQpe2lmKCFhdHRycyl7cmV0dXJuIGNvbnRlbnR9dmFyIHN0eWxlcz0i
IixmLHMsYyxzdHlsZTthdHRycz1hdHRycy5yZXBsYWNlKC8gZmFjZVxzKj1ccyoiXHMqKFte
Il0qKVxzKiIvaSxmdW5jdGlvbihhbGwsdil7aWYodil7c3R5bGVzKz0iZm9udC1mYW1pbHk6
Iit2KyI7In1yZXR1cm4iIn0pO2F0dHJzPWF0dHJzLnJlcGxhY2UoLyBzaXplXHMqPVxzKiJc
cyooXGQrKVxzKiIvaSxmdW5jdGlvbihhbGwsdil7c3R5bGVzKz0iZm9udC1zaXplOiIrYXJy
Rm9udHNpemVbKHY+Nz83Oih2PDE/MTp2KSktMV0ucysiOyI7cmV0dXJuIiJ9KTthdHRycz1h
dHRycy5yZXBsYWNlKC8gY29sb3Jccyo9XHMqIlxzKihbXiJdKilccyoiL2ksZnVuY3Rpb24o
YWxsLHYpe2lmKHYpe3N0eWxlcys9ImNvbG9yOiIrdisiOyJ9cmV0dXJuIiJ9KTthdHRycz1h
dHRycy5yZXBsYWNlKC8gc3R5bGVccyo9XHMqIlxzKihbXiJdKilccyoiL2ksZnVuY3Rpb24o
YWxsLHYpe2lmKHYpe3N0eWxlcys9dn1yZXR1cm4iIn0pO2F0dHJzKz0nIHN0eWxlPSInK3N0
eWxlcysnIic7cmV0dXJuIGF0dHJzPygiPHNwYW4iK2F0dHJzKyI+Iitjb250ZW50KyI8L3Nw
YW4+Iik6Y29udGVudH1zSHRtbD1zSHRtbC5yZXBsYWNlKC88KGZvbnQpKFxzK1tePl0qPyk/
PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEo
XHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8p
Pz4pW1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxmb250MnN0eWxlKTtz
SHRtbD1zSHRtbC5yZXBsYWNlKC88KGZvbnQpKFxzK1tePl0qPyk/PigoKD8hPFwxKFxzK1te
Pl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtc
c1xTXSkqPzxcL1wxPikqPyk8XC9cMT4vaWcsZm9udDJzdHlsZSk7c0h0bWw9c0h0bWwucmVw
bGFjZSgvPChmb250KShccytbXj5dKj8pPz4oKCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNd
KSo/KTxcL1wxPi9pZyxmb250MnN0eWxlKTtzSHRtbD1zSHRtbC5yZXBsYWNlKC9eKFxzKlxy
P1xuKSt8KFxzKlxyP1xuKSskL2csIiIpO3JldHVybiBzSHRtbH07dGhpcy50b2dnbGVTaG93
QmxvY2t0YWc9ZnVuY3Rpb24oc3RhdGUpe2lmKGJTaG93QmxvY2t0YWc9PT1zdGF0ZSl7cmV0
dXJufWJTaG93QmxvY2t0YWc9IWJTaG93QmxvY2t0YWc7dmFyIF9qQm9keT0kKF9kb2MuYm9k
eSk7aWYoYlNob3dCbG9ja3RhZyl7Ym9keUNsYXNzKz0iIHNob3dCbG9ja3RhZyI7X2pCb2R5
LmFkZENsYXNzKCJzaG93QmxvY2t0YWciKX1lbHNle2JvZHlDbGFzcz1ib2R5Q2xhc3MucmVw
bGFjZSgiIHNob3dCbG9ja3RhZyIsIiIpO19qQm9keS5yZW1vdmVDbGFzcygic2hvd0Jsb2Nr
dGFnIil9fTt0aGlzLnRvZ2dsZVNvdXJjZT1mdW5jdGlvbihzdGF0ZSl7aWYoYlNvdXJjZT09
PXN0YXRlKXtyZXR1cm59X2pUb29scy5maW5kKCJbY21kPVNvdXJjZV0iKS50b2dnbGVDbGFz
cygieGhlRW5hYmxlZCIpLnRvZ2dsZUNsYXNzKCJ4aGVBY3RpdmUiKTt2YXIgX2JvZHk9X2Rv
Yy5ib2R5LGpCb2R5PSQoX2JvZHkpLHNIdG1sO3ZhciBzb3VyY2VDb2RlLGN1cnNvck1hcms9
JzxzcGFuIGlkPSJfeGhlX2N1cnNvciI+PC9zcGFuPicsY3Vyc29yUG9zPTA7dmFyIHR4dFNv
dXJjZVRpdGxlPSIiO2lmKCFiU291cmNlKXtfdGhpcy5wYXN0ZUhUTUwoY3Vyc29yTWFyayx0
cnVlKTtzSHRtbD1fdGhpcy5nZXRTb3VyY2UodHJ1ZSk7Y3Vyc29yUG9zPXNIdG1sLmluZGV4
T2YoY3Vyc29yTWFyayk7aWYoIWlzT3BlcmEpe2N1cnNvclBvcz1zSHRtbC5zdWJzdHJpbmco
MCxjdXJzb3JQb3MpLnJlcGxhY2UoL1xyL2csIiIpLmxlbmd0aH1zSHRtbD1zSHRtbC5yZXBs
YWNlKC8oXHI/XG5ccyp8KTxzcGFuIGlkPSJfeGhlX2N1cnNvciI+PFwvc3Bhbj4oXHMqXHI/
XG58KS8sZnVuY3Rpb24oYWxsLGxlZnQscmlnaHQpe3JldHVybiBsZWZ0JiZyaWdodD8iXHJc
biI6bGVmdCtyaWdodH0pO2lmKGlzSUUpe19ib2R5LmNvbnRlbnRFZGl0YWJsZT0iZmFsc2Ui
fWVsc2V7X2RvYy5kZXNpZ25Nb2RlPSJPZmYifWpCb2R5LmF0dHIoInNjcm9sbCIsIm5vIiku
YXR0cigiY2xhc3MiLCJzb3VyY2VNb2RlIikuaHRtbCgnPHRleHRhcmVhIGlkPSJzb3VyY2VD
b2RlIiB3cmFwPSJzb2Z0IiBzcGVsbGNoZWNrPSJmYWxzZSIgc3R5bGU9IndpZHRoOjEwMCU7
aGVpZ2h0OjEwMCUiIC8+Jyk7c291cmNlQ29kZT0kKCIjc291cmNlQ29kZSIsakJvZHkpLmJs
dXIoX3RoaXMuZ2V0U291cmNlKVswXTt0eHRTb3VyY2VUaXRsZT0i5Y+v6KeG5YyW57yW6L6R
In1lbHNle3NIdG1sPV90aGlzLmdldFNvdXJjZSgpO2pCb2R5Lmh0bWwoIiIpLnJlbW92ZUF0
dHIoInNjcm9sbCIpLmF0dHIoImNsYXNzIiwiZWRpdE1vZGUiK2JvZHlDbGFzcyk7aWYoaXNJ
RSl7X2JvZHkuY29udGVudEVkaXRhYmxlPSJ0cnVlIn1lbHNle19kb2MuZGVzaWduTW9kZT0i
T24ifWlmKGlzTW96aWxsYSl7X3RoaXMuX2V4ZWMoImluc2VydGh0bWwiLCItIik7JCgiIyIr
aWRGaXhGRkN1cnNvcikuc2hvdygpLmZvY3VzKCkuaGlkZSgpfXR4dFNvdXJjZVRpdGxlPSLm
upDku6PnoIEifWJTb3VyY2U9IWJTb3VyY2U7X3RoaXMuc2V0U291cmNlKHNIdG1sKTtfdGhp
cy5mb2N1cygpO2lmKGJTb3VyY2Upe2lmKHNvdXJjZUNvZGUuc2V0U2VsZWN0aW9uUmFuZ2Up
e3NvdXJjZUNvZGUuc2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zLGN1cnNvclBvcyl9ZWxz
ZXt2YXIgcm5nPXNvdXJjZUNvZGUuY3JlYXRlVGV4dFJhbmdlKCk7cm5nLm1vdmUoImNoYXJh
Y3RlciIsY3Vyc29yUG9zKTtybmcuc2VsZWN0KCl9fWVsc2V7X3RoaXMuc2V0VGV4dEN1cnNv
cigpfV9qVG9vbHMuZmluZCgiW2NtZD1Tb3VyY2VdIikuYXR0cigidGl0bGUiLHR4dFNvdXJj
ZVRpdGxlKS5maW5kKCJzcGFuIikudGV4dCh0eHRTb3VyY2VUaXRsZSk7X2pUb29scy5maW5k
KCJbY21kPVNvdXJjZV0sW2NtZD1QcmV2aWV3XSIpLnRvZ2dsZUNsYXNzKCJ4aGVFbmFibGVk
Iik7X2pUb29scy5maW5kKCIueGhlQnV0dG9uIikubm90KCJbY21kPVNvdXJjZV0sW2NtZD1G
dWxsc2NyZWVuXSxbY21kPUFib3V0XSIpLnRvZ2dsZUNsYXNzKCJ4aGVFbmFibGVkIikuYXR0
cigiYXJpYS1kaXNhYmxlZCIsYlNvdXJjZT90cnVlOmZhbHNlKTtzZXRUaW1lb3V0KHNldE9w
dHMsMzAwKX07dGhpcy5zaG93UHJldmlldz1mdW5jdGlvbigpe3ZhciBiZWZvcmVTZXRTb3Vy
Y2U9c2V0dGluZ3MuYmVmb3JlU2V0U291cmNlLHNDb250ZW50PV90aGlzLmdldFNvdXJjZSgp
O2lmKGJlZm9yZVNldFNvdXJjZSl7c0NvbnRlbnQ9YmVmb3JlU2V0U291cmNlKHNDb250ZW50
KX12YXIgc0hUTUw9IjxodG1sPjxoZWFkPiIraGVhZEhUTUwrIjx0aXRsZT7pooTop4g8L3Rp
dGxlPiIrKHVybEJhc2U/JzxiYXNlIGhyZWY9IicrdXJsQmFzZSsnIi8+JzoiIikrIjwvaGVh
ZD48Ym9keT4iK3NDb250ZW50KyI8L2JvZHk+PC9odG1sPiI7dmFyIHNjcmVlbj13aW5kb3cu
c2NyZWVuLG9XaW5kb3c9d2luZG93Lm9wZW4oIiIsInhoZVByZXZpZXciLCJ0b29sYmFyPXll
cyxsb2NhdGlvbj1ubyxzdGF0dXM9eWVzLG1lbnViYXI9eWVzLHNjcm9sbGJhcnM9eWVzLHJl
c2l6YWJsZT15ZXMsd2lkdGg9IitNYXRoLnJvdW5kKHNjcmVlbi53aWR0aCowLjkpKyIsaGVp
Z2h0PSIrTWF0aC5yb3VuZChzY3JlZW4uaGVpZ2h0KjAuOCkrIixsZWZ0PSIrTWF0aC5yb3Vu
ZChzY3JlZW4ud2lkdGgqMC4wNSkpLG9Eb2M9b1dpbmRvdy5kb2N1bWVudDtvRG9jLm9wZW4o
KTtvRG9jLndyaXRlKHNIVE1MKTtvRG9jLmNsb3NlKCk7b1dpbmRvdy5mb2N1cygpfTt0aGlz
LnRvZ2dsZUZ1bGxzY3JlZW49ZnVuY3Rpb24oc3RhdGUpe2lmKGJGdWxsc2NyZWVuPT09c3Rh
dGUpe3JldHVybn12YXIgakxheW91dD0kKCIjIitpZENvbnRhaW5lcikuZmluZCgiLnhoZUxh
eW91dCIpLGpDb250YWluZXI9JCgiIyIraWRDb250YWluZXIpLGJyb3dzZXJWZXI9alF1ZXJ5
LmJyb3dzZXIudmVyc2lvbixpc0lFNjc9KGlzSUUmJihicm93c2VyVmVyPT02fHxicm93c2Vy
VmVyPT03KSk7aWYoYkZ1bGxzY3JlZW4pe2lmKGlzSUU2Nyl7X2pUZXh0LmFmdGVyKGpDb250
YWluZXIpfWpMYXlvdXQuYXR0cigic3R5bGUiLHNMYXlvdXRTdHlsZSk7X2pBcmVhLmhlaWdo
dChlZGl0b3JIZWlnaHQtX2pUb29scy5vdXRlckhlaWdodCgpKTskKHdpbmRvdykuc2Nyb2xs
VG9wKG91dGVyU2Nyb2xsKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JCh3aW5kb3cpLnNjcm9s
bFRvcChvdXRlclNjcm9sbCl9LDEwKX1lbHNle2lmKGlzSUU2Nyl7JCgiYm9keSIpLmFwcGVu
ZChqQ29udGFpbmVyKX1vdXRlclNjcm9sbD0kKHdpbmRvdykuc2Nyb2xsVG9wKCk7c0xheW91
dFN0eWxlPWpMYXlvdXQuYXR0cigic3R5bGUiKTtqTGF5b3V0LnJlbW92ZUF0dHIoInN0eWxl
Iik7X2pBcmVhLmhlaWdodCgiMTAwJSIpO3NldFRpbWVvdXQoZml4RnVsbEhlaWdodCwxMDAp
fWlmKGlzTW96aWxsYSl7JCgiIyIraWRGaXhGRkN1cnNvcikuc2hvdygpLmZvY3VzKCkuaGlk
ZSgpO3NldFRpbWVvdXQoX3RoaXMuZm9jdXMsMSl9ZWxzZXtpZihpc0lFNjcpe190aGlzLnNl
dFRleHRDdXJzb3IoKX19YkZ1bGxzY3JlZW49IWJGdWxsc2NyZWVuO2pDb250YWluZXIudG9n
Z2xlQ2xhc3MoInhoZV9GdWxsc2NyZWVuIik7JCgiaHRtbCIpLnRvZ2dsZUNsYXNzKCJ4aGVf
RnVsbGZpeCIpO19qVG9vbHMuZmluZCgiW2NtZD1GdWxsc2NyZWVuXSIpLnRvZ2dsZUNsYXNz
KCJ4aGVBY3RpdmUiKTtzZXRUaW1lb3V0KHNldE9wdHMsMzAwKX07dGhpcy5zaG93TWVudT1m
dW5jdGlvbihtZW51aXRlbXMsY2FsbGJhY2spe3ZhciBqTWVudT0kKCc8ZGl2IGNsYXNzPSJ4
aGVNZW51Ij48L2Rpdj4nKSxtZW51U2l6ZT1tZW51aXRlbXMubGVuZ3RoLGFyckl0ZW09W107
JC5lYWNoKG1lbnVpdGVtcyxmdW5jdGlvbihuLHYpe2lmKHYucz09PSItIil7YXJySXRlbS5w
dXNoKCc8ZGl2IGNsYXNzPSJ4aGVNZW51U2VwYXJhdG9yIj48L2Rpdj4nKX1lbHNle2Fyckl0
ZW0ucHVzaCgiPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgnIit2LnYrJ1wnKSIgdGl0bGU9
IicrKHYudD92LnQ6di5zKSsnIiB2PSInK3YudisnIiByb2xlPSJvcHRpb24iIGFyaWEtc2V0
c2l6ZT0iJyttZW51U2l6ZSsnIiBhcmlhLXBvc2luc2V0PSInKyhuKzEpKyciIHRhYmluZGV4
PSIwIj4nK3YucysiPC9hPiIpfX0pO2pNZW51LmFwcGVuZChhcnJJdGVtLmpvaW4oIiIpKTtq
TWVudS5jbGljayhmdW5jdGlvbihldil7ZXY9ZXYudGFyZ2V0O2lmKCQubm9kZU5hbWUoZXYs
IkRJViIpKXtyZXR1cm59X3RoaXMubG9hZEJvb2ttYXJrKCk7Y2FsbGJhY2soJChldikuY2xv
c2VzdCgiYSIpLmF0dHIoInYiKSk7X3RoaXMuaGlkZVBhbmVsKCk7cmV0dXJuIGZhbHNlfSku
bW91c2Vkb3duKHJldHVybkZhbHNlKTtfdGhpcy5zYXZlQm9va21hcmsoKTtfdGhpcy5zaG93
UGFuZWwoak1lbnUpfTt0aGlzLnNob3dDb2xvcj1mdW5jdGlvbihjYWxsYmFjayl7dmFyIGpD
b2xvcj0kKCc8ZGl2IGNsYXNzPSJ4aGVDb2xvciI+PC9kaXY+JyksYXJySXRlbT1bXSxjb2xv
clNpemU9aXRlbUNvbG9ycy5sZW5ndGgsY291bnQ9MDskLmVhY2goaXRlbUNvbG9ycyxmdW5j
dGlvbihuLHYpe2lmKGNvdW50JTc9PT0wKXthcnJJdGVtLnB1c2goKGNvdW50PjA/IjwvZGl2
PiI6IiIpKyI8ZGl2PiIpfWFyckl0ZW0ucHVzaCgiPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9p
ZCgnIit2KydcJykiIHhoZXY9IicrdisnIiB0aXRsZT0iJyt2KyciIHN0eWxlPSJiYWNrZ3Jv
dW5kOicrdisnIiByb2xlPSJvcHRpb24iIGFyaWEtc2V0c2l6ZT0iJytjb2xvclNpemUrJyIg
YXJpYS1wb3NpbnNldD0iJysoY291bnQrMSkrJyI+PC9hPicpO2NvdW50Kyt9KTthcnJJdGVt
LnB1c2goIjwvZGl2PiIpO2pDb2xvci5hcHBlbmQoYXJySXRlbS5qb2luKCIiKSk7akNvbG9y
LmNsaWNrKGZ1bmN0aW9uKGV2KXtldj1ldi50YXJnZXQ7aWYoISQubm9kZU5hbWUoZXYsIkEi
KSl7cmV0dXJufV90aGlzLmxvYWRCb29rbWFyaygpO2NhbGxiYWNrKCQoZXYpLmF0dHIoInho
ZXYiKSk7X3RoaXMuaGlkZVBhbmVsKCk7cmV0dXJuIGZhbHNlfSkubW91c2Vkb3duKHJldHVy
bkZhbHNlKTtfdGhpcy5zYXZlQm9va21hcmsoKTtfdGhpcy5zaG93UGFuZWwoakNvbG9yKX07
dGhpcy5zaG93UGFzdGV0ZXh0PWZ1bmN0aW9uKCl7dmFyIGpQYXN0ZXRleHQ9JChodG1sUGFz
dGV0ZXh0KSxqVmFsdWU9JCgiI3hoZVBhc3RldGV4dFZhbHVlIixqUGFzdGV0ZXh0KSxqU2F2
ZT0kKCIjeGhlU2F2ZSIsalBhc3RldGV4dCk7alNhdmUuY2xpY2soZnVuY3Rpb24oKXtfdGhp
cy5sb2FkQm9va21hcmsoKTt2YXIgc1ZhbHVlPWpWYWx1ZS52YWwoKTtpZihzVmFsdWUpe190
aGlzLnBhc3RlVGV4dChzVmFsdWUpfV90aGlzLmhpZGVQYW5lbCgpO3JldHVybiBmYWxzZX0p
O190aGlzLnNhdmVCb29rbWFyaygpO190aGlzLnNob3dEaWFsb2coalBhc3RldGV4dCl9O3Ro
aXMuc2hvd0xpbms9ZnVuY3Rpb24oKXt2YXIgaHRtbFRlbXA9aHRtbExpbmssJGFyckFuY2hv
cj1fakRvYy5maW5kKCJhW25hbWVdIikubm90KCJbaHJlZl0iKSxoYXZlQW5jaG9yPSRhcnJB
bmNob3IubGVuZ3RoPjA7aWYoaGF2ZUFuY2hvcil7dmFyIGFyckFuY2hvck9wdGlvbnM9W107
JGFyckFuY2hvci5lYWNoKGZ1bmN0aW9uKCl7dmFyIG5hbWU9JCh0aGlzKS5hdHRyKCJuYW1l
Iik7YXJyQW5jaG9yT3B0aW9ucy5wdXNoKCc8b3B0aW9uIHZhbHVlPSIjJytuYW1lKyciPicr
bmFtZSsiPC9vcHRpb24+Iil9KTtodG1sVGVtcD1odG1sVGVtcC5yZXBsYWNlKC8oPGRpdj48
bGFiZWwgZm9yPSJ4aGVMaW5rVGFyZ2V0KS8sJzxkaXY+PGxhYmVsIGZvcj0ieGhlTGlua0Fu
Y2hvciI+6aG15YaF6ZSa54K5OiA8L2xhYmVsPjxzZWxlY3QgaWQ9InhoZUxpbmtBbmNob3Ii
PjxvcHRpb24gdmFsdWU9IiI+5pyq6YCJ5oupPC9vcHRpb24+JythcnJBbmNob3JPcHRpb25z
LmpvaW4oIiIpKyI8L3NlbGVjdD48L2Rpdj4kMSIpfXZhciBqTGluaz0kKGh0bWxUZW1wKSxq
UGFyZW50PV90aGlzLmdldFBhcmVudCgiYSIpLGpUZXh0PSQoIiN4aGVMaW5rVGV4dCIsakxp
bmspLGpVcmw9JCgiI3hoZUxpbmtVcmwiLGpMaW5rKSxqVGFyZ2V0PSQoIiN4aGVMaW5rVGFy
Z2V0IixqTGluayksalNhdmU9JCgiI3hoZVNhdmUiLGpMaW5rKSxzZWxIdG1sPV90aGlzLmdl
dFNlbGVjdCgpO2lmKGhhdmVBbmNob3Ipe2pMaW5rLmZpbmQoIiN4aGVMaW5rQW5jaG9yIiku
Y2hhbmdlKGZ1bmN0aW9uKCl7dmFyIGFuY2hvcj0kKHRoaXMpLnZhbCgpO2lmKGFuY2hvciE9
IiIpe2pVcmwudmFsKGFuY2hvcil9fSl9aWYoalBhcmVudC5sZW5ndGg9PT0xKXtpZighalBh
cmVudC5hdHRyKCJocmVmIikpe2V2PW51bGw7cmV0dXJuIF90aGlzLmV4ZWMoIkFuY2hvciIp
fWpVcmwudmFsKHhoZUF0dHIoalBhcmVudCwiaHJlZiIpKTtqVGFyZ2V0LmF0dHIoInZhbHVl
IixqUGFyZW50LmF0dHIoInRhcmdldCIpKX1lbHNle2lmKHNlbEh0bWw9PT0iIil7alRleHQu
dmFsKHNldHRpbmdzLmRlZkxpbmtUZXh0KS5jbG9zZXN0KCJkaXYiKS5zaG93KCl9fWlmKHNl
dHRpbmdzLnVwTGlua1VybCl7X3RoaXMudXBsb2FkSW5pdChqVXJsLHNldHRpbmdzLnVwTGlu
a1VybCxzZXR0aW5ncy51cExpbmtFeHQpfWpTYXZlLmNsaWNrKGZ1bmN0aW9uKCl7X3RoaXMu
bG9hZEJvb2ttYXJrKCk7dmFyIHVybD1qVXJsLnZhbCgpO2lmKHVybD09PSIifHxqUGFyZW50
Lmxlbmd0aD09PTApe190aGlzLl9leGVjKCJ1bmxpbmsiKX1pZih1cmwhPT0iIiYmdXJsIT09
Imh0dHA6Ly8iKXt2YXIgYVVybD11cmwuc3BsaXQoIiAiKSxzVGFyZ2V0PWpUYXJnZXQudmFs
KCksc1RleHQ9alRleHQudmFsKCk7aWYoYVVybC5sZW5ndGg+MSl7X3RoaXMuX2V4ZWMoInVu
bGluayIpO3NlbEh0bWw9X3RoaXMuZ2V0U2VsZWN0KCk7dmFyIHNUZW1wbGF0ZT0nPGEgaHJl
Zj0ieGhlX3RtcHVybCInLHNMaW5rLGFyckxpbms9W107aWYoc1RhcmdldCE9PSIiKXtzVGVt
cGxhdGUrPScgdGFyZ2V0PSInK3NUYXJnZXQrJyInfXNUZW1wbGF0ZSs9Ij54aGVfdG1wdGV4
dDwvYT4iO3NUZXh0PShzZWxIdG1sIT09IiI/c2VsSHRtbDooc1RleHQ/c1RleHQ6dXJsKSk7
Zm9yKHZhciBpPTAsYz1hVXJsLmxlbmd0aDtpPGM7aSsrKXt1cmw9YVVybFtpXTtpZih1cmwh
PT0iIil7dXJsPXVybC5zcGxpdCgifHwiKTtzTGluaz1zVGVtcGxhdGU7c0xpbms9c0xpbmsu
cmVwbGFjZSgieGhlX3RtcHVybCIsdXJsWzBdKTtzTGluaz1zTGluay5yZXBsYWNlKCJ4aGVf
dG1wdGV4dCIsdXJsWzFdP3VybFsxXTpzVGV4dCk7YXJyTGluay5wdXNoKHNMaW5rKX19X3Ro
aXMucGFzdGVIVE1MKGFyckxpbmsuam9pbigiJm5ic3A7IikpfWVsc2V7dXJsPWFVcmxbMF0u
c3BsaXQoInx8Iik7aWYoIXNUZXh0KXtzVGV4dD11cmxbMF19c1RleHQ9dXJsWzFdP3VybFsx
XTooc2VsSHRtbCE9PSIiKT8iIjpzVGV4dD9zVGV4dDp1cmxbMF07aWYoalBhcmVudC5sZW5n
dGg9PT0wKXtpZihzVGV4dCl7X3RoaXMucGFzdGVIVE1MKCc8YSBocmVmPSIjeGhlX3RtcHVy
bCI+JytzVGV4dCsiPC9hPiIpfWVsc2V7X3RoaXMuX2V4ZWMoImNyZWF0ZWxpbmsiLCIjeGhl
X3RtcHVybCIpfWpQYXJlbnQ9JCgnYVtocmVmJD0iI3hoZV90bXB1cmwiXScsX2RvYyl9ZWxz
ZXtpZihzVGV4dCYmIWlzU2FmYXJpKXtqUGFyZW50LnRleHQoc1RleHQpfX14aGVBdHRyKGpQ
YXJlbnQsImhyZWYiLHVybFswXSk7aWYoc1RhcmdldCE9PSIiKXtqUGFyZW50LmF0dHIoInRh
cmdldCIsc1RhcmdldCl9ZWxzZXtqUGFyZW50LnJlbW92ZUF0dHIoInRhcmdldCIpfX19X3Ro
aXMuaGlkZVBhbmVsKCk7cmV0dXJuIGZhbHNlfSk7X3RoaXMuc2F2ZUJvb2ttYXJrKCk7X3Ro
aXMuc2hvd0RpYWxvZyhqTGluayl9O3RoaXMuc2hvd0FuY2hvcj1mdW5jdGlvbigpe3ZhciBq
QW5jaG9yPSQoaHRtbEFuY2hvciksalBhcmVudD1fdGhpcy5nZXRQYXJlbnQoImEiKSxqTmFt
ZT0kKCIjeGhlQW5jaG9yTmFtZSIsakFuY2hvciksalNhdmU9JCgiI3hoZVNhdmUiLGpBbmNo
b3IpO2lmKGpQYXJlbnQubGVuZ3RoPT09MSl7aWYoalBhcmVudC5hdHRyKCJocmVmIikpe2V2
PW51bGw7cmV0dXJuIF90aGlzLmV4ZWMoIkxpbmsiKX1qTmFtZS52YWwoalBhcmVudC5hdHRy
KCJuYW1lIikpfWpTYXZlLmNsaWNrKGZ1bmN0aW9uKCl7X3RoaXMubG9hZEJvb2ttYXJrKCk7
dmFyIG5hbWU9ak5hbWUudmFsKCk7aWYobmFtZSl7aWYoalBhcmVudC5sZW5ndGg9PT0wKXtf
dGhpcy5wYXN0ZUhUTUwoJzxhIG5hbWU9IicrbmFtZSsnIj48L2E+Jyl9ZWxzZXtqUGFyZW50
LmF0dHIoIm5hbWUiLG5hbWUpfX1lbHNle2lmKGpQYXJlbnQubGVuZ3RoPT09MSl7alBhcmVu
dC5yZW1vdmUoKX19X3RoaXMuaGlkZVBhbmVsKCk7cmV0dXJuIGZhbHNlfSk7X3RoaXMuc2F2
ZUJvb2ttYXJrKCk7X3RoaXMuc2hvd0RpYWxvZyhqQW5jaG9yKX07dGhpcy5zaG93SW1nPWZ1
bmN0aW9uKCl7dmFyIGpJbWc9JChodG1sSW1nKSxqUGFyZW50PV90aGlzLmdldFBhcmVudCgi
aW1nIiksalVybD0kKCIjeGhlSW1nVXJsIixqSW1nKSxqQWx0PSQoIiN4aGVJbWdBbHQiLGpJ
bWcpLGpBbGlnbj0kKCIjeGhlSW1nQWxpZ24iLGpJbWcpLGpXaWR0aD0kKCIjeGhlSW1nV2lk
dGgiLGpJbWcpLGpIZWlnaHQ9JCgiI3hoZUltZ0hlaWdodCIsakltZyksakJvcmRlcj0kKCIj
eGhlSW1nQm9yZGVyIixqSW1nKSxqVnNwYWNlPSQoIiN4aGVJbWdWc3BhY2UiLGpJbWcpLGpI
c3BhY2U9JCgiI3hoZUltZ0hzcGFjZSIsakltZyksalNhdmU9JCgiI3hoZVNhdmUiLGpJbWcp
O2lmKGpQYXJlbnQubGVuZ3RoPT09MSl7alVybC52YWwoeGhlQXR0cihqUGFyZW50LCJzcmMi
KSk7akFsdC52YWwoalBhcmVudC5hdHRyKCJhbHQiKSk7akFsaWduLnZhbChqUGFyZW50LmF0
dHIoImFsaWduIikpO2pXaWR0aC52YWwoalBhcmVudC5hdHRyKCJ3aWR0aCIpKTtqSGVpZ2h0
LnZhbChqUGFyZW50LmF0dHIoImhlaWdodCIpKTtqQm9yZGVyLnZhbChqUGFyZW50LmF0dHIo
ImJvcmRlciIpKTt2YXIgdnNwYWNlPWpQYXJlbnQuYXR0cigidnNwYWNlIiksaHNwYWNlPWpQ
YXJlbnQuYXR0cigiaHNwYWNlIik7alZzcGFjZS52YWwodnNwYWNlPD0wPyIiOnZzcGFjZSk7
akhzcGFjZS52YWwoaHNwYWNlPD0wPyIiOmhzcGFjZSl9aWYoc2V0dGluZ3MudXBJbWdVcmwp
e190aGlzLnVwbG9hZEluaXQoalVybCxzZXR0aW5ncy51cEltZ1VybCxzZXR0aW5ncy51cElt
Z0V4dCl9alNhdmUuY2xpY2soZnVuY3Rpb24oKXtfdGhpcy5sb2FkQm9va21hcmsoKTt2YXIg
dXJsPWpVcmwudmFsKCk7aWYodXJsIT09IiImJnVybCE9PSJodHRwOi8vIil7dmFyIGFVcmw9
dXJsLnNwbGl0KCIgIiksc0FsdD1qQWx0LnZhbCgpLHNBbGlnbj1qQWxpZ24udmFsKCksc1dp
ZHRoPWpXaWR0aC52YWwoKSxzSGVpZ2h0PWpIZWlnaHQudmFsKCksc0JvcmRlcj1qQm9yZGVy
LnZhbCgpLHNWc3BhY2U9alZzcGFjZS52YWwoKSxzSHNwYWNlPWpIc3BhY2UudmFsKCk7aWYo
YVVybC5sZW5ndGg+MSl7dmFyIHNUZW1wbGF0ZT0nPGltZyBzcmM9InhoZV90bXB1cmwiJyxz
SW1nLGFyckltZz1bXTtpZihzQWx0IT09IiIpe3NUZW1wbGF0ZSs9JyBhbHQ9Iicrc0FsdCsn
Iid9aWYoc0FsaWduIT09IiIpe3NUZW1wbGF0ZSs9JyBhbGlnbj0iJytzQWxpZ24rJyInfWlm
KHNXaWR0aCE9PSIiKXtzVGVtcGxhdGUrPScgd2lkdGg9Iicrc1dpZHRoKyciJ31pZihzSGVp
Z2h0IT09IiIpe3NUZW1wbGF0ZSs9JyBoZWlnaHQ9Iicrc0hlaWdodCsnIid9aWYoc0JvcmRl
ciE9PSIiKXtzVGVtcGxhdGUrPScgYm9yZGVyPSInK3NCb3JkZXIrJyInfWlmKHNWc3BhY2Uh
PT0iIil7c1RlbXBsYXRlKz0nIHZzcGFjZT0iJytzVnNwYWNlKyciJ31pZihzSHNwYWNlIT09
IiIpe3NUZW1wbGF0ZSs9JyBoc3BhY2U9Iicrc0hzcGFjZSsnIid9c1RlbXBsYXRlKz0iIC8+
Ijtmb3IodmFyIGkgaW4gYVVybCl7dXJsPWFVcmxbaV07aWYodXJsIT09IiIpe3VybD11cmwu
c3BsaXQoInx8Iik7c0ltZz1zVGVtcGxhdGU7c0ltZz1zSW1nLnJlcGxhY2UoInhoZV90bXB1
cmwiLHVybFswXSk7aWYodXJsWzFdKXtzSW1nPSc8YSBocmVmPSInK3VybFsxXSsnIiB0YXJn
ZXQ9Il9ibGFuayI+JytzSW1nKyI8L2E+In1hcnJJbWcucHVzaChzSW1nKX19X3RoaXMucGFz
dGVIVE1MKGFyckltZy5qb2luKCImbmJzcDsiKSl9ZWxzZXtpZihhVXJsLmxlbmd0aD09PTEp
e3VybD1hVXJsWzBdO2lmKHVybCE9PSIiKXt1cmw9dXJsLnNwbGl0KCJ8fCIpO2lmKGpQYXJl
bnQubGVuZ3RoPT09MCl7X3RoaXMucGFzdGVIVE1MKCc8aW1nIHNyYz0iJyt1cmxbMF0rJyN4
aGVfdG1wdXJsIiAvPicpO2pQYXJlbnQ9JCgnaW1nW3NyYyQ9IiN4aGVfdG1wdXJsIl0nLF9k
b2MpfXhoZUF0dHIoalBhcmVudCwic3JjIix1cmxbMF0pO2lmKHNBbHQhPT0iIil7alBhcmVu
dC5hdHRyKCJhbHQiLHNBbHQpfWlmKHNBbGlnbiE9PSIiKXtqUGFyZW50LmF0dHIoImFsaWdu
IixzQWxpZ24pfWVsc2V7alBhcmVudC5yZW1vdmVBdHRyKCJhbGlnbiIpfWlmKHNXaWR0aCE9
PSIiKXtqUGFyZW50LmF0dHIoIndpZHRoIixzV2lkdGgpfWVsc2V7alBhcmVudC5yZW1vdmVB
dHRyKCJ3aWR0aCIpfWlmKHNIZWlnaHQhPT0iIil7alBhcmVudC5hdHRyKCJoZWlnaHQiLHNI
ZWlnaHQpfWVsc2V7alBhcmVudC5yZW1vdmVBdHRyKCJoZWlnaHQiKX1pZihzQm9yZGVyIT09
IiIpe2pQYXJlbnQuYXR0cigiYm9yZGVyIixzQm9yZGVyKX1lbHNle2pQYXJlbnQucmVtb3Zl
QXR0cigiYm9yZGVyIil9aWYoc1ZzcGFjZSE9PSIiKXtqUGFyZW50LmF0dHIoInZzcGFjZSIs
c1ZzcGFjZSl9ZWxzZXtqUGFyZW50LnJlbW92ZUF0dHIoInZzcGFjZSIpfWlmKHNIc3BhY2Uh
PT0iIil7alBhcmVudC5hdHRyKCJoc3BhY2UiLHNIc3BhY2UpfWVsc2V7alBhcmVudC5yZW1v
dmVBdHRyKCJoc3BhY2UiKX1pZih1cmxbMV0pe3ZhciBqTGluaz1qUGFyZW50LnBhcmVudCgi
YSIpO2lmKGpMaW5rLmxlbmd0aD09PTApe2pQYXJlbnQud3JhcCgiPGE+PC9hPiIpO2pMaW5r
PWpQYXJlbnQucGFyZW50KCJhIil9eGhlQXR0cihqTGluaywiaHJlZiIsdXJsWzFdKTtqTGlu
ay5hdHRyKCJ0YXJnZXQiLCJfYmxhbmsiKX19fX19ZWxzZXtpZihqUGFyZW50Lmxlbmd0aD09
PTEpe2pQYXJlbnQucmVtb3ZlKCl9fV90aGlzLmhpZGVQYW5lbCgpO3JldHVybiBmYWxzZX0p
O190aGlzLnNhdmVCb29rbWFyaygpO190aGlzLnNob3dEaWFsb2coakltZyl9O3RoaXMuc2hv
d0VtYmVkPWZ1bmN0aW9uKHNUeXBlLHNIdG1sLHNNaW1lLHNDbHNJRCxzQmFzZUF0dHJzLHNV
cGxvYWRVcmwsc1VwbG9hZEV4dCl7dmFyIGpFbWJlZD0kKHNIdG1sKSxqUGFyZW50PV90aGlz
LmdldFBhcmVudCgnZW1iZWRbdHlwZT0iJytzTWltZSsnIl0sZW1iZWRbY2xhc3NpZD0iJytz
Q2xzSUQrJyJdJyksalVybD0kKCIjeGhlIitzVHlwZSsiVXJsIixqRW1iZWQpLGpXaWR0aD0k
KCIjeGhlIitzVHlwZSsiV2lkdGgiLGpFbWJlZCksakhlaWdodD0kKCIjeGhlIitzVHlwZSsi
SGVpZ2h0IixqRW1iZWQpLGpTYXZlPSQoIiN4aGVTYXZlIixqRW1iZWQpO2lmKHNVcGxvYWRV
cmwpe190aGlzLnVwbG9hZEluaXQoalVybCxzVXBsb2FkVXJsLHNVcGxvYWRFeHQpfWlmKGpQ
YXJlbnQubGVuZ3RoPT09MSl7alVybC52YWwoeGhlQXR0cihqUGFyZW50LCJzcmMiKSk7aldp
ZHRoLnZhbChqUGFyZW50LmF0dHIoIndpZHRoIikpO2pIZWlnaHQudmFsKGpQYXJlbnQuYXR0
cigiaGVpZ2h0IikpfWpTYXZlLmNsaWNrKGZ1bmN0aW9uKCl7X3RoaXMubG9hZEJvb2ttYXJr
KCk7dmFyIHVybD1qVXJsLnZhbCgpO2lmKHVybCE9PSIiJiZ1cmwhPT0iaHR0cDovLyIpe3Zh
ciB3PWpXaWR0aC52YWwoKSxoPWpIZWlnaHQudmFsKCkscmVnPS9eXGQrJT8kLztpZighcmVn
LnRlc3Qodykpe3c9NDEyfWlmKCFyZWcudGVzdChoKSl7aD0zMDB9dmFyIHNCYXNlQ29kZT0n
PGVtYmVkIHR5cGU9Iicrc01pbWUrJyIgY2xhc3NpZD0iJytzQ2xzSUQrJyIgc3JjPSJ4aGVf
dG1wdXJsIicrc0Jhc2VBdHRyczt2YXIgYVVybD11cmwuc3BsaXQoIiAiKTtpZihhVXJsLmxl
bmd0aD4xKXt2YXIgc1RlbXBsYXRlPXNCYXNlQ29kZSsiIixzRW1iZWQsYXJyRW1iZWQ9W107
c1RlbXBsYXRlKz0nIHdpZHRoPSJ4aGVfd2lkdGgiIGhlaWdodD0ieGhlX2hlaWdodCIgLz4n
O2Zvcih2YXIgaSBpbiBhVXJsKXt1cmw9YVVybFtpXS5zcGxpdCgifHwiKTtzRW1iZWQ9c1Rl
bXBsYXRlO3NFbWJlZD1zRW1iZWQucmVwbGFjZSgieGhlX3RtcHVybCIsdXJsWzBdKTtzRW1i
ZWQ9c0VtYmVkLnJlcGxhY2UoInhoZV93aWR0aCIsdXJsWzFdP3VybFsxXTp3KTtzRW1iZWQ9
c0VtYmVkLnJlcGxhY2UoInhoZV9oZWlnaHQiLHVybFsyXT91cmxbMl06aCk7aWYodXJsIT09
IiIpe2FyckVtYmVkLnB1c2goc0VtYmVkKX19X3RoaXMucGFzdGVIVE1MKGFyckVtYmVkLmpv
aW4oIiZuYnNwOyIpKX1lbHNle2lmKGFVcmwubGVuZ3RoPT09MSl7dXJsPWFVcmxbMF0uc3Bs
aXQoInx8Iik7aWYoalBhcmVudC5sZW5ndGg9PT0wKXtfdGhpcy5wYXN0ZUhUTUwoc0Jhc2VD
b2RlLnJlcGxhY2UoInhoZV90bXB1cmwiLHVybFswXSsiI3hoZV90bXB1cmwiKSsiIC8+Iik7
alBhcmVudD0kKCdlbWJlZFtzcmMkPSIjeGhlX3RtcHVybCJdJyxfZG9jKX14aGVBdHRyKGpQ
YXJlbnQsInNyYyIsdXJsWzBdKTtqUGFyZW50LmF0dHIoIndpZHRoIix1cmxbMV0/dXJsWzFd
OncpO2pQYXJlbnQuYXR0cigiaGVpZ2h0Iix1cmxbMl0/dXJsWzJdOmgpfX19ZWxzZXtpZihq
UGFyZW50Lmxlbmd0aD09PTEpe2pQYXJlbnQucmVtb3ZlKCl9fV90aGlzLmhpZGVQYW5lbCgp
O3JldHVybiBmYWxzZX0pO190aGlzLnNhdmVCb29rbWFyaygpO190aGlzLnNob3dEaWFsb2co
akVtYmVkKX07dGhpcy5zaG93RW1vdD1mdW5jdGlvbihncm91cCl7dmFyIGpFbW90PSQoJzxk
aXYgY2xhc3M9InhoZUVtb3QiPjwvZGl2PicpO2lmKCF0aGlzLmlzbG9hZGVtb3QpeyQuZ2V0
KGJsb2dob3N0KyJ6Yl91c2Vycy9wbHVnaW4vY29tbWVudGVkaXRvci9lbW90LmFzcCIsIiIs
ZnVuY3Rpb24oZGF0YSl7YXJyRW1vdHM9ZXZhbCgiKCIrZGF0YSsiKSIpO3RoaXMuaXNsb2Fk
ZW1vdD10cnVlfSl9Z3JvdXA9Z3JvdXA/Z3JvdXA6KHNlbEVtb3RHcm91cD9zZWxFbW90R3Jv
dXA6ImRlZmF1bHQiKTt2YXIgYXJyRW1vdD1hcnJFbW90c1tncm91cF07dmFyIHNFbW90UGF0
aD1lbW90UGF0aCtncm91cCsiLyIsbj0wLGFyckxpc3Q9W10sakxpc3Q9IiI7dHJ5e3ZhciBl
dz1hcnJFbW90LndpZHRoLGVoPWFyckVtb3QuaGVpZ2h0LGxpbmU9YXJyRW1vdC5saW5lLGNv
dW50PWFyckVtb3QuY291bnQsbGlzdD1hcnJFbW90Lmxpc3Q7aWYoY291bnQpe2Zvcih2YXIg
aT0xO2k8PWNvdW50O2krKyl7bisrO2Fyckxpc3QucHVzaCgiPGEgaHJlZj1cImphdmFzY3Jp
cHQ6dm9pZCgnIitpKydcJykiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnK3NFbW90
UGF0aCtpKycpOyIgZW1vdD0iJytncm91cCsiLyIraSsnIiB4aGV2PSIiIHRpdGxlPSInK2kr
JyIgcm9sZT0ib3B0aW9uIj4mbmJzcDs8L2E+Jyk7aWYobiVsaW5lPT09MCl7YXJyTGlzdC5w
dXNoKCI8YnIgLz4iKX19fWVsc2V7JC5lYWNoKGxpc3QsZnVuY3Rpb24oaWQsdGl0bGUpe24r
KzthcnJMaXN0LnB1c2goIjxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoJyIrdGl0bGUrJ1wn
KSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCcrc0Vtb3RQYXRoK2lkKycpOyIgZW1v
dD0iJytncm91cCsiLyIraWQrJyIgdGl0bGU9IicrdGl0bGUrJyIgeGhldj0iJyt0aXRsZSsn
IiByb2xlPSJvcHRpb24iPiZuYnNwOzwvYT4nKTtpZihuJWxpbmU9PT0wKXthcnJMaXN0LnB1
c2goIjxiciAvPiIpfX0pfXZhciB3PWxpbmUqKGV3KzEyKSxoPU1hdGguY2VpbChuL2xpbmUp
KihlaCsxMiksbWg9dyowLjc1O2lmKGg8PW1oKXttaD0iIn1qTGlzdD0kKCI8c3R5bGU+Iiso
bWg/Ii54aGVFbW90IGRpdnt3aWR0aDoiKyh3KzIwKSsicHg7aGVpZ2h0OiIrbWgrInB4O30i
OiIiKSsiLnhoZUVtb3QgZGl2IGF7d2lkdGg6IitldysicHg7aGVpZ2h0OiIrZWgrInB4O308
L3N0eWxlPjxkaXY+IithcnJMaXN0LmpvaW4oIiIpKyI8L2Rpdj4iKS5jbGljayhmdW5jdGlv
bihldil7ZXY9ZXYudGFyZ2V0O3ZhciBqQT0kKGV2KTtpZighJC5ub2RlTmFtZShldiwiQSIp
KXtyZXR1cm59X3RoaXMubG9hZEJvb2ttYXJrKCk7X3RoaXMucGFzdGVIVE1MKCc8aW1nIGVt
b3Q9IicrakEuYXR0cigiZW1vdCIpKyciIGFsdD0iJytqQS5hdHRyKCJ4aGV2IikrJyI+Jyk7
X3RoaXMuaGlkZVBhbmVsKCk7cmV0dXJuIGZhbHNlfSkubW91c2Vkb3duKHJldHVybkZhbHNl
KTtqRW1vdC5hcHBlbmQoakxpc3QpO3ZhciBnY291bnQ9MCxhcnJHcm91cD1bJzx1bCByb2xl
PSJ0YWJsaXN0Ij4nXSxqR3JvdXA7JC5lYWNoKGFyckVtb3RzLGZ1bmN0aW9uKGcsdil7Z2Nv
dW50Kys7YXJyR3JvdXAucHVzaCgiPGxpIisoZ3JvdXA9PT1nPycgY2xhc3M9ImN1ciInOiIi
KSsnIHJvbGU9InByZXNlbnRhdGlvbiI+PGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKFwnJyt2
Lm5hbWUrJ1wnKSIgZ3JvdXA9IicrZysnIiByb2xlPSJ0YWIiIHRhYmluZGV4PSIwIj4nK3Yu
bmFtZSsiPC9hPjwvbGk+Iil9KTtpZihnY291bnQ+MSl7YXJyR3JvdXAucHVzaCgnPC91bD48
YnIgc3R5bGU9ImNsZWFyOmJvdGg7IiAvPicpO2pHcm91cD0kKGFyckdyb3VwLmpvaW4oIiIp
KS5jbGljayhmdW5jdGlvbihldil7c2VsRW1vdEdyb3VwPSQoZXYudGFyZ2V0KS5hdHRyKCJn
cm91cCIpO190aGlzLmV4ZWMoIkVtb3QiKTtyZXR1cm4gZmFsc2V9KS5tb3VzZWRvd24ocmV0
dXJuRmFsc2UpO2pFbW90LmFwcGVuZChqR3JvdXApfX1jYXRjaChlKXtqRW1vdC5hcHBlbmQo
JzxwIHN0eWxlPSJmb250LXNpemU6MTBweCI+5q2j5Zyo5Li65oKo5Yqg6L296KGo5oOF77yM
6K+356iN5YCZLi48L3A+Jyl9X3RoaXMuc2F2ZUJvb2ttYXJrKCk7X3RoaXMuc2hvd1BhbmVs
KGpFbW90KX07dGhpcy5zaG93VGFibGU9ZnVuY3Rpb24oKXt2YXIgalRhYmxlPSQoaHRtbFRh
YmxlKSxqUm93cz0kKCIjeGhlVGFibGVSb3dzIixqVGFibGUpLGpDb2x1bW5zPSQoIiN4aGVU
YWJsZUNvbHVtbnMiLGpUYWJsZSksakhlYWRlcnM9JCgiI3hoZVRhYmxlSGVhZGVycyIsalRh
YmxlKSxqV2lkdGg9JCgiI3hoZVRhYmxlV2lkdGgiLGpUYWJsZSksakhlaWdodD0kKCIjeGhl
VGFibGVIZWlnaHQiLGpUYWJsZSksakJvcmRlcj0kKCIjeGhlVGFibGVCb3JkZXIiLGpUYWJs
ZSksakNlbGxTcGFjaW5nPSQoIiN4aGVUYWJsZUNlbGxTcGFjaW5nIixqVGFibGUpLGpDZWxs
UGFkZGluZz0kKCIjeGhlVGFibGVDZWxsUGFkZGluZyIsalRhYmxlKSxqQWxpZ249JCgiI3ho
ZVRhYmxlQWxpZ24iLGpUYWJsZSksakNhcHRpb249JCgiI3hoZVRhYmxlQ2FwdGlvbiIsalRh
YmxlKSxqU2F2ZT0kKCIjeGhlU2F2ZSIsalRhYmxlKTtqU2F2ZS5jbGljayhmdW5jdGlvbigp
e190aGlzLmxvYWRCb29rbWFyaygpO3ZhciBzQ2FwdGlvbj1qQ2FwdGlvbi52YWwoKSxzQm9y
ZGVyPWpCb3JkZXIudmFsKCksc1Jvd3M9alJvd3MudmFsKCksc0NvbHM9akNvbHVtbnMudmFs
KCksc0hlYWRlcnM9akhlYWRlcnMudmFsKCksc1dpZHRoPWpXaWR0aC52YWwoKSxzSGVpZ2h0
PWpIZWlnaHQudmFsKCksc0NlbGxTcGFjaW5nPWpDZWxsU3BhY2luZy52YWwoKSxzQ2VsbFBh
ZGRpbmc9akNlbGxQYWRkaW5nLnZhbCgpLHNBbGlnbj1qQWxpZ24udmFsKCk7dmFyIGksaixo
dG1sVGFibGU9Ijx0YWJsZSIrKHNCb3JkZXIhPT0iIj8nIGJvcmRlcj0iJytzQm9yZGVyKyci
JzoiIikrKHNXaWR0aCE9PSIiPycgd2lkdGg9Iicrc1dpZHRoKyciJzoiIikrKHNIZWlnaHQh
PT0iIj8nIGhlaWdodD0iJytzSGVpZ2h0KyciJzoiIikrKHNDZWxsU3BhY2luZyE9PSIiPycg
Y2VsbHNwYWNpbmc9Iicrc0NlbGxTcGFjaW5nKyciJzoiIikrKHNDZWxsUGFkZGluZyE9PSIi
PycgY2VsbHBhZGRpbmc9Iicrc0NlbGxQYWRkaW5nKyciJzoiIikrKHNBbGlnbiE9PSIiPycg
YWxpZ249Iicrc0FsaWduKyciJzoiIikrIj4iO2lmKHNDYXB0aW9uIT09IiIpe2h0bWxUYWJs
ZSs9IjxjYXB0aW9uPiIrc0NhcHRpb24rIjwvY2FwdGlvbj4ifWlmKHNIZWFkZXJzPT09InJv
dyJ8fHNIZWFkZXJzPT09ImJvdGgiKXtodG1sVGFibGUrPSI8dHI+Ijtmb3IoaT0wO2k8c0Nv
bHM7aSsrKXtodG1sVGFibGUrPSc8dGggc2NvcGU9ImNvbCI+PC90aD4nfWh0bWxUYWJsZSs9
IjwvdHI+IjtzUm93cy0tfWh0bWxUYWJsZSs9Ijx0Ym9keT4iO2ZvcihpPTA7aTxzUm93cztp
Kyspe2h0bWxUYWJsZSs9Ijx0cj4iO2ZvcihqPTA7ajxzQ29scztqKyspe2lmKGo9PT0wJiYo
c0hlYWRlcnM9PT0iY29sInx8c0hlYWRlcnM9PT0iYm90aCIpKXtodG1sVGFibGUrPSc8dGgg
c2NvcGU9InJvdyI+PC90aD4nfWVsc2V7aHRtbFRhYmxlKz0iPHRkPjwvdGQ+In19aHRtbFRh
YmxlKz0iPC90cj4ifWh0bWxUYWJsZSs9IjwvdGJvZHk+PC90YWJsZT4iO190aGlzLnBhc3Rl
SFRNTChodG1sVGFibGUpO190aGlzLmhpZGVQYW5lbCgpO3JldHVybiBmYWxzZX0pO190aGlz
LnNhdmVCb29rbWFyaygpO190aGlzLnNob3dEaWFsb2coalRhYmxlKX07dGhpcy5zaG93QWJv
dXQ9ZnVuY3Rpb24oKXt2YXIgakFib3V0PSQoaHRtbEFib3V0KTtqQWJvdXQuZmluZCgicCIp
LmF0dHIoInJvbGUiLCJwcmVzZW50YXRpb24iKTtfdGhpcy5zaG93RGlhbG9nKGpBYm91dCx0
cnVlKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7akFib3V0LmZvY3VzKCl9LDEwMCl9O3RoaXMu
YWRkU2hvcnRjdXRzPWZ1bmN0aW9uKGtleSxjbWQpe2tleT1rZXkudG9Mb3dlckNhc2UoKTtp
ZihhcnJTaG9ydEN1dHNba2V5XT09PXVuZGVmaW5lZCl7YXJyU2hvcnRDdXRzW2tleV09QXJy
YXkoKX1hcnJTaG9ydEN1dHNba2V5XS5wdXNoKGNtZCl9O3RoaXMuZGVsU2hvcnRjdXRzPWZ1
bmN0aW9uKGtleSl7ZGVsZXRlIGFyclNob3J0Q3V0c1trZXldfTt0aGlzLnVwbG9hZEluaXQ9
ZnVuY3Rpb24oalRleHQsdG9VcmwsdXBleHQpe3ZhciBqVXBsb2FkPSQoJzxzcGFuIGNsYXNz
PSJ4aGVVcGxvYWQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBzdHlsZT0idmlzaWJpbGl0eTpoaWRk
ZW47IiB0YWJpbmRleD0iLTEiIC8+PGlucHV0IHR5cGU9ImJ1dHRvbiIgdmFsdWU9Iicrc2V0
dGluZ3MudXBCdG5UZXh0KyciIGNsYXNzPSJ4aGVCdG4iIHRhYmluZGV4PSItMSIgLz48L3Nw
YW4+JyksalVwQnRuPSQoIi54aGVCdG4iLGpVcGxvYWQpO3ZhciBiSHRtbDVVcGxvYWQ9c2V0
dGluZ3MuaHRtbDVVcGxvYWQsdXBNdWx0aXBsZT1iSHRtbDVVcGxvYWQ/c2V0dGluZ3MudXBN
dWx0aXBsZToxO2pUZXh0LmFmdGVyKGpVcGxvYWQpO2pVcEJ0bi5iZWZvcmUoalRleHQpO3Rv
VXJsPXRvVXJsLnJlcGxhY2UoL3tlZGl0b3JSb290fS9pZyxlZGl0b3JSb290KTtpZih0b1Vy
bC5zdWJzdHIoMCwxKT09PSIhIil7alVwQnRuLmNsaWNrKGZ1bmN0aW9uKCl7X3RoaXMuc2hv
d0lmcmFtZU1vZGFsKCLkuIrkvKDmlofku7YiLHRvVXJsLnN1YnN0cigxKSxzZXRVcGxvYWRN
c2csbnVsbCxudWxsKX0pfWVsc2V7alVwbG9hZC5hcHBlbmQoJzxpbnB1dCB0eXBlPSJmaWxl
IicrKHVwTXVsdGlwbGU+MT8nIG11bHRpcGxlPSIiJzoiIikrJyBjbGFzcz0ieGhlRmlsZSIg
c2l6ZT0iMTMiIG5hbWU9IicrdXBsb2FkSW5wdXRuYW1lKyciIHRhYmluZGV4PSItMSIgLz4n
KTt2YXIgakZpbGU9JCgiLnhoZUZpbGUiLGpVcGxvYWQpLGFyck1zZztqRmlsZS5jaGFuZ2Uo
ZnVuY3Rpb24oKXthcnJNc2c9W107X3RoaXMuc3RhcnRVcGxvYWQoakZpbGVbMF0sdG9Vcmws
dXBleHQsc2V0VXBsb2FkTXNnKX0pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtqVGV4dC5jbG9z
ZXN0KCIueGhlRGlhbG9nIikuYmluZCgiZHJhZ2VudGVyIGRyYWdvdmVyIixyZXR1cm5GYWxz
ZSkuYmluZCgiZHJvcCIsZnVuY3Rpb24oZXYpe3ZhciBkYXRhVHJhbnNmZXI9ZXYub3JpZ2lu
YWxFdmVudC5kYXRhVHJhbnNmZXIsZmlsZUxpc3Q7aWYoYkh0bWw1VXBsb2FkJiZkYXRhVHJh
bnNmZXImJihmaWxlTGlzdD1kYXRhVHJhbnNmZXIuZmlsZXMpJiZmaWxlTGlzdC5sZW5ndGg+
MCl7X3RoaXMuc3RhcnRVcGxvYWQoZmlsZUxpc3QsdG9VcmwsdXBleHQsc2V0VXBsb2FkTXNn
KX1yZXR1cm4gZmFsc2V9KX0sMTApfWZ1bmN0aW9uIHNldFVwbG9hZE1zZyhhcnJNc2cpe2lm
KGlzKGFyck1zZywic3RyaW5nIikpe2Fyck1zZz1bYXJyTXNnXX12YXIgYkltbWVkaWF0ZT1m
YWxzZSxpLGNvdW50PWFyck1zZy5sZW5ndGgsbXNnLHVybCxhcnJVcmw9W10sb25VcGxvYWQ9
c2V0dGluZ3Mub25VcGxvYWQ7aWYob25VcGxvYWQpe29uVXBsb2FkKGFyck1zZyl9Zm9yKGk9
MDtpPGNvdW50O2krKyl7bXNnPWFyck1zZ1tpXTt1cmw9aXMobXNnLCJzdHJpbmciKT9tc2c6
bXNnLnVybDtpZih1cmwuc3Vic3RyKDAsMSk9PT0iISIpe2JJbW1lZGlhdGU9dHJ1ZTt1cmw9
dXJsLnN1YnN0cigxKX1hcnJVcmwucHVzaCh1cmwpfWpUZXh0LnZhbChhcnJVcmwuam9pbigi
ICIpKTtpZihiSW1tZWRpYXRlKXtqVGV4dC5jbG9zZXN0KCIueGhlRGlhbG9nIikuZmluZCgi
I3hoZVNhdmUiKS5jbGljaygpfX19O3RoaXMuc3RhcnRVcGxvYWQ9ZnVuY3Rpb24oZnJvbUZp
bGVzLHRvVXJsLGxpbWl0RXh0LG9uVXBsb2FkQ29tcGxldGUpe3ZhciBhcnJNc2c9W10sYkh0
bWw1VXBsb2FkPXNldHRpbmdzLmh0bWw1VXBsb2FkLHVwTXVsdGlwbGU9Ykh0bWw1VXBsb2Fk
P3NldHRpbmdzLnVwTXVsdGlwbGU6MTt2YXIgdXBsb2FkLGZpbGVMaXN0LGZpbGVuYW1lLGpV
cGxvYWRUaXA9JCgnPGRpdiBzdHlsZT0icGFkZGluZzoyMnB4IDA7dGV4dC1hbGlnbjpjZW50
ZXI7bGluZS1oZWlnaHQ6MzBweDsiPuaWh+S7tuS4iuS8oOS4re+8jOivt+eojeWAmeKApuKA
pjxiciAvPjwvZGl2PicpLHNMb2FkaW5nPSc8aW1nIHNyYz0iJytza2luUGF0aCsnaW1nL2xv
YWRpbmcuZ2lmIj4nO2lmKGlzT3BlcmF8fCFiSHRtbDVVcGxvYWR8fChmcm9tRmlsZXMubm9k
ZVR5cGUmJiEoKGZpbGVMaXN0PWZyb21GaWxlcy5maWxlcykmJmZpbGVMaXN0WzBdLm5hbWUp
KSl7aWYoIWNoZWNrRmlsZUV4dChmcm9tRmlsZXMudmFsdWUsbGltaXRFeHQpKXtyZXR1cm59
alVwbG9hZFRpcC5hcHBlbmQoc0xvYWRpbmcpO3VwbG9hZD1uZXcgX3RoaXMuaHRtbDRVcGxv
YWQoZnJvbUZpbGVzLHRvVXJsLG9uVXBsb2FkQ2FsbGJhY2spfWVsc2V7aWYoIWZpbGVMaXN0
KXtmaWxlTGlzdD1mcm9tRmlsZXN9dmFyIGksbGVuPWZpbGVMaXN0Lmxlbmd0aDtpZihsZW4+
dXBNdWx0aXBsZSl7YWxlcnQoIuivt+S4jeimgeS4gOasoeS4iuS8oOi2hei/hyIrdXBNdWx0
aXBsZSsi5Liq5paH5Lu2Iik7cmV0dXJufWZvcihpPTA7aTxsZW47aSsrKXtpZighY2hlY2tG
aWxlRXh0KGZpbGVMaXN0W2ldLm5hbWUsbGltaXRFeHQpKXtyZXR1cm59fXZhciBqUHJvZ3Jl
c3M9JCgnPGRpdiBjbGFzcz0ieGhlUHJvZ3Jlc3MiPjxkaXY+PHNwYW4+MCU8L3NwYW4+PC9k
aXY+PC9kaXY+Jyk7alVwbG9hZFRpcC5hcHBlbmQoalByb2dyZXNzKTt1cGxvYWQ9bmV3IF90
aGlzLmh0bWw1VXBsb2FkKHVwbG9hZElucHV0bmFtZSxmaWxlTGlzdCx0b1VybCxvblVwbG9h
ZENhbGxiYWNrLGZ1bmN0aW9uKGV2KXtpZihldi5sb2FkZWQ+PTApe3ZhciBzUGVyY2VudD1N
YXRoLnJvdW5kKChldi5sb2FkZWQqMTAwKS9ldi50b3RhbCkrIiUiOyQoImRpdiIsalByb2dy
ZXNzKS5jc3MoIndpZHRoIixzUGVyY2VudCk7JCgic3BhbiIsalByb2dyZXNzKS50ZXh0KHNQ
ZXJjZW50KyIgKCAiK2Zvcm1hdEJ5dGVzKGV2LmxvYWRlZCkrIiAvICIrZm9ybWF0Qnl0ZXMo
ZXYudG90YWwpKyIgKSIpfWVsc2V7alByb2dyZXNzLnJlcGxhY2VXaXRoKHNMb2FkaW5nKX19
KX1fdGhpcy5zaG93TW9kYWwoIuaWh+S7tuS4iuS8oOS4rShFc2Plj5bmtojkuIrkvKApIixq
VXBsb2FkVGlwLDMyMCwxNTApO3VwbG9hZC5zdGFydCgpO2Z1bmN0aW9uIG9uVXBsb2FkQ2Fs
bGJhY2soc1RleHQsYkZpbmlzaCl7dmFyIGRhdGE9T2JqZWN0LGJPSz1mYWxzZTt0cnl7ZGF0
YT1ldmFsKCIoIitzVGV4dCsiKSIpfWNhdGNoKGV4KXt9aWYoZGF0YS5lcnI9PT11bmRlZmlu
ZWR8fGRhdGEubXNnPT09dW5kZWZpbmVkKXthbGVydCh0b1VybCsiIOS4iuS8oOaOpeWPo+WP
keeUn+mUmeivr++8gVxyXG5cclxu6L+U5Zue55qE6ZSZ6K+v5YaF5a655Li6OiBcclxuXHJc
biIrc1RleHQpfWVsc2V7aWYoZGF0YS5lcnIpe2FsZXJ0KGRhdGEuZXJyKX1lbHNle2Fyck1z
Zy5wdXNoKGRhdGEubXNnKTtiT0s9dHJ1ZX19aWYoIWJPS3x8YkZpbmlzaCl7X3RoaXMucmVt
b3ZlTW9kYWwoKX1pZihiRmluaXNoJiZiT0spe29uVXBsb2FkQ29tcGxldGUoYXJyTXNnKX1y
ZXR1cm4gYk9LfX07dGhpcy5odG1sNFVwbG9hZD1mdW5jdGlvbihmcm9tZmlsZSx0b1VybCxj
YWxsYmFjayl7dmFyIHVpZD1uZXcgRGF0ZSgpLmdldFRpbWUoKSxpZElPPSJqVXBsb2FkRnJh
bWUiK3VpZCxfdGhpcz10aGlzO3ZhciBqSU89JCgnPGlmcmFtZSBuYW1lPSInK2lkSU8rJyIg
Y2xhc3M9InhoZUhpZGVBcmVhIiAvPicpLmFwcGVuZFRvKCJib2R5Iik7dmFyIGpGb3JtPSQo
Jzxmb3JtIGFjdGlvbj0iJyt0b1VybCsnIiB0YXJnZXQ9IicraWRJTysnIiBtZXRob2Q9InBv
c3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIGNsYXNzPSJ4aGVIaWRlQXJlYSI+
PC9mb3JtPicpLmFwcGVuZFRvKCJib2R5Iik7dmFyIGpPbGRGaWxlPSQoZnJvbWZpbGUpLGpO
ZXdGaWxlPWpPbGRGaWxlLmNsb25lKCkuYXR0cigiZGlzYWJsZWQiLCJ0cnVlIik7ak9sZEZp
bGUuYmVmb3JlKGpOZXdGaWxlKS5hcHBlbmRUbyhqRm9ybSk7dGhpcy5yZW1vdmU9ZnVuY3Rp
b24oKXtpZihfdGhpcyE9PW51bGwpe2pOZXdGaWxlLmJlZm9yZShqT2xkRmlsZSkucmVtb3Zl
KCk7aklPLnJlbW92ZSgpO2pGb3JtLnJlbW92ZSgpO190aGlzPW51bGx9fTt0aGlzLm9uTG9h
ZD1mdW5jdGlvbigpe3ZhciBpZm1Eb2M9aklPWzBdLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQs
cmVzdWx0PSQoaWZtRG9jLmJvZHkpLnRleHQoKTtpZm1Eb2Mud3JpdGUoIiIpO190aGlzLnJl
bW92ZSgpO2NhbGxiYWNrKHJlc3VsdCx0cnVlKX07dGhpcy5zdGFydD1mdW5jdGlvbigpe2pG
b3JtLnN1Ym1pdCgpO2pJTy5sb2FkKF90aGlzLm9uTG9hZCl9O3JldHVybiB0aGlzfTt0aGlz
Lmh0bWw1VXBsb2FkPWZ1bmN0aW9uKGlucHV0bmFtZSxmcm9tRmlsZXMsdG9VcmwsY2FsbGJh
Y2ssb25Qcm9ncmVzcyl7dmFyIHhocixpPTAsY291bnQ9ZnJvbUZpbGVzLmxlbmd0aCxhbGxM
b2FkZWQ9MCxhbGxTaXplPTAsX3RoaXM9dGhpcztmb3IodmFyIGo9MDtqPGNvdW50O2orKyl7
YWxsU2l6ZSs9ZnJvbUZpbGVzW2pdLnNpemV9dGhpcy5yZW1vdmU9ZnVuY3Rpb24oKXtpZih4
aHIpe3hoci5hYm9ydCgpO3hocj1udWxsfX07dGhpcy51cGxvYWROZXh0PWZ1bmN0aW9uKHNU
ZXh0KXtpZihzVGV4dCl7YWxsTG9hZGVkKz1mcm9tRmlsZXNbaS0xXS5zaXplO3JldHVyblBy
b2dyZXNzKDApfWlmKCghc1RleHR8fChzVGV4dCYmY2FsbGJhY2soc1RleHQsaT09PWNvdW50
KT09PXRydWUpKSYmaTxjb3VudCl7cG9zdEZpbGUoZnJvbUZpbGVzW2krK10sdG9VcmwsX3Ro
aXMudXBsb2FkTmV4dCxmdW5jdGlvbihsb2FkZWQpe3JldHVyblByb2dyZXNzKGxvYWRlZCl9
KX19O3RoaXMuc3RhcnQ9ZnVuY3Rpb24oKXtfdGhpcy51cGxvYWROZXh0KCl9O2Z1bmN0aW9u
IHBvc3RGaWxlKGZyb21maWxlLHRvVXJsLGNhbGxiYWNrLG9uUHJvZ3Jlc3Mpe3hocj1uZXcg
WE1MSHR0cFJlcXVlc3QoKSx1cGxvYWQ9eGhyLnVwbG9hZDt4aHIub25yZWFkeXN0YXRlY2hh
bmdlPWZ1bmN0aW9uKCl7aWYoeGhyLnJlYWR5U3RhdGU9PT00KXtjYWxsYmFjayh4aHIucmVz
cG9uc2VUZXh0KX19O2lmKHVwbG9hZCl7dXBsb2FkLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oZXYp
e29uUHJvZ3Jlc3MoZXYubG9hZGVkKX19ZWxzZXtvblByb2dyZXNzKC0xKX14aHIub3Blbigi
UE9TVCIsdG9VcmwpO3hoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0iKTt4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1E
aXNwb3NpdGlvbiIsJ2F0dGFjaG1lbnQ7IG5hbWU9IicrZW5jb2RlVVJJQ29tcG9uZW50KGlu
cHV0bmFtZSkrJyI7IGZpbGVuYW1lPSInK2VuY29kZVVSSUNvbXBvbmVudChmcm9tZmlsZS5u
YW1lKSsnIicpO2lmKHhoci5zZW5kQXNCaW5hcnkmJmZyb21maWxlLmdldEFzQmluYXJ5KXt4
aHIuc2VuZEFzQmluYXJ5KGZyb21maWxlLmdldEFzQmluYXJ5KCkpfWVsc2V7eGhyLnNlbmQo
ZnJvbWZpbGUpfX1mdW5jdGlvbiByZXR1cm5Qcm9ncmVzcyhsb2FkZWQpe2lmKG9uUHJvZ3Jl
c3Mpe29uUHJvZ3Jlc3Moe2xvYWRlZDphbGxMb2FkZWQrbG9hZGVkLHRvdGFsOmFsbFNpemV9
KX19fTt0aGlzLnNob3dJZnJhbWVNb2RhbD1mdW5jdGlvbih0aXRsZSx1cmwsY2FsbGJhY2ss
dyxoLG9uUmVtb3ZlKXt2YXIgakNvbnRlbnQ9JCgnPGlmcmFtZSBmcmFtZWJvcmRlcj0iMCIg
c3JjPSInK3VybC5yZXBsYWNlKC97ZWRpdG9yUm9vdH0vaWcsZWRpdG9yUm9vdCkrKC9cPy8u
dGVzdCh1cmwpPyImIjoiPyIpKyJwYXJlbnRob3N0PSIrbG9jYXRpb24uaG9zdCsnIiBzdHls
ZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Om5vbmU7IiAvPjxkaXYgY2xhc3M9
InhoZU1vZGFsSWZtV2FpdCI+PC9kaXY+JyksaklmcmFtZT1qQ29udGVudC5lcSgwKSxqV2Fp
dD1qQ29udGVudC5lcSgxKTtfdGhpcy5zaG93TW9kYWwodGl0bGUsakNvbnRlbnQsdyxoLG9u
UmVtb3ZlKTt2YXIgbW9kYWxXaW49aklmcmFtZVswXS5jb250ZW50V2luZG93LHJlc3VsdDtp
bml0TW9kYWxXaW4oKTtqSWZyYW1lLmxvYWQoZnVuY3Rpb24oKXtpbml0TW9kYWxXaW4oKTtp
ZihyZXN1bHQpe3ZhciBiUmVzdWx0PXRydWU7dHJ5e3Jlc3VsdD1ldmFsKCIoIit1bmVzY2Fw
ZShyZXN1bHQpKyIpIil9Y2F0Y2goZSl7YlJlc3VsdD1mYWxzZX1pZihiUmVzdWx0KXtyZXR1
cm4gY2FsbGJhY2tNb2RhbChyZXN1bHQpfX1pZihqV2FpdC5pcygiOnZpc2libGUiKSl7aklm
cmFtZS5zaG93KCkuZm9jdXMoKTtqV2FpdC5yZW1vdmUoKX19KTtmdW5jdGlvbiBpbml0TW9k
YWxXaW4oKXt0cnl7bW9kYWxXaW4uY2FsbGJhY2s9Y2FsbGJhY2tNb2RhbDttb2RhbFdpbi51
bmxvYWRtZT1fdGhpcy5yZW1vdmVNb2RhbDskKG1vZGFsV2luLmRvY3VtZW50KS5rZXlkb3du
KGNoZWNrRXNjKTtyZXN1bHQ9bW9kYWxXaW4ubmFtZX1jYXRjaChleCl7fX1mdW5jdGlvbiBj
YWxsYmFja01vZGFsKHYpe21vZGFsV2luLmRvY3VtZW50LndyaXRlKCIiKTtfdGhpcy5yZW1v
dmVNb2RhbCgpO2lmKHYhPW51bGwpe2NhbGxiYWNrKHYpfX19O3RoaXMuc2hvd01vZGFsPWZ1
bmN0aW9uKHRpdGxlLGNvbnRlbnQsdyxoLG9uUmVtb3ZlKXtpZihiU2hvd01vZGFsKXtyZXR1
cm4gZmFsc2V9X3RoaXMucGFuZWxTdGF0ZT1iU2hvd1BhbmVsO2JTaG93UGFuZWw9ZmFsc2U7
bGF5ZXJTaGFkb3c9c2V0dGluZ3MubGF5ZXJTaGFkb3c7dz13P3c6c2V0dGluZ3MubW9kYWxX
aWR0aDtoPWg/aDpzZXR0aW5ncy5tb2RhbEhlaWdodDtqTW9kYWw9JCgnPGRpdiBjbGFzcz0i
eGhlTW9kYWwiIHN0eWxlPSJ3aWR0aDonKyh3LTEpKyJweDtoZWlnaHQ6IitoKyJweDttYXJn
aW4tbGVmdDotIitNYXRoLmNlaWwody8yKSsicHg7IisoaXNJRSYmYnJvd2VyVmVyPDc/IiI6
Im1hcmdpbi10b3A6LSIrTWF0aC5jZWlsKGgvMikrInB4IikrJyI+Jysoc2V0dGluZ3MubW9k
YWxUaXRsZT8nPGRpdiBjbGFzcz0ieGhlTW9kYWxUaXRsZSI+PHNwYW4gY2xhc3M9InhoZU1v
ZGFsQ2xvc2UiIHRpdGxlPSLlhbPpl60gKEVzYykiIHRhYmluZGV4PSIwIiByb2xlPSJidXR0
b24iPjwvc3Bhbj4nK3RpdGxlKyI8L2Rpdj4iOiIiKSsnPGRpdiBjbGFzcz0ieGhlTW9kYWxD
b250ZW50Ij48L2Rpdj48L2Rpdj4nKS5hcHBlbmRUbygiYm9keSIpO2pPdmVybGF5PSQoJzxk
aXYgY2xhc3M9InhoZU1vZGFsT3ZlcmxheSI+PC9kaXY+JykuYXBwZW5kVG8oImJvZHkiKTtp
ZihsYXllclNoYWRvdz4wKXtqTW9kYWxTaGFkb3c9JCgnPGRpdiBjbGFzcz0ieGhlTW9kYWxT
aGFkb3ciIHN0eWxlPSJ3aWR0aDonK2pNb2RhbC5vdXRlcldpZHRoKCkrInB4O2hlaWdodDoi
K2pNb2RhbC5vdXRlckhlaWdodCgpKyJweDttYXJnaW4tbGVmdDotIisoTWF0aC5jZWlsKHcv
MiktbGF5ZXJTaGFkb3ctMikrInB4OyIrKGlzSUUmJmJyb3dlclZlcjw3PyIiOiJtYXJnaW4t
dG9wOi0iKyhNYXRoLmNlaWwoaC8yKS1sYXllclNoYWRvdy0yKSsicHgiKSsnIj48L2Rpdj4n
KS5hcHBlbmRUbygiYm9keSIpfSQoIi54aGVNb2RhbENvbnRlbnQiLGpNb2RhbCkuY3NzKCJo
ZWlnaHQiLGgtKHNldHRpbmdzLm1vZGFsVGl0bGU/JCgiLnhoZU1vZGFsVGl0bGUiKS5vdXRl
ckhlaWdodCgpOjApKS5odG1sKGNvbnRlbnQpO2lmKGlzSUUmJmJyb3dlclZlcj09PTYpe2pI
aWRlU2VsZWN0PSQoInNlbGVjdDp2aXNpYmxlIikuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVu
Iil9JCgiLnhoZU1vZGFsQ2xvc2UiLGpNb2RhbCkuY2xpY2soX3RoaXMucmVtb3ZlTW9kYWwp
O2pPdmVybGF5LnNob3coKTtpZihsYXllclNoYWRvdz4wKXtqTW9kYWxTaGFkb3cuc2hvdygp
fWpNb2RhbC5zaG93KCk7c2V0VGltZW91dChmdW5jdGlvbigpe2pNb2RhbC5maW5kKCJhLGlu
cHV0W3R5cGU9dGV4dF0sdGV4dGFyZWEiKS5maWx0ZXIoIjp2aXNpYmxlIikuZmlsdGVyKGZ1
bmN0aW9uKCl7cmV0dXJuICQodGhpcykuY3NzKCJ2aXNpYmlsaXR5IikhPT0iaGlkZGVuIn0p
LmVxKDApLmZvY3VzKCl9LDEwKTtiU2hvd01vZGFsPXRydWU7b25Nb2RhbFJlbW92ZT1vblJl
bW92ZX07dGhpcy5yZW1vdmVNb2RhbD1mdW5jdGlvbigpe2lmKGpIaWRlU2VsZWN0KXtqSGlk
ZVNlbGVjdC5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIil9ak1vZGFsLmh0bWwoIiIpLnJl
bW92ZSgpO2lmKGxheWVyU2hhZG93PjApe2pNb2RhbFNoYWRvdy5yZW1vdmUoKX1qT3Zlcmxh
eS5yZW1vdmUoKTtpZihvbk1vZGFsUmVtb3ZlKXtvbk1vZGFsUmVtb3ZlKCl9YlNob3dNb2Rh
bD1mYWxzZTtiU2hvd1BhbmVsPV90aGlzLnBhbmVsU3RhdGV9O3RoaXMuc2hvd0RpYWxvZz1m
dW5jdGlvbihjb250ZW50LGJOb0ZvY3VzKXt2YXIgakRpYWxvZz0kKCc8ZGl2IGNsYXNzPSJ4
aGVEaWFsb2ciPjwvZGl2PicpLGpDb250ZW50PSQoY29udGVudCksalNhdmU9JCgiI3hoZVNh
dmUiLGpDb250ZW50KTtpZihqU2F2ZS5sZW5ndGg9PT0xKXtqQ29udGVudC5maW5kKCJpbnB1
dFt0eXBlPXRleHRdLHNlbGVjdCIpLmtleXByZXNzKGZ1bmN0aW9uKGV2KXtpZihldi53aGlj
aD09PTEzKXtqU2F2ZS5jbGljaygpO3JldHVybiBmYWxzZX19KTtqQ29udGVudC5maW5kKCJ0
ZXh0YXJlYSIpLmtleWRvd24oZnVuY3Rpb24oZXYpe2lmKGV2LmN0cmxLZXkmJmV2LndoaWNo
PT09MTMpe2pTYXZlLmNsaWNrKCk7cmV0dXJuIGZhbHNlfX0pO2pTYXZlLmFmdGVyKCcgPGlu
cHV0IHR5cGU9ImJ1dHRvbiIgaWQ9InhoZUNhbmNlbCIgdmFsdWU9IuWPlua2iCIgLz4nKTsk
KCIjeGhlQ2FuY2VsIixqQ29udGVudCkuY2xpY2soX3RoaXMuaGlkZVBhbmVsKTtpZighc2V0
dGluZ3MuY2xpY2tDYW5jZWxEaWFsb2cpe2JDbGlja0NhbmNlbD1mYWxzZTt2YXIgakZpeENh
bmNlbD0kKCc8ZGl2IGNsYXNzPSJ4aGVGaXhDYW5jZWwiPjwvZGl2PicpLmFwcGVuZFRvKCJi
b2R5IikubW91c2Vkb3duKHJldHVybkZhbHNlKTt2YXIgeHk9X2pBcmVhLm9mZnNldCgpO2pG
aXhDYW5jZWwuY3NzKHtsZWZ0Onh5LmxlZnQsdG9wOnh5LnRvcCx3aWR0aDpfakFyZWEub3V0
ZXJXaWR0aCgpLGhlaWdodDpfakFyZWEub3V0ZXJIZWlnaHQoKX0pfWpEaWFsb2cubW91c2Vk
b3duKGZ1bmN0aW9uKCl7YkRpc2FibGVIb3ZlckV4ZWM9dHJ1ZX0pfWpEaWFsb2cuYXBwZW5k
KGpDb250ZW50KTtfdGhpcy5zaG93UGFuZWwoakRpYWxvZyxiTm9Gb2N1cyl9O3RoaXMuc2hv
d1BhbmVsPWZ1bmN0aW9uKGNvbnRlbnQsYk5vRm9jdXMpe2lmKCFldi50YXJnZXQpe3JldHVy
biBmYWxzZX1falBhbmVsLmh0bWwoIiIpLmFwcGVuZChjb250ZW50KS5jc3MoImxlZnQiLC05
OTkpLmNzcygidG9wIiwtOTk5KTtfalBhbmVsQnV0dG9uPSQoZXYudGFyZ2V0KS5jbG9zZXN0
KCJhIikuYWRkQ2xhc3MoInhoZUFjdGl2ZSIpO3ZhciB4eT1falBhbmVsQnV0dG9uLm9mZnNl
dCgpO3ZhciB4PXh5LmxlZnQseT14eS50b3A7eSs9X2pQYW5lbEJ1dHRvbi5vdXRlckhlaWdo
dCgpLTE7X2pDbnRMaW5lLmNzcyh7bGVmdDp4KzEsdG9wOnksd2lkdGg6X2pQYW5lbEJ1dHRv
bi53aWR0aCgpfSkuc2hvdygpO3ZhciBfZG9jRWxlbT1kb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQsYm9keT1kb2N1bWVudC5ib2R5O2lmKCh4K19qUGFuZWwub3V0ZXJXaWR0aCgpKT4oKHdp
bmRvdy5wYWdlWE9mZnNldHx8X2RvY0VsZW0uc2Nyb2xsTGVmdHx8Ym9keS5zY3JvbGxMZWZ0
KSsoX2RvY0VsZW0uY2xpZW50V2lkdGh8fGJvZHkuY2xpZW50V2lkdGgpKSl7eC09KF9qUGFu
ZWwub3V0ZXJXaWR0aCgpLV9qUGFuZWxCdXR0b24ub3V0ZXJXaWR0aCgpKX12YXIgbGF5ZXJT
aGFkb3c9c2V0dGluZ3MubGF5ZXJTaGFkb3c7aWYobGF5ZXJTaGFkb3c+MCl7X2pTaGFkb3cu
Y3NzKHtsZWZ0OngrbGF5ZXJTaGFkb3csdG9wOnkrbGF5ZXJTaGFkb3csd2lkdGg6X2pQYW5l
bC5vdXRlcldpZHRoKCksaGVpZ2h0Ol9qUGFuZWwub3V0ZXJIZWlnaHQoKX0pLnNob3coKX12
YXIgYmFzZXpJbmRleD0kKCIjIitpZENvbnRhaW5lcikub2Zmc2V0UGFyZW50KCkuY3NzKCJ6
SW5kZXgiKTtpZihiYXNlekluZGV4JiYhaXNOYU4oYmFzZXpJbmRleCkpe19qU2hhZG93LmNz
cygiekluZGV4IixwYXJzZUludChiYXNlekluZGV4LDEwKSsxKTtfalBhbmVsLmNzcygieklu
ZGV4IixwYXJzZUludChiYXNlekluZGV4LDEwKSsyKTtfakNudExpbmUuY3NzKCJ6SW5kZXgi
LHBhcnNlSW50KGJhc2V6SW5kZXgsMTApKzMpfV9qUGFuZWwuY3NzKHtsZWZ0OngsdG9wOnl9
KS5zaG93KCk7aWYoIWJOb0ZvY3VzKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7X2pQYW5lbC5m
aW5kKCJhLGlucHV0W3R5cGU9dGV4dF0sdGV4dGFyZWEiKS5maWx0ZXIoIjp2aXNpYmxlIiku
ZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuICQodGhpcykuY3NzKCJ2aXNpYmlsaXR5IikhPT0i
aGlkZGVuIn0pLmVxKDApLmZvY3VzKCl9LDEwKX1iUXVpY2tIb3ZlckV4ZWM9YlNob3dQYW5l
bD10cnVlfTt0aGlzLmhpZGVQYW5lbD1mdW5jdGlvbigpe2lmKGJTaG93UGFuZWwpe19qUGFu
ZWxCdXR0b24ucmVtb3ZlQ2xhc3MoInhoZUFjdGl2ZSIpO19qU2hhZG93LmhpZGUoKTtfakNu
dExpbmUuaGlkZSgpO19qUGFuZWwuaGlkZSgpO2JTaG93UGFuZWw9ZmFsc2U7aWYoIWJDbGlj
a0NhbmNlbCl7JCgiLnhoZUZpeENhbmNlbCIpLnJlbW92ZSgpO2JDbGlja0NhbmNlbD10cnVl
fWJRdWlja0hvdmVyRXhlYz1iRGlzYWJsZUhvdmVyRXhlYz1mYWxzZTtsYXN0QW5nbGU9bnVs
bDtfdGhpcy5mb2N1cygpO190aGlzLmxvYWRCb29rbWFyaygpfX07dGhpcy5leGVjPWZ1bmN0
aW9uKGNtZCl7X3RoaXMuaGlkZVBhbmVsKCk7dmFyIHRvb2w9YXJyVG9vbHNbY21kXTtpZigh
dG9vbCl7cmV0dXJuIGZhbHNlfWlmKGV2PT09bnVsbCl7ZXY9e307dmFyIGJ0bj1falRvb2xz
LmZpbmQoIi54aGVCdXR0b25bY21kPSIrY21kKyJdIik7aWYoYnRuLmxlbmd0aD09PTEpe2V2
LnRhcmdldD1idG59fWlmKHRvb2wuZSl7dG9vbC5lLmNhbGwoX3RoaXMpfWVsc2V7Y21kPWNt
ZC50b0xvd2VyQ2FzZSgpO3N3aXRjaChjbWQpe2Nhc2UiY3V0Ijp0cnl7X2RvYy5leGVjQ29t
bWFuZChjbWQpO2lmKCFfZG9jLnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZChjbWQpKXt0aHJvdyJF
cnJvciJ9fWNhdGNoKGV4KXthbGVydCgi5oKo55qE5rWP6KeI5Zmo5a6J5YWo6K6+572u5LiN
5YWB6K645L2/55So5Ymq5YiH5pON5L2c77yM6K+35L2/55So6ZSu55uY5b+r5o236ZSuKEN0
cmwgKyBYKeadpeWujOaIkCIpfWJyZWFrO2Nhc2UiY29weSI6dHJ5e19kb2MuZXhlY0NvbW1h
bmQoY21kKTtpZighX2RvYy5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQoY21kKSl7dGhyb3ciRXJy
b3IifX1jYXRjaChleCl7YWxlcnQoIuaCqOeahOa1j+iniOWZqOWuieWFqOiuvue9ruS4jeWF
geiuuOS9v+eUqOWkjeWItuaTjeS9nO+8jOivt+S9v+eUqOmUruebmOW/q+aNt+mUrihDdHJs
ICsgQynmnaXlrozmiJAiKX1icmVhaztjYXNlInBhc3RlIjp0cnl7X2RvYy5leGVjQ29tbWFu
ZChjbWQpO2lmKCFfZG9jLnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZChjbWQpKXt0aHJvdyJFcnJv
ciJ9fWNhdGNoKGV4KXthbGVydCgi5oKo55qE5rWP6KeI5Zmo5a6J5YWo6K6+572u5LiN5YWB
6K645L2/55So57KY6LS05pON5L2c77yM6K+35L2/55So6ZSu55uY5b+r5o236ZSuKEN0cmwg
KyBWKeadpeWujOaIkCIpfWJyZWFrO2Nhc2UicGFzdGV0ZXh0IjppZih3aW5kb3cuY2xpcGJv
YXJkRGF0YSl7X3RoaXMucGFzdGVUZXh0KHdpbmRvdy5jbGlwYm9hcmREYXRhLmdldERhdGEo
IlRleHQiLHRydWUpKX1lbHNle190aGlzLnNob3dQYXN0ZXRleHQoKX1icmVhaztjYXNlImJs
b2NrdGFnIjp2YXIgbWVudUJsb2NrdGFnPVtdOyQuZWFjaChhcnJCbG9ja3RhZyxmdW5jdGlv
bihuLHYpe21lbnVCbG9ja3RhZy5wdXNoKHtzOiI8Iit2Lm4rIj4iK3YudCsiPC8iK3Yubisi
PiIsdjoiPCIrdi5uKyI+Iix0OnYudH0pfSk7X3RoaXMuc2hvd01lbnUobWVudUJsb2NrdGFn
LGZ1bmN0aW9uKHYpe190aGlzLl9leGVjKCJmb3JtYXRibG9jayIsdil9KTticmVhaztjYXNl
ImZvbnRmYWNlIjp2YXIgbWVudUZvbnRuYW1lPVtdOyQuZWFjaChhcnJGb250bmFtZSxmdW5j
dGlvbihuLHYpe3YuYz12LmM/di5jOnYubjttZW51Rm9udG5hbWUucHVzaCh7czonPHNwYW4g
c3R5bGU9ImZvbnQtZmFtaWx5Oicrdi5jKyciPicrdi5uKyI8L3NwYW4+Iix2OnYuYyx0OnYu
bn0pfSk7X3RoaXMuc2hvd01lbnUobWVudUZvbnRuYW1lLGZ1bmN0aW9uKHYpe190aGlzLl9l
eGVjKCJmb250bmFtZSIsdil9KTticmVhaztjYXNlImZvbnRzaXplIjp2YXIgbWVudUZvbnRz
aXplPVtdOyQuZWFjaChhcnJGb250c2l6ZSxmdW5jdGlvbihuLHYpe21lbnVGb250c2l6ZS5w
dXNoKHtzOic8c3BhbiBzdHlsZT0iZm9udC1zaXplOicrdi5zKyc7Ij4nK3YudCsiKCIrdi5z
KyIpPC9zcGFuPiIsdjpuKzEsdDp2LnR9KX0pO190aGlzLnNob3dNZW51KG1lbnVGb250c2l6
ZSxmdW5jdGlvbih2KXtfdGhpcy5fZXhlYygiZm9udHNpemUiLHYpfSk7YnJlYWs7Y2FzZSJm
b250Y29sb3IiOl90aGlzLnNob3dDb2xvcihmdW5jdGlvbih2KXtfdGhpcy5fZXhlYygiZm9y
ZWNvbG9yIix2KX0pO2JyZWFrO2Nhc2UiYmFja2NvbG9yIjpfdGhpcy5zaG93Q29sb3IoZnVu
Y3Rpb24odil7aWYoaXNJRSl7X3RoaXMuX2V4ZWMoImJhY2tjb2xvciIsdil9ZWxzZXtzZXRD
U1ModHJ1ZSk7X3RoaXMuX2V4ZWMoImhpbGl0ZWNvbG9yIix2KTtzZXRDU1MoZmFsc2UpfX0p
O2JyZWFrO2Nhc2UiYWxpZ24iOl90aGlzLnNob3dNZW51KG1lbnVBbGlnbixmdW5jdGlvbih2
KXtfdGhpcy5fZXhlYyh2KX0pO2JyZWFrO2Nhc2UibGlzdCI6X3RoaXMuc2hvd01lbnUobWVu
dUxpc3QsZnVuY3Rpb24odil7X3RoaXMuX2V4ZWModil9KTticmVhaztjYXNlImxpbmsiOl90
aGlzLnNob3dMaW5rKCk7YnJlYWs7Y2FzZSJhbmNob3IiOl90aGlzLnNob3dBbmNob3IoKTti
cmVhaztjYXNlImltZyI6X3RoaXMuc2hvd0ltZygpO2JyZWFrO2Nhc2UiZmxhc2giOl90aGlz
LnNob3dFbWJlZCgiRmxhc2giLGh0bWxGbGFzaCwiYXBwbGljYXRpb24veC1zaG9ja3dhdmUt
Zmxhc2giLCJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAwIiwn
IHdtb2RlPSJvcGFxdWUiIHF1YWxpdHk9ImhpZ2giIG1lbnU9ImZhbHNlIiBwbGF5PSJ0cnVl
IiBsb29wPSJ0cnVlIiBhbGxvd2Z1bGxzY3JlZW49InRydWUiJyxzZXR0aW5ncy51cEZsYXNo
VXJsLHNldHRpbmdzLnVwRmxhc2hFeHQpO2JyZWFrO2Nhc2UibWVkaWEiOl90aGlzLnNob3dF
bWJlZCgiTWVkaWEiLGh0bWxNZWRpYSwiYXBwbGljYXRpb24veC1tcGxheWVyMiIsImNsc2lk
OjZiZjUyYTUyLTM5NGEtMTFkMy1iMTUzLTAwYzA0Zjc5ZmFhNiIsJyBlbmFibGVjb250ZXh0
bWVudT0iZmFsc2UiIGF1dG9zdGFydD0iZmFsc2UiJyxzZXR0aW5ncy51cE1lZGlhVXJsLHNl
dHRpbmdzLnVwTWVkaWFFeHQpO2JyZWFrO2Nhc2UiaHIiOl90aGlzLnBhc3RlSFRNTCgiPGhy
IC8+Iik7YnJlYWs7Y2FzZSJlbW90IjpfdGhpcy5zaG93RW1vdCgpO2JyZWFrO2Nhc2UidGFi
bGUiOl90aGlzLnNob3dUYWJsZSgpO2JyZWFrO2Nhc2Uic291cmNlIjpfdGhpcy50b2dnbGVT
b3VyY2UoKTticmVhaztjYXNlInByZXZpZXciOl90aGlzLnNob3dQcmV2aWV3KCk7YnJlYWs7
Y2FzZSJwcmludCI6X3dpbi5wcmludCgpO2JyZWFrO2Nhc2UiZnVsbHNjcmVlbiI6X3RoaXMu
dG9nZ2xlRnVsbHNjcmVlbigpO2JyZWFrO2Nhc2UiYWJvdXQiOl90aGlzLnNob3dBYm91dCgp
O2JyZWFrO2RlZmF1bHQ6X3RoaXMuX2V4ZWMoY21kKTticmVha319ZXY9bnVsbH07dGhpcy5f
ZXhlYz1mdW5jdGlvbihjbWQscGFyYW0sbm9Gb2N1cyl7aWYoIW5vRm9jdXMpe190aGlzLmZv
Y3VzKCl9dmFyIHN0YXRlO2lmKHBhcmFtIT09dW5kZWZpbmVkKXtzdGF0ZT1fZG9jLmV4ZWND
b21tYW5kKGNtZCxmYWxzZSxwYXJhbSl9ZWxzZXtzdGF0ZT1fZG9jLmV4ZWNDb21tYW5kKGNt
ZCxmYWxzZSxudWxsKX1yZXR1cm4gc3RhdGV9O2Z1bmN0aW9uIGNoZWNrRGJsQ2xpY2soZXYp
e3ZhciB0YXJnZXQ9ZXYudGFyZ2V0LHRvb2w9YXJyRGJDbGlja1t0YXJnZXQudGFnTmFtZS50
b0xvd2VyQ2FzZSgpXTtpZih0b29sKXtpZih0b29sPT09IkVtYmVkIil7dmFyIGFyckVtYmVk
PXsiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giOiJGbGFzaCIsImFwcGxpY2F0aW9u
L3gtbXBsYXllcjIiOiJNZWRpYSJ9O3Rvb2w9YXJyRW1iZWRbdGFyZ2V0LnR5cGUudG9Mb3dl
ckNhc2UoKV19X3RoaXMuZXhlYyh0b29sKX19ZnVuY3Rpb24gY2hlY2tFc2MoZXYpe2lmKGV2
LndoaWNoPT09Mjcpe2lmKGJTaG93TW9kYWwpe190aGlzLnJlbW92ZU1vZGFsKCl9ZWxzZXtp
ZihiU2hvd1BhbmVsKXtfdGhpcy5oaWRlUGFuZWwoKX19cmV0dXJuIGZhbHNlfX1mdW5jdGlv
biBsb2FkUmVzZXQoKXtzZXRUaW1lb3V0KF90aGlzLnNldFNvdXJjZSwxMCl9ZnVuY3Rpb24g
c2F2ZVJlc3VsdCgpe190aGlzLmdldFNvdXJjZSgpfWZ1bmN0aW9uIGNsZWFuUGFzdGUoZXYp
e3ZhciBjbGlwYm9hcmREYXRhLGl0ZW1zLGl0ZW07aWYoZXYmJihjbGlwYm9hcmREYXRhPWV2
Lm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YSkmJihpdGVtcz1jbGlwYm9hcmREYXRhLml0
ZW1zKSYmKGl0ZW09aXRlbXNbMF0pJiZpdGVtLmtpbmQ9PSJmaWxlIiYmaXRlbS50eXBlLm1h
dGNoKC9eaW1hZ2VcLy9pKSl7dmFyIGJsb2I9aXRlbS5nZXRBc0ZpbGUoKSxyZWFkZXI9bmV3
IEZpbGVSZWFkZXIoKTtyZWFkZXIub25sb2FkPWZ1bmN0aW9uKCl7dmFyIHNIdG1sPSc8aW1n
IHNyYz0iJytldmVudC50YXJnZXQucmVzdWx0KyciPic7c0h0bWw9cmVwbGFjZVJlbW90ZUlt
ZyhzSHRtbCk7X3RoaXMucGFzdGVIVE1MKHNIdG1sKX07cmVhZGVyLnJlYWRBc0RhdGFVUkwo
YmxvYik7cmV0dXJuIGZhbHNlfXZhciBjbGVhblBhc3RlPXNldHRpbmdzLmNsZWFuUGFzdGU7
aWYoY2xlYW5QYXN0ZT09PTB8fGJTb3VyY2V8fGJDbGVhblBhc3RlKXtyZXR1cm4gdHJ1ZX1i
Q2xlYW5QYXN0ZT10cnVlO190aGlzLnNhdmVCb29rbWFyaygpO3ZhciB0YWc9aXNJRT8icHJl
IjoiZGl2IixqRGl2PSQoIjwiK3RhZysnIGNsYXNzPSJ4aGUtcGFzdGUiPlx1RkVGRlx1RkVG
RjwvJyt0YWcrIj4iLF9kb2MpLmFwcGVuZFRvKF9kb2MuYm9keSksZGl2PWpEaXZbMF0sc2Vs
PV90aGlzLmdldFNlbCgpLHJuZz1fdGhpcy5nZXRSbmcodHJ1ZSk7akRpdi5jc3MoInRvcCIs
X2pXaW4uc2Nyb2xsVG9wKCkpO2lmKGlzSUUpe3JuZy5tb3ZlVG9FbGVtZW50VGV4dChkaXYp
O3JuZy5zZWxlY3QoKX1lbHNle3JuZy5zZWxlY3ROb2RlQ29udGVudHMoZGl2KTtzZWwucmVt
b3ZlQWxsUmFuZ2VzKCk7c2VsLmFkZFJhbmdlKHJuZyl9c2V0VGltZW91dChmdW5jdGlvbigp
e3ZhciBiVGV4dD0oY2xlYW5QYXN0ZT09PTMpLHNQYXN0ZTtpZihiVGV4dCl7c1Bhc3RlPWpE
aXYudGV4dCgpfWVsc2V7dmFyIGpURGl2PSQoIi54aGUtcGFzdGUiLF9kb2MuYm9keSksYXJy
SHRtbD1bXTtqVERpdi5lYWNoKGZ1bmN0aW9uKGksbil7aWYoJChuKS5maW5kKCIueGhlLXBh
c3RlIikubGVuZ3RoPT0wKXthcnJIdG1sLnB1c2gobi5pbm5lckhUTUwpfX0pO3NQYXN0ZT1h
cnJIdG1sLmpvaW4oIjxiciAvPiIpfWpEaXYucmVtb3ZlKCk7X3RoaXMubG9hZEJvb2ttYXJr
KCk7c1Bhc3RlPXNQYXN0ZS5yZXBsYWNlKC9eW1xzXHVGRUZGXSt8W1xzXHVGRUZGXSskL2cs
IiIpO2lmKHNQYXN0ZSl7aWYoYlRleHQpe190aGlzLnBhc3RlVGV4dChzUGFzdGUpfWVsc2V7
c1Bhc3RlPV90aGlzLmNsZWFuSFRNTChzUGFzdGUpO3NQYXN0ZT1fdGhpcy5jbGVhbldvcmQo
c1Bhc3RlKTtzUGFzdGU9X3RoaXMuZm9ybWF0WEhUTUwoc1Bhc3RlKTtpZighc2V0dGluZ3Mu
b25QYXN0ZXx8c2V0dGluZ3Mub25QYXN0ZSYmKHNQYXN0ZT1zZXR0aW5ncy5vblBhc3RlKHNQ
YXN0ZSkpIT09ZmFsc2Upe3NQYXN0ZT1yZXBsYWNlUmVtb3RlSW1nKHNQYXN0ZSk7X3RoaXMu
cGFzdGVIVE1MKHNQYXN0ZSl9fX1iQ2xlYW5QYXN0ZT1mYWxzZX0sMCl9ZnVuY3Rpb24gcmVw
bGFjZVJlbW90ZUltZyhzSHRtbCl7dmFyIGxvY2FsVXJsVGVzdD1zZXR0aW5ncy5sb2NhbFVy
bFRlc3QscmVtb3RlSW1nU2F2ZVVybD1zZXR0aW5ncy5yZW1vdGVJbWdTYXZlVXJsO2lmKGxv
Y2FsVXJsVGVzdCYmcmVtb3RlSW1nU2F2ZVVybCl7dmFyIGFyclJlbW90ZUltZ3M9W10sY291
bnQ9MDtzSHRtbD1zSHRtbC5yZXBsYWNlKC8oPGltZykoKD86XHMrW14+XSo/KT8oPzpccytz
cmM9IlxzKihbXiJdKylccyoiKSg/OiBbXj5dKik/KShcLz8+KS9pZyxmdW5jdGlvbihhbGws
bGVmdCxhdHRyLHVybCxyaWdodCl7aWYoL14oaHR0cHM/fGRhdGE6aW1hZ2UpL2kudGVzdCh1
cmwpJiYhL194aGVfdGVtcC8udGVzdChhdHRyKSYmIWxvY2FsVXJsVGVzdC50ZXN0KHVybCkp
e2FyclJlbW90ZUltZ3NbY291bnRdPXVybDthdHRyPWF0dHIucmVwbGFjZSgvXHMrKHdpZHRo
fGhlaWdodCk9IlteIl0qIi9pZywiIikucmVwbGFjZSgvXHMrc3JjPSJbXiJdKiIvaWcsJyBz
cmM9Iicrc2tpblBhdGgrJ2ltZy93YWl0aW5nLmdpZiIgcmVtb3RlaW1nPSInKyhjb3VudCsr
KSsnIicpfXJldHVybiBsZWZ0K2F0dHIrcmlnaHR9KTtpZihhcnJSZW1vdGVJbWdzLmxlbmd0
aD4wKXskLnBvc3QocmVtb3RlSW1nU2F2ZVVybCx7dXJsczphcnJSZW1vdGVJbWdzLmpvaW4o
InwiKX0sZnVuY3Rpb24oZGF0YSl7ZGF0YT1kYXRhLnNwbGl0KCJ8Iik7JCgiaW1nW3JlbW90
ZWltZ10iLF90aGlzLmRvYykuZWFjaChmdW5jdGlvbigpe3ZhciAkdGhpcz0kKHRoaXMpO3ho
ZUF0dHIoJHRoaXMsInNyYyIsZGF0YVskdGhpcy5hdHRyKCJyZW1vdGVpbWciKV0pOyR0aGlz
LnJlbW92ZUF0dHIoInJlbW90ZWltZyIpfSl9KX19cmV0dXJuIHNIdG1sfWZ1bmN0aW9uIHNl
dENTUyhjc3Mpe3RyeXtfdGhpcy5fZXhlYygic3R5bGVXaXRoQ1NTIixjc3MsdHJ1ZSl9Y2F0
Y2goZSl7dHJ5e190aGlzLl9leGVjKCJ1c2VDU1MiLCFjc3MsdHJ1ZSl9Y2F0Y2goZSl7fX19
ZnVuY3Rpb24gc2V0T3B0cygpe2lmKGJJbml0JiYhYlNvdXJjZSl7c2V0Q1NTKGZhbHNlKTt0
cnl7X3RoaXMuX2V4ZWMoImVuYWJsZU9iamVjdFJlc2l6aW5nIix0cnVlLHRydWUpfWNhdGNo
KGUpe31pZihpc0lFKXt0cnl7X3RoaXMuX2V4ZWMoIkJhY2tncm91bmRJbWFnZUNhY2hlIix0
cnVlLHRydWUpfWNhdGNoKGUpe319fX1mdW5jdGlvbiBmb3JjZVB0YWcoZXYpe2lmKGJTb3Vy
Y2V8fGV2LndoaWNoIT09MTN8fGV2LnNoaWZ0S2V5fHxldi5jdHJsS2V5fHxldi5hbHRLZXkp
e3JldHVybiB0cnVlfXZhciBwTm9kZT1fdGhpcy5nZXRQYXJlbnQoInAsaDEsaDIsaDMsaDQs
aDUsaDYscHJlLGFkZHJlc3MsZGl2LGxpIik7aWYocE5vZGUuaXMoImxpIikpe3JldHVybiB0
cnVlfWlmKHNldHRpbmdzLmZvcmNlUHRhZyl7aWYocE5vZGUubGVuZ3RoPT09MCl7X3RoaXMu
X2V4ZWMoImZvcm1hdGJsb2NrIiwiPHA+Iil9fWVsc2V7X3RoaXMucGFzdGVIVE1MKCI8YnIg
Lz4iKTtpZihpc0lFJiZwTm9kZS5sZW5ndGg+MCYmX3RoaXMuZ2V0Um5nKCkucGFyZW50RWxl
bWVudCgpLmNoaWxkTm9kZXMubGVuZ3RoPT09Mil7X3RoaXMucGFzdGVIVE1MKCI8YnIgLz4i
KX1yZXR1cm4gZmFsc2V9fWZ1bmN0aW9uIGZpeEZ1bGxIZWlnaHQoKXtpZighaXNNb3ppbGxh
JiYhaXNTYWZhcmkpe2lmKGJGdWxsc2NyZWVuKXtfakFyZWEuaGVpZ2h0KCIxMDAlIikuY3Nz
KCJoZWlnaHQiLF9qQXJlYS5vdXRlckhlaWdodCgpLV9qVG9vbHMub3V0ZXJIZWlnaHQoKSl9
aWYoaXNJRSl7X2pUb29scy5oaWRlKCkuc2hvdygpfX19ZnVuY3Rpb24gZml4QXBwbGVTZWwo
ZSl7ZT1lLnRhcmdldDtpZihlLnRhZ05hbWUubWF0Y2goLyhpbWd8ZW1iZWQpL2kpKXt2YXIg
c2VsPV90aGlzLmdldFNlbCgpLHJuZz1fdGhpcy5nZXRSbmcodHJ1ZSk7cm5nLnNlbGVjdE5v
ZGUoZSk7c2VsLnJlbW92ZUFsbFJhbmdlcygpO3NlbC5hZGRSYW5nZShybmcpfX1mdW5jdGlv
biB4aGVBdHRyKGpPYmosbix2KXtpZighbil7cmV0dXJuIGZhbHNlfXZhciBrbj0iX3hoZV8i
K247aWYodil7aWYodXJsVHlwZSl7dj1nZXRMb2NhbFVybCh2LHVybFR5cGUsdXJsQmFzZSl9
ak9iai5hdHRyKG4sdXJsQmFzZT9nZXRMb2NhbFVybCh2LCJhYnMiLHVybEJhc2UpOnYpLnJl
bW92ZUF0dHIoa24pLmF0dHIoa24sdil9cmV0dXJuIGpPYmouYXR0cihrbil8fGpPYmouYXR0
cihuKX1mdW5jdGlvbiBjbGlja0NhbmNlbFBhbmVsKCl7aWYoYkNsaWNrQ2FuY2VsKXtfdGhp
cy5oaWRlUGFuZWwoKX19ZnVuY3Rpb24gY2hlY2tTaG9ydGN1dHMoZXZlbnQpe2lmKGJTb3Vy
Y2Upe3JldHVybiB0cnVlfXZhciBjb2RlPWV2ZW50LndoaWNoLHNwZWNpYWw9c3BlY2lhbEtl
eXNbY29kZV0sc0NoYXI9c3BlY2lhbD9zcGVjaWFsOlN0cmluZy5mcm9tQ2hhckNvZGUoY29k
ZSkudG9Mb3dlckNhc2UoKTtzS2V5PSIiO3NLZXkrPWV2ZW50LmN0cmxLZXk/ImN0cmwrIjoi
IjtzS2V5Kz1ldmVudC5hbHRLZXk/ImFsdCsiOiIiO3NLZXkrPWV2ZW50LnNoaWZ0S2V5PyJz
aGlmdCsiOiIiO3NLZXkrPXNDaGFyO3ZhciBjbWQ9YXJyU2hvcnRDdXRzW3NLZXldLGM7Zm9y
KGMgaW4gY21kKXtjPWNtZFtjXTtpZigkLmlzRnVuY3Rpb24oYykpe2lmKGMuY2FsbChfdGhp
cyk9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1lbHNle190aGlzLmV4ZWMoYyk7cmV0dXJuIGZh
bHNlfX19ZnVuY3Rpb24gaXMobyx0KXt2YXIgbj10eXBlb2Yobyk7aWYoIXQpe3JldHVybiBu
IT0idW5kZWZpbmVkIn1pZih0PT09ImFycmF5IiYmKG8uaGFzT3duUHJvcGVydHkmJm8gaW5z
dGFuY2VvZiBBcnJheSkpe3JldHVybiB0cnVlfXJldHVybiBuPT09dH1mdW5jdGlvbiBnZXRM
b2NhbFVybCh1cmwsdXJsVHlwZSx1cmxCYXNlKXtpZigodXJsLm1hdGNoKC9eKFx3Kyk6XC9c
Ly9pKSYmIXVybC5tYXRjaCgvXmh0dHBzPzovaSkpfHwvXiMvaS50ZXN0KHVybCl8fC9eZGF0
YTovaS50ZXN0KHVybCkpe3JldHVybiB1cmx9dmFyIGJhc2VVcmw9dXJsQmFzZT8kKCc8YSBo
cmVmPSInK3VybEJhc2UrJyIgLz4nKVswXTpsb2NhdGlvbixwcm90b2NvbD1iYXNlVXJsLnBy
b3RvY29sLGhvc3Q9YmFzZVVybC5ob3N0LGhvc3RuYW1lPWJhc2VVcmwuaG9zdG5hbWUscG9y
dD1iYXNlVXJsLnBvcnQscGF0aD1iYXNlVXJsLnBhdGhuYW1lLnJlcGxhY2UoL1xcL2csIi8i
KS5yZXBsYWNlKC9bXlwvXSskL2ksIiIpO2lmKHBvcnQ9PT0iIil7cG9ydD0iODAifWlmKHBh
dGg9PT0iIil7cGF0aD0iLyJ9ZWxzZXtpZihwYXRoLmNoYXJBdCgwKSE9PSIvIil7cGF0aD0i
LyIrcGF0aH19dXJsPSQudHJpbSh1cmwpO2lmKHVybFR5cGUhPT0iYWJzIil7dXJsPXVybC5y
ZXBsYWNlKG5ldyBSZWdFeHAocHJvdG9jb2wrIlxcL1xcLyIraG9zdG5hbWUucmVwbGFjZSgv
XC4vZywiXFwuIikrIig/OjoiK3BvcnQrIikiKyhwb3J0PT09IjgwIj8iPyI6IiIpKyIoL3wk
KSIsImkiKSwiLyIpfWlmKHVybFR5cGU9PT0icmVsIil7dXJsPXVybC5yZXBsYWNlKG5ldyBS
ZWdFeHAoIl4iK3BhdGgucmVwbGFjZSgvKFtcL1wuXCtcW1xdXChcKV0pL2csIlxcJDEiKSwi
aSIpLCIiKX1pZih1cmxUeXBlIT09InJlbCIpe2lmKCF1cmwubWF0Y2goL14oaHR0cHM/Olwv
XC98XC8pL2kpKXt1cmw9cGF0aCt1cmx9aWYodXJsLmNoYXJBdCgwKT09PSIvIil7dmFyIGFy
clBhdGg9W10sYXJyRm9sZGVyPXVybC5zcGxpdCgiLyIpLGZvbGRlcixpLGw9YXJyRm9sZGVy
Lmxlbmd0aDtmb3IoaT0wO2k8bDtpKyspe2ZvbGRlcj1hcnJGb2xkZXJbaV07aWYoZm9sZGVy
PT09Ii4uIil7YXJyUGF0aC5wb3AoKX1lbHNle2lmKGZvbGRlciE9PSIiJiZmb2xkZXIhPT0i
LiIpe2FyclBhdGgucHVzaChmb2xkZXIpfX19aWYoYXJyRm9sZGVyW2wtMV09PT0iIil7YXJy
UGF0aC5wdXNoKCIiKX11cmw9Ii8iK2FyclBhdGguam9pbigiLyIpfX1pZih1cmxUeXBlPT09
ImFicyImJiF1cmwubWF0Y2goL15odHRwcz86XC9cLy9pKSl7dXJsPXByb3RvY29sKyIvLyIr
aG9zdCt1cmx9dXJsPXVybC5yZXBsYWNlKC8oaHR0cHM/OlwvXC9bXjpcLz8jXSspOjgwKFwv
fCQpL2ksIiQxJDIiKTtyZXR1cm4gdXJsfWZ1bmN0aW9uIGNoZWNrRmlsZUV4dChmaWxlbmFt
ZSxsaW1pdEV4dCl7aWYobGltaXRFeHQ9PT0iKiJ8fGZpbGVuYW1lLm1hdGNoKG5ldyBSZWdF
eHAoIi4oIitsaW1pdEV4dC5yZXBsYWNlKC8sL2csInwiKSsiKSQiLCJpIikpKXtyZXR1cm4g
dHJ1ZX1lbHNle2FsZXJ0KCLkuIrkvKDmlofku7bmianlsZXlkI3lv4XpnIDkuLo6ICIrbGlt
aXRFeHQpO3JldHVybiBmYWxzZX19ZnVuY3Rpb24gZm9ybWF0Qnl0ZXMoYnl0ZXMpe3ZhciBz
PVsiQnl0ZSIsIktCIiwiTUIiLCJHQiIsIlRCIiwiUEIiXTt2YXIgZT1NYXRoLmZsb29yKE1h
dGgubG9nKGJ5dGVzKS9NYXRoLmxvZygxMDI0KSk7cmV0dXJuKGJ5dGVzL01hdGgucG93KDEw
MjQsTWF0aC5mbG9vcihlKSkpLnRvRml4ZWQoMikrc1tlXX1mdW5jdGlvbiByZXR1cm5GYWxz
ZSgpe3JldHVybiBmYWxzZX19O3hoZWRpdG9yLnNldHRpbmdzPXtza2luOiJkZWZhdWx0Iix0
b29sczoiZnVsbCIsY2xpY2tDYW5jZWxEaWFsb2c6dHJ1ZSxsaW5rVGFnOmZhbHNlLGludGVy
bmFsU2NyaXB0OmZhbHNlLGlubGluZVNjcmlwdDpmYWxzZSxpbnRlcm5hbFN0eWxlOnRydWUs
aW5saW5lU3R5bGU6dHJ1ZSxzaG93QmxvY2t0YWc6ZmFsc2UsZm9yY2VQdGFnOnRydWUsdXBM
aW5rRXh0OiJ6aXAscmFyLHR4dCIsdXBJbWdFeHQ6ImpwZyxqcGVnLGdpZixwbmciLHVwRmxh
c2hFeHQ6InN3ZiIsdXBNZWRpYUV4dDoid212LGF2aSx3bWEsbXAzLG1pZCIsbW9kYWxXaWR0
aDozNTAsbW9kYWxIZWlnaHQ6MjIwLG1vZGFsVGl0bGU6dHJ1ZSxkZWZMaW5rVGV4dDoi54K5
5Ye75omT5byA6ZO+5o6lIixsYXllclNoYWRvdzozLGVtb3RNYXJrOmZhbHNlLHVwQnRuVGV4
dDoi5LiK5LygIixjbGVhblBhc3RlOjEsaG92ZXJFeGVjRGVsYXk6MTAwLGh0bWw1VXBsb2Fk
OnRydWUsdXBNdWx0aXBsZTo5OX07d2luZG93LnhoZWRpdG9yPXhoZWRpdG9yOyQoZnVuY3Rp
b24oKXskLmZuLm9sZFZhbD0kLmZuLnZhbDskLmZuLnZhbD1mdW5jdGlvbih2YWx1ZSl7dmFy
IF90aGlzPXRoaXMsZWRpdG9yO2lmKHZhbHVlPT09dW5kZWZpbmVkKXtpZihfdGhpc1swXSYm
KGVkaXRvcj1fdGhpc1swXS54aGVkaXRvcikpe3JldHVybiBlZGl0b3IuZ2V0U291cmNlKCl9
ZWxzZXtyZXR1cm4gX3RoaXMub2xkVmFsKCl9fXJldHVybiBfdGhpcy5lYWNoKGZ1bmN0aW9u
KCl7aWYoZWRpdG9yPXRoaXMueGhlZGl0b3Ipe2VkaXRvci5zZXRTb3VyY2UodmFsdWUpfWVs
c2V7X3RoaXMub2xkVmFsKHZhbHVlKX19KX07JCgidGV4dGFyZWEiKS5lYWNoKGZ1bmN0aW9u
KCl7dmFyICR0aGlzPSQodGhpcykseGhDbGFzcz0kdGhpcy5hdHRyKCJjbGFzcyIpO2lmKHho
Q2xhc3MmJih4aENsYXNzPXhoQ2xhc3MubWF0Y2goLyg/Ol58XHMpeGhlZGl0b3IoPzpcLSht
P2Z1bGx8c2ltcGxlfG1pbmkpKT8oPzpcc3wkKS9pKSkpeyR0aGlzLnhoZWRpdG9yKHhoQ2xh
c3NbMV0/e3Rvb2xzOnhoQ2xhc3NbMV19Om51bGwpfX0pfSl9KShqUXVlcnkpOwovKiEKICog
V1lTSVdZRyBVQkIgRWRpdG9yIHN1cHBvcnQgZm9yIHhoRWRpdG9yCiAqIEByZXF1aXJlcyB4
aEVkaXRvcgogKiAKICogQGF1dGhvciBZYW5pcy5XYW5nPHlhbmlzLndhbmdAZ21haWwuY29t
PgogKiBAc2l0ZSBodHRwOi8veGhlZGl0b3IuY29tLwogKiBAbGljZW5jZSBMR1BMKGh0dHA6
Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbGdwbC1saWNlbnNlLnBocCkKICogCiAq
IEBWZXJzaW9uOiAwLjkuMTIgKGJ1aWxkIDEyMDIyOCkKICovCmZ1bmN0aW9uIHViYjJodG1s
KGUpe3ZhciBiLGc9U3RyaW5nKGUpLGM9bmV3IEFycmF5KCksYT0wO3ZhciBkPVsiMTBweCIs
IjEzcHgiLCIxNnB4IiwiMThweCIsIjI0cHgiLCIzMnB4IiwiNDhweCJdO2c9Zy5yZXBsYWNl
KC9bPD4mIl0vZyxmdW5jdGlvbihoKXtyZXR1cm57IjwiOiImbHQ7IiwiPiI6IiZndDsiLCIm
IjoiJmFtcDsiLCciJzoiJnF1b3Q7In1baF19KTtnPWcucmVwbGFjZSgvXHI/XG4vZywiPGJy
IC8+Iik7Zz1nLnJlcGxhY2UoL1xbY29kZVxzKig/Oj1ccyooW15cXV0rPykpP1xdKFtcc1xT
XSo/KVxbXC9jb2RlXF0vaWcsZnVuY3Rpb24oaSxoLGope2ErKztjW2FdPWk7cmV0dXJuIltc
dHViYmNvZGVwbGFjZV8iK2ErIlx0XSJ9KTtnPWcucmVwbGFjZSgvXFsoXC8/KShifHV8aXxz
fHN1cHxzdWIpXF0vaWcsIjwkMSQyPiIpO2c9Zy5yZXBsYWNlKC9cW0ZPTlQtQ09MT1Jccyo9
XHMqKFteXF0iXSs/KSg/OiJbXlxdXSo/KT9ccypcXS9pZywnPGZvbnQgY29sb3I9IiQxIj4n
KTtnPWcucmVwbGFjZSgvXFtmb250LWZhY2Vccyo9XHMqKFteXF0iXSs/KSg/OiJbXlxdXSo/
KT9ccypcXS9pZywnPGZvbnQgZmFjZT0iJDEiPicpO2c9Zy5yZXBsYWNlKC9cW1wvKGNvbG9y
fGZvbnQpXF0vaWcsIjwvZm9udD4iKTtnPWcucmVwbGFjZSgvXFtmb250LXNpemVccyo9XHMq
KFteXF0iXSs/KSg/OiJbXlxdXSo/KT9ccypcXS9pZyxmdW5jdGlvbihpLGgpe2lmKGgubWF0
Y2goL15cZCskLykpe2g9ZFtoLTFdfXJldHVybic8c3BhbiBzdHlsZT0iZm9udC1zaXplOicr
aCsnOyI+J30pO2c9Zy5yZXBsYWNlKC9cW2ZvbnQtYmFja1xzKj1ccyooW15cXSJdKz8pKD86
IlteXF1dKj8pP1xzKlxdL2lnLCc8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjokMTsi
PicpO2c9Zy5yZXBsYWNlKC9cW1wvKHNpemV8YmFjaylcXS9pZywiPC9zcGFuPiIpO2Zvcihi
PTA7YjwzO2IrKyl7Zz1nLnJlcGxhY2UoL1xbYWxpZ25ccyo9XHMqKFteXF0iXSs/KSg/OiJb
XlxdXSo/KT9ccypcXSgoKD8hXFthbGlnbig/OlxzK1teXF1dKyk/XF0pW1xzXFNdKSo/KVxb
XC9hbGlnblxdL2lnLCc8cCBhbGlnbj0iJDEiPiQyPC9wPicpfWc9Zy5yZXBsYWNlKC9cW2lt
Z1xdXHMqKCgoPyEiKVtcc1xTXSkrPykoPzoiW1xzXFNdKj8pP1xzKlxbXC9pbWdcXS9pZywn
PGltZyBzcmM9IiQxIiBhbHQ9IiIgLz4nKTtnPWcucmVwbGFjZSgvXFtpbWdccyo9KFteLFxd
XSopKD86XHMqLFxzKihcZColPylccyosXHMqKFxkKiU/KVxzKik/KD86LD9ccyooXHcrKSk/
XHMqXF1ccyooKCg/ISIpW1xzXFNdKSs/KSg/OiJbXHNcU10qKT9ccypcW1wvaW1nXF0vaWcs
ZnVuY3Rpb24oaSxsLG8sayxqLG4pe3ZhciBtPSc8aW1nIHNyYz0iJytuKyciIGFsdD0iJyts
KyciJyxoPWo/ajooIWYobyk/bzoiIik7aWYoZihvKSl7bSs9JyB3aWR0aD0iJytvKyciJ31p
ZihmKGspKXttKz0nIGhlaWdodD0iJytrKyciJ31pZihoKXttKz0nIGFsaWduPSInK2grJyIn
fW0rPSIgLz4iO3JldHVybiBtfSk7Zz1nLnJlcGxhY2UoL1xbZlxdXHMqKFteXF0iXSs/KSg/
OiJbXlxdXSo/KT9ccypcL1xbXC9mXFxdL2lnLCc8aW1nIGVtb3Q9IiQxIiAvPicpO2c9Zy5y
ZXBsYWNlKC9cW3VybFxdXHMqKCgoPyEiKVtcc1xTXSkqPykoPzoiW1xzXFNdKj8pP1xzKlxb
XC91cmxcXS9pZywnPGEgaHJlZj0iJDEiPiQxPC9hPicpO2c9Zy5yZXBsYWNlKC9cW3VybFxz
Kj1ccyooW15cXSJdKz8pKD86IlteXF1dKj8pP1xzKlxdXHMqKFtcc1xTXSo/KVxzKlxbXC91
cmxcXS9pZywnPGEgaHJlZj0iJDEiPiQyPC9hPicpO2c9Zy5yZXBsYWNlKC9cW2VtYWlsXF1c
cyooKCg/ISIpW1xzXFNdKSs/KSg/OiJbXHNcU10qPyk/XHMqXFtcL2VtYWlsXF0vaWcsJzxh
IGhyZWY9Im1haWx0bzokMSI+JDE8L2E+Jyk7Zz1nLnJlcGxhY2UoL1xbZW1haWxccyo9XHMq
KFteXF0iXSs/KSg/OiJbXlxdXSo/KT9ccypcXVxzKihbXHNcU10rPylccypcW1wvZW1haWxc
XS9pZywnPGEgaHJlZj0ibWFpbHRvOiQxIj4kMjwvYT4nKTtnPWcucmVwbGFjZSgvXFtxdW90
ZVxdL2lnLCI8YmxvY2txdW90ZT4iKTtnPWcucmVwbGFjZSgvXFtcL3F1b3RlXF0vaWcsIjwv
YmxvY2txdW90ZT4iKTtnPWcucmVwbGFjZSgvXFtmbGFzaFxzKig/Oj1ccyooXGQrKVxzKixc
cyooXGQrKVxzKik/XF1ccyooKCg/ISIpW1xzXFNdKSs/KSg/OiJbXHNcU10qPyk/XHMqXFtc
L2ZsYXNoXF0vaWcsZnVuY3Rpb24obCxpLGssail7aWYoIWkpe2k9NDgwfWlmKCFrKXtrPTQw
MH1yZXR1cm4nPGVtYmVkIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBz
cmM9IicraisnIiB3bW9kZT0ib3BhcXVlIiBxdWFsaXR5PSJoaWdoIiBiZ2NvbG9yPSIjZmZm
ZmZmIiBtZW51PSJmYWxzZSIgcGxheT0idHJ1ZSIgbG9vcD0idHJ1ZSIgd2lkdGg9IicraSsn
IiBoZWlnaHQ9IicraysnIi8+J30pO2c9Zy5yZXBsYWNlKC9cW21lZGlhXHMqKD86PVxzKihc
ZCspXHMqLFxzKihcZCspXHMqKD86LFxzKihcZCspXHMqKT8pP1xdXHMqKCgoPyEiKVtcc1xT
XSkrPykoPzoiW1xzXFNdKj8pP1xzKlxbXC9tZWRpYVxdL2lnLGZ1bmN0aW9uKGwsaSxrLG0s
ail7aWYoIWkpe2k9NDgwfWlmKCFrKXtrPTQwMH1yZXR1cm4nPGVtYmVkIHR5cGU9ImFwcGxp
Y2F0aW9uL3gtbXBsYXllcjIiIHNyYz0iJytqKyciIGVuYWJsZWNvbnRleHRtZW51PSJmYWxz
ZSIgYXV0b3N0YXJ0PSInKyhtPT0iMSI/InRydWUiOiJmYWxzZSIpKyciIHdpZHRoPSInK2kr
JyIgaGVpZ2h0PSInK2srJyIvPid9KTtnPWcucmVwbGFjZSgvXFt0YWJsZVxzKig/Oj1ccyoo
XGR7MSw0fSU/KVxzKig/OixccyooW15cXSJdKykoPzoiW15cXV0qPyk/KT8pP1xzKlxdL2ln
LGZ1bmN0aW9uKGosaSxoKXt2YXIgaz0iPHRhYmxlIjtpZihpKXtrKz0nIHdpZHRoPSInK2kr
JyInfWlmKGgpe2srPScgYmdjb2xvcj0iJytoKyciJ31yZXR1cm4gaysiPiJ9KTtnPWcucmVw
bGFjZSgvXFt0clxzKig/Oj1ccyooW15cXSJdKz8pKD86IlteXF1dKj8pPyk/XHMqXF0vaWcs
ZnVuY3Rpb24oaSxoKXtyZXR1cm4iPHRyIisoaD8nIGJnY29sb3I9IicraCsnIic6IiIpKyI+
In0pO2c9Zy5yZXBsYWNlKC9cW3RkXHMqKD86PVxzKihcZHsxLDJ9KVxzKixccyooXGR7MSwy
fSlccyooPzosXHMqKFxkezEsNH0lPykpPyk/XHMqXF0vaWcsZnVuY3Rpb24oaixpLGssaCl7
cmV0dXJuIjx0ZCIrKGk+MT8nIGNvbHNwYW49IicraSsnIic6IiIpKyhrPjE/JyByb3dzcGFu
PSInK2srJyInOiIiKSsoaD8nIHdpZHRoPSInK2grJyInOiIiKSsiPiJ9KTtnPWcucmVwbGFj
ZSgvXFtcLyh0YWJsZXx0cnx0ZClcXS9pZywiPC8kMT4iKTtnPWcucmVwbGFjZSgvXFtcKlxd
KCg/Oig/IVxbXCpcXXxcW1wvbGlzdFxdfFxbbGlzdFxzKig/Oj1bXlxdXSspP1xdKVtcc1xT
XSkrKS9pZywiPGxpPiQxPC9saT4iKTtnPWcucmVwbGFjZSgvXFtsaXN0XHMqKD86PVxzKihb
XlxdIl0rPykoPzoiW15cXV0qPyk/KT9ccypcXS9pZyxmdW5jdGlvbihpLGgpe3ZhciBqPSI8
dWwiO2lmKGgpe2orPScgdHlwZT0iJytoKyciJ31yZXR1cm4gaisiPiJ9KTtnPWcucmVwbGFj
ZSgvXFtcL2xpc3RcXS9pZywiPC91bD4iKTtnPWcucmVwbGFjZSgvXFtoclwvXF0vaWcsIjxo
ciAvPiIpO2ZvcihiPTE7Yjw9YTtiKyspe2c9Zy5yZXBsYWNlKCJbXHR1YmJjb2RlcGxhY2Vf
IitiKyJcdF0iLGNbYl0pfWc9Zy5yZXBsYWNlKC8oXnw8XC8/XHcrKD86XHMrW14+XSo/KT8+
KShbXjwkXSspL2lnLGZ1bmN0aW9uKGksaCxqKXtyZXR1cm4gaCtqLnJlcGxhY2UoL1tcdCBd
L2csZnVuY3Rpb24oayl7cmV0dXJueyJcdCI6IiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyIsIiAiOiImbmJzcDsifVtrXX0pfSk7ZnVuY3Rpb24g
ZihoKXtpZihoIT1udWxsJiZoIT0iIil7cmV0dXJuICFpc05hTihoKX1lbHNle3JldHVybiBm
YWxzZX19cmV0dXJuIGd9ZnVuY3Rpb24gaHRtbDJ1YmIoayl7dmFyIGI9L1xzK3NyY1xzKj1c
cyooWyInXT8pXHMqKC4rPylccypcMShcc3wkKS9pLGg9L1xzK3dpZHRoXHMqPVxzKihbIidd
PylccyooXGQrKD86XC5cZCspPyU/KVxzKlwxKFxzfCQpL2ksYT0vXHMraGVpZ2h0XHMqPVxz
KihbIiddPylccyooXGQrKD86XC5cZCspPyU/KVxzKlwxKFxzfCQpL2ksZz0vKD86YmFja2dy
b3VuZHxiYWNrZ3JvdW5kLWNvbG9yfGJnY29sb3IpXHMqWzo9XVxzKihbIiddPylccyooKHJn
YlxzKlwoXHMqXGR7MSwzfSU/LFxzKlxkezEsM30lP1xzKixccypcZHsxLDN9JT9ccypcKSl8
KCNbMC05YS1mXXszLDZ9KXwoW2Etel17MSwyMH0pKVxzKlwxL2k7dmFyIGMsZT1TdHJpbmco
ayksaj1uZXcgQXJyYXkoKSxkPTA7ZT1lLnJlcGxhY2UoL1xzKlxyP1xuXHMqL2csIiIpO2U9
ZS5yZXBsYWNlKC88KHNjcmlwdHxzdHlsZSkoXHMrW14+XSo/KT8+W1xzXFNdKj88XC9cMT4v
aWcsIiIpO2U9ZS5yZXBsYWNlKC88IS0tW1xzXFNdKj8tLT4vaWcsIiIpO2U9ZS5yZXBsYWNl
KC88YnIoXHMrW14+XSopP1wvPz4vaWcsIlxyXG4iKTtlPWUucmVwbGFjZSgvXFtjb2RlXHMq
KD1ccyooW15cXV0rPykpP1xdKFtcc1xTXSo/KVxbXC9jb2RlXF0vaWcsZnVuY3Rpb24obixp
LG8pe2QrKztqW2RdPW47cmV0dXJuIltcdHViYmNvZGVwbGFjZV8iK2QrIlx0XSJ9KTtlPWUu
cmVwbGFjZSgvPChcLz8pKGJ8dXxpfHMpKFxzK1tePl0qPyk/Pi9pZywiWyQxJDJdIik7ZT1l
LnJlcGxhY2UoLzwoXC8/KXN0cm9uZyhccytbXj5dKj8pPz4vaWcsIlskMWJdIik7ZT1lLnJl
cGxhY2UoLzwoXC8/KWVtKFxzK1tePl0qPyk/Pi9pZywiWyQxaV0iKTtlPWUucmVwbGFjZSgv
PChcLz8pKHN0cmlrZXxkZWwpKFxzK1tePl0qPyk/Pi9pZywiWyQxc10iKTtlPWUucmVwbGFj
ZSgvPChcLz8pKHN1cHxzdWIpKFxzK1tePl0qPyk/Pi9pZywiWyQxJDJdIik7ZnVuY3Rpb24g
ZihyLGkscSxzKXtpZighcSl7cmV0dXJuIHN9dmFyIHA9W10sbj1bXTt2YXIgbztvPXEubWF0
Y2goLyBmYWNlXHMqPVxzKiJccyooW14iXSspXHMqIi9pKTtpZihvKXtwLnB1c2goIltmb250
LWZhY2U9IitvWzFdKyJdIik7bi5wdXNoKCJbL2ZvbnQtZmFjZV0iKX1vPXEubWF0Y2goLyBz
aXplXHMqPVxzKiJccyooXGQrKVxzKiIvaSk7aWYobyl7cC5wdXNoKCJbZm9udC1zaXplPSIr
b1sxXSsiXSIpO24ucHVzaCgiWy9mb250LXNpemVdIil9bz1xLm1hdGNoKC8gY29sb3Jccyo9
XHMqIlxzKihbXiJdKylccyoiL2kpO2lmKG8pe3AucHVzaCgiW0ZPTlQtQ09MT1I9IittKG9b
MV0pKyJdIik7bi5wdXNoKCJbL0ZPTlQtQ09MT1JdIil9cmV0dXJuIHAuam9pbigiIikrcytu
LmpvaW4oIiIpfWU9ZS5yZXBsYWNlKC88KGZvbnQpKFxzK1tePl0qPyk/PigoKD8hPFwxKFxz
K1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+
KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/
PFwvXDE+KSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxmKTtlPWUucmVwbGFjZSgvPChmb250KShc
cytbXj5dKj8pPz4oKCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8p
Pz4oKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU10pKj88XC9cMT4pKj8pPFwvXDE+L2lnLGYp
O2U9ZS5yZXBsYWNlKC88KGZvbnQpKFxzK1tePl0qPyk/PigoKD8hPFwxKFxzK1tePl0qPyk/
PilbXHNcU10pKj8pPFwvXDE+L2lnLGYpO2ZvcihjPTA7YzwzO2MrKyl7ZT1lLnJlcGxhY2Uo
Lzwoc3BhbikoPzpccytbXj5dKj8pP1xzK3N0eWxlXHMqPVxzKiIoKD86W14iXSo/OykqXHMq
KD86Zm9udC1mYW1pbHl8Zm9udC1zaXplfGNvbG9yfGJhY2tncm91bmR8YmFja2dyb3VuZC1j
b2xvcilccyo6W14iXSopIig/OiBbXj5dKyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNc
U118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMr
W14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+
KSo/KTxcL1wxPi9pZyxmdW5jdGlvbih1LHcsaSxyKXt2YXIgcz1pLm1hdGNoKC8oPzpefDsp
XHMqZm9udC1mYW1pbHlccyo6XHMqKFteO10rKS9pKSx2PWkubWF0Y2goLyg/Ol58Oylccypm
b250LXNpemVccyo6XHMqKFteO10rKS9pKSxvPWkubWF0Y2goLyg/Ol58Oylccypjb2xvclxz
KjpccyooW147XSspL2kpLHA9aS5tYXRjaCgvKD86Xnw7KVxzKig/OmJhY2tncm91bmR8YmFj
a2dyb3VuZC1jb2xvcilccyo6XHMqKFteO10rKS9pKSx0PXI7dmFyIG49W10scT1bXTtpZihz
KXtuLnB1c2goIltmb250LWZhY2U9IitzWzFdKyJdIik7cS5wdXNoKCJbL2ZvbnQtZmFjZV0i
KX1pZih2KXtuLnB1c2goIltmb250LXNpemU9Iit2WzFdKyJdIik7cS5wdXNoKCJbL2ZvbnQt
c2l6ZV0iKX1pZihvKXtuLnB1c2goIltGT05ULUNPTE9SPSIrbShvWzFdKSsiXSIpO3EucHVz
aCgiWy9GT05ULUNPTE9SXSIpfWlmKHApe24ucHVzaCgiW2ZvbnQtYmFjaz0iK20ocFsxXSkr
Il0iKTtxLnB1c2goIlsvZm9udC1iYWNrXSIpfXJldHVybiBuLmpvaW4oIiIpK3QrcS5qb2lu
KCIiKX0pfWZ1bmN0aW9uIG0obil7dmFyIGk7aWYoaT1uLm1hdGNoKC9ccypyZ2JccypcKFxz
KihcZCspXHMqLFxzKihcZCspXHMqLFxzKihcZCspXHMqXCkvaSkpe249KGlbMV0qNjU1MzYr
aVsyXSoyNTYraVszXSoxKS50b1N0cmluZygxNik7d2hpbGUobi5sZW5ndGg8Nil7bj0iMCIr
bn1uPSIjIitufW49bi5yZXBsYWNlKC9eIyhbMC05YS1mXSkoWzAtOWEtZl0pKFswLTlhLWZd
KSQvaSwiIyQxJDEkMiQyJDMkMyIpO3JldHVybiBufWZvcihjPTA7YzwzO2MrKyl7ZT1lLnJl
cGxhY2UoLzwoZGl2fHApKD86XHMrW14+XSo/KT9bXHMiJztdXHMqKD86dGV4dC0pP2FsaWdu
XHMqWz06XVxzKihbIiddPylccyoobGVmdHxjZW50ZXJ8cmlnaHQpXHMqXDJbXj5dKj4oKCg/
ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSs/KTxcL1wxPi9pZywiW2FsaWduPSQzXSQ0Wy9h
bGlnbl0iKX1mb3IoYz0wO2M8MztjKyspe2U9ZS5yZXBsYWNlKC88KGNlbnRlcikoPzpccytb
Xj5dKj8pPz4oKCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/KTxcL1wxPi9pZywiW2Fs
aWduPWNlbnRlcl0kMlsvYWxpZ25dIil9Zm9yKGM9MDtjPDM7YysrKXtlPWUucmVwbGFjZSgv
PChwfGRpdikoPzpccytbXj5dKj8pP1xzK3N0eWxlXHMqPVxzKiIoPzpbXjsiXSo7KSpccyp0
ZXh0LWFsaWduXHMqOihbXjsiXSopW14iXSoiKD86IFtePl0rKT8+KCgoPyE8XDEoXHMrW14+
XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xz
XFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU10pKj88XC9c
MT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLGZ1bmN0aW9uKG4saSxwLG8pe3JldHVybiJbYWxp
Z249IitwKyJdIitvKyJbL2FsaWduXSJ9KX1lPWUucmVwbGFjZSgvPGEoPzpccytbXj5dKj8p
P1xzK2hyZWY9KFsiJ10pXHMqKC4rPylccypcMVtePl0qPlxzKihbXHNcU10qPylccyo8XC9h
Pi9pZyxmdW5jdGlvbihvLHAsbixzKXtpZighKG4mJnMpKXtyZXR1cm4iIn12YXIgaT0idXJs
IixyO2lmKG4ubWF0Y2goL15tYWlsdG86L2kpKXtpPSJlbWFpbCI7bj1uLnJlcGxhY2UoL21h
aWx0bzooLis/KS9pLCIkMSIpfXI9IlsiK2k7aWYobiE9cyl7cis9Ij0iK259cmV0dXJuIHIr
Il0iK3MrIlsvIitpKyJdIn0pO2U9ZS5yZXBsYWNlKC88aW1nKFxzK1tePl0qPylcLz8+L2ln
LGZ1bmN0aW9uKHYscyl7dmFyIHU9cy5tYXRjaCgvXHMrZW1vdFxzKj1ccyooWyInXT8pXHMq
KC4rPylccypcMShcc3wkKS9pKTtpZih1KXtyZXR1cm4iW2ZdIit1WzJdKyJbL2ZdIn12YXIg
aT1zLm1hdGNoKGIpLG89cy5tYXRjaCgvXHMrYWx0XHMqPVxzKihbIiddPylccyooLio/KVxz
KlwxKFxzfCQpL2kpLHg9cy5tYXRjaChoKSxxPXMubWF0Y2goYSkscj1zLm1hdGNoKC9ccyth
bGlnblxzKj1ccyooWyInXT8pXHMqKFx3KylccypcMShcc3wkKS9pKSx0PSJbaW1nIixuPSIi
O2lmKCFpKXtyZXR1cm4iIn1uKz1vWzJdO2lmKHh8fHEpe24rPSIsIisoeD94WzJdOiIiKSsi
LCIrKHE/cVsyXToiIil9aWYocil7bis9IiwiK3JbMl19aWYobil7dCs9Ij0iK259dCs9Il0i
K2lbMl0rIlsvaW1nXSI7cmV0dXJuIHR9KTtlPWUucmVwbGFjZSgvPGJsb2NrcXVvdGUoPzpc
cytbXj5dKj8pPz4vaWcsIltxdW90ZV0iKTtlPWUucmVwbGFjZSgvPFwvYmxvY2txdW90ZT4v
aWcsIlsvcXVvdGVdIik7ZT1lLnJlcGxhY2UoLzxlbWJlZCgoPzpccytbXj5dKj8pPyg/Olxz
K3R5cGVccyo9XHMqIlxzKmFwcGxpY2F0aW9uXC94LXNob2Nrd2F2ZS1mbGFzaFxzKiJ8XHMr
Y2xhc3NpZFxzKj1ccyoiXHMqY2xzaWQ6ZDI3Y2RiNmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUz
NTQwMDAwMFxzKiIpW14+XSo/KVwvPz4vaWcsZnVuY3Rpb24ocSxpKXt2YXIgbz1pLm1hdGNo
KGIpLG49aS5tYXRjaChoKSxwPWkubWF0Y2goYSkscj0iW2ZsYXNoIjtpZighbyl7cmV0dXJu
IiJ9aWYobiYmcCl7cis9Ij0iK25bMl0rIiwiK3BbMl19cis9Il0iK29bMl07cmV0dXJuIHIr
IlsvZmxhc2hdIn0pO2U9ZS5yZXBsYWNlKC88ZW1iZWQoKD86XHMrW14+XSo/KT8oPzpccyt0
eXBlXHMqPVxzKiJccyphcHBsaWNhdGlvblwveC1tcGxheWVyMlxzKiJ8XHMrY2xhc3NpZFxz
Kj1ccyoiXHMqY2xzaWQ6NmJmNTJhNTItMzk0YS0xMWQzLWIxNTMtMDBjMDRmNzlmYWE2XHMq
IilbXj5dKj8pXC8/Pi9pZyxmdW5jdGlvbihyLGkpe3ZhciBvPWkubWF0Y2goYiksbj1pLm1h
dGNoKGgpLHE9aS5tYXRjaChhKSxzPWkubWF0Y2goL1xzK2F1dG9zdGFydFxzKj1ccyooWyIn
XT8pXHMqKC4rPylccypcMShcc3wkKS9pKSx0PSJbbWVkaWEiLHU9IjAiO2lmKCFvKXtyZXR1
cm4iIn1pZihzKXtpZihzWzJdPT0idHJ1ZSIpe3U9IjEifX1pZihuJiZxKXt0Kz0iPSIrblsy
XSsiLCIrcVsyXSsiLCIrdX10Kz0iXSIrb1syXTtyZXR1cm4gdCsiWy9tZWRpYV0ifSk7ZT1l
LnJlcGxhY2UoLzx0YWJsZShccytbXj5dKj8pPz4vaWcsZnVuY3Rpb24ocCxuKXt2YXIgcT0i
W3RhYmxlIjtpZihuKXt2YXIgbz1uLm1hdGNoKGgpLGk9bi5tYXRjaChnKTtpZihvKXtxKz0i
PSIrb1syXTtpZihpKXtxKz0iLCIraVsyXX19fXJldHVybiBxKyJdIn0pO2U9ZS5yZXBsYWNl
KC88dHIoXHMrW14+XSo/KT8+L2lnLGZ1bmN0aW9uKG8saSl7dmFyIHA9Ilt0ciI7aWYoaSl7
dmFyIG49aS5tYXRjaChnKTtpZihuKXtwKz0iPSIrblsyXX19cmV0dXJuIHArIl0ifSk7ZT1l
LnJlcGxhY2UoLzwoPzp0aHx0ZCkoXHMrW14+XSo/KT8+L2lnLGZ1bmN0aW9uKHAsaSl7dmFy
IHI9Ilt0ZCI7aWYoaSl7dmFyIG89aS5tYXRjaCgvXHMrY29sc3BhblxzKj1ccyooWyInXT8p
XHMqKFxkKylccypcMShcc3wkKS9pKSxxPWkubWF0Y2goL1xzK3Jvd3NwYW5ccyo9XHMqKFsi
J10/KVxzKihcZCspXHMqXDEoXHN8JCkvaSksbj1pLm1hdGNoKGgpO289bz9vWzJdOjE7cT1x
P3FbMl06MTtpZihvPjF8fHE+MXx8bil7cis9Ij0iK28rIiwiK3F9aWYobil7cis9IiwiK25b
Ml19fXJldHVybiByKyJdIn0pO2U9ZS5yZXBsYWNlKC88XC8odGFibGV8dHIpPi9pZywiWy8k
MV0iKTtlPWUucmVwbGFjZSgvPFwvKHRofHRkKT4vaWcsIlsvdGRdIik7ZT1lLnJlcGxhY2Uo
Lzx1bChccytbXj5dKj8pPz4vaWcsZnVuY3Rpb24obyxpKXt2YXIgbjtpZihpKXtuPWkubWF0
Y2goL1xzK3R5cGVccyo9XHMqKFsiJ10/KVxzKiguKz8pXHMqXDEoXHN8JCkvaSl9cmV0dXJu
IltsaXN0Iisobj8iPSIrblsyXToiIikrIl0ifSk7ZT1lLnJlcGxhY2UoLzxvbChccytbXj5d
Kj8pPz4vaWcsIltsaXN0PTFdIik7ZT1lLnJlcGxhY2UoLzxsaShccytbXj5dKj8pPz4vaWcs
IlsqXSIpO2U9ZS5yZXBsYWNlKC88XC9saT4vaWcsIiIpO2U9ZS5yZXBsYWNlKC88XC8odWx8
b2wpPi9pZywiWy9saXN0XSIpO2U9ZS5yZXBsYWNlKC88aChbMS02XSkoXHMrW14+XSo/KT8+
L2lnLGZ1bmN0aW9uKGksbyl7cmV0dXJuIlxyXG5cclxuW3NpemU9IisoNy1vKSsiXVtiXSJ9
KTtlPWUucmVwbGFjZSgvPFwvaFsxLTZdPi9pZywiWy9iXVsvc2l6ZV1cclxuXHJcbiIpO2U9
ZS5yZXBsYWNlKC88YWRkcmVzcyhccytbXj5dKj8pPz4vaWcsIlxyXG5baV0iKTtlPWUucmVw
bGFjZSgvPFwvYWRkcmVzcz4vaWcsIltpXVxyXG4iKTtlPWUucmVwbGFjZSgvPGhyKFxzK1te
Pl0qPyk/XC8+L2lnLCJbaHIvXSIpO2ZvcihjPTA7YzwzO2MrKyl7ZT1lLnJlcGxhY2UoLzwo
cCkoPzpccytbXj5dKj8pPz4oKCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdfDxcMShccytb
Xj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/Pigo
PyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPzxcL1wxPikqPzxcL1wxPikqPyk8XC9cMT4v
aWcsIlxyXG5cclxuJDJcclxuXHJcbiIpfWZvcihjPTA7YzwzO2MrKyl7ZT1lLnJlcGxhY2Uo
LzwoZGl2KSg/OlxzK1tePl0qPyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwx
KFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/
KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+KSo/KTxc
L1wxPi9pZywiXHJcbiQyXHJcbiIpfWU9ZS5yZXBsYWNlKC8oKFxzfCZuYnNwOykqXHI/XG4p
ezMsfS9nLCJcclxuXHJcbiIpO2U9ZS5yZXBsYWNlKC9eKChcc3wmbmJzcDspKlxyP1xuKSsv
ZywiIik7ZT1lLnJlcGxhY2UoLygoXHN8Jm5ic3A7KSpccj9cbikrJC9nLCIiKTtmb3IoYz0x
O2M8PWQ7YysrKXtlPWUucmVwbGFjZSgiW1x0dWJiY29kZXBsYWNlXyIrYysiXHRdIixqW2Nd
KX1lPWUucmVwbGFjZSgvPFtePD5dKz8+L2csIiIpO3ZhciBsPXtsdDoiPCIsZ3Q6Ij4iLG5i
c3A6IiAiLGFtcDoiJiIscXVvdDonIid9O2U9ZS5yZXBsYWNlKC8mKGx0fGd0fG5ic3B8YW1w
fHF1b3QpOy9pZyxmdW5jdGlvbihuLGkpe3JldHVybiBsW2ldfSk7cmV0dXJuIGV9Ow==CommentEditor\debug\CommentEditor\debug\ubb.min.jsLyohDQogKiBXWVNJV1lHIFVCQiBFZGl0b3Igc3VwcG9ydCBmb3IgeGhFZGl0b3INCiAqIEBy
ZXF1aXJlcyB4aEVkaXRvcg0KICogDQogKiBAYXV0aG9yIFlhbmlzLldhbmc8eWFuaXMud2Fu
Z0BnbWFpbC5jb20+DQogKiBAc2l0ZSBodHRwOi8veGhlZGl0b3IuY29tLw0KICogQGxpY2Vu
Y2UgTEdQTChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2xncGwtbGljZW5z
ZS5waHApDQogKiANCiAqIEBWZXJzaW9uOiAwLjkuMTIgKGJ1aWxkIDEyMDIyOCkNCiAqLw0K
ZnVuY3Rpb24gdWJiMmh0bWwoc1VCQikNCnsNCgl2YXIgaSxzSHRtbD1TdHJpbmcoc1VCQiks
YXJyY29kZT1uZXcgQXJyYXkoKSxjbnVtPTA7DQoJdmFyIGFyckZvbnRzaXplPVsnMTBweCcs
JzEzcHgnLCcxNnB4JywnMThweCcsJzI0cHgnLCczMnB4JywnNDhweCddOw0KDQoJc0h0bWw9
c0h0bWwucmVwbGFjZSgvWzw+JiJdL2csZnVuY3Rpb24oYyl7cmV0dXJuIHsnPCc6JyZsdDsn
LCc+JzonJmd0OycsJyYnOicmYW1wOycsJyInOicmcXVvdDsnfVtjXTt9KTsNCglzSHRtbD1z
SHRtbC5yZXBsYWNlKC9ccj9cbi9nLCI8YnIgLz4iKTsNCgkNCglzSHRtbD1zSHRtbC5yZXBs
YWNlKC9cW2NvZGVccyooPzo9XHMqKFteXF1dKz8pKT9cXShbXHNcU10qPylcW1wvY29kZVxd
L2lnLGZ1bmN0aW9uKGFsbCx0LGMpey8vY29kZeeJueauiuWkhOeQhg0KCQljbnVtKys7YXJy
Y29kZVtjbnVtXT1hbGw7DQoJCXJldHVybiAiW1x0dWJiY29kZXBsYWNlXyIrY251bSsiXHRd
IjsNCgl9KTsNCg0KCXNIdG1sPXNIdG1sLnJlcGxhY2UoL1xbKFwvPykoYnx1fGl8c3xzdXB8
c3ViKVxdL2lnLCc8JDEkMj4nKTsNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9cW0ZPTlQtQ09M
T1Jccyo9XHMqKFteXF0iXSs/KSg/OiJbXlxdXSo/KT9ccypcXS9pZywnPGZvbnQgY29sb3I9
IiQxIj4nKTsNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9cW2ZvbnQtZmFjZVxzKj1ccyooW15c
XSJdKz8pKD86IlteXF1dKj8pP1xzKlxdL2lnLCc8Zm9udCBmYWNlPSIkMSI+Jyk7DQoJc0h0
bWw9c0h0bWwucmVwbGFjZSgvXFtcLyhjb2xvcnxmb250KVxdL2lnLCc8L2ZvbnQ+Jyk7DQoJ
c0h0bWw9c0h0bWwucmVwbGFjZSgvXFtmb250LXNpemVccyo9XHMqKFteXF0iXSs/KSg/OiJb
XlxdXSo/KT9ccypcXS9pZyxmdW5jdGlvbihhbGwsc2l6ZSl7DQoJCWlmKHNpemUubWF0Y2go
L15cZCskLykpc2l6ZT1hcnJGb250c2l6ZVtzaXplLTFdOw0KCQlyZXR1cm4gJzxzcGFuIHN0
eWxlPSJmb250LXNpemU6JytzaXplKyc7Ij4nOw0KCX0pOw0KCXNIdG1sPXNIdG1sLnJlcGxh
Y2UoL1xbZm9udC1iYWNrXHMqPVxzKihbXlxdIl0rPykoPzoiW15cXV0qPyk/XHMqXF0vaWcs
JzxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiQxOyI+Jyk7DQoJc0h0bWw9c0h0bWwu
cmVwbGFjZSgvXFtcLyhzaXplfGJhY2spXF0vaWcsJzwvc3Bhbj4nKTsNCglmb3IoaT0wO2k8
MztpKyspc0h0bWw9c0h0bWwucmVwbGFjZSgvXFthbGlnblxzKj1ccyooW15cXSJdKz8pKD86
IlteXF1dKj8pP1xzKlxdKCgoPyFcW2FsaWduKD86XHMrW15cXV0rKT9cXSlbXHNcU10pKj8p
XFtcL2FsaWduXF0vaWcsJzxwIGFsaWduPSIkMSI+JDI8L3A+Jyk7DQoJc0h0bWw9c0h0bWwu
cmVwbGFjZSgvXFtpbWdcXVxzKigoKD8hIilbXHNcU10pKz8pKD86Iltcc1xTXSo/KT9ccypc
W1wvaW1nXF0vaWcsJzxpbWcgc3JjPSIkMSIgYWx0PSIiIC8+Jyk7DQoJc0h0bWw9c0h0bWwu
cmVwbGFjZSgvXFtpbWdccyo9KFteLFxdXSopKD86XHMqLFxzKihcZColPylccyosXHMqKFxk
KiU/KVxzKik/KD86LD9ccyooXHcrKSk/XHMqXF1ccyooKCg/ISIpW1xzXFNdKSs/KSg/OiJb
XHNcU10qKT9ccypcW1wvaW1nXF0vaWcsZnVuY3Rpb24oYWxsLGFsdCxwMSxwMixwMyxzcmMp
ew0KCQl2YXIgc3RyPSc8aW1nIHNyYz0iJytzcmMrJyIgYWx0PSInK2FsdCsnIicsYT1wMz9w
MzooIWlzTnVtKHAxKT9wMTonJyk7DQoJCWlmKGlzTnVtKHAxKSlzdHIrPScgd2lkdGg9Iicr
cDErJyInOw0KCQlpZihpc051bShwMikpc3RyKz0nIGhlaWdodD0iJytwMisnIicNCgkJaWYo
YSlzdHIrPScgYWxpZ249IicrYSsnIic7DQoJCXN0cis9JyAvPic7DQoJCXJldHVybiBzdHI7
DQoJfSk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFtmXF1ccyooW15cXSJdKz8pKD86Ilte
XF1dKj8pP1xzKlwvXFtcL2ZcXF0vaWcsJzxpbWcgZW1vdD0iJDEiIC8+Jyk7DQoJc0h0bWw9
c0h0bWwucmVwbGFjZSgvXFt1cmxcXVxzKigoKD8hIilbXHNcU10pKj8pKD86Iltcc1xTXSo/
KT9ccypcW1wvdXJsXF0vaWcsJzxhIGhyZWY9IiQxIj4kMTwvYT4nKTsNCglzSHRtbD1zSHRt
bC5yZXBsYWNlKC9cW3VybFxzKj1ccyooW15cXSJdKz8pKD86IlteXF1dKj8pP1xzKlxdXHMq
KFtcc1xTXSo/KVxzKlxbXC91cmxcXS9pZywnPGEgaHJlZj0iJDEiPiQyPC9hPicpOw0KCXNI
dG1sPXNIdG1sLnJlcGxhY2UoL1xbZW1haWxcXVxzKigoKD8hIilbXHNcU10pKz8pKD86Iltc
c1xTXSo/KT9ccypcW1wvZW1haWxcXS9pZywnPGEgaHJlZj0ibWFpbHRvOiQxIj4kMTwvYT4n
KTsNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9cW2VtYWlsXHMqPVxzKihbXlxdIl0rPykoPzoi
W15cXV0qPyk/XHMqXF1ccyooW1xzXFNdKz8pXHMqXFtcL2VtYWlsXF0vaWcsJzxhIGhyZWY9
Im1haWx0bzokMSI+JDI8L2E+Jyk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFtxdW90ZVxd
L2lnLCc8YmxvY2txdW90ZT4nKTsNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9cW1wvcXVvdGVc
XS9pZywnPC9ibG9ja3F1b3RlPicpOw0KCXNIdG1sPXNIdG1sLnJlcGxhY2UoL1xbZmxhc2hc
cyooPzo9XHMqKFxkKylccyosXHMqKFxkKylccyopP1xdXHMqKCgoPyEiKVtcc1xTXSkrPyko
PzoiW1xzXFNdKj8pP1xzKlxbXC9mbGFzaFxdL2lnLGZ1bmN0aW9uKGFsbCx3LGgsdXJsKXsN
CgkJaWYoIXcpdz00ODA7aWYoIWgpaD00MDA7DQoJCXJldHVybiAnPGVtYmVkIHR5cGU9ImFw
cGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBzcmM9IicrdXJsKyciIHdtb2RlPSJvcGFx
dWUiIHF1YWxpdHk9ImhpZ2giIGJnY29sb3I9IiNmZmZmZmYiIG1lbnU9ImZhbHNlIiBwbGF5
PSJ0cnVlIiBsb29wPSJ0cnVlIiB3aWR0aD0iJyt3KyciIGhlaWdodD0iJytoKyciLz4nOw0K
CX0pOw0KCXNIdG1sPXNIdG1sLnJlcGxhY2UoL1xbbWVkaWFccyooPzo9XHMqKFxkKylccyos
XHMqKFxkKylccyooPzosXHMqKFxkKylccyopPyk/XF1ccyooKCg/ISIpW1xzXFNdKSs/KSg/
OiJbXHNcU10qPyk/XHMqXFtcL21lZGlhXF0vaWcsZnVuY3Rpb24oYWxsLHcsaCxwbGF5LHVy
bCl7DQoJCWlmKCF3KXc9NDgwO2lmKCFoKWg9NDAwOw0KCQlyZXR1cm4gJzxlbWJlZCB0eXBl
PSJhcHBsaWNhdGlvbi94LW1wbGF5ZXIyIiBzcmM9IicrdXJsKyciIGVuYWJsZWNvbnRleHRt
ZW51PSJmYWxzZSIgYXV0b3N0YXJ0PSInKyhwbGF5PT0nMSc/J3RydWUnOidmYWxzZScpKyci
IHdpZHRoPSInK3crJyIgaGVpZ2h0PSInK2grJyIvPic7DQoJfSk7DQoJc0h0bWw9c0h0bWwu
cmVwbGFjZSgvXFt0YWJsZVxzKig/Oj1ccyooXGR7MSw0fSU/KVxzKig/OixccyooW15cXSJd
KykoPzoiW15cXV0qPyk/KT8pP1xzKlxdL2lnLGZ1bmN0aW9uKGFsbCx3LGIpew0KCQl2YXIg
c3RyPSc8dGFibGUnOw0KCQlpZih3KXN0cis9JyB3aWR0aD0iJyt3KyciJzsNCgkJaWYoYilz
dHIrPScgYmdjb2xvcj0iJytiKyciJzsNCgkJcmV0dXJuIHN0cisnPic7DQoJfSk7DQoJc0h0
bWw9c0h0bWwucmVwbGFjZSgvXFt0clxzKig/Oj1ccyooW15cXSJdKz8pKD86IlteXF1dKj8p
Pyk/XHMqXF0vaWcsZnVuY3Rpb24oYWxsLGJnKXsNCgkJcmV0dXJuICc8dHInKyhiZz8nIGJn
Y29sb3I9IicrYmcrJyInOicnKSsnPic7DQoJfSk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgv
XFt0ZFxzKig/Oj1ccyooXGR7MSwyfSlccyosXHMqKFxkezEsMn0pXHMqKD86LFxzKihcZHsx
LDR9JT8pKT8pP1xzKlxdL2lnLGZ1bmN0aW9uKGFsbCxjb2wscm93LHcpew0KCQlyZXR1cm4g
Jzx0ZCcrKGNvbD4xPycgY29sc3Bhbj0iJytjb2wrJyInOicnKSsocm93PjE/JyByb3dzcGFu
PSInK3JvdysnIic6JycpKyh3Pycgd2lkdGg9IicrdysnIic6JycpKyc+JzsNCgl9KTsNCglz
SHRtbD1zSHRtbC5yZXBsYWNlKC9cW1wvKHRhYmxlfHRyfHRkKVxdL2lnLCc8LyQxPicpOw0K
CQ0KCXNIdG1sPXNIdG1sLnJlcGxhY2UoL1xbXCpcXSgoPzooPyFcW1wqXF18XFtcL2xpc3Rc
XXxcW2xpc3RccyooPzo9W15cXV0rKT9cXSlbXHNcU10pKykvaWcsJzxsaT4kMTwvbGk+Jyk7
DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFtsaXN0XHMqKD86PVxzKihbXlxdIl0rPykoPzoi
W15cXV0qPyk/KT9ccypcXS9pZyxmdW5jdGlvbihhbGwsdHlwZSl7DQoJCXZhciBzdHI9Jzx1
bCc7DQoJCWlmKHR5cGUpc3RyKz0nIHR5cGU9IicrdHlwZSsnIic7DQoJCXJldHVybiBzdHIr
Jz4nOw0KCX0pOw0KCXNIdG1sPXNIdG1sLnJlcGxhY2UoL1xbXC9saXN0XF0vaWcsJzwvdWw+
Jyk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFtoclwvXF0vaWcsJzxociAvPicpOw0KCQ0K
CWZvcihpPTE7aTw9Y251bTtpKyspc0h0bWw9c0h0bWwucmVwbGFjZSgiW1x0dWJiY29kZXBs
YWNlXyIraSsiXHRdIiwgYXJyY29kZVtpXSk7DQoNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC8o
Xnw8XC8/XHcrKD86XHMrW14+XSo/KT8+KShbXjwkXSspL2lnLCBmdW5jdGlvbihhbGwsdGFn
LHRleHQpew0KCQlyZXR1cm4gdGFnK3RleHQucmVwbGFjZSgvW1x0IF0vZyxmdW5jdGlvbihj
KXtyZXR1cm4geydcdCc6JyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOycsJyAnOicmbmJzcDsnfVtjXTt9KTsNCgl9KTsNCglmdW5jdGlvbiBpc051
bShzKXtpZihzIT1udWxsJiZzIT0nJylyZXR1cm4gIWlzTmFOKHMpO2Vsc2UgcmV0dXJuIGZh
bHNlO30NCgkNCglyZXR1cm4gc0h0bWw7DQp9DQoNCmZ1bmN0aW9uIGh0bWwydWJiKHNIdG1s
KQ0Kew0KCXZhciByZWdTcmM9L1xzK3NyY1xzKj1ccyooWyInXT8pXHMqKC4rPylccypcMShc
c3wkKS9pLHJlZ1dpZHRoPS9ccyt3aWR0aFxzKj1ccyooWyInXT8pXHMqKFxkKyg/OlwuXGQr
KT8lPylccypcMShcc3wkKS9pLHJlZ0hlaWdodD0vXHMraGVpZ2h0XHMqPVxzKihbIiddPylc
cyooXGQrKD86XC5cZCspPyU/KVxzKlwxKFxzfCQpL2kscmVnQmc9Lyg/OmJhY2tncm91bmR8
YmFja2dyb3VuZC1jb2xvcnxiZ2NvbG9yKVxzKls6PV1ccyooWyInXT8pXHMqKChyZ2Jccypc
KFxzKlxkezEsM30lPyxccypcZHsxLDN9JT9ccyosXHMqXGR7MSwzfSU/XHMqXCkpfCgjWzAt
OWEtZl17Myw2fSl8KFthLXpdezEsMjB9KSlccypcMS9pDQoJdmFyIGksc1VCQj1TdHJpbmco
c0h0bWwpLGFycmNvZGU9bmV3IEFycmF5KCksY251bT0wOw0KDQoJc1VCQj1zVUJCLnJlcGxh
Y2UoL1xzKlxyP1xuXHMqL2csJycpOw0KCQ0KCXNVQkIgPSBzVUJCLnJlcGxhY2UoLzwoc2Ny
aXB0fHN0eWxlKShccytbXj5dKj8pPz5bXHNcU10qPzxcL1wxPi9pZywgJycpOw0KCXNVQkIg
PSBzVUJCLnJlcGxhY2UoLzwhLS1bXHNcU10qPy0tPi9pZywnJyk7DQoNCglzVUJCPXNVQkIu
cmVwbGFjZSgvPGJyKFxzK1tePl0qKT9cLz8+L2lnLCJcclxuIik7DQoJDQoJc1VCQj1zVUJC
LnJlcGxhY2UoL1xbY29kZVxzKig9XHMqKFteXF1dKz8pKT9cXShbXHNcU10qPylcW1wvY29k
ZVxdL2lnLGZ1bmN0aW9uKGFsbCx0LGMpey8vY29kZeeJueauiuWkhOeQhg0KCQljbnVtKys7
YXJyY29kZVtjbnVtXT1hbGw7DQoJCXJldHVybiAiW1x0dWJiY29kZXBsYWNlXyIrY251bSsi
XHRdIjsNCgl9KTsNCgkNCglzVUJCPXNVQkIucmVwbGFjZSgvPChcLz8pKGJ8dXxpfHMpKFxz
K1tePl0qPyk/Pi9pZywnWyQxJDJdJyk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzwoXC8/KXN0
cm9uZyhccytbXj5dKj8pPz4vaWcsJ1skMWJdJyk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzwo
XC8/KWVtKFxzK1tePl0qPyk/Pi9pZywnWyQxaV0nKTsNCglzVUJCPXNVQkIucmVwbGFjZSgv
PChcLz8pKHN0cmlrZXxkZWwpKFxzK1tePl0qPyk/Pi9pZywnWyQxc10nKTsNCglzVUJCPXNV
QkIucmVwbGFjZSgvPChcLz8pKHN1cHxzdWIpKFxzK1tePl0qPyk/Pi9pZywnWyQxJDJdJyk7
DQoNCgkvL2ZvbnTovax1YmINCglmdW5jdGlvbiBmb250MnViYihhbGwsdGFnLGF0dHJzLGNv
bnRlbnQpDQoJew0KCQlpZighYXR0cnMpcmV0dXJuIGNvbnRlbnQ7DQoJCXZhciBhcnJTdGFy
dD1bXSxhcnJFbmQ9W107DQoJCXZhciBtYXRjaDsNCgkJbWF0Y2g9YXR0cnMubWF0Y2goLyBm
YWNlXHMqPVxzKiJccyooW14iXSspXHMqIi9pKTsNCgkJaWYobWF0Y2gpew0KCQkJYXJyU3Rh
cnQucHVzaCgnW2ZvbnQtZmFjZT0nK21hdGNoWzFdKyddJyk7DQoJCQlhcnJFbmQucHVzaCgn
Wy9mb250LWZhY2VdJyk7DQoJCX0NCgkJbWF0Y2g9YXR0cnMubWF0Y2goLyBzaXplXHMqPVxz
KiJccyooXGQrKVxzKiIvaSk7DQoJCWlmKG1hdGNoKXsNCgkJCWFyclN0YXJ0LnB1c2goJ1tm
b250LXNpemU9JyttYXRjaFsxXSsnXScpOw0KCQkJYXJyRW5kLnB1c2goJ1svZm9udC1zaXpl
XScpOw0KCQl9DQoJCW1hdGNoPWF0dHJzLm1hdGNoKC8gY29sb3Jccyo9XHMqIlxzKihbXiJd
KylccyoiL2kpOw0KCQlpZihtYXRjaCl7DQoJCQlhcnJTdGFydC5wdXNoKCdbRk9OVC1DT0xP
Uj0nK2Zvcm1hdENvbG9yKG1hdGNoWzFdKSsnXScpOw0KCQkJYXJyRW5kLnB1c2goJ1svRk9O
VC1DT0xPUl0nKTsNCgkJfQ0KCQlyZXR1cm4gYXJyU3RhcnQuam9pbignJykrY29udGVudCth
cnJFbmQuam9pbignJyk7DQoJfQ0KCXNVQkIgPSBzVUJCLnJlcGxhY2UoLzwoZm9udCkoXHMr
W14+XSo/KT8+KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+
KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxz
K1tePl0qPyk/PilbXHNcU10pKj88XC9cMT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLGZvbnQy
dWJiKTsvL+esrDPlsYINCglzVUJCID0gc1VCQi5yZXBsYWNlKC88KGZvbnQpKFxzK1tePl0q
Pyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8
XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPzxcL1wxPikqPyk8XC9cMT4vaWcsZm9udDJ1YmIp
Oy8v56ysMuWxgg0KCXNVQkIgPSBzVUJCLnJlcGxhY2UoLzwoZm9udCkoXHMrW14+XSo/KT8+
KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPyk8XC9cMT4vaWcsZm9udDJ1YmIpOy8v
5pyA6YeM5bGCDQoNCglmb3IoaT0wO2k8MztpKyspc1VCQj1zVUJCLnJlcGxhY2UoLzwoc3Bh
bikoPzpccytbXj5dKj8pP1xzK3N0eWxlXHMqPVxzKiIoKD86W14iXSo/OykqXHMqKD86Zm9u
dC1mYW1pbHl8Zm9udC1zaXplfGNvbG9yfGJhY2tncm91bmR8YmFja2dyb3VuZC1jb2xvcilc
cyo6W14iXSopIig/OiBbXj5dKyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwx
KFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/
KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+KSo/KTxc
L1wxPi9pZyxmdW5jdGlvbihhbGwsdGFnLHN0eWxlLGNvbnRlbnQpew0KCQl2YXIgZmFjZT1z
dHlsZS5tYXRjaCgvKD86Xnw7KVxzKmZvbnQtZmFtaWx5XHMqOlxzKihbXjtdKykvaSksc2l6
ZT1zdHlsZS5tYXRjaCgvKD86Xnw7KVxzKmZvbnQtc2l6ZVxzKjpccyooW147XSspL2kpLGNv
bG9yPXN0eWxlLm1hdGNoKC8oPzpefDspXHMqY29sb3Jccyo6XHMqKFteO10rKS9pKSxiYWNr
PXN0eWxlLm1hdGNoKC8oPzpefDspXHMqKD86YmFja2dyb3VuZHxiYWNrZ3JvdW5kLWNvbG9y
KVxzKjpccyooW147XSspL2kpLHN0cj1jb250ZW50Ow0KCQl2YXIgYXJyU3RhcnQ9W10sYXJy
RW5kPVtdOw0KCQlpZihmYWNlKXsNCgkJCWFyclN0YXJ0LnB1c2goJ1tmb250LWZhY2U9Jytm
YWNlWzFdKyddJyk7DQoJCQlhcnJFbmQucHVzaCgnWy9mb250LWZhY2VdJyk7DQoJCX0NCgkJ
aWYoc2l6ZSl7DQoJCQlhcnJTdGFydC5wdXNoKCdbZm9udC1zaXplPScrc2l6ZVsxXSsnXScp
Ow0KCQkJYXJyRW5kLnB1c2goJ1svZm9udC1zaXplXScpOw0KCQl9DQoJCWlmKGNvbG9yKXsN
CgkJCWFyclN0YXJ0LnB1c2goJ1tGT05ULUNPTE9SPScrZm9ybWF0Q29sb3IoY29sb3JbMV0p
KyddJyk7DQoJCQlhcnJFbmQucHVzaCgnWy9GT05ULUNPTE9SXScpOw0KCQl9DQoJCWlmKGJh
Y2spew0KCQkJYXJyU3RhcnQucHVzaCgnW2ZvbnQtYmFjaz0nK2Zvcm1hdENvbG9yKGJhY2tb
MV0pKyddJyk7DQoJCQlhcnJFbmQucHVzaCgnWy9mb250LWJhY2tdJyk7DQoJCX0NCgkJcmV0
dXJuIGFyclN0YXJ0LmpvaW4oJycpK3N0cithcnJFbmQuam9pbignJyk7DQoJfSk7DQoJZnVu
Y3Rpb24gZm9ybWF0Q29sb3IoYykNCgl7DQoJCXZhciBtYXRjaHM7DQoJCWlmKG1hdGNocz1j
Lm1hdGNoKC9ccypyZ2JccypcKFxzKihcZCspXHMqLFxzKihcZCspXHMqLFxzKihcZCspXHMq
XCkvaSkpe2M9KG1hdGNoc1sxXSo2NTUzNittYXRjaHNbMl0qMjU2K21hdGNoc1szXSoxKS50
b1N0cmluZygxNik7d2hpbGUoYy5sZW5ndGg8NiljPScwJytjO2M9JyMnK2M7fQ0KCQljPWMu
cmVwbGFjZSgvXiMoWzAtOWEtZl0pKFswLTlhLWZdKShbMC05YS1mXSkkL2ksJyMkMSQxJDIk
MiQzJDMnKTsNCgkJcmV0dXJuIGM7DQoJfQ0KCWZvcihpPTA7aTwzO2krKylzVUJCPXNVQkIu
cmVwbGFjZSgvPChkaXZ8cCkoPzpccytbXj5dKj8pP1tccyInO11ccyooPzp0ZXh0LSk/YWxp
Z25ccypbPTpdXHMqKFsiJ10/KVxzKihsZWZ0fGNlbnRlcnxyaWdodClccypcMltePl0qPigo
KD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU10pKz8pPFwvXDE+L2lnLCdbYWxpZ249JDNdJDRb
L2FsaWduXScpOw0KCWZvcihpPTA7aTwzO2krKylzVUJCPXNVQkIucmVwbGFjZSgvPChjZW50
ZXIpKD86XHMrW14+XSo/KT8+KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPyk8XC9c
MT4vaWcsJ1thbGlnbj1jZW50ZXJdJDJbL2FsaWduXScpOw0KCWZvcihpPTA7aTwzO2krKylz
VUJCPXNVQkIucmVwbGFjZSgvPChwfGRpdikoPzpccytbXj5dKj8pP1xzK3N0eWxlXHMqPVxz
KiIoPzpbXjsiXSo7KSpccyp0ZXh0LWFsaWduXHMqOihbXjsiXSopW14iXSoiKD86IFtePl0r
KT8+KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxc
MShccytbXj5dKj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0q
Pyk/PilbXHNcU10pKj88XC9cMT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLGZ1bmN0aW9uKGFs
bCx0YWcsYWxpZ24sY29udGVudCl7DQoJCXJldHVybiAnW2FsaWduPScrYWxpZ24rJ10nK2Nv
bnRlbnQrJ1svYWxpZ25dJzsNCgl9KTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPGEoPzpccytb
Xj5dKj8pP1xzK2hyZWY9KFsiJ10pXHMqKC4rPylccypcMVtePl0qPlxzKihbXHNcU10qPylc
cyo8XC9hPi9pZyxmdW5jdGlvbihhbGwscSx1cmwsdGV4dCl7DQoJCWlmKCEodXJsJiZ0ZXh0
KSlyZXR1cm4gJyc7DQoJCXZhciB0YWc9J3VybCcsc3RyOw0KCQlpZih1cmwubWF0Y2goL15t
YWlsdG86L2kpKQ0KCQl7DQoJCQl0YWc9J2VtYWlsJzsNCgkJCXVybD11cmwucmVwbGFjZSgv
bWFpbHRvOiguKz8pL2ksJyQxJyk7DQoJCX0NCgkJc3RyPSdbJyt0YWc7DQoJCWlmKHVybCE9
dGV4dClzdHIrPSc9Jyt1cmw7DQoJCXJldHVybiBzdHIrJ10nK3RleHQrJ1svJyt0YWcrJ10n
Ow0KCX0pOw0KCXNVQkI9c1VCQi5yZXBsYWNlKC88aW1nKFxzK1tePl0qPylcLz8+L2lnLGZ1
bmN0aW9uKGFsbCxhdHRyKXsNCgkJdmFyIGVtb3Q9YXR0ci5tYXRjaCgvXHMrZW1vdFxzKj1c
cyooWyInXT8pXHMqKC4rPylccypcMShcc3wkKS9pKTsNCgkJaWYoZW1vdClyZXR1cm4gJ1tm
XScrZW1vdFsyXSsnWy9mXSc7DQoJCXZhciB1cmw9YXR0ci5tYXRjaChyZWdTcmMpLGFsdD1h
dHRyLm1hdGNoKC9ccythbHRccyo9XHMqKFsiJ10/KVxzKiguKj8pXHMqXDEoXHN8JCkvaSks
dz1hdHRyLm1hdGNoKHJlZ1dpZHRoKSxoPWF0dHIubWF0Y2gocmVnSGVpZ2h0KSxhbGlnbj1h
dHRyLm1hdGNoKC9ccythbGlnblxzKj1ccyooWyInXT8pXHMqKFx3KylccypcMShcc3wkKS9p
KSxzdHI9J1tpbWcnLHA9Jyc7DQoJCWlmKCF1cmwpcmV0dXJuICcnOw0KCQlwKz1hbHRbMl07
DQoJCWlmKHd8fGgpcCs9JywnKyh3P3dbMl06JycpKycsJysoaD9oWzJdOicnKTsNCgkJaWYo
YWxpZ24pcCs9JywnK2FsaWduWzJdOw0KCQlpZihwKXN0cis9Jz0nK3A7DQoJCXN0cis9J10n
K3VybFsyXSsnWy9pbWddJzsNCgkJcmV0dXJuIHN0cjsNCgl9KTsNCglzVUJCPXNVQkIucmVw
bGFjZSgvPGJsb2NrcXVvdGUoPzpccytbXj5dKj8pPz4vaWcsJ1txdW90ZV0nKTsNCglzVUJC
PXNVQkIucmVwbGFjZSgvPFwvYmxvY2txdW90ZT4vaWcsJ1svcXVvdGVdJyk7DQoJc1VCQj1z
VUJCLnJlcGxhY2UoLzxlbWJlZCgoPzpccytbXj5dKj8pPyg/OlxzK3R5cGVccyo9XHMqIlxz
KmFwcGxpY2F0aW9uXC94LXNob2Nrd2F2ZS1mbGFzaFxzKiJ8XHMrY2xhc3NpZFxzKj1ccyoi
XHMqY2xzaWQ6ZDI3Y2RiNmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUzNTQwMDAwMFxzKiIpW14+
XSo/KVwvPz4vaWcsZnVuY3Rpb24oYWxsLGF0dHIpew0KCQl2YXIgdXJsPWF0dHIubWF0Y2go
cmVnU3JjKSx3PWF0dHIubWF0Y2gocmVnV2lkdGgpLGg9YXR0ci5tYXRjaChyZWdIZWlnaHQp
LHN0cj0nW2ZsYXNoJzsNCgkJaWYoIXVybClyZXR1cm4gJyc7DQoJCWlmKHcmJmgpc3RyKz0n
PScrd1syXSsnLCcraFsyXTsNCgkJc3RyKz0nXScrdXJsWzJdOw0KCQlyZXR1cm4gc3RyKydb
L2ZsYXNoXSc7DQoJfSk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzxlbWJlZCgoPzpccytbXj5d
Kj8pPyg/OlxzK3R5cGVccyo9XHMqIlxzKmFwcGxpY2F0aW9uXC94LW1wbGF5ZXIyXHMqInxc
cytjbGFzc2lkXHMqPVxzKiJccypjbHNpZDo2YmY1MmE1Mi0zOTRhLTExZDMtYjE1My0wMGMw
NGY3OWZhYTZccyoiKVtePl0qPylcLz8+L2lnLGZ1bmN0aW9uKGFsbCxhdHRyKXsNCgkJdmFy
IHVybD1hdHRyLm1hdGNoKHJlZ1NyYyksdz1hdHRyLm1hdGNoKHJlZ1dpZHRoKSxoPWF0dHIu
bWF0Y2gocmVnSGVpZ2h0KSxwPWF0dHIubWF0Y2goL1xzK2F1dG9zdGFydFxzKj1ccyooWyIn
XT8pXHMqKC4rPylccypcMShcc3wkKS9pKSxzdHI9J1ttZWRpYScsYXV0bz0nMCc7DQoJCWlm
KCF1cmwpcmV0dXJuICcnOw0KCQlpZihwKWlmKHBbMl09PSd0cnVlJylhdXRvPScxJzsNCgkJ
aWYodyYmaClzdHIrPSc9Jyt3WzJdKycsJytoWzJdKycsJythdXRvOw0KCQlzdHIrPSddJyt1
cmxbMl07DQoJCXJldHVybiBzdHIrJ1svbWVkaWFdJzsNCgl9KTsNCglzVUJCPXNVQkIucmVw
bGFjZSgvPHRhYmxlKFxzK1tePl0qPyk/Pi9pZyxmdW5jdGlvbihhbGwsYXR0cil7DQoJCXZh
ciBzdHI9J1t0YWJsZSc7DQoJCWlmKGF0dHIpDQoJCXsNCgkJCXZhciB3PWF0dHIubWF0Y2go
cmVnV2lkdGgpLGI9YXR0ci5tYXRjaChyZWdCZyk7DQoJCQlpZih3KQ0KCQkJew0KCQkJCXN0
cis9Jz0nK3dbMl07DQoJCQkJaWYoYilzdHIrPScsJytiWzJdOw0KCQkJfQ0KCQl9DQoJCXJl
dHVybiBzdHIrJ10nOw0KCX0pOw0KCXNVQkI9c1VCQi5yZXBsYWNlKC88dHIoXHMrW14+XSo/
KT8+L2lnLGZ1bmN0aW9uKGFsbCxhdHRyKXsNCgkJdmFyIHN0cj0nW3RyJzsNCgkJaWYoYXR0
cikNCgkJew0KCQkJdmFyIGJnPWF0dHIubWF0Y2gocmVnQmcpDQoJCQlpZihiZylzdHIrPSc9
JytiZ1syXTsNCgkJfQ0KCQlyZXR1cm4gc3RyKyddJzsNCgl9KTsNCglzVUJCPXNVQkIucmVw
bGFjZSgvPCg/OnRofHRkKShccytbXj5dKj8pPz4vaWcsZnVuY3Rpb24oYWxsLGF0dHIpew0K
CQl2YXIgc3RyPSdbdGQnOw0KCQlpZihhdHRyKQ0KCQl7DQoJCQl2YXIgY29sPWF0dHIubWF0
Y2goL1xzK2NvbHNwYW5ccyo9XHMqKFsiJ10/KVxzKihcZCspXHMqXDEoXHN8JCkvaSkscm93
PWF0dHIubWF0Y2goL1xzK3Jvd3NwYW5ccyo9XHMqKFsiJ10/KVxzKihcZCspXHMqXDEoXHN8
JCkvaSksdz1hdHRyLm1hdGNoKHJlZ1dpZHRoKTsNCgkJCWNvbD1jb2w/Y29sWzJdOjE7DQoJ
CQlyb3c9cm93P3Jvd1syXToxOw0KCQkJaWYoY29sPjF8fHJvdz4xfHx3KXN0cis9Jz0nK2Nv
bCsnLCcrcm93Ow0KCQkJaWYodylzdHIrPScsJyt3WzJdOw0KCQl9DQoJCXJldHVybiBzdHIr
J10nOw0KCX0pOw0KCXNVQkI9c1VCQi5yZXBsYWNlKC88XC8odGFibGV8dHIpPi9pZywnWy8k
MV0nKTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPFwvKHRofHRkKT4vaWcsJ1svdGRdJyk7DQoJ
DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzx1bChccytbXj5dKj8pPz4vaWcsZnVuY3Rpb24oYWxs
LGF0dHIpew0KCQl2YXIgdDsNCgkJaWYoYXR0cil0PWF0dHIubWF0Y2goL1xzK3R5cGVccyo9
XHMqKFsiJ10/KVxzKiguKz8pXHMqXDEoXHN8JCkvaSk7DQoJCXJldHVybiAnW2xpc3QnKyh0
Pyc9Jyt0WzJdOicnKSsnXSc7DQoJfSk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzxvbChccytb
Xj5dKj8pPz4vaWcsJ1tsaXN0PTFdJyk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzxsaShccytb
Xj5dKj8pPz4vaWcsJ1sqXScpOw0KCXNVQkI9c1VCQi5yZXBsYWNlKC88XC9saT4vaWcsJycp
Ow0KCXNVQkI9c1VCQi5yZXBsYWNlKC88XC8odWx8b2wpPi9pZywnWy9saXN0XScpOw0KCXNV
QkI9c1VCQi5yZXBsYWNlKC88aChbMS02XSkoXHMrW14+XSo/KT8+L2lnLGZ1bmN0aW9uKGFs
bCxuKXtyZXR1cm4gJ1xyXG5cclxuW3NpemU9JysoNy1uKSsnXVtiXSd9KTsNCglzVUJCPXNV
QkIucmVwbGFjZSgvPFwvaFsxLTZdPi9pZywnWy9iXVsvc2l6ZV1cclxuXHJcbicpOw0KCXNV
QkI9c1VCQi5yZXBsYWNlKC88YWRkcmVzcyhccytbXj5dKj8pPz4vaWcsJ1xyXG5baV0nKTsN
CglzVUJCPXNVQkIucmVwbGFjZSgvPFwvYWRkcmVzcz4vaWcsJ1tpXVxyXG4nKTsNCglzVUJC
PXNVQkIucmVwbGFjZSgvPGhyKFxzK1tePl0qPyk/XC8+L2lnLCdbaHIvXScpOw0KDQoJZm9y
KGk9MDtpPDM7aSsrKXNVQkI9c1VCQi5yZXBsYWNlKC88KHApKD86XHMrW14+XSo/KT8+KCgo
PyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytb
Xj5dKj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/Pilb
XHNcU10pKj88XC9cMT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLCJcclxuXHJcbiQyXHJcblxy
XG4iKTsNCglmb3IoaT0wO2k8MztpKyspc1VCQj1zVUJCLnJlcGxhY2UoLzwoZGl2KSg/Olxz
K1tePl0qPyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/
PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShc
cytbXj5dKj8pPz4pW1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+KSo/KTxcL1wxPi9pZywiXHJc
biQyXHJcbiIpOw0KCQ0KCXNVQkI9c1VCQi5yZXBsYWNlKC8oKFxzfCZuYnNwOykqXHI/XG4p
ezMsfS9nLCJcclxuXHJcbiIpOy8v6ZmQ5Yi25pyA5aSaMuasoeaNouihjA0KCXNVQkI9c1VC
Qi5yZXBsYWNlKC9eKChcc3wmbmJzcDspKlxyP1xuKSsvZywnJyk7Ly/muIXpmaTlvIDlpLTm
jaLooYwNCglzVUJCPXNVQkIucmVwbGFjZSgvKChcc3wmbmJzcDspKlxyP1xuKSskL2csJycp
Oy8v5riF6Zmk57uT5bC+5o2i6KGMDQoJDQoJZm9yKGk9MTtpPD1jbnVtO2krKylzVUJCPXNV
QkIucmVwbGFjZSgiW1x0dWJiY29kZXBsYWNlXyIraSsiXHRdIiwgYXJyY29kZVtpXSk7DQoN
CglzVUJCPXNVQkIucmVwbGFjZSgvPFtePD5dKz8+L2csJycpOy8v5Yig6Zmk5omA5pyJSFRN
TOagh+etvg0KCXZhciBhcnJFbnRpdGllcz17J2x0JzonPCcsJ2d0JzonPicsJ25ic3AnOicg
JywnYW1wJzonJicsJ3F1b3QnOiciJ307DQoJc1VCQj1zVUJCLnJlcGxhY2UoLyYobHR8Z3R8
bmJzcHxhbXB8cXVvdCk7L2lnLGZ1bmN0aW9uKGFsbCx0KXtyZXR1cm4gYXJyRW50aXRpZXNb
dF07fSk7DQoJDQoJLy/muIXpmaTnqbrlhoXlrrnnmoRVQkLmoIfnrb4NCgkvL3NVQkI9c1VC
Qi5yZXBsYWNlKC9cWyhbYS16XSspKD86PVteXFtcXV0rKT9cXVxzKlxbXC9cMVxdL2lnLCcn
KTsNCgkNCglyZXR1cm4gc1VCQjsNCn0=CommentEditor\debug\xheditor-1.1.14-zh-cn.jsLyohDQogKiB4aEVkaXRvciAtIFdZU0lXWUcgWEhUTUwgRWRpdG9yDQogKiBAcmVxdWlyZXMg
alF1ZXJ5IHYxLjQuNA0KICoNCiAqIEBhdXRob3IgWWFuaXMuV2FuZzx5YW5pcy53YW5nQGdt
YWlsLmNvbT4NCiAqIEBzaXRlIGh0dHA6Ly94aGVkaXRvci5jb20vDQogKiBAbGljZW5jZSBM
R1BMKGh0dHA6Ly94aGVkaXRvci5jb20vbGljZW5zZS9sZ3BsLnR4dCkNCiAqDQogKiBAVmVy
c2lvbjogMS4xLjE0IChidWlsZCAxMjA3MDEpDQogKi8NCihmdW5jdGlvbigkLHVuZGVmaW5l
ZCl7DQppZih3aW5kb3cueGhlZGl0b3IpcmV0dXJuIGZhbHNlOy8v6Ziy5q2iSlPph43lpI3l
iqDovb0NCnZhciBhZ2VudD1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7DQp2
YXIgYk1vYmlsZT1hZ2VudC5pbmRleE9mKCdtb2JpbGUnKSE9PS0xLGJyb3dzZXI9JC5icm93
c2VyLGJyb3dlclZlcj1wYXJzZUZsb2F0KGJyb3dzZXIudmVyc2lvbiksaXNJRT1icm93c2Vy
Lm1zaWUsaXNNb3ppbGxhPWJyb3dzZXIubW96aWxsYSxpc1NhZmFyaT1icm93c2VyLnNhZmFy
aSxpc09wZXJhPWJyb3dzZXIub3BlcmE7DQp2YXIgYkFpcj1hZ2VudC5pbmRleE9mKCcgYWRv
YmVhaXIvJyk+LTE7DQp2YXIgYklPUzU9L09TIDUoX1xkKSsgbGlrZSBNYWMgT1MgWC9pLnRl
c3QoYWdlbnQpOw0KJC5mbi54aGVkaXRvcj1mdW5jdGlvbihvcHRpb25zKQ0Kew0KCQ0KCS8v
aWYoYk1vYmlsZSYmIWJJT1M1KXJldHVybiBmYWxzZTsvL+aJi+acuua1j+iniOWZqOS4jeWI
neWni+WMlue8lui+keWZqChJT1M16Zmk5aSWKQ0KCXZhciBhcnJTdWNjZXNzPVtdOw0KCXRo
aXMuZWFjaChmdW5jdGlvbigpew0KCQlpZighJC5ub2RlTmFtZSh0aGlzLCdURVhUQVJFQScp
KXJldHVybjsNCgkJaWYob3B0aW9ucz09PWZhbHNlKS8v5Y246L29DQoJCXsNCgkJCWlmKHRo
aXMueGhlZGl0b3IpDQoJCQl7DQoJCQkJdGhpcy54aGVkaXRvci5yZW1vdmUoKTsNCgkJCQl0
aGlzLnhoZWRpdG9yPW51bGw7DQoJCQl9DQoJCX0NCgkJZWxzZS8v5Yid5aeL5YyWDQoJCXsN
CgkJCWlmKCF0aGlzLnhoZWRpdG9yKQ0KCQkJew0KCQkJCXZhciB0T3B0aW9ucz0vKHsuKn0p
Ly5leGVjKCQodGhpcykuYXR0cignY2xhc3MnKSk7DQoJCQkJaWYodE9wdGlvbnMpDQoJCQkJ
ew0KCQkJCQl0cnl7dE9wdGlvbnM9ZXZhbCgnKCcrdE9wdGlvbnNbMV0rJyknKTt9Y2F0Y2go
ZXgpe307DQoJCQkJCW9wdGlvbnM9JC5leHRlbmQoe30sdE9wdGlvbnMsb3B0aW9ucyApOw0K
CQkJCX0NCgkJCQl2YXIgZWRpdG9yPW5ldyB4aGVkaXRvcih0aGlzLG9wdGlvbnMpOw0KCQkJ
CWlmKGVkaXRvci5pbml0KCkpDQoJCQkJew0KCQkJCQl0aGlzLnhoZWRpdG9yPWVkaXRvcjsN
CgkJCQkJYXJyU3VjY2Vzcy5wdXNoKGVkaXRvcik7DQoJCQkJfQ0KCQkJCWVsc2UgZWRpdG9y
PW51bGw7DQoJCQl9DQoJCQllbHNlIGFyclN1Y2Nlc3MucHVzaCh0aGlzLnhoZWRpdG9yKTsN
CgkJfQ0KCX0pOw0KCWlmKGFyclN1Y2Nlc3MubGVuZ3RoPT09MClhcnJTdWNjZXNzPWZhbHNl
Ow0KCWlmKGFyclN1Y2Nlc3MubGVuZ3RoPT09MSlhcnJTdWNjZXNzPWFyclN1Y2Nlc3NbMF07
DQoJcmV0dXJuIGFyclN1Y2Nlc3M7DQp9DQp2YXIgeENvdW50PTAsYlNob3dQYW5lbD1mYWxz
ZSxiQ2xpY2tDYW5jZWw9dHJ1ZSxiU2hvd01vZGFsPWZhbHNlLGJDaGVja0VzY0luaXQ9ZmFs
c2U7DQp2YXIgX2pQYW5lbCxfalNoYWRvdyxfakNudExpbmUsX2pQYW5lbEJ1dHRvbjsNCnZh
ciBqTW9kYWwsak1vZGFsU2hhZG93LGxheWVyU2hhZG93LGpPdmVybGF5LGpIaWRlU2VsZWN0
LG9uTW9kYWxSZW1vdmU7DQp2YXIgZWRpdG9yUm9vdDsNCiQoJ3NjcmlwdFtzcmMqPXhoZWRp
dG9yXScpLmVhY2goZnVuY3Rpb24oKXsNCgl2YXIgcz10aGlzLnNyYzsNCglpZihzLm1hdGNo
KC94aGVkaXRvclteXC9dKlwuanMvaSkpe2VkaXRvclJvb3Q9cy5yZXBsYWNlKC9bXD8jXS4q
JC8sICcnKS5yZXBsYWNlKC8oXnxbXC9cXF0pW15cL10qJC8sICckMScpO3JldHVybiBmYWxz
ZTt9DQp9KTsNCmlmKGlzSUUpew0KCS8vaWU2IOe8k+WtmOiDjOaZr+WbvueJhw0KCXRyeXtk
b2N1bWVudC5leGVjQ29tbWFuZCgnQmFja2dyb3VuZEltYWdlQ2FjaGUnLCBmYWxzZSwgdHJ1
ZSApO30NCgljYXRjaChlKXt9DQoJLy/kv67mraMganF1ZXJ5IDEuNiwxLjfns7vliJflnKhJ
RTbmtY/op4jlmajkuIvpgKDmiJB3aWR0aD0iYXV0byLpl67popjnmoTkv67mraMNCgl2YXIg
anF1ZXJ5VmVyPSQuZm4uanF1ZXJ5Ow0KCWlmKGpxdWVyeVZlciYmanF1ZXJ5VmVyLm1hdGNo
KC9eMVwuWzY3XS8pKSQuYXR0ckhvb2tzWyd3aWR0aCddPSQuYXR0ckhvb2tzWydoZWlnaHQn
XT1udWxsOw0KfQ0KDQp2YXIgc3BlY2lhbEtleXM9eyAyNzogJ2VzYycsIDk6ICd0YWInLCAz
Mjonc3BhY2UnLCAxMzogJ2VudGVyJywgODonYmFja3NwYWNlJywgMTQ1OiAnc2Nyb2xsJywN
CiAgICAgICAgICAyMDogJ2NhcHNsb2NrJywgMTQ0OiAnbnVtbG9jaycsIDE5OidwYXVzZScs
IDQ1OidpbnNlcnQnLCAzNjonaG9tZScsIDQ2OidkZWwnLA0KICAgICAgICAgIDM1OidlbmQn
LCAzMzogJ3BhZ2V1cCcsIDM0OidwYWdlZG93bicsIDM3OidsZWZ0JywgMzg6J3VwJywgMzk6
J3JpZ2h0Jyw0MDonZG93bicsDQogICAgICAgICAgMTEyOidmMScsMTEzOidmMicsIDExNDon
ZjMnLCAxMTU6J2Y0JywgMTE2OidmNScsIDExNzonZjYnLCAxMTg6J2Y3JywgMTE5OidmOCcs
IDEyMDonZjknLCAxMjE6J2YxMCcsIDEyMjonZjExJywgMTIzOidmMTInIH07DQp2YXIgaXRl
bUNvbG9ycz1bJyNGRkZGRkYnLCcjQ0NDQ0NDJywnI0MwQzBDMCcsJyM5OTk5OTknLCcjNjY2
NjY2JywnIzMzMzMzMycsJyMwMDAwMDAnLCcjRkZDQ0NDJywnI0ZGNjY2NicsJyNGRjAwMDAn
LCcjQ0MwMDAwJywnIzk5MDAwMCcsJyM2NjAwMDAnLCcjMzMwMDAwJywnI0ZGQ0M5OScsJyNG
Rjk5NjYnLCcjRkY5OTAwJywnI0ZGNjYwMCcsJyNDQzY2MDAnLCcjOTkzMzAwJywnIzY2MzMw
MCcsJyNGRkZGOTknLCcjRkZGRjY2JywnI0ZGQ0M2NicsJyNGRkNDMzMnLCcjQ0M5OTMzJywn
Izk5NjYzMycsJyM2NjMzMzMnLCcjRkZGRkNDJywnI0ZGRkYzMycsJyNGRkZGMDAnLCcjRkZD
QzAwJywnIzk5OTkwMCcsJyM2NjY2MDAnLCcjMzMzMzAwJywnIzk5RkY5OScsJyM2NkZGOTkn
LCcjMzNGRjMzJywnIzMzQ0MwMCcsJyMwMDk5MDAnLCcjMDA2NjAwJywnIzAwMzMwMCcsJyM5
OUZGRkYnLCcjMzNGRkZGJywnIzY2Q0NDQycsJyMwMENDQ0MnLCcjMzM5OTk5JywnIzMzNjY2
NicsJyMwMDMzMzMnLCcjQ0NGRkZGJywnIzY2RkZGRicsJyMzM0NDRkYnLCcjMzM2NkZGJywn
IzMzMzNGRicsJyMwMDAwOTknLCcjMDAwMDY2JywnI0NDQ0NGRicsJyM5OTk5RkYnLCcjNjY2
NkNDJywnIzY2MzNGRicsJyM2NjAwQ0MnLCcjMzMzMzk5JywnIzMzMDA5OScsJyNGRkNDRkYn
LCcjRkY5OUZGJywnI0NDNjZDQycsJyNDQzMzQ0MnLCcjOTkzMzk5JywnIzY2MzM2NicsJyMz
MzAwMzMnXTsNCnZhciBhcnJCbG9ja3RhZz1be246J3AnLHQ6J+aZrumAmuauteiQvSd9LHtu
OidoMScsdDon5qCH6aKYMSd9LHtuOidoMicsdDon5qCH6aKYMid9LHtuOidoMycsdDon5qCH
6aKYMyd9LHtuOidoNCcsdDon5qCH6aKYNCd9LHtuOidoNScsdDon5qCH6aKYNSd9LHtuOido
NicsdDon5qCH6aKYNid9LHtuOidwcmUnLHQ6J+W3sue8luaOkuagvOW8jyd9LHtuOidhZGRy
ZXNzJyx0OiflnLDlnYAnfV07DQp2YXIgYXJyRm9udG5hbWU9W3tuOiflrovkvZMnLGM6J1Np
bVN1bid9LHtuOifku7/lrovkvZMnLGM6J0ZhbmdTb25nX0dCMjMxMid9LHtuOifpu5HkvZMn
LGM6J1NpbUhlaSd9LHtuOifmpbfkvZMnLGM6J0thaVRpX0dCMjMxMid9LHtuOiflvq7ova/p
m4Xpu5EnLGM6J01pY3Jvc29mdCBZYUhlaSd9LHtuOidBcmlhbCd9LHtuOidBcmlhbCBCbGFj
ayd9LHtuOidDb21pYyBTYW5zIE1TJ30se246J0NvdXJpZXIgTmV3J30se246J1N5c3RlbSd9
LHtuOidUaW1lcyBOZXcgUm9tYW4nfSx7bjonVGFob21hJ30se246J1ZlcmRhbmEnfV07DQp2
YXIgYXJyRm9udHNpemU9W3tuOid4LXNtYWxsJyxzOicxMHB4Jyx0OifmnoHlsI8nfSx7bjon
c21hbGwnLHM6JzEycHgnLHQ6J+eJueWwjyd9LHtuOidtZWRpdW0nLHM6JzE2cHgnLHQ6J+Ww
jyd9LHtuOidsYXJnZScsczonMThweCcsdDon5LitJ30se246J3gtbGFyZ2UnLHM6JzI0cHgn
LHQ6J+Wkpyd9LHtuOid4eC1sYXJnZScsczonMzJweCcsdDon54m55aSnJ30se246Jy13ZWJr
aXQteHh4LWxhcmdlJyxzOic0OHB4Jyx0OifmnoHlpKcnfV07DQp2YXIgbWVudUFsaWduPVt7
czon5bem5a+56b2QJyx2OidqdXN0aWZ5bGVmdCd9LHtzOiflsYXkuK0nLHY6J2p1c3RpZnlj
ZW50ZXInfSx7czon5Y+z5a+56b2QJyx2OidqdXN0aWZ5cmlnaHQnfSx7czon5Lik56uv5a+5
6b2QJyx2OidqdXN0aWZ5ZnVsbCd9XSxtZW51TGlzdD1be3M6J+aVsOWtl+WIl+ihqCcsdjon
aW5zZXJ0T3JkZXJlZExpc3QnfSx7czon56ym5Y+35YiX6KGoJyx2OidpbnNlcnRVbm9yZGVy
ZWRMaXN0J31dOw0KdmFyIGh0bWxQYXN0ZXRleHQ9JzxkaXY+PGxhYmVsIGZvcj0ieGhlUGFz
dGV0ZXh0VmFsdWUiPuS9v+eUqOmUruebmOW/q+aNt+mUrihDdHJsK1Yp5oqK5YaF5a6557KY
6LS05Yiw5pa55qGG6YeM77yM5oyJIOehruWumjwvbGFiZWw+PC9kaXY+PGRpdj48dGV4dGFy
ZWEgaWQ9InhoZVBhc3RldGV4dFZhbHVlIiB3cmFwPSJzb2Z0IiBzcGVsbGNoZWNrPSJmYWxz
ZSIgc3R5bGU9IndpZHRoOjMwMHB4O2hlaWdodDoxMDBweDsiIC8+PC9kaXY+PGRpdiBzdHls
ZT0idGV4dC1hbGlnbjpyaWdodDsiPjxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJ4aGVTYXZl
IiB2YWx1ZT0i56Gu5a6aIiAvPjwvZGl2Pic7DQp2YXIgaHRtbExpbms9JzxkaXY+PGxhYmVs
IGZvcj0ieGhlTGlua1VybCI+6ZO+5o6l5Zyw5Z2AOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0
ZXh0IiBpZD0ieGhlTGlua1VybCIgdmFsdWU9Imh0dHA6Ly8iIGNsYXNzPSJ4aGVUZXh0IiAv
PjwvZGl2PjxkaXY+PGxhYmVsIGZvcj0ieGhlTGlua1RhcmdldCI+5omT5byA5pa55byPOiA8
L2xhYmVsPjxzZWxlY3QgaWQ9InhoZUxpbmtUYXJnZXQiPjxvcHRpb24gc2VsZWN0ZWQ9InNl
bGVjdGVkIiB2YWx1ZT0iIj7pu5jorqQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJfYmxhbmsi
PuaWsOeql+WPozwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Il9zZWxmIj7lvZPliY3nqpflj6M8
L29wdGlvbj48b3B0aW9uIHZhbHVlPSJfcGFyZW50Ij7niLbnqpflj6M8L29wdGlvbj48L3Nl
bGVjdD48L2Rpdj48ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxsYWJlbCBmb3I9InhoZUxp
bmtUZXh0Ij7pk77mjqXmloflrZc6IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4
aGVMaW5rVGV4dCIgdmFsdWU9IiIgY2xhc3M9InhoZVRleHQiIC8+PC9kaXY+PGRpdiBzdHls
ZT0idGV4dC1hbGlnbjpyaWdodDsiPjxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJ4aGVTYXZl
IiB2YWx1ZT0i56Gu5a6aIiAvPjwvZGl2Pic7DQp2YXIgaHRtbEFuY2hvcj0nPGRpdj48bGFi
ZWwgZm9yPSJ4aGVBbmNob3JOYW1lIj7plJrngrnlkI3np7A6IDwvbGFiZWw+PGlucHV0IHR5
cGU9InRleHQiIGlkPSJ4aGVBbmNob3JOYW1lIiB2YWx1ZT0iIiBjbGFzcz0ieGhlVGV4dCIg
Lz48L2Rpdj48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0OyI+PGlucHV0IHR5cGU9ImJ1
dHRvbiIgaWQ9InhoZVNhdmUiIHZhbHVlPSLnoa7lrpoiIC8+PC9kaXY+JzsNCnZhciBodG1s
SW1nPSc8ZGl2PjxsYWJlbCBmb3I9InhoZUltZ1VybCI+5Zu+54mH5paH5Lu2OiA8L2xhYmVs
PjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlSW1nVXJsIiB2YWx1ZT0iaHR0cDovLyIgY2xh
c3M9InhoZVRleHQiIC8+PC9kaXY+PGRpdj48ZGl2PjxsYWJlbCBmb3I9InhoZUltZ0FsdCI+
5pu/5o2i5paH5pysOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlSW1nQWx0
IiAvPjwvZGl2PjxkaXY+PGxhYmVsIGZvcj0ieGhlSW1nQWxpZ24iPuWvuem9kOaWueW8jzog
PC9sYWJlbD48c2VsZWN0IGlkPSJ4aGVJbWdBbGlnbiI+PG9wdGlvbiBzZWxlY3RlZD0ic2Vs
ZWN0ZWQiIHZhbHVlPSIiPum7mOiupDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImxlZnQiPuW3
puWvuem9kDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJpZ2h0Ij7lj7Plr7npvZA8L29wdGlv
bj48b3B0aW9uIHZhbHVlPSJ0b3AiPumhtuerrzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1p
ZGRsZSI+5bGF5LitPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYmFzZWxpbmUiPuWfuue6vzwv
b3B0aW9uPjxvcHRpb24gdmFsdWU9ImJvdHRvbSI+5bqV6L65PC9vcHRpb24+PC9zZWxlY3Q+
PC9kaXY+PGRpdj48bGFiZWwgZm9yPSJ4aGVJbWdXaWR0aCI+5a6944CA44CA5bqmOiA8L2xh
YmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlSW1nV2lkdGgiIHN0eWxlPSJ3aWR0aDo0
MHB4OyIgLz4gPGxhYmVsIGZvcj0ieGhlSW1nSGVpZ2h0Ij7pq5jjgIDjgIDluqY6IDwvbGFi
ZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4aGVJbWdIZWlnaHQiIHN0eWxlPSJ3aWR0aDo0
MHB4OyIgLz48L2Rpdj48ZGl2PjxsYWJlbCBmb3I9InhoZUltZ0JvcmRlciI+6L655qGG5aSn
5bCPOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlSW1nQm9yZGVyIiBzdHls
ZT0id2lkdGg6NDBweDsiIC8+PC9kaXY+PGRpdj48bGFiZWwgZm9yPSJ4aGVJbWdIc3BhY2Ui
PuawtOW5s+mXtOi3nTogPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InhoZUltZ0hz
cGFjZSIgc3R5bGU9IndpZHRoOjQwcHg7IiAvPiA8bGFiZWwgZm9yPSJ4aGVJbWdWc3BhY2Ui
PuWeguebtOmXtOi3nTogPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InhoZUltZ1Zz
cGFjZSIgc3R5bGU9IndpZHRoOjQwcHg7IiAvPjwvZGl2PjxkaXYgc3R5bGU9InRleHQtYWxp
Z246cmlnaHQ7Ij48aW5wdXQgdHlwZT0iYnV0dG9uIiBpZD0ieGhlU2F2ZSIgdmFsdWU9Iueh
ruWumiIgLz48L2Rpdj4nOw0KdmFyIGh0bWxGbGFzaD0nPGRpdj48bGFiZWwgZm9yPSJ4aGVG
bGFzaFVybCI+5Yqo55S75paH5Lu2OiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0i
eGhlRmxhc2hVcmwiIHZhbHVlPSJodHRwOi8vIiBjbGFzcz0ieGhlVGV4dCIgLz48L2Rpdj48
ZGl2PjxsYWJlbCBmb3I9InhoZUZsYXNoV2lkdGgiPuWuveOAgOOAgOW6pjogPC9sYWJlbD48
aW5wdXQgdHlwZT0idGV4dCIgaWQ9InhoZUZsYXNoV2lkdGgiIHN0eWxlPSJ3aWR0aDo0MHB4
OyIgdmFsdWU9IjQ4MCIgLz4gPGxhYmVsIGZvcj0ieGhlRmxhc2hIZWlnaHQiPumrmOOAgOOA
gOW6pjogPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InhoZUZsYXNoSGVpZ2h0IiBz
dHlsZT0id2lkdGg6NDBweDsiIHZhbHVlPSI0MDAiIC8+PC9kaXY+PGRpdiBzdHlsZT0idGV4
dC1hbGlnbjpyaWdodDsiPjxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJ4aGVTYXZlIiB2YWx1
ZT0i56Gu5a6aIiAvPjwvZGl2Pic7DQp2YXIgaHRtbE1lZGlhPSc8ZGl2PjxsYWJlbCBmb3I9
InhoZU1lZGlhVXJsIj7lqpLkvZPmlofku7Y6IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQi
IGlkPSJ4aGVNZWRpYVVybCIgdmFsdWU9Imh0dHA6Ly8iIGNsYXNzPSJ4aGVUZXh0IiAvPjwv
ZGl2PjxkaXY+PGxhYmVsIGZvcj0ieGhlTWVkaWFXaWR0aCI+5a6944CA44CA5bqmOiA8L2xh
YmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlTWVkaWFXaWR0aCIgc3R5bGU9IndpZHRo
OjQwcHg7IiB2YWx1ZT0iNDgwIiAvPiA8bGFiZWwgZm9yPSJ4aGVNZWRpYUhlaWdodCI+6auY
44CA44CA5bqmOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlTWVkaWFIZWln
aHQiIHN0eWxlPSJ3aWR0aDo0MHB4OyIgdmFsdWU9IjQwMCIgLz48L2Rpdj48ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOnJpZ2h0OyI+PGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9InhoZVNhdmUi
IHZhbHVlPSLnoa7lrpoiIC8+PC9kaXY+JzsNCnZhciBodG1sVGFibGU9JzxkaXY+PGxhYmVs
IGZvcj0ieGhlVGFibGVSb3dzIj7ooYzjgIDjgIDmlbA6IDwvbGFiZWw+PGlucHV0IHR5cGU9
InRleHQiIGlkPSJ4aGVUYWJsZVJvd3MiIHN0eWxlPSJ3aWR0aDo0MHB4OyIgdmFsdWU9IjMi
IC8+IDxsYWJlbCBmb3I9InhoZVRhYmxlQ29sdW1ucyI+5YiX44CA44CA5pWwOiA8L2xhYmVs
PjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ieGhlVGFibGVDb2x1bW5zIiBzdHlsZT0id2lkdGg6
NDBweDsiIHZhbHVlPSIyIiAvPjwvZGl2PjxkaXY+PGxhYmVsIGZvcj0ieGhlVGFibGVIZWFk
ZXJzIj7moIfpopjljZXlhYM6IDwvbGFiZWw+PHNlbGVjdCBpZD0ieGhlVGFibGVIZWFkZXJz
Ij48b3B0aW9uIHNlbGVjdGVkPSJzZWxlY3RlZCIgdmFsdWU9IiI+5pegPC9vcHRpb24+PG9w
dGlvbiB2YWx1ZT0icm93Ij7nrKzkuIDooYw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb2wi
PuesrOS4gOWIlzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImJvdGgiPuesrOS4gOihjOWSjOes
rOS4gOWIlzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXY+PGxhYmVsIGZvcj0ieGhlVGFi
bGVXaWR0aCI+5a6944CA44CA5bqmOiA8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0i
eGhlVGFibGVXaWR0aCIgc3R5bGU9IndpZHRoOjQwcHg7IiB2YWx1ZT0iMjAwIiAvPiA8bGFi
ZWwgZm9yPSJ4aGVUYWJsZUhlaWdodCI+6auY44CA44CA5bqmOiA8L2xhYmVsPjxpbnB1dCB0
eXBlPSJ0ZXh0IiBpZD0ieGhlVGFibGVIZWlnaHQiIHN0eWxlPSJ3aWR0aDo0MHB4OyIgdmFs
dWU9IiIgLz48L2Rpdj48ZGl2PjxsYWJlbCBmb3I9InhoZVRhYmxlQm9yZGVyIj7ovrnmoYbl
pKflsI86IDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ4aGVUYWJsZUJvcmRlciIg
c3R5bGU9IndpZHRoOjQwcHg7IiB2YWx1ZT0iMSIgLz48L2Rpdj48ZGl2PjxsYWJlbCBmb3I9
InhoZVRhYmxlQ2VsbFNwYWNpbmciPuihqOagvOmXtOi3nTogPC9sYWJlbD48aW5wdXQgdHlw
ZT0idGV4dCIgaWQ9InhoZVRhYmxlQ2VsbFNwYWNpbmciIHN0eWxlPSJ3aWR0aDo0MHB4OyIg
dmFsdWU9IjEiIC8+IDxsYWJlbCBmb3I9InhoZVRhYmxlQ2VsbFBhZGRpbmciPuihqOagvOWh
q+WFhTogPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InhoZVRhYmxlQ2VsbFBhZGRp
bmciIHN0eWxlPSJ3aWR0aDo0MHB4OyIgdmFsdWU9IjEiIC8+PC9kaXY+PGRpdj48bGFiZWwg
Zm9yPSJ4aGVUYWJsZUFsaWduIj7lr7npvZDmlrnlvI86IDwvbGFiZWw+PHNlbGVjdCBpZD0i
eGhlVGFibGVBbGlnbiI+PG9wdGlvbiBzZWxlY3RlZD0ic2VsZWN0ZWQiIHZhbHVlPSIiPum7
mOiupDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImxlZnQiPuW3puWvuem9kDwvb3B0aW9uPjxv
cHRpb24gdmFsdWU9ImNlbnRlciI+5bGF5LitPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmln
aHQiPuWPs+Wvuem9kDwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXY+PGxhYmVsIGZvcj0i
eGhlVGFibGVDYXB0aW9uIj7ooajmoLzmoIfpopg6IDwvbGFiZWw+PGlucHV0IHR5cGU9InRl
eHQiIGlkPSJ4aGVUYWJsZUNhcHRpb24iIC8+PC9kaXY+PGRpdiBzdHlsZT0idGV4dC1hbGln
bjpyaWdodDsiPjxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJ4aGVTYXZlIiB2YWx1ZT0i56Gu
5a6aIiAvPjwvZGl2Pic7DQp2YXIgaHRtbEFib3V0PSc8ZGl2IHN0eWxlPSJmb250OjEycHgg
QXJpYWw7d2lkdGg6MjQ1cHg7d29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVh
ay1hbGw7b3V0bGluZTpub25lOyIgcm9sZT0iZGlhbG9nIiB0YWJpbmRleD0iLTEiPjxwPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MjBweDtjb2xvcjojMTk5N0RGOyI+eGhFZGl0b3I8L3Nw
YW4+PGJyIC8+djEuMS4xNCAoYnVpbGQgMTIwNzAxKTwvcD48cD54aEVkaXRvcuaYr+WfuuS6
jmpRdWVyeeW8gOWPkeeahOi3qOW5s+WPsOi9u+mHj+WPr+inhuWMllhIVE1M57yW6L6R5Zmo
77yM5Z+65LqOPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xncGwuaHRt
bCIgdGFyZ2V0PSJfYmxhbmsiPkxHUEw8L2E+5byA5rqQ5Y2P6K6u5Y+R5biD44CCPC9wPjxw
PkNvcHlyaWdodCAmY29weTsgPGEgaHJlZj0iaHR0cDovL3hoZWRpdG9yLmNvbS8iIHRhcmdl
dD0iX2JsYW5rIj54aEVkaXRvci5jb208L2E+LiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD48
cD4mbmJzcDs8L3A+PHA+PGEgaHJlZj0iaHR0cDovL3d3dy56c3hzb2Z0LmNvbSIgdGFyZ2V0
PSJfYmxhbmsiPnpzeDwvYT7kuLrlhbbmt7vliqDkuoZhamF4IGVtb3Rpb27lip/og73lubbl
upTnlKjkuo5aLUJsb2cgMi4w55qE5YmN5Y+w6K+E6K665qGG44CCPC9wPjwvZGl2Pic7DQov
L3ZhciBpdGVtRW1vdHM9eydkZWZhdWx0Jzp7bmFtZTon6buY6K6kJyx3aWR0aDoyNCxoZWln
aHQ6MjQsbGluZTo3LGxpc3Q6eydzbWlsZSc6J+W+rueskScsJ3Rvbmd1ZSc6J+WQkOiIjOWk
tCcsJ3RpdHRlcic6J+WBt+eskScsJ2xhdWdoJzon5aSn56yRJywnc2FkJzon6Zq+6L+HJywn
d3JvbmdlZCc6J+WnlOWxiCcsJ2Zhc3RjcnknOiflv6vlk63kuoYnLCdjcnknOiflk60nLCd3
YWlsJzon5aSn5ZOtJywnbWFkJzon55Sf5rCUJywna25vY2snOifmlbLmiZMnLCdjdXJzZSc6
J+mqguS6uicsJ2NyYXp5Jzon5oqT54uCJywnYW5ncnknOiflj5HngasnLCdvaG15Jzon5oOK
6K62JywnYXdrd2FyZCc6J+WwtOWwrCcsJ3BhbmljJzon5oOK5oGQJywnc2h5Jzon5a6z576e
JywnY3V0ZSc6J+WPr+aAnCcsJ2VudnknOifnvqHmhZUnLCdwcm91ZCc6J+W+l+aEjycsJ3N0
cnVnZ2xlJzon5aWL5paXJywncXVpZXQnOiflronpnZknLCdzaHV0dXAnOifpl63lmLQnLCdk
b3VidCc6J+eWkemXricsJ2Rlc3Bpc2UnOifphJnop4YnLCdzbGVlcCc6J+edoeiniScsJ2J5
ZSc6J+WGjeingSd9fX07DQp2YXIgYXJyVG9vbHM9e0N1dDp7dDon5Ymq5YiHIChDdHJsK1gp
J30sQ29weTp7dDon5aSN5Yi2IChDdHJsK0MpJ30sUGFzdGU6e3Q6J+eymOi0tCAoQ3RybCtW
KSd9LFBhc3RldGV4dDp7dDon57KY6LS05paH5pysJyxoOmlzSUU/MDoxfSxCbG9ja3RhZzp7
dDon5q616JC95qCH562+JyxoOjF9LEZvbnRmYWNlOnt0OiflrZfkvZMnLGg6MX0sRm9udFNp
emU6e3Q6J+Wtl+S9k+Wkp+WwjycsaDoxfSxCb2xkOnt0OifliqDnspcgKEN0cmwrQiknLHM6
J0N0cmwrQid9LEl0YWxpYzp7dDon5pac5L2TIChDdHJsK0kpJyxzOidDdHJsK0knfSxVbmRl
cmxpbmU6e3Q6J+S4i+WIkue6vyAoQ3RybCtVKScsczonQ3RybCtVJ30sU3RyaWtldGhyb3Vn
aDp7dDon5Yig6Zmk57q/J30sRm9udENvbG9yOnt0OiflrZfkvZPpopzoibInLGg6MX0sQmFj
a0NvbG9yOnt0Oifog4zmma/popzoibInLGg6MX0sU2VsZWN0QWxsOnt0OiflhajpgIkgKEN0
cmwrQSknfSxSZW1vdmVmb3JtYXQ6e3Q6J+WIoOmZpOaWh+Wtl+agvOW8jyd9LEFsaWduOnt0
Oiflr7npvZAnLGg6MX0sTGlzdDp7dDon5YiX6KGoJyxoOjF9LE91dGRlbnQ6e3Q6J+WHj+Ww
kee8qei/myd9LEluZGVudDp7dDon5aKe5Yqg57yp6L+bJ30sTGluazp7dDon6LaF6ZO+5o6l
IChDdHJsK0wpJyxzOidDdHJsK0wnLGg6MX0sVW5saW5rOnt0Oiflj5bmtojotoXpk77mjqUn
fSxBbmNob3I6e3Q6J+mUmueCuScsaDoxfSxJbWc6e3Q6J+WbvueJhycsaDoxfSxGbGFzaDp7
dDonRmxhc2jliqjnlLsnLGg6MX0sTWVkaWE6e3Q6J+WkmuWqkuS9k+aWh+S7ticsaDoxfSxI
cjp7dDon5o+S5YWl5rC05bmz57q/J30sRW1vdDp7dDon6KGo5oOFJyxzOidjdHJsK2UnLGg6
MX0sVGFibGU6e3Q6J+ihqOagvCcsaDoxfSxTb3VyY2U6e3Q6J+a6kOS7o+eggSd9LFByZXZp
ZXc6e3Q6J+mihOiniCd9LFByaW50Ont0OifmiZPljbAgKEN0cmwrUCknLHM6J0N0cmwrUCd9
LEZ1bGxzY3JlZW46e3Q6J+WFqOWxj+e8lui+kSAoRXNjKScsczonRXNjJ30sQWJvdXQ6e3Q6
J+WFs+S6jiB4aEVkaXRvcid9fTsNCnZhciB0b29sc1RoZW1lcz17DQoJbWluaTonQm9sZCxJ
dGFsaWMsVW5kZXJsaW5lLFN0cmlrZXRocm91Z2gsfCxBbGlnbixMaXN0LHwsTGluayxJbWcn
LA0KCXNpbXBsZTonQmxvY2t0YWcsRm9udGZhY2UsRm9udFNpemUsQm9sZCxJdGFsaWMsVW5k
ZXJsaW5lLFN0cmlrZXRocm91Z2gsRm9udENvbG9yLEJhY2tDb2xvcix8LEFsaWduLExpc3Qs
T3V0ZGVudCxJbmRlbnQsfCxMaW5rLEltZyxFbW90JywNCglmdWxsOidDdXQsQ29weSxQYXN0
ZSxQYXN0ZXRleHQsfCxCbG9ja3RhZyxGb250ZmFjZSxGb250U2l6ZSxCb2xkLEl0YWxpYyxV
bmRlcmxpbmUsU3RyaWtldGhyb3VnaCxGb250Q29sb3IsQmFja0NvbG9yLFNlbGVjdEFsbCxS
ZW1vdmVmb3JtYXQsfCxBbGlnbixMaXN0LE91dGRlbnQsSW5kZW50LHwsTGluayxVbmxpbmss
QW5jaG9yLEltZyxGbGFzaCxNZWRpYSxIcixFbW90LFRhYmxlLHwsU291cmNlLFByZXZpZXcs
UHJpbnQsRnVsbHNjcmVlbid9Ow0KdG9vbHNUaGVtZXMubWZ1bGw9dG9vbHNUaGVtZXMuZnVs
bC5yZXBsYWNlKC9cfCgsQWxpZ24pL2ksJy8kMScpOw0KdmFyIGFyckRiQ2xpY2s9eydhJzon
TGluaycsJ2ltZyc6J0ltZycsJ2VtYmVkJzonRW1iZWQnfSx1cGxvYWRJbnB1dG5hbWU9J2Zp
bGVkYXRhJzsNCnZhciBhcnJFbnRpdGllcz17JzwnOicmbHQ7JywnPic6JyZndDsnLCciJzon
JnF1b3Q7Jywnwq4nOicmcmVnOycsJ8KpJzonJmNvcHk7J307Ly/lrp7kvZMNCnZhciByZWdF
bnRpdGllcz0vWzw+IsKuwqldL2c7DQoNCnZhciB4aGVkaXRvcj1mdW5jdGlvbih0ZXh0YXJl
YSxvcHRpb25zKQ0Kew0KCQ0KCXZhciBfdGhpcz10aGlzLF90ZXh0PXRleHRhcmVhLF9qVGV4
dD0kKF90ZXh0KSxfakZvcm09X2pUZXh0LmNsb3Nlc3QoJ2Zvcm0nKSxfalRvb2xzLF9qQXJl
YSxfd2luLF9qV2luLF9kb2MsX2pEb2M7DQoJdmFyIGJvb2ttYXJrOw0KCXZhciBiSW5pdD1m
YWxzZSxiU291cmNlPWZhbHNlLGJGdWxsc2NyZWVuPWZhbHNlLGJDbGVhblBhc3RlPWZhbHNl
LG91dGVyU2Nyb2xsLGJTaG93QmxvY2t0YWc9ZmFsc2Usc0xheW91dFN0eWxlPScnLGV2PW51
bGwsdGltZXIsYkRpc2FibGVIb3ZlckV4ZWM9ZmFsc2UsYlF1aWNrSG92ZXJFeGVjPWZhbHNl
Ow0KCXZhciBsYXN0UG9pbnQ9bnVsbCxsYXN0QW5nbGU9bnVsbDsvL+m8oOagh+aCrOWBnOaY
vuekug0KCXZhciBlZGl0b3JIZWlnaHQ9MDsNCgl2YXIgc2V0dGluZ3M9X3RoaXMuc2V0dGlu
Z3M9JC5leHRlbmQoe30seGhlZGl0b3Iuc2V0dGluZ3Msb3B0aW9ucyApOw0KCQ0KCXZhciBw
bHVnaW5zPXNldHRpbmdzLnBsdWdpbnMsc3RyUGx1Z2lucz1bXTsNCglpZihwbHVnaW5zKQ0K
CXsNCgkJYXJyVG9vbHM9JC5leHRlbmQoe30sYXJyVG9vbHMscGx1Z2lucyk7DQoJCSQuZWFj
aChwbHVnaW5zLGZ1bmN0aW9uKG4pe3N0clBsdWdpbnMucHVzaChuKTt9KTsNCgkJc3RyUGx1
Z2lucz1zdHJQbHVnaW5zLmpvaW4oJywnKTsNCgl9DQoJaWYoc2V0dGluZ3MudG9vbHMubWF0
Y2goL15ccyoobT9mdWxsfHNpbXBsZXxtaW5pKVxzKiQvaSkpDQoJew0KCQl2YXIgdG9vbHNU
aGVtZT10b29sc1RoZW1lc1skLnRyaW0oc2V0dGluZ3MudG9vbHMpXTsNCgkJc2V0dGluZ3Mu
dG9vbHM9KHNldHRpbmdzLnRvb2xzLm1hdGNoKC9tP2Z1bGwvaSkmJnBsdWdpbnMpP3Rvb2xz
VGhlbWUucmVwbGFjZSgnVGFibGUnLCdUYWJsZSwnK3N0clBsdWdpbnMpOnRvb2xzVGhlbWU7
Ly/mj5Lku7bmjqXlnKhmdWxs55qEVGFibGXlkI7pnaINCgl9DQoJLy/lpoLpnIDliKDpmaTl
hbPkuo7mjInpkq7vvIzor7flvoDlrpjmlrnnvZHnq5notK3kubDllYbkuJrmjojmnYPvvJpo
dHRwOi8veGhlZGl0b3IuY29tL3NlcnZpY2UNCgkvL+WcqOacqui0reS5sOWVhuS4muaOiOad
g+eahOaDheWGteS4i+engeiHquWOu+mZpHhoRWRpdG9y55qE54mI5p2D5L+h5oGv77yM5oKo
5bCG5b6X5LiN5Yiw5a6Y5pa55o+Q5L6b55qE5Lu75L2V5oqA5pyv5pSv5oyB5ZKMQlVH5Y+N
6aaI5pyN5Yqh77yM5bm25LiU5oiR5Lus5bCG5a+55oKo5L+d55WZ5rOV5b6L6K+J6K6855qE
5p2D5YipDQoJLy/or7fmlK/mjIHlvIDmupDpobnnm64NCglpZighc2V0dGluZ3MudG9vbHMu
bWF0Y2goLyhefCwpXHMqQWJvdXRccyooLHwkKS9pKSlzZXR0aW5ncy50b29scys9JyxBYm91
dCc7DQoJc2V0dGluZ3MudG9vbHM9c2V0dGluZ3MudG9vbHMuc3BsaXQoJywnKTsNCglpZihz
ZXR0aW5ncy5lZGl0b3JSb290KWVkaXRvclJvb3Q9c2V0dGluZ3MuZWRpdG9yUm9vdDsNCglp
ZihiQWlyPT09ZmFsc2UpZWRpdG9yUm9vdD1nZXRMb2NhbFVybChlZGl0b3JSb290LCdhYnMn
KTsNCglpZihzZXR0aW5ncy51cmxCYXNlKXNldHRpbmdzLnVybEJhc2U9Z2V0TG9jYWxVcmwo
c2V0dGluZ3MudXJsQmFzZSwnYWJzJyk7DQoNCgkvL+WfuuacrOaOp+S7tuWQjQ0KCXZhciBp
ZENTUz0neGhlQ1NTXycrc2V0dGluZ3Muc2tpbixpZENvbnRhaW5lcj0neGhlJyt4Q291bnQr
J19jb250YWluZXInLGlkVG9vbHM9J3hoZScreENvdW50KydfVG9vbCcsaWRJZnJhbWVBcmVh
PSd4aGUnK3hDb3VudCsnX2lmcmFtZWFyZWEnLGlkSWZyYW1lPSd4aGUnK3hDb3VudCsnX2lm
cmFtZScsaWRGaXhGRkN1cnNvcj0neGhlJyt4Q291bnQrJ19maXhmZmN1cnNvcic7DQoJdmFy
IGhlYWRIVE1MPScnLGJvZHlDbGFzcz0nJyxza2luUGF0aD1lZGl0b3JSb290Kyd4aGVkaXRv
cl9za2luLycrc2V0dGluZ3Muc2tpbisnLycsYXJyRW1vdHM9W10sdXJsVHlwZT1zZXR0aW5n
cy51cmxUeXBlLHVybEJhc2U9c2V0dGluZ3MudXJsQmFzZSxlbW90UGF0aD1zZXR0aW5ncy5l
bW90UGF0aCxlbW90UGF0aD1lbW90UGF0aD9lbW90UGF0aDplZGl0b3JSb290Kyd4aGVkaXRv
cl9lbW90Lycsc2VsRW1vdEdyb3VwPScnOw0KCWFyckVtb3RzPSQuZXh0ZW5kKHt9LGFyckVt
b3RzLHNldHRpbmdzLmVtb3RzKTsNCgllbW90UGF0aD1nZXRMb2NhbFVybChlbW90UGF0aCwn
cmVsJyx1cmxCYXNlP3VybEJhc2U6bnVsbCk7Ly/ov5Tlm57mnIDnn63ooajmg4Xot6/lvoQN
Cg0KCWJTaG93QmxvY2t0YWc9c2V0dGluZ3Muc2hvd0Jsb2NrdGFnOw0KCWlmKGJTaG93Qmxv
Y2t0YWcpYm9keUNsYXNzKz0nIHNob3dCbG9ja3RhZyc7DQoNCgl2YXIgYXJyU2hvcnRDdXRz
PVtdOw0KCXRoaXMuaXNsb2FkZW1vdD1mYWxzZTsNCgl0aGlzLmluaXQ9ZnVuY3Rpb24oKQ0K
CXsNCgkJLy/liqDovb3moLflvI/ooagNCgkJaWYoJCgnIycraWRDU1MpLmxlbmd0aD09PTAp
JCgnaGVhZCcpLmFwcGVuZCgnPGxpbmsgaWQ9IicraWRDU1MrJyIgcmVsPSJzdHlsZXNoZWV0
IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJytza2luUGF0aCsndWkuY3NzIiAvPicpOw0KCQkv
L+WIneWni+WMlue8lui+keWZqA0KCQl2YXIgdGV4dGFyZWFXaWR0aD1falRleHQub3V0ZXJX
aWR0aCgpLHRleHRhcmVhSGVpZ2h0PV9qVGV4dC5vdXRlckhlaWdodCgpOw0KCQl2YXIgZWRp
dG9yV2lkdGggPSBzZXR0aW5ncy53aWR0aCB8fCBfdGV4dC5zdHlsZS53aWR0aCB8fCAodGV4
dGFyZWFXaWR0aD4xMD90ZXh0YXJlYVdpZHRoOjApOw0KCQllZGl0b3JIZWlnaHQgPSBzZXR0
aW5ncy5oZWlnaHQgfHwgX3RleHQuc3R5bGUuaGVpZ2h0IHx8ICh0ZXh0YXJlYUhlaWdodD4x
MD90ZXh0YXJlYUhlaWdodDoxNTApOy8v6buY6K6k6auY5bqmDQoJCWlmKGlzKGVkaXRvcldp
ZHRoLCdudW1iZXInKSllZGl0b3JXaWR0aCs9J3B4JzsNCgkJaWYoaXMoZWRpdG9ySGVpZ2h0
LCdzdHJpbmcnKSllZGl0b3JIZWlnaHQ9ZWRpdG9ySGVpZ2h0LnJlcGxhY2UoL1teXGRdKy9n
LCcnKTsNCgkJDQoJCS8v57yW6L6R5ZmoQ1NT6IOM5pmvDQoJCXZhciBlZGl0b3JCYWNrZ3Jv
dW5kPXNldHRpbmdzLmJhY2tncm91bmQgfHwgX3RleHQuc3R5bGUuYmFja2dyb3VuZDsNCg0K
CQkvL+W3peWFt+agj+WGheWuueWIneWni+WMlg0KCQl2YXIgYXJyVG9vbHNIdG1sPVsnPHNw
YW4gY2xhc3M9InhoZUdTdGFydCIvPiddLHRvb2wsY24scmVnU2VwYXJhdG9yPS9cfHxcLy9p
Ow0KCQkkLmVhY2goc2V0dGluZ3MudG9vbHMsZnVuY3Rpb24oaSxuKQ0KCQl7DQoJCQlpZihu
Lm1hdGNoKHJlZ1NlcGFyYXRvcikpYXJyVG9vbHNIdG1sLnB1c2goJzxzcGFuIGNsYXNzPSJ4
aGVHRW5kIi8+Jyk7DQoJCQlpZihuPT09J3wnKWFyclRvb2xzSHRtbC5wdXNoKCc8c3BhbiBj
bGFzcz0ieGhlU2VwYXJhdG9yIi8+Jyk7DQoJCQllbHNlIGlmKG49PT0nLycpYXJyVG9vbHNI
dG1sLnB1c2goJzxiciAvPicpOw0KCQkJZWxzZQ0KCQkJew0KCQkJCXRvb2w9YXJyVG9vbHNb
bl07DQoJCQkJaWYoIXRvb2wpcmV0dXJuOw0KCQkJCWlmKHRvb2wuYyljbj10b29sLmM7DQoJ
CQkJZWxzZSBjbj0neGhlSWNvbiB4aGVCdG4nK247DQoJCQkJYXJyVG9vbHNIdG1sLnB1c2go
JzxzcGFuPjxhIGhyZWY9IiMiIHRpdGxlPSInK3Rvb2wudCsnIiBjbWQ9IicrbisnIiBjbGFz
cz0ieGhlQnV0dG9uIHhoZUVuYWJsZWQiIHRhYmluZGV4PSItMSIgcm9sZT0iYnV0dG9uIj48
c3BhbiBjbGFzcz0iJytjbisnIiB1bnNlbGVjdGFibGU9Im9uIiBzdHlsZT0iZm9udC1zaXpl
OjA7Y29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1pbmRlbnQ6LTk5OXB4OyI+Jyt0b29sLnQrJzwv
c3Bhbj48L2E+PC9zcGFuPicpOw0KCQkJCWlmKHRvb2wucylfdGhpcy5hZGRTaG9ydGN1dHMo
dG9vbC5zLG4pOw0KCQkJfQ0KCQkJaWYobi5tYXRjaChyZWdTZXBhcmF0b3IpKWFyclRvb2xz
SHRtbC5wdXNoKCc8c3BhbiBjbGFzcz0ieGhlR1N0YXJ0Ii8+Jyk7DQoJCX0pOw0KCQlhcnJU
b29sc0h0bWwucHVzaCgnPHNwYW4gY2xhc3M9InhoZUdFbmQiLz48YnIgLz4nKTsNCg0KCQlf
alRleHQuYWZ0ZXIoJCgnPGlucHV0IHR5cGU9InRleHQiIGlkPSInK2lkRml4RkZDdXJzb3Ir
JyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTsiIC8+PHNwYW4gaWQ9
IicraWRDb250YWluZXIrJyIgY2xhc3M9InhoZV8nK3NldHRpbmdzLnNraW4rJyIgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+PHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIg
Y2xhc3M9InhoZUxheW91dCIgc3R5bGU9IicrKGVkaXRvcldpZHRoIT0nMHB4Jz8nd2lkdGg6
JytlZGl0b3JXaWR0aCsnOyc6JycpKydoZWlnaHQ6JytlZGl0b3JIZWlnaHQrJ3B4OyIgcm9s
ZT0icHJlc2VudGF0aW9uIj48dHI+PHRkIGlkPSInK2lkVG9vbHMrJyIgY2xhc3M9InhoZVRv
b2wiIHVuc2VsZWN0YWJsZT0ib24iIHN0eWxlPSJoZWlnaHQ6MXB4OyIgcm9sZT0icHJlc2Vu
dGF0aW9uIj48L3RkPjwvdHI+PHRyPjx0ZCBpZD0iJytpZElmcmFtZUFyZWErJyIgY2xhc3M9
InhoZUlmcmFtZUFyZWEiIHJvbGU9InByZXNlbnRhdGlvbiI+PGlmcmFtZSBmcmFtZWJvcmRl
cj0iMCIgaWQ9IicraWRJZnJhbWUrJyIgc3JjPSJqYXZhc2NyaXB0OjsiIHN0eWxlPSJ3aWR0
aDoxMDAlOyI+PC9pZnJhbWU+PC90ZD48L3RyPjwvdGFibGU+PC9zcGFuPicpKTsNCgkJX2pU
b29scz0kKCcjJytpZFRvb2xzKTtfakFyZWE9JCgnIycraWRJZnJhbWVBcmVhKTsNCgkJDQoJ
CWhlYWRIVE1MPSc8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Iicrc2tpblBhdGgrJ2lmcmFtZS5jc3MiLz4nOw0KCQl2YXIgbG9hZENTUz1zZXR0aW5ncy5s
b2FkQ1NTOw0KCQlpZihsb2FkQ1NTKQ0KCQl7DQoJCQlpZihpcyhsb2FkQ1NTLCdhcnJheScp
KWZvcih2YXIgaSBpbiBsb2FkQ1NTKWhlYWRIVE1MKz0nPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSInK2xvYWRDU1NbaV0rJyIvPic7DQoJCQllbHNlDQoJCQl7DQoJCQkJaWYobG9h
ZENTUy5tYXRjaCgvXHMqPHN0eWxlKFxzK1tePl0qPyk/Pltcc1xTXSs/PFwvc3R5bGU+XHMq
L2kpKWhlYWRIVE1MKz1sb2FkQ1NTOw0KCQkJCWVsc2UgaGVhZEhUTUwrPSc8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9IicrbG9hZENTUysnIi8+JzsNCgkJCX0NCgkJfQ0KCQkNCgkJ
dmFyIGlmcmFtZUhUTUw9JzxodG1sPjxoZWFkPicraGVhZEhUTUwrJzx0aXRsZT7lj6/op4bl
jJbnvJbovpHlmagsYWx0KzHliLA56ZSuLOWIh+aNouWIsOW3peWFt+WMuix0YWLplK4s6YCJ
5oup5oyJ6ZKuLGVzY+mUrizov5Tlm57nvJbovpEgJysoc2V0dGluZ3MucmVhZFRpcD9zZXR0
aW5ncy5yZWFkVGlwOicnKSsnPC90aXRsZT4nOw0KCQlpZihlZGl0b3JCYWNrZ3JvdW5kKWlm
cmFtZUhUTUwrPSc8c3R5bGU+aHRtbHtiYWNrZ3JvdW5kOicrZWRpdG9yQmFja2dyb3VuZCsn
O308L3N0eWxlPic7DQoJCWlmcmFtZUhUTUwrPSc8L2hlYWQ+PGJvZHkgc3BlbGxjaGVjaz0i
MCIgY2xhc3M9ImVkaXRNb2RlJytib2R5Q2xhc3MrJyI+PC9ib2R5PjwvaHRtbD4nOw0KCQlf
dGhpcy53aW49X3dpbj0kKCcjJytpZElmcmFtZSlbMF0uY29udGVudFdpbmRvdzsNCgkJX2pX
aW49JChfd2luKTsNCgkJdHJ5ew0KCQkJdGhpcy5kb2M9X2RvYyA9IF93aW4uZG9jdW1lbnQ7
X2pEb2M9JChfZG9jKTsNCgkJCV9kb2Mub3BlbigpOw0KCQkJX2RvYy53cml0ZShpZnJhbWVI
VE1MKTsNCgkJCV9kb2MuY2xvc2UoKTsNCgkJCWlmKGlzSUUpX2RvYy5ib2R5LmNvbnRlbnRF
ZGl0YWJsZT0ndHJ1ZSc7DQoJCQllbHNlIF9kb2MuZGVzaWduTW9kZSA9ICdPbic7DQoJCX1j
YXRjaChlKXt9DQoJCXNldFRpbWVvdXQoc2V0T3B0cywzMDApOw0KCQlfdGhpcy5zZXRTb3Vy
Y2UoKTsNCgkJX3dpbi5zZXRJbnRlcnZhbD1udWxsOy8v6ZKI5a+5anF1ZXJ5IDEuM+aXoOaz
leaTjeS9nGlmcmFtZSB3aW5kb3fpl67popjnmoRoYWNrDQoNCgkJLy/mt7vliqDlt6Xlhbfm
oI8NCgkJX2pUb29scy5hcHBlbmQoYXJyVG9vbHNIdG1sLmpvaW4oJycpKS5iaW5kKCdtb3Vz
ZWRvd24gY29udGV4dG1lbnUnLHJldHVybkZhbHNlKS5jbGljayhmdW5jdGlvbihldmVudCkN
CgkJew0KCQkJdmFyIGpCdXR0b249JChldmVudC50YXJnZXQpLmNsb3Nlc3QoJ2EnKTsNCgkJ
CWlmKGpCdXR0b24uaXMoJy54aGVFbmFibGVkJykpDQoJCQl7DQoJCQkJY2xlYXJUaW1lb3V0
KHRpbWVyKTsvL+WPlua2iOaCrOWBnOaJp+ihjA0KCQkJCV9qVG9vbHMuZmluZCgnYScpLmF0
dHIoJ3RhYmluZGV4JywnLTEnKTsvL+aXoOmanOeijeaUr+aMgQ0KCQkJCWV2PWV2ZW50Ow0K
CQkJCV90aGlzLmV4ZWMoakJ1dHRvbi5hdHRyKCdjbWQnKSk7DQoJCQl9DQoJCQlyZXR1cm4g
ZmFsc2U7DQoJCX0pOw0KCQlfalRvb2xzLmZpbmQoJy54aGVCdXR0b24nKS5ob3ZlcihmdW5j
dGlvbihldmVudCl7Ly/pvKDmoIfmgqzlgZzmiafooYwNCgkJCXZhciBqQnV0dG9uPSQodGhp
cyksZGVsYXk9c2V0dGluZ3MuaG92ZXJFeGVjRGVsYXk7DQoJCQl2YXIgdEFuZ2xlPWxhc3RB
bmdsZTtsYXN0QW5nbGU9bnVsbDsNCgkJCWlmKGRlbGF5PT09LTF8fGJEaXNhYmxlSG92ZXJF
eGVjfHwhakJ1dHRvbi5pcygnLnhoZUVuYWJsZWQnKSlyZXR1cm4gZmFsc2U7DQoJCQlpZih0
QW5nbGUmJnRBbmdsZT4xMCkvL+ajgOa1i+ivr+aTjeS9nA0KCQkJew0KCQkJCWJEaXNhYmxl
SG92ZXJFeGVjPXRydWU7DQoJCQkJc2V0VGltZW91dChmdW5jdGlvbigpe2JEaXNhYmxlSG92
ZXJFeGVjPWZhbHNlO30sMTAwKTsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoJCQl2YXIg
Y21kPWpCdXR0b24uYXR0cignY21kJyksYkhvdmVyPWFyclRvb2xzW2NtZF0uaD09PTE7DQoJ
CQlpZighYkhvdmVyKQ0KCQkJew0KCQkJCV90aGlzLmhpZGVQYW5lbCgpOy8v56e75Yiw6Z2e
5oKs5YGc5oyJ6ZKu5LiK6ZqQ6JeP6Z2i5p2/DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0K
CQkJaWYoYlF1aWNrSG92ZXJFeGVjKWRlbGF5PTA7DQoJCQlpZihkZWxheT49MCl0aW1lcj1z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7DQoJCQkJZXY9ZXZlbnQ7DQoJCQkJbGFzdFBvaW50PXt4
OmV2LmNsaWVudFgseTpldi5jbGllbnRZfTsNCgkJCQlfdGhpcy5leGVjKGNtZCk7DQoJCQl9
LGRlbGF5KTsNCgkJfSxmdW5jdGlvbihldmVudCl7bGFzdFBvaW50PW51bGw7aWYodGltZXIp
Y2xlYXJUaW1lb3V0KHRpbWVyKTt9KS5tb3VzZW1vdmUoZnVuY3Rpb24oZXZlbnQpew0KCQkJ
aWYobGFzdFBvaW50KQ0KCQkJew0KCQkJCXZhciBkaWZmPXt4OmV2ZW50LmNsaWVudFgtbGFz
dFBvaW50LngseTpldmVudC5jbGllbnRZLWxhc3RQb2ludC55fTsNCgkJCQlpZihNYXRoLmFi
cyhkaWZmLngpPjF8fE1hdGguYWJzKGRpZmYueSk+MSkNCgkJCQl7DQoJCQkJCWlmKGRpZmYu
eD4wJiZkaWZmLnk+MCkNCgkJCQkJew0KCQkJCQkJdmFyIHRBbmdsZT1NYXRoLnJvdW5kKE1h
dGguYXRhbihkaWZmLnkvZGlmZi54KS8wLjAxNzQ1MzI5Myk7DQoJCQkJCQlpZihsYXN0QW5n
bGUpbGFzdEFuZ2xlPShsYXN0QW5nbGUrdEFuZ2xlKS8yDQoJCQkJCQllbHNlIGxhc3RBbmds
ZT10QW5nbGU7DQoJCQkJCX0NCgkJCQkJZWxzZSBsYXN0QW5nbGU9bnVsbDsNCgkJCQkJbGFz
dFBvaW50PXt4OmV2ZW50LmNsaWVudFgseTpldmVudC5jbGllbnRZfTsNCgkJCQl9DQoJCQl9
DQoJCX0pOw0KCQkvL+WIneWni+WMlumdouadvw0KCQlfalBhbmVsPSQoJyN4aGVQYW5lbCcp
Ow0KCQlfalNoYWRvdz0kKCcjeGhlU2hhZG93Jyk7DQoJCV9qQ250TGluZT0kKCcjeGhlQ250
TGluZScpOw0KCQlpZihfalBhbmVsLmxlbmd0aD09PTApDQoJCXsNCgkJCV9qUGFuZWw9JCgn
PGRpdiBpZD0ieGhlUGFuZWwiPjwvZGl2PicpLm1vdXNlZG93bihmdW5jdGlvbihldil7ZXYu
c3RvcFByb3BhZ2F0aW9uKCl9KTsNCgkJCV9qU2hhZG93PSQoJzxkaXYgaWQ9InhoZVNoYWRv
dyI+PC9kaXY+Jyk7DQoJCQlfakNudExpbmU9JCgnPGRpdiBpZD0ieGhlQ250TGluZSI+PC9k
aXY+Jyk7DQoJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7DQoJCQkJJChkb2N1bWVudC5ib2R5
KS5hcHBlbmQoX2pQYW5lbCkuYXBwZW5kKF9qU2hhZG93KS5hcHBlbmQoX2pDbnRMaW5lKTsN
CgkJCX0sMTApOw0KCQl9DQoNCgkJLy/liIfmjaLmmL7npLrljLrln58NCgkJJCgnIycraWRD
b250YWluZXIpLnNob3coKTsNCgkJX2pUZXh0LmhpZGUoKTsNCgkJX2pBcmVhLmNzcygnaGVp
Z2h0JyxlZGl0b3JIZWlnaHQtX2pUb29scy5vdXRlckhlaWdodCgpKTsNCgkJaWYoaXNJRSZi
cm93ZXJWZXI8OClzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7X2pBcmVhLmNzcygnaGVpZ2h0Jyxl
ZGl0b3JIZWlnaHQtX2pUb29scy5vdXRlckhlaWdodCgpKTt9LDEpOw0KDQoJCS8v57uR5a6a
5YaF5qC45LqL5Lu2DQoJCV9qVGV4dC5mb2N1cyhfdGhpcy5mb2N1cyk7DQoJCV9qRm9ybS5z
dWJtaXQoc2F2ZVJlc3VsdCkuYmluZCgncmVzZXQnLCBsb2FkUmVzZXQpOy8v57uR5a6a6KGo
5Y2V55qE5o+Q5Lqk5ZKM6YeN572u5LqL5Lu2DQoJCWlmKHNldHRpbmdzLnN1Ym1pdElEKSQo
JyMnK3NldHRpbmdzLnN1Ym1pdElEKS5tb3VzZWRvd24oc2F2ZVJlc3VsdCk7Ly/oh6rlrprk
uYnnu5HlrppzdWJtaXTmjInpkq4NCgkJJCh3aW5kb3cpLmJpbmQoJ3VubG9hZCBiZWZvcmV1
bmxvYWQnLHNhdmVSZXN1bHQpLmJpbmQoJ3Jlc2l6ZScsZml4RnVsbEhlaWdodCk7DQoJCSQo
ZG9jdW1lbnQpLm1vdXNlZG93bihjbGlja0NhbmNlbFBhbmVsKTsNCgkJaWYoIWJDaGVja0Vz
Y0luaXQpeyQoZG9jdW1lbnQpLmtleWRvd24oY2hlY2tFc2MpO2JDaGVja0VzY0luaXQ9dHJ1
ZTt9DQoJCV9qV2luLmZvY3VzKGZ1bmN0aW9uKCl7aWYoc2V0dGluZ3MuZm9jdXMpc2V0dGlu
Z3MuZm9jdXMoKTt9KS5ibHVyKGZ1bmN0aW9uKCl7aWYoc2V0dGluZ3MuYmx1cilzZXR0aW5n
cy5ibHVyKCk7fSk7DQoJCWlmKGlzU2FmYXJpKV9qV2luLmNsaWNrKGZpeEFwcGxlU2VsKTsN
CgkJX2pEb2MubW91c2Vkb3duKGNsaWNrQ2FuY2VsUGFuZWwpLmtleWRvd24oY2hlY2tTaG9y
dGN1dHMpLmtleXByZXNzKGZvcmNlUHRhZykuZGJsY2xpY2soY2hlY2tEYmxDbGljaykuYmlu
ZCgnbW91c2Vkb3duIGNsaWNrJyxmdW5jdGlvbihldil7X2pUZXh0LnRyaWdnZXIoZXYudHlw
ZSk7fSk7DQoJCWlmKGlzSUUpDQoJCXsNCgkJCS8vSUXmjqfku7bkuIpCYWNrc3BhY2XkvJrl
r7zoh7TpobXpnaLlkI7pgIANCgkJCV9qRG9jLmtleWRvd24oZnVuY3Rpb24oZXYpe3ZhciBy
bmc9X3RoaXMuZ2V0Um5nKCk7aWYoZXYud2hpY2g9PT04JiZybmcuaXRlbSl7JChybmcuaXRl
bSgwKSkucmVtb3ZlKCk7cmV0dXJuIGZhbHNlO319KTsNCgkJCS8v5L+u5q2jSUXmi5bliqhp
bWflpKflsI/kuI3mm7TmlrB3aWR0aOWSjGhlaWdodOWxnuaAp+WAvOeahOmXrumimA0KCQkJ
ZnVuY3Rpb24gZml4UmVzaXplKGV2KQ0KCQkJew0KCQkJCXZhciBqSW1nPSQoZXYudGFyZ2V0
KSx2Ow0KCQkJCWlmKHY9akltZy5jc3MoJ3dpZHRoJykpakltZy5jc3MoJ3dpZHRoJywnJyku
YXR0cignd2lkdGgnLHYucmVwbGFjZSgvW14wLTklXSsvZywgJycpKTsNCgkJCQlpZih2PWpJ
bWcuY3NzKCdoZWlnaHQnKSlqSW1nLmNzcygnaGVpZ2h0JywnJykuYXR0cignaGVpZ2h0Jyx2
LnJlcGxhY2UoL1teMC05JV0rL2csICcnKSk7DQoJCQl9DQoJCQlfakRvYy5iaW5kKCdjb250
cm9sc2VsZWN0JyxmdW5jdGlvbihldil7DQoJCQkJZXY9ZXYudGFyZ2V0O2lmKCEkLm5vZGVO
YW1lKGV2LCdJTUcnKSlyZXR1cm47DQoJCQkJJChldikudW5iaW5kKCdyZXNpemVlbmQnLGZp
eFJlc2l6ZSkuYmluZCgncmVzaXplZW5kJyxmaXhSZXNpemUpOw0KCQkJfSk7CQ0KCQl9DQoJ
CS8v5peg6Zqc56KN5pSv5oyBDQoJCV9qRG9jLmtleWRvd24oZnVuY3Rpb24oZSl7DQoJCQl2
YXIgd2hpY2g9ZS53aGljaDsNCgkJCWlmKGUuYWx0S2V5JiZ3aGljaD49NDkmJndoaWNoPD01
Nyl7DQoJCQkJX2pUb29scy5maW5kKCdhJykuYXR0cigndGFiaW5kZXgnLCcwJyk7DQoJCQkJ
X2pUb29scy5maW5kKCcueGhlR1N0YXJ0JykuZXEod2hpY2gtNDkpLm5leHQoKS5maW5kKCdh
JykuZm9jdXMoKTsNCgkJCQlfZG9jLnRpdGxlPSdcdUZFRkZcdUZFRkYnOw0KCQkJCXJldHVy
biBmYWxzZTsNCgkJCX0NCgkJfSkuY2xpY2soZnVuY3Rpb24oKXsNCgkJCV9qVG9vbHMuZmlu
ZCgnYScpLmF0dHIoJ3RhYmluZGV4JywnLTEnKTsNCgkJfSk7DQoJCV9qVG9vbHMua2V5ZG93
bihmdW5jdGlvbihlKXsNCgkJCXZhciB3aGljaD1lLndoaWNoOw0KCQkJaWYod2hpY2g9PTI3
KXsNCgkJCQlfalRvb2xzLmZpbmQoJ2EnKS5hdHRyKCd0YWJpbmRleCcsJy0xJyk7DQoJCQkJ
X3RoaXMuZm9jdXMoKTsNCgkJCX0NCgkJCWVsc2UgaWYoZS5hbHRLZXkmJndoaWNoPj00OSYm
d2hpY2g8PTU3KXsNCgkJCQlfalRvb2xzLmZpbmQoJy54aGVHU3RhcnQnKS5lcSh3aGljaC00
OSkubmV4dCgpLmZpbmQoJ2EnKS5mb2N1cygpOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0N
CgkJfSk7DQoJCQ0KCQl2YXIgakJvZHk9JChfZG9jLmRvY3VtZW50RWxlbWVudCk7DQoJCS8v
6Ieq5Yqo5riF55CG57KY6LS05YaF5a65DQoJCWlmKGlzT3BlcmEpakJvZHkuYmluZCgna2V5
ZG93bicsZnVuY3Rpb24oZSl7aWYoZS5jdHJsS2V5JiZlLndoaWNoPT09ODYpY2xlYW5QYXN0
ZSgpO30pOw0KCQllbHNlIGpCb2R5LmJpbmQoaXNJRT8nYmVmb3JlcGFzdGUnOidwYXN0ZScs
Y2xlYW5QYXN0ZSk7DQoJCQ0KCQkvL+emgeeUqOe8lui+keWMuuWfn+eahOa1j+iniOWZqOm7
mOiupOWPs+mUruiPnOWNlQ0KCQlpZihzZXR0aW5ncy5kaXNhYmxlQ29udGV4dG1lbnUpakJv
ZHkuYmluZCgnY29udGV4dG1lbnUnLHJldHVybkZhbHNlKTsNCgkJLy9IVE1MNee8lui+keWM
uuWfn+ebtOaOpeaLluaUvuS4iuS8oA0KCQlpZihzZXR0aW5ncy5odG1sNVVwbG9hZClqQm9k
eS5iaW5kKCdkcmFnZW50ZXIgZHJhZ292ZXInLGZ1bmN0aW9uKGV2KXt2YXIgdHlwZXM7aWYo
KHR5cGVzPWV2Lm9yaWdpbmFsRXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzKSYmJC5pbkFycmF5
KCdGaWxlcycsIHR5cGVzKSE9PS0xKXJldHVybiBmYWxzZTt9KS5iaW5kKCdkcm9wJyxmdW5j
dGlvbihldil7DQoJCQl2YXIgZGF0YVRyYW5zZmVyPWV2Lm9yaWdpbmFsRXZlbnQuZGF0YVRy
YW5zZmVyLGZpbGVMaXN0Ow0KCQkJaWYoZGF0YVRyYW5zZmVyJiYoZmlsZUxpc3Q9ZGF0YVRy
YW5zZmVyLmZpbGVzKSYmZmlsZUxpc3QubGVuZ3RoPjApew0KCQkJCXZhciBpLGNtZCxhcnJD
bWQ9WydMaW5rJywnSW1nJywnRmxhc2gnLCdNZWRpYSddLGFyckV4dD1bXSxzdHJFeHQ7DQoJ
CQkJZm9yKGkgaW4gYXJyQ21kKXsNCgkJCQkJY21kPWFyckNtZFtpXTsNCgkJCQkJaWYoc2V0
dGluZ3NbJ3VwJytjbWQrJ1VybCddJiZzZXR0aW5nc1sndXAnK2NtZCsnVXJsJ10ubWF0Y2go
L15bXiFdLiovaSkpYXJyRXh0LnB1c2goY21kKyc6LCcrc2V0dGluZ3NbJ3VwJytjbWQrJ0V4
dCddKTsvL+WFgeiuuOS4iuS8oA0KCQkJCX0NCgkJCQlpZihhcnJFeHQubGVuZ3RoPT09MCly
ZXR1cm4gZmFsc2U7Ly/npoHmraLkuIrkvKANCgkJCQllbHNlIHN0ckV4dD1hcnJFeHQuam9p
bignLCcpOw0KCQkJCWZ1bmN0aW9uIGdldENtZChmaWxlTGlzdCl7DQoJCQkJCXZhciBtYXRj
aCxmaWxlRXh0LGNtZDsNCgkJCQkJZm9yKGk9MDtpPGZpbGVMaXN0Lmxlbmd0aDtpKyspew0K
CQkJCQkJZmlsZUV4dD1maWxlTGlzdFtpXS5uYW1lLnJlcGxhY2UoLy4rXC4vLCcnKTsNCgkJ
CQkJCWlmKG1hdGNoPXN0ckV4dC5tYXRjaChuZXcgUmVnRXhwKCcoXFx3Kyk6W146XSosJytm
aWxlRXh0KycoPzosfCQpJywnaScpKSl7DQoJCQkJCQkJaWYoIWNtZCljbWQ9bWF0Y2hbMV07
DQoJCQkJCQkJZWxzZSBpZihjbWQhPT1tYXRjaFsxXSlyZXR1cm4gMjsNCgkJCQkJCX0NCgkJ
CQkJCWVsc2UgcmV0dXJuIDE7DQoJCQkJCX0NCgkJCQkJcmV0dXJuIGNtZDsJCQkJCQ0KCQkJ
CX0NCgkJCQljbWQ9Z2V0Q21kKGZpbGVMaXN0KTsNCgkJCQlpZihjbWQ9PT0xKWFsZXJ0KCfk
uIrkvKDmlofku7bnmoTmianlsZXlkI3lv4XpnIDkuLrvvJonK3N0ckV4dC5yZXBsYWNlKC9c
dys6LC9nLCcnKSk7DQoJCQkJZWxzZSBpZihjbWQ9PT0yKWFsZXJ0KCfmr4/mrKHlj6rog73m
i5bmlL7kuIrkvKDlkIzkuIDnsbvlnovmlofku7YnKTsNCgkJCQllbHNlIGlmKGNtZCl7DQoJ
CQkJCV90aGlzLnN0YXJ0VXBsb2FkKGZpbGVMaXN0LHNldHRpbmdzWyd1cCcrY21kKydVcmwn
XSwnKicsZnVuY3Rpb24oYXJyTXNnKXsNCgkJCQkJCXZhciBhcnJVcmw9W10sbXNnLG9uVXBs
b2FkPXNldHRpbmdzLm9uVXBsb2FkOw0KCQkJCQkJaWYob25VcGxvYWQpb25VcGxvYWQoYXJy
TXNnKTsvL+eUqOaIt+S4iuS8oOWbnuiwgw0KCQkJCQkJZm9yKHZhciBpPTAsYz1hcnJNc2cu
bGVuZ3RoO2k8YztpKyspew0KCQkJCQkJCW1zZz1hcnJNc2dbaV07DQoJCQkJCQkJdXJsPWlz
KG1zZywnc3RyaW5nJyk/bXNnOm1zZy51cmw7DQoJCQkJCQkJaWYodXJsLnN1YnN0cigwLDEp
PT09JyEnKXVybD11cmwuc3Vic3RyKDEpOw0KCQkJCQkJCWFyclVybC5wdXNoKHVybCk7DQoJ
CQkJCQl9DQoJCQkJCQlfdGhpcy5leGVjKGNtZCk7DQoJCQkJCQkkKCcjeGhlJytjbWQrJ1Vy
bCcpLnZhbChhcnJVcmwuam9pbignICcpKTsNCgkJCQkJCSQoJyN4aGVTYXZlJykuY2xpY2so
KTsNCgkJCQkJfSk7DQoJCQkJfQ0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfSk7DQoN
CgkJLy/mt7vliqDnlKjmiLflv6vmjbfplK4NCgkJdmFyIHNob3J0Y3V0cz1zZXR0aW5ncy5z
aG9ydGN1dHM7DQoJCWlmKHNob3J0Y3V0cykkLmVhY2goc2hvcnRjdXRzLGZ1bmN0aW9uKGtl
eSxmdW5jKXtfdGhpcy5hZGRTaG9ydGN1dHMoa2V5LGZ1bmMpO30pOw0KDQoJCXhDb3VudCsr
Ow0KCQliSW5pdD10cnVlOw0KDQoJCWlmKHNldHRpbmdzLmZ1bGxzY3JlZW4pX3RoaXMudG9n
Z2xlRnVsbHNjcmVlbigpOw0KCQllbHNlIGlmKHNldHRpbmdzLnNvdXJjZU1vZGUpc2V0VGlt
ZW91dChfdGhpcy50b2dnbGVTb3VyY2UsMjApOw0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJdGhp
cy5yZW1vdmU9ZnVuY3Rpb24oKQ0KCXsNCgkJX3RoaXMuaGlkZVBhbmVsKCk7DQoJCXNhdmVS
ZXN1bHQoKTsvL+WNuOi9veWJjeWQjOatpeacgOaWsOWGheWuueWIsHRleHRhcmVhDQoJCQ0K
CQkvL+WPlua2iOe7keWumuS6i+S7tg0KCQlfalRleHQudW5iaW5kKCdmb2N1cycsX3RoaXMu
Zm9jdXMpOw0KCQlfakZvcm0udW5iaW5kKCdzdWJtaXQnLHNhdmVSZXN1bHQpLnVuYmluZCgn
cmVzZXQnLCBsb2FkUmVzZXQpOw0KCQlpZihzZXR0aW5ncy5zdWJtaXRJRCkkKCcjJytzZXR0
aW5ncy5zdWJtaXRJRCkudW5iaW5kKCdtb3VzZWRvd24nLHNhdmVSZXN1bHQpOw0KCQkkKHdp
bmRvdykudW5iaW5kKCd1bmxvYWQgYmVmb3JldW5sb2FkJyxzYXZlUmVzdWx0KS51bmJpbmQo
J3Jlc2l6ZScsZml4RnVsbEhlaWdodCk7DQoJCSQoZG9jdW1lbnQpLnVuYmluZCgnbW91c2Vk
b3duJyxjbGlja0NhbmNlbFBhbmVsKTsNCg0KCQkkKCcjJytpZENvbnRhaW5lcikucmVtb3Zl
KCk7DQoJCSQoJyMnK2lkRml4RkZDdXJzb3IpLnJlbW92ZSgpOw0KCQkNCgkJX2pUZXh0LnNo
b3coKTsNCgkJYkluaXQ9ZmFsc2U7DQoJfQ0KCXRoaXMuc2F2ZUJvb2ttYXJrPWZ1bmN0aW9u
KCl7DQoJCWlmKCFiU291cmNlKXsNCgkJCV90aGlzLmZvY3VzKCk7DQoJCQl2YXIgcm5nPV90
aGlzLmdldFJuZygpOw0KCQkJcm5nPXJuZy5jbG9uZVJhbmdlP3JuZy5jbG9uZVJhbmdlKCk6
cm5nOw0KCQkJYm9va21hcms9eyd0b3AnOl9qV2luLnNjcm9sbFRvcCgpLCdybmcnOnJuZ307
DQoJCX0NCgl9DQoJdGhpcy5sb2FkQm9va21hcms9ZnVuY3Rpb24oKQ0KCXsNCgkJaWYoYlNv
dXJjZXx8IWJvb2ttYXJrKXJldHVybjsNCgkJX3RoaXMuZm9jdXMoKTsNCgkJdmFyIHJuZz1i
b29rbWFyay5ybmc7DQoJCWlmKGlzSUUpcm5nLnNlbGVjdCgpOw0KCQllbHNlDQoJCXsNCgkJ
CXZhciBzZWw9X3RoaXMuZ2V0U2VsKCk7DQoJCQlzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7DQoJ
CQlzZWwuYWRkUmFuZ2Uocm5nKTsNCgkJfQ0KCQlfaldpbi5zY3JvbGxUb3AoYm9va21hcmsu
dG9wKTsNCgkJYm9va21hcms9bnVsbDsNCgl9DQoJdGhpcy5mb2N1cz1mdW5jdGlvbigpDQoJ
ew0KCQlpZighYlNvdXJjZSlfd2luLmZvY3VzKCk7DQoJCWVsc2UgJCgnI3NvdXJjZUNvZGUn
LF9kb2MpLmZvY3VzKCk7DQoJCWlmKGlzSUUpew0KCQkJdmFyIHJuZz1fdGhpcy5nZXRSbmco
KTsNCgkJCWlmKHJuZy5wYXJlbnRFbGVtZW50JiZybmcucGFyZW50RWxlbWVudCgpLm93bmVy
RG9jdW1lbnQhPT1fZG9jKV90aGlzLnNldFRleHRDdXJzb3IoKTsvL+S/ruato0lF5Yid5aeL
54Sm54K56Zeu6aKYDQoJCX0NCgkJcmV0dXJuIGZhbHNlOw0KCX0NCgl0aGlzLnNldFRleHRD
dXJzb3I9ZnVuY3Rpb24oYkxhc3QpDQoJew0KCQl2YXIgcm5nPV90aGlzLmdldFJuZyh0cnVl
KSxjdXJzb3JOb2RlPV9kb2MuYm9keTsNCgkJaWYoaXNJRSlybmcubW92ZVRvRWxlbWVudFRl
eHQoY3Vyc29yTm9kZSk7DQoJCWVsc2V7DQoJCQl2YXIgY2hpbGVOYW1lPWJMYXN0PydsYXN0
Q2hpbGQnOidmaXJzdENoaWxkJzsNCgkJCXdoaWxlKGN1cnNvck5vZGUubm9kZVR5cGUhPTMm
JmN1cnNvck5vZGVbY2hpbGVOYW1lXSl7Y3Vyc29yTm9kZT1jdXJzb3JOb2RlW2NoaWxlTmFt
ZV07fQ0KCQkJcm5nLnNlbGVjdE5vZGUoY3Vyc29yTm9kZSk7DQoJCX0NCgkJcm5nLmNvbGxh
cHNlKGJMYXN0P2ZhbHNlOnRydWUpOw0KCQlpZihpc0lFKXJuZy5zZWxlY3QoKTsNCgkJZWxz
ZXt2YXIgc2VsPV90aGlzLmdldFNlbCgpO3NlbC5yZW1vdmVBbGxSYW5nZXMoKTtzZWwuYWRk
UmFuZ2Uocm5nKTt9DQoJfQ0KCXRoaXMuZ2V0U2VsPWZ1bmN0aW9uKCkNCgl7DQoJCXJldHVy
biBfZG9jLnNlbGVjdGlvbiA/IF9kb2Muc2VsZWN0aW9uIDogX3dpbi5nZXRTZWxlY3Rpb24o
KTsNCgl9DQoJdGhpcy5nZXRSbmc9ZnVuY3Rpb24oYk5ldykNCgl7DQoJCXZhciBzZWwscm5n
Ow0KCQl0cnl7DQoJCQlpZighYk5ldyl7DQoJCQkJc2VsPV90aGlzLmdldFNlbCgpOw0KCQkJ
CXJuZyA9IHNlbC5jcmVhdGVSYW5nZSA/IHNlbC5jcmVhdGVSYW5nZSgpIDogc2VsLnJhbmdl
Q291bnQgPiAwP3NlbC5nZXRSYW5nZUF0KDApOm51bGw7DQoJCQl9DQoJCQlpZighcm5nKXJu
ZyA9IF9kb2MuYm9keS5jcmVhdGVUZXh0UmFuZ2U/X2RvYy5ib2R5LmNyZWF0ZVRleHRSYW5n
ZSgpOl9kb2MuY3JlYXRlUmFuZ2UoKTsNCgkJfWNhdGNoIChleCl7fQ0KCQlyZXR1cm4gcm5n
Ow0KCX0NCgl0aGlzLmdldFBhcmVudD1mdW5jdGlvbih0YWcpDQoJew0KCQl2YXIgcm5nPV90
aGlzLmdldFJuZygpLHA7DQoJCWlmKCFpc0lFKQ0KCQl7DQoJCQlwID0gcm5nLmNvbW1vbkFu
Y2VzdG9yQ29udGFpbmVyOw0KCQkJaWYoIXJuZy5jb2xsYXBzZWQpaWYocm5nLnN0YXJ0Q29u
dGFpbmVyID09PSBybmcuZW5kQ29udGFpbmVyJiZybmcuc3RhcnRPZmZzZXQgLSBybmcuZW5k
T2Zmc2V0IDwgMiYmcm5nLnN0YXJ0Q29udGFpbmVyLmhhc0NoaWxkTm9kZXMoKSlwID0gcm5n
LnN0YXJ0Q29udGFpbmVyLmNoaWxkTm9kZXNbcm5nLnN0YXJ0T2Zmc2V0XTsNCgkJfQ0KCQll
bHNlIHA9cm5nLml0ZW0/cm5nLml0ZW0oMCk6cm5nLnBhcmVudEVsZW1lbnQoKTsNCgkJdGFn
PXRhZz90YWc6JyonO3A9JChwKTsNCgkJaWYoIXAuaXModGFnKSlwPSQocCkuY2xvc2VzdCh0
YWcpOw0KCQlyZXR1cm4gcDsNCgl9DQoJdGhpcy5nZXRTZWxlY3Q9ZnVuY3Rpb24oZm9ybWF0
KQ0KCXsNCgkJdmFyIHNlbD1fdGhpcy5nZXRTZWwoKSxybmc9X3RoaXMuZ2V0Um5nKCksaXND
b2xsYXBzZWQ9dHJ1ZTsNCgkJaWYgKCFybmcgfHwgcm5nLml0ZW0paXNDb2xsYXBzZWQ9ZmFs
c2UNCgkJZWxzZSBpc0NvbGxhcHNlZD0hc2VsIHx8IHJuZy5ib3VuZGluZ1dpZHRoID09PSAw
IHx8IHJuZy5jb2xsYXBzZWQ7DQoJCWlmKGZvcm1hdD09PSd0ZXh0JylyZXR1cm4gaXNDb2xs
YXBzZWQgPyAnJyA6IChybmcudGV4dCB8fCAoc2VsLnRvU3RyaW5nID8gc2VsLnRvU3RyaW5n
KCkgOiAnJykpOw0KCQl2YXIgc0h0bWw7DQoJCWlmKHJuZy5jbG9uZUNvbnRlbnRzKQ0KCQl7
DQoJCQl2YXIgdG1wPSQoJzxkaXY+PC9kaXY+JyksYzsNCgkJCWMgPSBybmcuY2xvbmVDb250
ZW50cygpOw0KCQkJaWYoYyl0bXAuYXBwZW5kKGMpOw0KCQkJc0h0bWw9dG1wLmh0bWwoKTsN
CgkJfQ0KCQllbHNlIGlmKGlzKHJuZy5pdGVtKSlzSHRtbD1ybmcuaXRlbSgwKS5vdXRlckhU
TUw7DQoJCWVsc2UgaWYoaXMocm5nLmh0bWxUZXh0KSlzSHRtbD1ybmcuaHRtbFRleHQ7DQoJ
CWVsc2Ugc0h0bWw9cm5nLnRvU3RyaW5nKCk7DQoJCWlmKGlzQ29sbGFwc2VkKXNIdG1sPScn
Ow0KCQlzSHRtbD1fdGhpcy5wcm9jZXNzSFRNTChzSHRtbCwncmVhZCcpOw0KCQlzSHRtbD1f
dGhpcy5jbGVhbkhUTUwoc0h0bWwpOw0KCQlzSHRtbD1fdGhpcy5mb3JtYXRYSFRNTChzSHRt
bCk7DQoJCXJldHVybiBzSHRtbDsNCgl9DQoJdGhpcy5wYXN0ZUhUTUw9ZnVuY3Rpb24oc0h0
bWwsYlN0YXJ0KQ0KCXsNCgkJaWYoYlNvdXJjZSlyZXR1cm4gZmFsc2U7DQoJCV90aGlzLmZv
Y3VzKCk7DQoJCXNIdG1sPV90aGlzLnByb2Nlc3NIVE1MKHNIdG1sLCd3cml0ZScpOw0KCQl2
YXIgc2VsPV90aGlzLmdldFNlbCgpLHJuZz1fdGhpcy5nZXRSbmcoKTsNCgkJaWYoYlN0YXJ0
IT09dW5kZWZpbmVkKS8v6Z2e6KaG55uW5byP5o+S5YWlDQoJCXsNCgkJCWlmKHJuZy5pdGVt
KQ0KCQkJew0KCQkJCXZhciBpdGVtPXJuZy5pdGVtKDApOw0KCQkJCXJuZz1fdGhpcy5nZXRS
bmcodHJ1ZSk7DQoJCQkJcm5nLm1vdmVUb0VsZW1lbnRUZXh0KGl0ZW0pOw0KCQkJCXJuZy5z
ZWxlY3QoKTsNCgkJCX0NCgkJCXJuZy5jb2xsYXBzZShiU3RhcnQpOw0KCQl9DQoJCXNIdG1s
Kz0nPCcrKGlzSUU/J2ltZyc6J3NwYW4nKSsnIGlkPSJfeGhlX3RlbXAiIHdpZHRoPSIwIiBo
ZWlnaHQ9IjAiIC8+JzsNCgkJaWYocm5nLmluc2VydE5vZGUpDQoJCXsNCgkJCWlmKCQocm5n
LnN0YXJ0Q29udGFpbmVyKS5jbG9zZXN0KCdzdHlsZSxzY3JpcHQnKS5sZW5ndGg+MClyZXR1
cm4gZmFsc2U7Ly/pmLLmraLnspjotLTlnKhzdHlsZeWSjHNjcmlwdOWGhemDqA0KCQkJcm5n
LmRlbGV0ZUNvbnRlbnRzKCk7DQoJCQlybmcuaW5zZXJ0Tm9kZShybmcuY3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50KHNIdG1sKSk7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlpZihzZWwudHlw
ZS50b0xvd2VyQ2FzZSgpPT09J2NvbnRyb2wnKXtzZWwuY2xlYXIoKTtybmc9X3RoaXMuZ2V0
Um5nKCk7fTsNCgkJCXJuZy5wYXN0ZUhUTUwoc0h0bWwpOw0KCQl9DQoJCXZhciBqVGVtcD0k
KCcjX3hoZV90ZW1wJyxfZG9jKSx0ZW1wPWpUZW1wWzBdOw0KCQlpZihpc0lFKQ0KCQl7DQoJ
CQlybmcubW92ZVRvRWxlbWVudFRleHQodGVtcCk7DQoJCQlybmcuc2VsZWN0KCk7DQoJCX0N
CgkJZWxzZQ0KCQl7DQoJCQlybmcuc2VsZWN0Tm9kZSh0ZW1wKTsgDQoJCQlzZWwucmVtb3Zl
QWxsUmFuZ2VzKCk7DQoJCQlzZWwuYWRkUmFuZ2Uocm5nKTsNCgkJfQ0KCQlqVGVtcC5yZW1v
dmUoKTsNCgl9DQoJdGhpcy5wYXN0ZVRleHQ9ZnVuY3Rpb24odGV4dCxiU3RhcnQpDQoJew0K
CQlpZighdGV4dCl0ZXh0PScnOw0KCQl0ZXh0PV90aGlzLmRvbUVuY29kZSh0ZXh0KTsNCgkJ
dGV4dCA9IHRleHQucmVwbGFjZSgvXHI/XG4vZywgJzxiciAvPicpOw0KCQlfdGhpcy5wYXN0
ZUhUTUwodGV4dCxiU3RhcnQpOw0KCX0NCgl0aGlzLmFwcGVuZEhUTUw9ZnVuY3Rpb24oc0h0
bWwpDQoJew0KCQlpZihiU291cmNlKXJldHVybiBmYWxzZTsNCgkJX3RoaXMuZm9jdXMoKTsN
CgkJc0h0bWw9X3RoaXMucHJvY2Vzc0hUTUwoc0h0bWwsJ3dyaXRlJyk7DQoJCSQoX2RvYy5i
b2R5KS5hcHBlbmQoc0h0bWwpOw0KCQlfdGhpcy5zZXRUZXh0Q3Vyc29yKHRydWUpOw0KCX0N
Cgl0aGlzLmRvbUVuY29kZT1mdW5jdGlvbih0ZXh0KQ0KCXsNCgkJcmV0dXJuIHRleHQucmVw
bGFjZShyZWdFbnRpdGllcyxmdW5jdGlvbihjKXtyZXR1cm4gYXJyRW50aXRpZXNbY107fSk7
DQoJfQ0KCXRoaXMuc2V0U291cmNlPWZ1bmN0aW9uKHNIdG1sKQ0KCXsNCgkJYm9va21hcms9
bnVsbDsNCgkJaWYodHlwZW9mIHNIdG1sIT09J3N0cmluZycmJnNIdG1sIT09Jycpc0h0bWw9
X3RleHQudmFsdWU7DQoJCWlmKGJTb3VyY2UpJCgnI3NvdXJjZUNvZGUnLF9kb2MpLnZhbChz
SHRtbCk7DQoJCWVsc2UNCgkJew0KCQkJaWYoc2V0dGluZ3MuYmVmb3JlU2V0U291cmNlKXNI
dG1sPXNldHRpbmdzLmJlZm9yZVNldFNvdXJjZShzSHRtbCk7DQoJCQlzSHRtbD1fdGhpcy5j
bGVhbkhUTUwoc0h0bWwpOw0KCQkJc0h0bWw9X3RoaXMuZm9ybWF0WEhUTUwoc0h0bWwpOw0K
CQkJc0h0bWw9X3RoaXMucHJvY2Vzc0hUTUwoc0h0bWwsJ3dyaXRlJyk7DQoJCQlpZihpc0lF
KXsvL+S/ruato0lF5Lya5Yig6Zmk5Y+v6KeG5YaF5a655YmN55qEc2NyaXB0LHN0eWxlLDwh
LS0NCgkJCQlfZG9jLmJvZHkuaW5uZXJIVE1MPSc8aW1nIGlkPSJfeGhlX3RlbXAiIHdpZHRo
PSIwIiBoZWlnaHQ9IjAiIC8+JytzSHRtbDsvL+S/ruato0lF5Lya5Yig6ZmkJuespuWPt+WQ
jumdouS7o+eggeeahOmXrumimA0KCQkJCSQoJyNfeGhlX3RlbXAnLF9kb2MpLnJlbW92ZSgp
Ow0KCQkJfQ0KCQkJZWxzZSBfZG9jLmJvZHkuaW5uZXJIVE1MPXNIdG1sOw0KCQl9DQoJfQ0K
CXRoaXMucHJvY2Vzc0hUTUw9ZnVuY3Rpb24oc0h0bWwsbW9kZSkNCgl7DQoJCXZhciBhcHBs
ZUNsYXNzPScgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iJzsNCgkJaWYobW9kZT09PSd3cml0
ZScpDQoJCXsvL3dyaXRlDQoJCQlzSHRtbD1zSHRtbC5yZXBsYWNlKC8oPChcLz8pKFx3Kykp
KCg/OlxzK1tcd1wtOl0rXHMqPVxzKig/OiJbXiJdKiJ8J1teJ10qJ3xbXj5cc10rKSkqKVxz
KigoXC8/KT4pL2csZnVuY3Rpb24oYWxsLGxlZnQsZW5kMSx0YWcsYXR0cixyaWdodCxlbmQy
KXsNCgkJCQl0YWc9dGFnLnRvTG93ZXJDYXNlKCk7DQoJCQkJaWYoaXNNb3ppbGxhKXsNCgkJ
CQkJaWYodGFnPT09J3N0cm9uZycpdGFnPSdiJzsNCgkJCQkJZWxzZSBpZih0YWc9PT0nZW0n
KXRhZz0naSc7DQoJCQkJfQ0KCQkJCWVsc2UgaWYoaXNTYWZhcmkpew0KCQkJCQlpZih0YWc9
PT0nc3Ryb25nJyl7dGFnPSdzcGFuJztpZighZW5kMSlhdHRyKz1hcHBsZUNsYXNzKycgc3R5
bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyInO30NCgkJCQkJZWxzZSBpZih0YWc9PT0nZW0nKXt0
YWc9J3NwYW4nO2lmKCFlbmQxKWF0dHIrPWFwcGxlQ2xhc3MrJyBzdHlsZT0iZm9udC1zdHls
ZTogaXRhbGljOyInO30NCgkJCQkJZWxzZSBpZih0YWc9PT0ndScpe3RhZz0nc3Bhbic7aWYo
IWVuZDEpYXR0cis9YXBwbGVDbGFzcysnIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVy
bGluZTsiJzt9DQoJCQkJCWVsc2UgaWYodGFnPT09J3N0cmlrZScpe3RhZz0nc3Bhbic7aWYo
IWVuZDEpYXR0cis9YXBwbGVDbGFzcysnIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IGxpbmUt
dGhyb3VnaDsiJzt9DQoJCQkJfQ0KCQkJCXZhciBlbW90LGFkZENsYXNzPScnOw0KCQkJCWlm
KHRhZz09PSdkZWwnKXRhZz0nc3RyaWtlJzsvL+e8lui+keeKtuaAgee7n+S4gOi9rOS4unN0
cmlrZQ0KCQkJCWVsc2UgaWYodGFnPT09J2ltZycpew0KCQkJCQkvL+aBouWkjWVtb3QNCgkJ
CQkJYXR0cj1hdHRyLnJlcGxhY2UoL1xzK2Vtb3Rccyo9XHMqKCJbXiJdKiJ8J1teJ10qJ3xb
Xj5cc10rKS9pLGZ1bmN0aW9uKGFsbCx2KXsNCgkJCQkJCWVtb3Q9di5tYXRjaCgvXihbIidd
PykoLiopXDEvKVsyXTsNCgkJCQkJCWVtb3Q9ZW1vdC5zcGxpdCgnLCcpOw0KCQkJCQkJaWYo
IWVtb3RbMV0pe2Vtb3RbMV09ZW1vdFswXTtlbW90WzBdPScnfQ0KCQkJCQkJaWYoZW1vdFsw
XT09PSdkZWZhdWx0JyllbW90WzBdPScnOw0KCQkJCQkJcmV0dXJuIHNldHRpbmdzLmVtb3RN
YXJrP2FsbDonJzsNCgkJCQkJfSk7DQoJCQkJfQ0KCQkJCWVsc2UgaWYodGFnPT09J2EnKXsN
CgkJCQkJaWYoIWF0dHIubWF0Y2goLyBocmVmPVteIF0vaSkmJmF0dHIubWF0Y2goLyBuYW1l
PVteIF0vaSkpYWRkQ2xhc3MrPScgeGhlLWFuY2hvcic7DQoJCQkJCWlmKGVuZDIpcmlnaHQ9
Jz48L2E+JzsNCgkJCQl9DQoJCQkJZWxzZSBpZih0YWc9PT0ndGFibGUnJiYhZW5kMSl7DQoJ
CQkJCXZhciB0Yj1hdHRyLm1hdGNoKC9ccytib3JkZXJccyo9XHMqKCJbXiJdKiJ8J1teJ10q
J3xbXj5cc10rKS9pKTsNCgkJCQkJaWYoIXRifHx0YlsxXS5tYXRjaCgvXihbIiddPylccyow
XHMqXDEkLykpYWRkQ2xhc3MrPScgeGhlLWJvcmRlcic7DQoJCQkJfQ0KCQkJCQ0KCQkJCXZh
ciBiQXBwbGVDbGFzczsNCgkJCQkvL+WkhOeQhuWxnuaApw0KCQkJCWF0dHI9YXR0ci5yZXBs
YWNlKC9ccysoW1x3XC06XSspXHMqPVxzKigiW14iXSoifCdbXiddKid8W14+XHNdKykvZyxm
dW5jdGlvbihhbGwsbix2KXsNCgkJCQkJbj1uLnRvTG93ZXJDYXNlKCk7DQoJCQkJCXY9di5t
YXRjaCgvXihbIiddPykoLiopXDEvKVsyXTsNCgkJCQkJYWZ0PScnOy8v5bC+6YOo5aKe5Yqg
5bGe5oCnDQoJCQkJCWlmKGlzSUUmJm4ubWF0Y2goL14oZGlzYWJsZWR8Y2hlY2tlZHxyZWFk
b25seXxzZWxlY3RlZCkkLykmJnYubWF0Y2goL14oZmFsc2V8MCkkL2kpKXJldHVybiAnJzsN
CgkJCQkJLy/mgaLlpI1lbW90DQoJCQkJCWlmKHRhZz09PSdpbWcnJiZlbW90JiZuPT09J3Ny
YycpcmV0dXJuICcnOw0KCQkJCQkvL+S/neWtmOWxnuaAp+WAvDpzcmMsaHJlZg0KCQkJCQlp
ZihuLm1hdGNoKC9eKHNyY3xocmVmKSQvKSl7DQoJCQkJCQlhZnQ9JyBfeGhlXycrbisnPSIn
K3YrJyInOw0KCQkJCQkJaWYodXJsQmFzZSl2PWdldExvY2FsVXJsKHYsJ2FicycsdXJsQmFz
ZSk7DQoJCQkJCX0NCgkJCQkJLy/mt7vliqBjbGFzcw0KCQkJCQlpZihhZGRDbGFzcyYmbj09
PSdjbGFzcycpew0KCQkJCQkJdis9JyAnK2FkZENsYXNzOw0KCQkJCQkJYWRkQ2xhc3M9Jyc7
DQoJCQkJCX0NCgkJCQkJLy/lpITnkIZTYWZhcmkgc3R5bGXlgLwNCgkJCQkJaWYoaXNTYWZh
cmkmJm49PT0nc3R5bGUnKXsNCgkJCQkJCWlmKHRhZz09PSdzcGFuJyYmdi5tYXRjaCgvKF58
OylccyooZm9udC1mYW1pbHl8Zm9udC1zaXplfGNvbG9yfGJhY2tncm91bmQtY29sb3IpXHMq
OlxzKlteO10rXHMqKDt8JCkvaSkpYkFwcGxlQ2xhc3M9dHJ1ZTsNCgkJCQkJfQ0KCQkJCQly
ZXR1cm4gJyAnK24rJz0iJyt2KyciJythZnQ7DQoJCQkJfSk7DQoJCQkJDQoJCQkJLy/mgaLl
pI1lbW90DQoJCQkJaWYoZW1vdCl7DQoJCQkJCXZhciB1cmw9ZW1vdFBhdGgrZW1vdFsxXTsN
CgkJCQkJYXR0cis9JyBzcmM9IicrdXJsKyciIF94aGVfc3JjPSInK3VybCsnIic7DQoJCQkJ
fQ0KCQkJCWlmKGJBcHBsZUNsYXNzKWF0dHIrPWFwcGxlQ2xhc3M7DQoJCQkJaWYoYWRkQ2xh
c3MpYXR0cis9JyBjbGFzcz0iJythZGRDbGFzcysnIic7DQoNCgkJCQlyZXR1cm4gJzwnK2Vu
ZDErdGFnK2F0dHIrcmlnaHQ7DQoJCQl9KTsNCg0KCQkJaWYoaXNJRSlzSHRtbCA9IHNIdG1s
LnJlcGxhY2UoLyZhcG9zOy9pZywgJyYjMzk7Jyk7DQoNCgkJCWlmKCFpc1NhZmFyaSkNCgkJ
CXsNCgkJCQkvL3N0eWxl6L2sZm9udA0KCQkJCWZ1bmN0aW9uIHN0eWxlMmZvbnQoYWxsLHRh
ZyxsZWZ0LHN0eWxlLHJpZ2h0LGNvbnRlbnQpDQoJCQkJew0KCQkJCQl2YXIgYXR0cnM9Jycs
ZixzMSxzMixjOw0KCQkJCQlmPXN0eWxlLm1hdGNoKC9mb250LWZhbWlseVxzKjpccyooW147
Il0rKS9pKTsNCgkJCQkJaWYoZilhdHRycys9JyBmYWNlPSInK2ZbMV0rJyInOw0KCQkJCQlz
MT1zdHlsZS5tYXRjaCgvZm9udC1zaXplXHMqOlxzKihbXjsiXSspL2kpOw0KCQkJCQlpZihz
MSkNCgkJCQkJew0KCQkJCQkJczE9czFbMV0udG9Mb3dlckNhc2UoKTsNCgkJCQkJCWZvcih2
YXIgaj0wO2o8YXJyRm9udHNpemUubGVuZ3RoO2orKylpZihzMT09PWFyckZvbnRzaXplW2pd
Lm58fHMxPT09YXJyRm9udHNpemVbal0ucyl7czI9aisxO2JyZWFrO30NCgkJCQkJCWlmKHMy
KQ0KCQkJCQkJew0KCQkJCQkJCWF0dHJzKz0nIHNpemU9IicrczIrJyInOw0KCQkJCQkJCXN0
eWxlPXN0eWxlLnJlcGxhY2UoLyhefDspKFxzKmZvbnQtc2l6ZVxzKjpccypbXjsiXSs7Pykr
L2lnLCckMScpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWM9c3R5bGUubWF0Y2goLyg/Ol58
W1xzO10pY29sb3Jccyo6XHMqKFteOyJdKykvaSk7DQoJCQkJCWlmKGMpDQoJCQkJCXsNCgkJ
CQkJCXZhciByZ2I7DQoJCQkJCQlpZihyZ2I9Y1sxXS5tYXRjaCgvXHMqcmdiXHMqXChccyoo
XGQrKVxzKixccyooXGQrKVxzKixccyooXGQrKVxzKlwpL2kpKXsNCgkJCQkJCQljWzFdPScj
JzsNCgkJCQkJCQlmb3IodmFyIGk9MTtpPD0zO2krKyl7DQoJCQkJCQkJCWNbMV0rPSgnMCcr
KHJnYltpXS0wKS50b1N0cmluZygxNikpLnNsaWNlKC0yKTsNCgkJCQkJCQl9DQoJCQkJCQl9
DQoJCQkJCQljWzFdPWNbMV0ucmVwbGFjZSgvXiMoWzAtOWEtZl0pKFswLTlhLWZdKShbMC05
YS1mXSkkL2ksJyMkMSQxJDIkMiQzJDMnKTsNCgkJCQkJCWF0dHJzKz0nIGNvbG9yPSInK2Nb
MV0rJyInOw0KCQkJCQl9DQoJCQkJCXN0eWxlPXN0eWxlLnJlcGxhY2UoLyhefDspKFxzKihm
b250LWZhbWlseXxjb2xvcilccyo6XHMqW147Il0rOz8pKy9pZywnJDEnKTsNCgkJCQkJDQoJ
CQkJCWlmKGF0dHJzIT09JycpDQoJCQkJCXsNCgkJCQkJCWlmKHN0eWxlKWF0dHJzKz0nIHN0
eWxlPSInK3N0eWxlKyciJzsNCgkJCQkJCXJldHVybiAnPGZvbnQnKyhsZWZ0P2xlZnQ6Jycp
K2F0dHJzKyhyaWdodD9yaWdodDonJykrJz4nK2NvbnRlbnQrIjwvZm9udD4iOw0KCQkJCQl9
DQoJCQkJCWVsc2UgcmV0dXJuIGFsbDsNCgkJCQl9DQoJCQkJc0h0bWwgPSBzSHRtbC5yZXBs
YWNlKC88KHNwYW4pKFxzK1tePl0qPyk/XHMrc3R5bGVccyo9XHMqIigoPzpbXiJdKj87KT9c
cyooPzpmb250LWZhbWlseXxmb250LXNpemV8Y29sb3IpXHMqOlteIl0qKSIoIFtePl0qKT8+
KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShc
cytbXj5dKj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/
PilbXHNcU10pKj88XC9cMT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLHN0eWxlMmZvbnQpOy8v
56ysM+Wxgg0KCQkJCXNIdG1sID0gc0h0bWwucmVwbGFjZSgvPChzcGFuKShccytbXj5dKj8p
P1xzK3N0eWxlXHMqPVxzKiIoKD86W14iXSo/Oyk/XHMqKD86Zm9udC1mYW1pbHl8Zm9udC1z
aXplfGNvbG9yKVxzKjpbXiJdKikiKCBbXj5dKik/PigoKD8hPFwxKFxzK1tePl0qPyk/Pilb
XHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPzxc
L1wxPikqPyk8XC9cMT4vaWcsc3R5bGUyZm9udCk7Ly/nrKwy5bGCDQoJCQkJc0h0bWwgPSBz
SHRtbC5yZXBsYWNlKC88KHNwYW4pKFxzK1tePl0qPyk/XHMrc3R5bGVccyo9XHMqIigoPzpb
XiJdKj87KT9ccyooPzpmb250LWZhbWlseXxmb250LXNpemV8Y29sb3IpXHMqOlteIl0qKSIo
IFtePl0qKT8+KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPyk8XC9cMT4vaWcsc3R5
bGUyZm9udCk7Ly/mnIDph4zlsYINCgkJCX0NCg0KCQkJLy/ooajmoLzljZXlhYPmoLzlpITn
kIYNCgkJCXNIdG1sID0gc0h0bWwucmVwbGFjZSgvPCh0ZHx0aCkoXHMrW14+XSo/KT8+KFxz
fCZuYnNwOykqPFwvXDE+L2lnLCc8JDEkMj4nKyhpc0lFPycnOic8YnIgLz4nKSsnPC8kMT4n
KTsNCgkJfQ0KCQllbHNlDQoJCXsvL3JlYWQNCgkJCWlmKGlzU2FmYXJpKQ0KCQkJew0KCQkJ
CS8v6L2s5o2iYXBwbGXnmoRzdHlsZeS4unN0cm9uZyxlbeetiQ0KCQkJCXZhciBhcnJBcHBs
ZVNwYW49W3tyOi9mb250LXdlaWdodFxzKjpccypib2xkOz8vaWcsdDonc3Ryb25nJ30se3I6
L2ZvbnQtc3R5bGVccyo6XHMqaXRhbGljOz8vaWcsdDonZW0nfSx7cjovdGV4dC1kZWNvcmF0
aW9uXHMqOlxzKnVuZGVybGluZTs/L2lnLHQ6J3UnfSx7cjovdGV4dC1kZWNvcmF0aW9uXHMq
OlxzKmxpbmUtdGhyb3VnaDs/L2lnLHQ6J3N0cmlrZSd9XTsNCgkJCQlmdW5jdGlvbiByZXBs
YWNlQXBwbGVTcGFuKGFsbCx0YWcsYXR0cjEsYXR0cjIsY29udGVudCkNCgkJCQl7DQoJCQkJ
CXZhciBhdHRyPShhdHRyMT9hdHRyMTonJykrKGF0dHIyP2F0dHIyOicnKTsNCgkJCQkJdmFy
IGFyclByZT1bXSxhcnJBZnQ9W107DQoJCQkJCXZhciByZWdBcHBsZSx0YWdBcHBsZTsNCgkJ
CQkJZm9yKHZhciBpPTA7aTxhcnJBcHBsZVNwYW4ubGVuZ3RoO2krKykNCgkJCQkJew0KCQkJ
CQkJcmVnQXBwbGU9YXJyQXBwbGVTcGFuW2ldLnI7DQoJCQkJCQl0YWdBcHBsZT1hcnJBcHBs
ZVNwYW5baV0udDsNCgkJCQkJCWF0dHI9YXR0ci5yZXBsYWNlKHJlZ0FwcGxlLGZ1bmN0aW9u
KCl7DQoJCQkJCQkJYXJyUHJlLnB1c2goIjwiK3RhZ0FwcGxlKyI+Iik7DQoJCQkJCQkJYXJy
QWZ0LnB1c2goIjwvIit0YWdBcHBsZSsiPiIpOw0KCQkJCQkJCXJldHVybiAnJzsNCgkJCQkJ
CX0pOw0KCQkJCQl9DQoJCQkJCWF0dHI9YXR0ci5yZXBsYWNlKC9ccytzdHlsZVxzKj1ccyoi
XHMqIi9pLCcnKTsNCgkJCQkJcmV0dXJuIChhdHRyPyc8c3BhbicrYXR0cisnPic6JycpK2Fy
clByZS5qb2luKCcnKStjb250ZW50K2FyckFmdC5qb2luKCcnKSsoYXR0cj8nPC9zcGFuPic6
JycpOw0KCQkJCX0NCgkJCQlmb3IodmFyIGk9MDtpPDI7aSsrKXsNCgkJCQkJc0h0bWwgPSBz
SHRtbC5yZXBsYWNlKC88KHNwYW4pKFxzK1tePl0qPyk/XHMrY2xhc3Nccyo9XHMqIkFwcGxl
LXN0eWxlLXNwYW4iKFxzK1tePl0qPyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118
PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+
XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+KSo/
KTxcL1wxPi9pZyxyZXBsYWNlQXBwbGVTcGFuKTsvL+esrDPlsYINCgkJCQkJc0h0bWwgPSBz
SHRtbC5yZXBsYWNlKC88KHNwYW4pKFxzK1tePl0qPyk/XHMrY2xhc3Nccyo9XHMqIkFwcGxl
LXN0eWxlLXNwYW4iKFxzK1tePl0qPyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118
PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPzxcL1wxPikq
Pyk8XC9cMT4vaWcscmVwbGFjZUFwcGxlU3Bhbik7Ly/nrKwy5bGCDQoJCQkJCXNIdG1sID0g
c0h0bWwucmVwbGFjZSgvPChzcGFuKShccytbXj5dKj8pP1xzK2NsYXNzXHMqPVxzKiJBcHBs
ZS1zdHlsZS1zcGFuIihccytbXj5dKj8pPz4oKCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNd
KSo/KTxcL1wxPi9pZyxyZXBsYWNlQXBwbGVTcGFuKTsvL+acgOmHjOWxggkJCQkNCgkJCQl9
DQoJCQl9DQoJCQkNCgkJCXNIdG1sPXNIdG1sLnJlcGxhY2UoLyg8KFx3KykpKCg/OlxzK1tc
d1wtOl0rXHMqPVxzKig/OiJbXiJdKiJ8J1teJ10qJ3xbXj5cc10rKSkqKVxzKihcLz8+KS9n
LGZ1bmN0aW9uKGFsbCxsZWZ0LHRhZyxhdHRyLHJpZ2h0KXsNCgkJCQl0YWc9dGFnLnRvTG93
ZXJDYXNlKCk7DQoJCQkJLy/mgaLlpI3lsZ7mgKflgLxzcmMsaHJlZg0KCQkJCXZhciBzYXZl
VmFsdWU7DQoJCQkJYXR0cj1hdHRyLnJlcGxhY2UoL1xzK194aGVfKD86c3JjfGhyZWYpXHMq
PVxzKigiW14iXSoifCdbXiddKid8W14+XHNdKykvaSxmdW5jdGlvbihhbGwsdil7c2F2ZVZh
bHVlPXYubWF0Y2goL14oWyInXT8pKC4qKVwxLylbMl07cmV0dXJuICcnO30pOw0KCQkJCWlm
KHNhdmVWYWx1ZSYmdXJsVHlwZSlzYXZlVmFsdWU9Z2V0TG9jYWxVcmwoc2F2ZVZhbHVlLHVy
bFR5cGUsdXJsQmFzZSk7DQoJCQkJDQoJCQkJYXR0cj1hdHRyLnJlcGxhY2UoL1xzKyhbXHdc
LTpdKylccyo9XHMqKCJbXiJdKiJ8J1teJ10qJ3xbXj5cc10rKS9nLGZ1bmN0aW9uKGFsbCxu
LHYpew0KCQkJCQluPW4udG9Mb3dlckNhc2UoKTsNCgkJCQkJdj12Lm1hdGNoKC9eKFsiJ10/
KSguKilcMS8pWzJdLnJlcGxhY2UoLyIvZywiJyIpOw0KCQkJCQlpZihuPT09J2NsYXNzJyl7
Ly/muIXnkIZjbGFzc+WxnuaApw0KCQkJCQkJaWYodi5tYXRjaCgvXlsiJ10/KGFwcGxlfHdl
YmtpdCkvaSkpcmV0dXJuICcnOw0KCQkJCQkJdj12LnJlcGxhY2UoL1xzP3hoZS1bYS16XSsv
aWcsJycpOw0KCQkJCQkJaWYodj09PScnKXJldHVybiAnJzsNCgkJCQkJfQ0KCQkJCQllbHNl
IGlmKG4ubWF0Y2goL14oKF94aGVffF9tb3pffF93ZWJraXRfKXxqcXVlcnlcZCspL2kpKXJl
dHVybiAnJzsvL+a4heeQhuS4tOaXtuWxnuaApwkJCQkJDQoJCQkJCWVsc2UgaWYoc2F2ZVZh
bHVlJiZuLm1hdGNoKC9eKHNyY3xocmVmKSQvaSkpcmV0dXJuICcgJytuKyc9Iicrc2F2ZVZh
bHVlKyciJzsvL+aBouWkjeWxnuaAp+WAvHNyYyxocmVmDQoJCQkJCWVsc2UgaWYobj09PSdz
dHlsZScpey8v6L2s5o2iZm9udC1zaXpl55qEa2V5d29yZOWIsHB45Y2V5L2NDQoJCQkJCQl2
PXYucmVwbGFjZSgvKF58OylccyooZm9udC1zaXplKVxzKjpccyooW2Etei1dKylccyooO3wk
KS9pLGZ1bmN0aW9uKGFsbCxsZWZ0LG4sdixyaWdodCl7DQoJCQkJCQkJdmFyIHQsczsNCgkJ
CQkJCQlmb3IodmFyIGk9MDtpPGFyckZvbnRzaXplLmxlbmd0aDtpKyspDQoJCQkJCQkJew0K
CQkJCQkJCQl0PWFyckZvbnRzaXplW2ldOw0KCQkJCQkJCQlpZih2PT09dC5uKXtzPXQuczti
cmVhazt9DQoJCQkJCQkJfQ0KCQkJCQkJCXJldHVybiBsZWZ0K24rJzonK3MrcmlnaHQ7DQoJ
CQkJCQl9KTsNCgkJCQkJfQ0KCQkJCQlyZXR1cm4gJyAnK24rJz0iJyt2KyciJzsNCgkJCQl9
KTsNCgkJCQkNCgkJCQkvL2ltZ+W8uuWItuWKoGFsdA0KCQkJCWlmKHRhZz09PSdpbWcnJiYh
YXR0ci5tYXRjaCgvXHMrYWx0XHMqPVxzKigiW14iXSoifCdbXiddKid8W14+XHNdKykvaSkp
YXR0cis9JyBhbHQ9IiInOw0KCQkJCXJldHVybiBsZWZ0K2F0dHIrcmlnaHQ7DQoJCQl9KTsN
CgkJCS8v6KGo5qC85Y2V5YWD5qC85aSE55CGDQoJCQlzSHRtbCA9IHNIdG1sLnJlcGxhY2Uo
Lyg8KHRkfHRoKSg/OlxzK1tePl0qPyk/PilccyooW1xzXFNdKj8pKDxicihccypcLyk/Pik/
XHMqPFwvXDI+L2lnLGZ1bmN0aW9uKGFsbCxsZWZ0LHRhZyxjb250ZW50KXtyZXR1cm4gbGVm
dCsoY29udGVudD9jb250ZW50OicmbmJzcDsnKSsnPC8nK3RhZysnPic7fSk7DQoJCQkvL+S/
ruato+a1j+iniOWZqOWcqOepuuWGheWuueaDheWGteS4i+WkmuWHuuadpeeahOS7o+eggQ0K
CQkJc0h0bWw9c0h0bWwucmVwbGFjZSgvXlxzKig/OjwocHxkaXYpKD86XHMrW14+XSo/KT8+
KT9ccyooPHNwYW4oPzpccytbXj5dKj8pPz5ccyo8XC9zcGFuPnw8YnIoPzpccytbXj5dKj8p
Pz58Jm5ic3A7KSpccyooPzo8XC9cMT4pP1xzKiQvaSwgJycpOw0KCQl9DQoJCS8v5YaZ5ZKM
6K+7aW5uZXJIVE1M5YmNcHJl5LitPGJyPui9rFxyXG4NCgkJc0h0bWw9c0h0bWwucmVwbGFj
ZSgvKDxwcmUoPzpccytbXj5dKj8pPz4pKFtcc1xTXSs/KSg8XC9wcmU+KS9naSxmdW5jdGlv
bihhbGwsbGVmdCxjb2RlLHJpZ2h0KXsNCgkJCXJldHVybiBsZWZ0K2NvZGUucmVwbGFjZSgv
PGJyXHMqXC8/Pi9pZywnXHJcbicpK3JpZ2h0Ow0KCQl9KTsNCgkJcmV0dXJuIHNIdG1sOw0K
CX0NCgl0aGlzLmdldFNvdXJjZT1mdW5jdGlvbihiRm9ybWF0KQ0KCXsNCgkJdmFyIHNIdG1s
LGJlZm9yZUdldFNvdXJjZT1zZXR0aW5ncy5iZWZvcmVHZXRTb3VyY2U7DQoJCWlmKGJTb3Vy
Y2UpDQoJCXsNCgkJCXNIdG1sPSQoJyNzb3VyY2VDb2RlJyxfZG9jKS52YWwoKTsNCgkJCWlm
KCFiZWZvcmVHZXRTb3VyY2Upc0h0bWw9X3RoaXMuZm9ybWF0WEhUTUwoc0h0bWwsZmFsc2Up
Ow0KCQl9DQoJCWVsc2UNCgkJew0KCQkJc0h0bWw9X3RoaXMucHJvY2Vzc0hUTUwoX2RvYy5i
b2R5LmlubmVySFRNTCwncmVhZCcpOw0KCQkJc0h0bWw9X3RoaXMuY2xlYW5IVE1MKHNIdG1s
KTsNCgkJCXNIdG1sPV90aGlzLmZvcm1hdFhIVE1MKHNIdG1sLGJGb3JtYXQpOw0KCQkJaWYo
YmVmb3JlR2V0U291cmNlKXNIdG1sPWJlZm9yZUdldFNvdXJjZShzSHRtbCk7DQoJCX0NCgkJ
X3RleHQudmFsdWU9c0h0bWw7DQoJCXJldHVybiBzSHRtbDsNCgl9DQoJdGhpcy5jbGVhbldv
cmQ9ZnVuY3Rpb24oc0h0bWwpDQoJew0KCQl2YXIgY2xlYW5QYXN0ZT1zZXR0aW5ncy5jbGVh
blBhc3RlOw0KCQlpZihjbGVhblBhc3RlPjAmJmNsZWFuUGFzdGU8MyYmL21zbygtfG5vcm1h
bCl8V29yZERvY3VtZW50fDx0YWJsZVxzK1tePl0qP3g6c3RyfFxzK2NsYXNzXHMqPVxzKiI/
eGxbNjddXGQiL2kudGVzdChzSHRtbCkpDQoJCXsNCgkJCS8v5Yy65Z2X5qCH562+5riF55CG
DQoJCQlzSHRtbCA9IHNIdG1sLnJlcGxhY2UoLzwhLS1bXHNcU10qPy0tPnw8ISgtLSk/XFtb
XHNcU10rP1xdKC0tKT8+fDxzdHlsZShccytbXj5dKj8pPz5bXHNcU10qPzxcL3N0eWxlPi9p
ZywgJycpOw0KCQkJDQoJCQlzSHRtbCA9IHNIdG1sLnJlcGxhY2UoL1xyP1xuL2lnLCAnJyk7
DQoJCQkNCgkJCS8v5L+d55WZV29yZOWbvueJh+WNoOS9jQ0KCQkJaWYoaXNJRSl7DQoJCQkJ
c0h0bWwgPSBzSHRtbC5yZXBsYWNlKC88djpzaGFwZXR5cGUoXHMrW14+XSopPz5bXHNcU10q
PFwvdjpzaGFwZXR5cGU+L2lnLCcnKTsNCgkJCQkNCgkJCQlzSHRtbCA9IHNIdG1sLnJlcGxh
Y2UoLzx2OnNoYXBlKFxzK1tePl0rKT8+W1xzXFNdKj88djppbWFnZWRhdGEoXHMrW14+XSsp
Pz5ccyo8XC92OmltYWdlZGF0YT5bXHNcU10qPzxcL3Y6c2hhcGU+L2lnLGZ1bmN0aW9uKGFs
bCxhdHRyMSxhdHRyMil7DQoJCQkJCXZhciBtYXRjaDsNCgkJCQkJbWF0Y2ggPSBhdHRyMi5t
YXRjaCgvXHMrc3JjXHMqPVxzKigiW14iXSsifCdbXiddKyd8W14+XHNdKykvaSk7DQoJCQkJ
CWlmKG1hdGNoKXsNCgkJCQkJCW1hdGNoID0gbWF0Y2hbMV0ubWF0Y2goL14oWyInXT8pKC4q
KVwxLylbMl07DQoJCQkJCQl2YXIgc0ltZyA9JzxpbWcgc3JjPSInK2VkaXRvclJvb3QrJ3ho
ZWRpdG9yX3NraW4vYmxhbmsuZ2lmJysnIiBfeGhlX3RlbXA9InRydWUiIGNsYXNzPSJ3b3Jk
SW1hZ2UiJzsNCgkJCQkJCW1hdGNoID0gYXR0cjEubWF0Y2goL1xzK3N0eWxlXHMqPVxzKigi
W14iXSsifCdbXiddKyd8W14+XHNdKykvaSk7DQoJCQkJCQlpZihtYXRjaCl7DQoJCQkJCQkJ
bWF0Y2ggPSBtYXRjaFsxXS5tYXRjaCgvXihbIiddPykoLiopXDEvKVsyXTsNCgkJCQkJCQlz
SW1nICs9ICcgc3R5bGU9IicgKyBtYXRjaCArICciJzsNCgkJCQkJCX0NCgkJCQkJCXNJbWcg
Kz0gJyAvPic7DQoJCQkJCQlyZXR1cm4gc0ltZzsNCgkJCQkJfQ0KCQkJCQlyZXR1cm4gJyc7
DQoJCQkJfSk7DQoJCQl9DQoJCQllbHNlew0KCQkJCXNIdG1sID0gc0h0bWwucmVwbGFjZSgv
PGltZyggW148Pl0qKHY6c2hhcGVzfG1zb2h0bWxjbGlwKVtePD5dKilcLz8+L2lnLGZ1bmN0
aW9uKGFsbCxhdHRyKXsNCgkJCQkJdmFyIG1hdGNoLHN0ciA9ICc8aW1nIHNyYz0iJytlZGl0
b3JSb290Kyd4aGVkaXRvcl9za2luL2JsYW5rLmdpZicrJyIgX3hoZV90ZW1wPSJ0cnVlIiBj
bGFzcz0id29yZEltYWdlIic7DQoJCQkJCW1hdGNoID0gYXR0ci5tYXRjaCgvIHdpZHRoXHMq
PVxzKiIoW14iXSspIi9pKTsNCgkJCQkJaWYobWF0Y2gpc3RyICs9ICcgd2lkdGg9IicrbWF0
Y2hbMV0rJyInOw0KCQkJCQltYXRjaCA9IGF0dHIubWF0Y2goLyBoZWlnaHRccyo9XHMqIihb
XiJdKykiL2kpOw0KCQkJCQlpZihtYXRjaClzdHIgKz0gJyBoZWlnaHQ9IicrbWF0Y2hbMV0r
JyInOw0KCQkJCQlyZXR1cm4gc3RyICsgJyAvPic7DQoJCQkJfSk7DQoJCQl9DQoJCQkNCgkJ
CXNIdG1sPXNIdG1sLnJlcGxhY2UoLyg8KFwvPykoW1x3XC06XSspKSgoPzpccytbXHdcLTpd
Kyg/OlxzKj1ccyooPzoiW14iXSoifCdbXiddKid8W14+XHNdKykpPykqKVxzKihcLz8+KS9n
LGZ1bmN0aW9uKGFsbCxsZWZ0LGVuZCx0YWcsYXR0cixyaWdodCl7DQoJCQkJdGFnPXRhZy50
b0xvd2VyQ2FzZSgpOw0KCQkJCWlmKCh0YWcubWF0Y2goL14obGluaykkLykmJmF0dHIubWF0
Y2goL2ZpbGU6XC9cLy9pKSl8fHRhZy5tYXRjaCgvOi8pfHwodGFnPT09J3NwYW4nJiZjbGVh
blBhc3RlPT09MikpcmV0dXJuICcnOw0KCQkJCWlmKCFlbmQpew0KCQkJCQlhdHRyPWF0dHIu
cmVwbGFjZSgvXHMoW1x3XC06XSspKD86XHMqPVxzKigiW14iXSoifCdbXiddKid8W14+XHNd
KykpPy9pZyxmdW5jdGlvbihhbGwsbix2KXsNCgkJCQkJCW49bi50b0xvd2VyQ2FzZSgpOw0K
CQkJCQkJaWYoLzovLnRlc3QobikpcmV0dXJuICcnOw0KCQkJCQkJdj12Lm1hdGNoKC9eKFsi
J10/KSguKilcMS8pWzJdOw0KCQkJCQkJaWYoY2xlYW5QYXN0ZT09PTEpey8v566A5Y2V5riF
55CGDQoJCQkJCQkJc3dpdGNoKHRhZyl7DQoJCQkJCQkJCWNhc2UgJ3AnOg0KCQkJCQkJCQkJ
aWYobiA9PT0gJ3N0eWxlJyl7DQoJCQkJCQkJCQkJdj12LnJlcGxhY2UoLyJ8JnF1b3Q7L2ln
LCInIikucmVwbGFjZSgvXHMqKFteOl0rKVxzKjpccyooLio/KSg7fCQpL2lnLGZ1bmN0aW9u
KGFsbCxuLHYpew0KCQkJCQkJCQkJCQlyZXR1cm4gL14odGV4dC1hbGlnbikkL2kudGVzdChu
KT8obisnOicrdisnOycpOicnOw0KCQkJCQkJCQkJCX0pLnJlcGxhY2UoL15ccyt8XHMrJC9n
LCcnKTsNCgkJCQkJCQkJCQlyZXR1cm4gdj8oJyAnK24rJz0iJyt2KyciJyk6Jyc7DQoJCQkJ
CQkJCQl9DQoJCQkJCQkJCQlicmVhazsNCgkJCQkJCQkJY2FzZSAnc3Bhbic6DQoJCQkJCQkJ
CQlpZihuID09PSAnc3R5bGUnKXsNCgkJCQkJCQkJCQl2PXYucmVwbGFjZSgvInwmcXVvdDsv
aWcsIiciKS5yZXBsYWNlKC9ccyooW146XSspXHMqOlxzKiguKj8pKDt8JCkvaWcsZnVuY3Rp
b24oYWxsLG4sdil7DQoJCQkJCQkJCQkJCXJldHVybiAvXihjb2xvcnxiYWNrZ3JvdW5kfGZv
bnQtc2l6ZXxmb250LWZhbWlseSkkL2kudGVzdChuKT8obisnOicrdisnOycpOicnOw0KCQkJ
CQkJCQkJCX0pLnJlcGxhY2UoL15ccyt8XHMrJC9nLCcnKTsNCgkJCQkJCQkJCQlyZXR1cm4g
dj8oJyAnK24rJz0iJyt2KyciJyk6Jyc7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCQlicmVhazsN
CgkJCQkJCQkJY2FzZSAndGFibGUnOg0KCQkJCQkJCQkJaWYobi5tYXRjaCgvXihjZWxsc3Bh
Y2luZ3xjZWxscGFkZGluZ3xib3JkZXJ8d2lkdGgpJC9pKSlyZXR1cm4gYWxsOw0KCQkJCQkJ
CQkJYnJlYWs7DQoJCQkJCQkJCWNhc2UgJ3RkJzoNCgkJCQkJCQkJCWlmKG4ubWF0Y2goL14o
cm93c3Bhbnxjb2xzcGFuKSQvaSkpcmV0dXJuIGFsbDsNCgkJCQkJCQkJCWlmKG4gPT09ICdz
dHlsZScpew0KCQkJCQkJCQkJCXY9di5yZXBsYWNlKC8ifCZxdW90Oy9pZywiJyIpLnJlcGxh
Y2UoL1xzKihbXjpdKylccyo6XHMqKC4qPykoO3wkKS9pZyxmdW5jdGlvbihhbGwsbix2KXsN
CgkJCQkJCQkJCQkJcmV0dXJuIC9eKHdpZHRofGhlaWdodCkkL2kudGVzdChuKT8obisnOicr
disnOycpOicnOw0KCQkJCQkJCQkJCX0pLnJlcGxhY2UoL15ccyt8XHMrJC9nLCcnKTsNCgkJ
CQkJCQkJCQlyZXR1cm4gdj8oJyAnK24rJz0iJyt2KyciJyk6Jyc7DQoJCQkJCQkJCQl9DQoJ
CQkJCQkJCQlicmVhazsNCgkJCQkJCQkJY2FzZSAnYSc6DQoJCQkJCQkJCQlpZihuLm1hdGNo
KC9eKGhyZWYpJC9pKSlyZXR1cm4gYWxsOw0KCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJCWNh
c2UgJ2ZvbnQnOg0KCQkJCQkJCQljYXNlICdpbWcnOg0KCQkJCQkJCQkJcmV0dXJuIGFsbDsN
CgkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJCWVsc2UgaWYoY2xl
YW5QYXN0ZT09PTIpew0KCQkJCQkJCXN3aXRjaCh0YWcpew0KCQkJCQkJCQljYXNlICd0ZCc6
DQoJCQkJCQkJCQlpZihuLm1hdGNoKC9eKHJvd3NwYW58Y29sc3BhbikkL2kpKXJldHVybiBh
bGw7DQoJCQkJCQkJCQlicmVhazsNCgkJCQkJCQkJY2FzZSAnaW1nJzoNCgkJCQkJCQkJCXJl
dHVybiBhbGw7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQkJcmV0dXJuICcnOw0KCQkJCQl9
KTsNCgkJCQl9DQoJCQkJcmV0dXJuIGxlZnQrYXR0cityaWdodDsNCgkJCX0pOw0KCQkJLy/n
qbrlhoXlrrnnmoTmoIfnrb4NCgkJCWZvcih2YXIgaT0wO2k8MztpKyspc0h0bWwgPSBzSHRt
bC5yZXBsYWNlKCAvPChbXlxzPl0rKShccytbXj5dKik/PlxzKjxcL1wxPi9nLCcnKTsNCgkJ
CS8v5peg5bGe5oCn55qE5peg5oSP5LmJ5qCH562+DQoJCQlmdW5jdGlvbiBjbGVhbkVtcHR5
VGFnKGFsbCx0YWcsY29udGVudCl7DQoJCQkJcmV0dXJuIGNvbnRlbnQ7DQoJCQl9DQoJCQlm
b3IodmFyIGk9MDtpPDM7aSsrKXNIdG1sID0gc0h0bWwucmVwbGFjZSgvPChzcGFufGEpPigo
KD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMr
W14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4p
W1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxjbGVhbkVtcHR5VGFnKTsv
L+esrDPlsYINCgkJCWZvcih2YXIgaT0wO2k8MztpKyspc0h0bWwgPSBzSHRtbC5yZXBsYWNl
KC88KHNwYW58YSk+KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/
KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxj
bGVhbkVtcHR5VGFnKTsvL+esrDLlsYINCgkJCWZvcih2YXIgaT0wO2k8MztpKyspc0h0bWwg
PSBzSHRtbC5yZXBsYWNlKC88KHNwYW58YSk+KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xT
XSkqPyk8XC9cMT4vaWcsY2xlYW5FbXB0eVRhZyk7Ly/mnIDph4zlsYINCgkJCS8v5ZCI5bm2
5aSa5LiqZm9udA0KCQkJZm9yKHZhciBpPTA7aTwzO2krKylzSHRtbCA9IHNIdG1sLnJlcGxh
Y2UoLzxmb250KFxzK1tePl0rKT48Zm9udChccytbXj5dKyk+L2lnLGZ1bmN0aW9uKGFsbCxh
dHRyMSxhdHRyMil7CQkNCgkJCQlyZXR1cm4gJzxmb250JythdHRyMSthdHRyMisnPic7DQoJ
CQl9KTsNCgkJCS8v5riF6Zmk6KGo5qC86Ze06ZqZ6YeM55qE56m65qC8562J54m55q6K5a2X
56ymDQoJCQlzSHRtbD1zSHRtbC5yZXBsYWNlKC8oPChcLz8pKHRyfHRkKSg/OlxzK1tePl0r
KT8+KVtePD5dKy9pZyxmdW5jdGlvbihhbGwsbGVmdCxlbmQsdGFnKXsNCgkJCQlpZighZW5k
JiYvXnRkJC9pLnRlc3QodGFnKSlyZXR1cm4gYWxsOw0KCQkJCWVsc2UgcmV0dXJuIGxlZnQ7
DQoJCQl9KTsNCgkJfQ0KCQlyZXR1cm4gc0h0bWw7DQoJfQ0KCXRoaXMuY2xlYW5IVE1MPWZ1
bmN0aW9uKHNIdG1sKQ0KCXsNCgkJc0h0bWwgPSBzSHRtbC5yZXBsYWNlKC88IT9cLz8oRE9D
VFlQRXxodG1sfGJvZHl8bWV0YSkoXHMrW14+XSo/KT8+L2lnLCAnJyk7DQoJCXZhciBhcnJI
ZWFkU2F2ZTtzSHRtbCA9IHNIdG1sLnJlcGxhY2UoLzxoZWFkKD86XHMrW14+XSo/KT8+KFtc
c1xTXSo/KTxcL2hlYWQ+L2ksIGZ1bmN0aW9uKGFsbCxjb250ZW50KXthcnJIZWFkU2F2ZT1j
b250ZW50Lm1hdGNoKC88KHNjcmlwdHxzdHlsZSkoXHMrW14+XSo/KT8+W1xzXFNdKj88XC9c
MT4vaWcpO3JldHVybiAnJzt9KTsNCgkJaWYoYXJySGVhZFNhdmUpc0h0bWw9YXJySGVhZFNh
dmUuam9pbignJykrc0h0bWw7DQoJCXNIdG1sID0gc0h0bWwucmVwbGFjZSgvPFw/P3htbCg6
XHcrKT8oXHMrW14+XSo/KT8+KFtcc1xTXSo/PFwveG1sPik/L2lnLCAnJyk7DQoNCgkJaWYo
IXNldHRpbmdzLmludGVybmFsU2NyaXB0KXNIdG1sID0gc0h0bWwucmVwbGFjZSgvPHNjcmlw
dChccytbXj5dKj8pPz5bXHNcU10qPzxcL3NjcmlwdD4vaWcsICcnKTsNCgkJaWYoIXNldHRp
bmdzLmludGVybmFsU3R5bGUpc0h0bWwgPSBzSHRtbC5yZXBsYWNlKC88c3R5bGUoXHMrW14+
XSo/KT8+W1xzXFNdKj88XC9zdHlsZT4vaWcsICcnKTsNCgkJaWYoIXNldHRpbmdzLmxpbmtU
YWd8fCFzZXR0aW5ncy5pbmxpbmVTY3JpcHR8fCFzZXR0aW5ncy5pbmxpbmVTdHlsZSlzSHRt
bD1zSHRtbC5yZXBsYWNlKC8oPChcdyspKSgoPzpccytbXHctXStccyo9XHMqKD86IlteIl0q
InwnW14nXSonfFtePlxzXSspKSopXHMqKFwvPz4pL2lnLGZ1bmN0aW9uKGFsbCxsZWZ0LHRh
ZyxhdHRyLHJpZ2h0KXsNCgkJCWlmKCFzZXR0aW5ncy5saW5rVGFnJiZ0YWcudG9Mb3dlckNh
c2UoKT09PSdsaW5rJylyZXR1cm4gJyc7DQoJCQlpZighc2V0dGluZ3MuaW5saW5lU2NyaXB0
KWF0dHI9YXR0ci5yZXBsYWNlKC9ccytvbig/OmNsaWNrfGRibGNsaWNrfG1vdXNlKGRvd258
dXB8bW92ZXxvdmVyfG91dHxlbnRlcnxsZWF2ZXx3aGVlbCl8a2V5KGRvd258cHJlc3N8dXAp
fGNoYW5nZXxzZWxlY3R8c3VibWl0fHJlc2V0fGJsdXJ8Zm9jdXN8bG9hZHx1bmxvYWQpXHMq
PVxzKigiW14iXSoifCdbXiddKid8W14+XHNdKykvaWcsJycpOw0KCQkJaWYoIXNldHRpbmdz
LmlubGluZVN0eWxlKWF0dHI9YXR0ci5yZXBsYWNlKC9ccysoc3R5bGV8Y2xhc3MpXHMqPVxz
KigiW14iXSoifCdbXiddKid8W14+XHNdKykvaWcsJycpOw0KCQkJcmV0dXJuIGxlZnQrYXR0
cityaWdodDsNCgkJfSk7DQoJCXNIdG1sPXNIdG1sLnJlcGxhY2UoLzxcLyhzdHJvbmd8Ynx1
fHN0cmlrZXxlbXxpKT4oKD86XHN8PGJyXC8/PnwmbmJzcDspKj8pPFwxKFxzK1tePl0qPyk/
Pi9pZywnJDInKTsvL+i/nue7reebuOWQjOagh+etvg0KDQoJCXJldHVybiBzSHRtbDsNCg0K
CX0NCgl0aGlzLmZvcm1hdFhIVE1MPWZ1bmN0aW9uKHNIdG1sLGJGb3JtYXQpew0KDQoJCXZh
ciBlbXB0eVRhZ3MgPSBtYWtlTWFwKCJhcmVhLGJhc2UsYmFzZWZvbnQsYnIsY29sLGZyYW1l
LGhyLGltZyxpbnB1dCxpc2luZGV4LGxpbmssbWV0YSxwYXJhbSxlbWJlZCIpOy8vSFRNTCA0
LjAxDQoJCXZhciBibG9ja1RhZ3MgPSBtYWtlTWFwKCJhZGRyZXNzLGFwcGxldCxibG9ja3F1
b3RlLGJ1dHRvbixjZW50ZXIsZGQsZGlyLGRpdixkbCxkdCxmaWVsZHNldCxmb3JtLGZyYW1l
c2V0LGgxLGgyLGgzLGg0LGg1LGg2LGhyLGlmcmFtZSxpbnMsaXNpbmRleCxsaSxtYXAsbWVu
dSxub2ZyYW1lcyxub3NjcmlwdCxvYmplY3Qsb2wscCxwcmUsdGFibGUsdGJvZHksdGQsdGZv
b3QsdGgsdGhlYWQsdHIsdWwsc2NyaXB0Iik7Ly9IVE1MIDQuMDENCgkJdmFyIGlubGluZVRh
Z3MgPSBtYWtlTWFwKCJhLGFiYnIsYWNyb255bSxhcHBsZXQsYixiYXNlZm9udCxiZG8sYmln
LGJyLGJ1dHRvbixjaXRlLGNvZGUsZGVsLGRmbixlbSxmb250LGksaWZyYW1lLGltZyxpbnB1
dCxpbnMsa2JkLGxhYmVsLG1hcCxvYmplY3QscSxzLHNhbXAsc2NyaXB0LHNlbGVjdCxzbWFs
bCxzcGFuLHN0cmlrZSxzdHJvbmcsc3ViLHN1cCx0ZXh0YXJlYSx0dCx1LHZhciIpOy8vSFRN
TCA0LjAxDQoJCXZhciBjbG9zZVNlbGZUYWdzID0gbWFrZU1hcCgiY29sZ3JvdXAsZGQsZHQs
bGksb3B0aW9ucyxwLHRkLHRmb290LHRoLHRoZWFkLHRyIik7DQoJCXZhciBmaWxsQXR0cnNU
YWdzID0gbWFrZU1hcCgiY2hlY2tlZCxjb21wYWN0LGRlY2xhcmUsZGVmZXIsZGlzYWJsZWQs
aXNtYXAsbXVsdGlwbGUsbm9ocmVmLG5vcmVzaXplLG5vc2hhZGUsbm93cmFwLHJlYWRvbmx5
LHNlbGVjdGVkIik7DQoJCXZhciBjZGF0YVRhZ3MgPSBtYWtlTWFwKCJzY3JpcHQsc3R5bGUi
KTsNCgkJdmFyIHRhZ1JlcGxhYz17J2InOidzdHJvbmcnLCdpJzonZW0nLCdzJzonZGVsJywn
c3RyaWtlJzonZGVsJ307DQoJCQ0KCQl2YXIgcmVnVGFnPS88KD86XC8oW15ccz5dKyl8IShb
Xj5dKj8pfChbXHdcLTpdKykoKD86IlteIl0qInwnW14nXSonfFteIic8Pl0pKilccyooXC8/
KSk+L2c7DQoJCXZhciByZWdBdHRyID0gL1xzKihbXHdcLTpdKykoPzpccyo9XHMqKD86Iihb
XiJdKikifCcoW14nXSopJ3woW15cc10rKSkpPy9nOw0KCQl2YXIgcmVzdWx0cz1bXSxzdGFj
az1bXTsNCgkJc3RhY2subGFzdCA9IGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbIHRoaXMubGVu
Z3RoIC0gMSBdO307DQoJCXZhciBtYXRjaCx0YWdJbmRleCxuZXh0SW5kZXg9MCx0YWdOYW1l
LHRhZ0NEQVRBLGFyckNEQVRBLHRleHQ7DQoJCXZhciBsdmw9LTEsbGFzdFRhZz0nYm9keScs
bGFzdFRhZ1N0YXJ0LHN0b3BGb3JtYXQ9ZmFsc2U7DQoNCgkJd2hpbGUobWF0Y2g9cmVnVGFn
LmV4ZWMoc0h0bWwpKXsNCgkJCXRhZ0luZGV4ID0gbWF0Y2guaW5kZXg7DQoJCQlpZih0YWdJ
bmRleD5uZXh0SW5kZXgpey8v5L+d5a2Y5YmN6Z2i55qE5paH5pys5oiW6ICFQ0RBVEENCgkJ
CQl0ZXh0PXNIdG1sLnN1YnN0cmluZyhuZXh0SW5kZXgsdGFnSW5kZXgpOw0KCQkJCWlmKHRh
Z0NEQVRBKWFyckNEQVRBLnB1c2godGV4dCk7DQoJCQkJZWxzZSBvblRleHQodGV4dCk7DQoJ
CQl9DQoJCQluZXh0SW5kZXggPSByZWdUYWcubGFzdEluZGV4Ow0KDQoJCQlpZih0YWdOYW1l
PW1hdGNoWzFdKXsvL+e7k+adn+agh+etvg0KCQkJCXRhZ05hbWU9cHJvY2Vzc1RhZyh0YWdO
YW1lKTsNCgkJCQlpZih0YWdDREFUQSYmdGFnTmFtZT09PXRhZ0NEQVRBKXsvL+e7k+adn+ag
h+etvuWJjei+k+WHukNEQVRBDQoJCQkJCW9uQ0RBVEEoYXJyQ0RBVEEuam9pbignJykpOw0K
CQkJCQl0YWdDREFUQT1udWxsOw0KCQkJCQlhcnJDREFUQT1udWxsOw0KCQkJCX0NCgkJCQlp
ZighdGFnQ0RBVEEpew0KCQkJCQlvbkVuZFRhZyh0YWdOYW1lKTsNCgkJCQkJY29udGludWU7
DQoJCQkJfQ0KCQkJfQ0KCQkJDQoJCQlpZih0YWdDREFUQSlhcnJDREFUQS5wdXNoKG1hdGNo
WzBdKTsNCgkJCWVsc2V7DQoJCQkJaWYodGFnTmFtZT1tYXRjaFszXSl7Ly/lvIDlp4vmoIfn
rb4NCgkJCQkJdGFnTmFtZT1wcm9jZXNzVGFnKHRhZ05hbWUpOw0KCQkJCQlvblN0YXJ0VGFn
KHRhZ05hbWUsbWF0Y2hbNF0sbWF0Y2hbNV0pOw0KCQkJCQlpZihjZGF0YVRhZ3NbdGFnTmFt
ZV0pew0KCQkJCQkJdGFnQ0RBVEE9dGFnTmFtZTsNCgkJCQkJCWFyckNEQVRBPVtdOw0KCQkJ
CQl9DQoJCQkJfQ0KCQkJCWVsc2UgaWYobWF0Y2hbMl0pb25Db21tZW50KG1hdGNoWzBdKTsv
L+azqOmHiuagh+etvg0KCQkJfQ0KDQoJCX0NCgkJaWYoc0h0bWwubGVuZ3RoPm5leHRJbmRl
eClvblRleHQoc0h0bWwuc3Vic3RyaW5nKG5leHRJbmRleCxzSHRtbC5sZW5ndGggKSk7Ly/n
u5PlsL7mlofmnKwNCgkJb25FbmRUYWcoKTsvL+WwgemXreacque7k+adn+eahOagh+etvg0K
CQlzSHRtbD1yZXN1bHRzLmpvaW4oJycpOw0KCQlyZXN1bHRzPW51bGw7DQoJCQ0KCQlmdW5j
dGlvbiBtYWtlTWFwKHN0cikNCgkJew0KCQkJdmFyIG9iaiA9IHt9LCBpdGVtcyA9IHN0ci5z
cGxpdCgiLCIpOw0KCQkJZm9yICggdmFyIGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKysg
KW9ialsgaXRlbXNbaV0gXSA9IHRydWU7DQoJCQlyZXR1cm4gb2JqOw0KCQl9DQoJCWZ1bmN0
aW9uIHByb2Nlc3NUYWcodGFnTmFtZSkNCgkJew0KCQkJdGFnTmFtZT10YWdOYW1lLnRvTG93
ZXJDYXNlKCk7DQoJCQl2YXIgdGFnPXRhZ1JlcGxhY1t0YWdOYW1lXTsNCgkJCXJldHVybiB0
YWc/dGFnOnRhZ05hbWU7DQoJCX0NCgkJZnVuY3Rpb24gb25TdGFydFRhZyh0YWdOYW1lLHJl
c3QsdW5hcnkpDQoJCXsNCgkJCWlmKGJsb2NrVGFnc1t0YWdOYW1lXSl3aGlsZShzdGFjay5s
YXN0KCkmJmlubGluZVRhZ3Nbc3RhY2subGFzdCgpXSlvbkVuZFRhZyhzdGFjay5sYXN0KCkp
Oy8v5Z2X5qCH562+DQoJCQlpZihjbG9zZVNlbGZUYWdzW3RhZ05hbWVdJiZzdGFjay5sYXN0
KCk9PT10YWdOYW1lKW9uRW5kVGFnKHRhZ05hbWUpOy8v6Ieq5bCB6Zet5qCH562+DQoJCQl1
bmFyeSA9IGVtcHR5VGFnc1sgdGFnTmFtZSBdIHx8ICEhdW5hcnk7DQoJCQlpZiAoIXVuYXJ5
KXN0YWNrLnB1c2godGFnTmFtZSk7DQoJCQkNCgkJCXZhciBhbGw9QXJyYXkoKTsNCgkJCWFs
bC5wdXNoKCc8JyArIHRhZ05hbWUpOw0KCQkJcmVzdC5yZXBsYWNlKHJlZ0F0dHIsIGZ1bmN0
aW9uKG1hdGNoLCBuYW1lKQ0KCQkJew0KCQkJCW5hbWU9bmFtZS50b0xvd2VyQ2FzZSgpOw0K
CQkJCXZhciB2YWx1ZSA9IGFyZ3VtZW50c1syXSA/IGFyZ3VtZW50c1syXSA6DQoJCQkJCQlh
cmd1bWVudHNbM10gPyBhcmd1bWVudHNbM10gOg0KCQkJCQkJYXJndW1lbnRzWzRdID8gYXJn
dW1lbnRzWzRdIDoNCgkJCQkJCWZpbGxBdHRyc1RhZ3NbbmFtZV0gPyBuYW1lIDogIiI7DQoJ
CQkJYWxsLnB1c2goJyAnK25hbWUrJz0iJyt2YWx1ZS5yZXBsYWNlKC8iL2csIiciKSsnIicp
Ow0KCQkJfSk7DQoJCQlhbGwucHVzaCgodW5hcnkgPyAiIC8iIDogIiIpICsgIj4iKTsNCgkJ
CWFkZEh0bWxGcmFnKGFsbC5qb2luKCcnKSx0YWdOYW1lLHRydWUpOw0KCQkJaWYodGFnTmFt
ZT09PSdwcmUnKXN0b3BGb3JtYXQ9dHJ1ZTsNCgkJfQ0KCQlmdW5jdGlvbiBvbkVuZFRhZyh0
YWdOYW1lKQ0KCQl7DQoJCQlpZighdGFnTmFtZSl2YXIgcG9zPTA7Ly/muIXnqbrmoIgNCgkJ
CWVsc2UgZm9yKHZhciBwb3M9c3RhY2subGVuZ3RoLTE7cG9zPj0wO3Bvcy0tKWlmKHN0YWNr
W3Bvc109PT10YWdOYW1lKWJyZWFrOy8v5ZCR5LiK5a+75om+5Yy56YWN55qE5byA5aeL5qCH
562+DQoJCQlpZihwb3M+PTApDQoJCQl7DQoJCQkJZm9yKHZhciBpPXN0YWNrLmxlbmd0aC0x
O2k+PXBvcztpLS0pYWRkSHRtbEZyYWcoIjwvIiArIHN0YWNrW2ldICsgIj4iLHN0YWNrW2ld
KTsNCgkJCQlzdGFjay5sZW5ndGg9cG9zOw0KCQkJfQ0KCQkJaWYodGFnTmFtZT09PSdwcmUn
KXsNCgkJCQlzdG9wRm9ybWF0PWZhbHNlOw0KCQkJCWx2bC0tOw0KCQkJfQ0KCQl9DQoJCWZ1
bmN0aW9uIG9uVGV4dCh0ZXh0KXsNCgkJCWFkZEh0bWxGcmFnKF90aGlzLmRvbUVuY29kZSh0
ZXh0KSk7DQoJCX0NCgkJZnVuY3Rpb24gb25DREFUQSh0ZXh0KXsNCgkJCXJlc3VsdHMucHVz
aCh0ZXh0LnJlcGxhY2UoL15bXHNcclxuXSt8W1xzXHJcbl0rJC9nLCcnKSk7DQoJCX0NCgkJ
ZnVuY3Rpb24gb25Db21tZW50KHRleHQpew0KCQkJcmVzdWx0cy5wdXNoKHRleHQpOw0KCQl9
DQoJCWZ1bmN0aW9uIGFkZEh0bWxGcmFnKGh0bWwsdGFnTmFtZSxiU3RhcnQpDQoJCXsNCgkJ
CWlmKCFzdG9wRm9ybWF0KWh0bWw9aHRtbC5yZXBsYWNlKC8oXHQqXHI/XG5cdCopKy9nLCcn
KTsvL+a4heeQhuaNouihjOespuWSjOebuOmCu+eahOWItuihqOespg0KCQkJaWYoIXN0b3BG
b3JtYXQmJmJGb3JtYXQ9PT10cnVlKQ0KCQkJew0KCQkJCWlmKGh0bWwubWF0Y2goL15ccyok
Lykpey8v5LiN5qC85byP5YyW56m65YaF5a6555qE5qCH562+DQoJCQkJCXJlc3VsdHMucHVz
aChodG1sKTsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCgkJCQl2YXIgYkJsb2NrPWJsb2NrVGFn
c1t0YWdOYW1lXSx0YWc9YkJsb2NrP3RhZ05hbWU6Jyc7DQoJCQkJaWYoYkJsb2NrKQ0KCQkJ
CXsNCgkJCQkJaWYoYlN0YXJ0KWx2bCsrOy8v5Z2X5byA5aeLDQoJCQkJCWlmKGxhc3RUYWc9
PT0nJylsdmwtLTsvL+ihpeaWh+acrOe7k+adnw0KCQkJCX0NCgkJCQllbHNlIGlmKGxhc3RU
YWcpbHZsKys7Ly/mlofmnKzlvIDlp4sNCgkJCQlpZih0YWchPT1sYXN0VGFnfHxiQmxvY2sp
YWRkSW5kZW50KCk7DQoJCQkJcmVzdWx0cy5wdXNoKGh0bWwpOw0KCQkJCWlmKHRhZ05hbWU9
PT0nYnInKWFkZEluZGVudCgpOy8v5Zue6L2m5by65Yi25o2i6KGMDQoJCQkJaWYoYkJsb2Nr
JiYoZW1wdHlUYWdzW3RhZ05hbWVdfHwhYlN0YXJ0KSlsdmwtLTsvL+Wdl+e7k+adnw0KCQkJ
CWxhc3RUYWc9YkJsb2NrP3RhZ05hbWU6Jyc7bGFzdFRhZ1N0YXJ0PWJTdGFydDsNCgkJCX0N
CgkJCWVsc2UgcmVzdWx0cy5wdXNoKGh0bWwpOw0KCQl9DQoJCWZ1bmN0aW9uIGFkZEluZGVu
dCgpe3Jlc3VsdHMucHVzaCgnXHJcbicpO2lmKGx2bD4wKXt2YXIgdGFicz1sdmw7d2hpbGUo
dGFicy0tKXJlc3VsdHMucHVzaCgiXHQiKTt9fQ0KCQkvL2ZvbnTovaxzdHlsZQ0KCQlmdW5j
dGlvbiBmb250MnN0eWxlKGFsbCx0YWcsYXR0cnMsY29udGVudCkNCgkJew0KCQkJaWYoIWF0
dHJzKXJldHVybiBjb250ZW50Ow0KCQkJdmFyIHN0eWxlcz0nJyxmLHMsYyxzdHlsZTsNCgkJ
CWF0dHJzPWF0dHJzLnJlcGxhY2UoLyBmYWNlXHMqPVxzKiJccyooW14iXSopXHMqIi9pLGZ1
bmN0aW9uKGFsbCx2KXsNCgkJCQlpZih2KXN0eWxlcys9J2ZvbnQtZmFtaWx5OicrdisnOyc7
DQoJCQkJcmV0dXJuICcnOw0KCQkJfSk7DQoJCQlhdHRycz1hdHRycy5yZXBsYWNlKC8gc2l6
ZVxzKj1ccyoiXHMqKFxkKylccyoiL2ksZnVuY3Rpb24oYWxsLHYpew0KCQkJCXN0eWxlcys9
J2ZvbnQtc2l6ZTonK2FyckZvbnRzaXplWyh2Pjc/NzoodjwxPzE6dikpLTFdLnMrJzsnOw0K
CQkJCXJldHVybiAnJzsNCgkJCX0pOw0KCQkJYXR0cnM9YXR0cnMucmVwbGFjZSgvIGNvbG9y
XHMqPVxzKiJccyooW14iXSopXHMqIi9pLGZ1bmN0aW9uKGFsbCx2KXsNCgkJCQlpZih2KXN0
eWxlcys9J2NvbG9yOicrdisnOyc7DQoJCQkJcmV0dXJuICcnOw0KCQkJfSk7DQoJCQlhdHRy
cz1hdHRycy5yZXBsYWNlKC8gc3R5bGVccyo9XHMqIlxzKihbXiJdKilccyoiL2ksZnVuY3Rp
b24oYWxsLHYpew0KCQkJCWlmKHYpc3R5bGVzKz12Ow0KCQkJCXJldHVybiAnJzsNCgkJCX0p
Ow0KCQkJYXR0cnMrPScgc3R5bGU9Iicrc3R5bGVzKyciJzsNCgkJCXJldHVybiBhdHRycz8o
JzxzcGFuJythdHRycysnPicrY29udGVudCsnPC9zcGFuPicpOmNvbnRlbnQ7DQoJCX0NCgkJ
c0h0bWwgPSBzSHRtbC5yZXBsYWNlKC88KGZvbnQpKFxzK1tePl0qPyk/PigoKD8hPFwxKFxz
K1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+
KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4pW1xzXFNdKSo/
PFwvXDE+KSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxmb250MnN0eWxlKTsvL+esrDPlsYINCgkJ
c0h0bWwgPSBzSHRtbC5yZXBsYWNlKC88KGZvbnQpKFxzK1tePl0qPyk/PigoKD8hPFwxKFxz
K1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+
KVtcc1xTXSkqPzxcL1wxPikqPyk8XC9cMT4vaWcsZm9udDJzdHlsZSk7Ly/nrKwy5bGCDQoJ
CXNIdG1sID0gc0h0bWwucmVwbGFjZSgvPChmb250KShccytbXj5dKj8pPz4oKCg/ITxcMShc
cytbXj5dKj8pPz4pW1xzXFNdKSo/KTxcL1wxPi9pZyxmb250MnN0eWxlKTsvL+acgOmHjOWx
gg0KCQlzSHRtbCA9IHNIdG1sLnJlcGxhY2UoL14oXHMqXHI/XG4pK3woXHMqXHI/XG4pKyQv
ZywnJyk7Ly/muIXnkIbpppblsL7mjaLooYwNCgkJcmV0dXJuIHNIdG1sOw0KCX0NCgkNCgl0
aGlzLnRvZ2dsZVNob3dCbG9ja3RhZz1mdW5jdGlvbihzdGF0ZSkNCgl7DQoJCWlmKGJTaG93
QmxvY2t0YWc9PT1zdGF0ZSlyZXR1cm47DQoJCWJTaG93QmxvY2t0YWc9IWJTaG93QmxvY2t0
YWc7DQoJCXZhciBfakJvZHk9JChfZG9jLmJvZHkpOw0KCQlpZihiU2hvd0Jsb2NrdGFnKQ0K
CQl7DQoJCQlib2R5Q2xhc3MrPScgc2hvd0Jsb2NrdGFnJzsNCgkJCV9qQm9keS5hZGRDbGFz
cygnc2hvd0Jsb2NrdGFnJyk7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlib2R5Q2xhc3M9Ym9k
eUNsYXNzLnJlcGxhY2UoJyBzaG93QmxvY2t0YWcnLCcnKTsNCgkJCV9qQm9keS5yZW1vdmVD
bGFzcygnc2hvd0Jsb2NrdGFnJyk7DQoJCX0NCgl9DQoJdGhpcy50b2dnbGVTb3VyY2U9ZnVu
Y3Rpb24oc3RhdGUpDQoJew0KCQlpZihiU291cmNlPT09c3RhdGUpcmV0dXJuOw0KCQlfalRv
b2xzLmZpbmQoJ1tjbWQ9U291cmNlXScpLnRvZ2dsZUNsYXNzKCd4aGVFbmFibGVkJykudG9n
Z2xlQ2xhc3MoJ3hoZUFjdGl2ZScpOw0KCQl2YXIgX2JvZHk9X2RvYy5ib2R5LGpCb2R5PSQo
X2JvZHkpLHNIdG1sOw0KCQl2YXIgc291cmNlQ29kZSxjdXJzb3JNYXJrPSc8c3BhbiBpZD0i
X3hoZV9jdXJzb3IiPjwvc3Bhbj4nLGN1cnNvclBvcz0wOw0KCQl2YXIgdHh0U291cmNlVGl0
bGU9Jyc7DQoJCWlmKCFiU291cmNlKQ0KCQl7Ly/ovazkuLrmupDku6PnoIHmqKHlvI8NCgkJ
CV90aGlzLnBhc3RlSFRNTChjdXJzb3JNYXJrLHRydWUpOy8v5qCH6K6w5b2T5YmN5L2N572u
DQoJCQlzSHRtbD1fdGhpcy5nZXRTb3VyY2UodHJ1ZSk7DQoJCQljdXJzb3JQb3M9c0h0bWwu
aW5kZXhPZihjdXJzb3JNYXJrKTsNCgkJCWlmKCFpc09wZXJhKWN1cnNvclBvcz1zSHRtbC5z
dWJzdHJpbmcoMCxjdXJzb3JQb3MpLnJlcGxhY2UoL1xyL2csJycpLmxlbmd0aDsvL+S/ruat
o+mdnm9wZXJh5YWJ5qCH5a6a5L2N54K5DQoJCQlzSHRtbD1zSHRtbC5yZXBsYWNlKC8oXHI/
XG5ccyp8KTxzcGFuIGlkPSJfeGhlX2N1cnNvciI+PFwvc3Bhbj4oXHMqXHI/XG58KS8sZnVu
Y3Rpb24oYWxsLGxlZnQscmlnaHQpew0KCQkJCXJldHVybiBsZWZ0JiZyaWdodD8nXHJcbic6
bGVmdCtyaWdodDsvL+WPquacieWumuS9jeespueahOepuuihjOWIoOmZpOW9k+WJjeihjA0K
CQkJfSk7DQoJCQlpZihpc0lFKV9ib2R5LmNvbnRlbnRFZGl0YWJsZT0nZmFsc2UnOw0KCQkJ
ZWxzZSBfZG9jLmRlc2lnbk1vZGUgPSAnT2ZmJzsNCgkJCWpCb2R5LmF0dHIoJ3Njcm9sbCcs
J25vJykuYXR0cignY2xhc3MnLCdzb3VyY2VNb2RlJykuaHRtbCgnPHRleHRhcmVhIGlkPSJz
b3VyY2VDb2RlIiB3cmFwPSJzb2Z0IiBzcGVsbGNoZWNrPSJmYWxzZSIgc3R5bGU9IndpZHRo
OjEwMCU7aGVpZ2h0OjEwMCUiIC8+Jyk7DQoJCQlzb3VyY2VDb2RlPSQoJyNzb3VyY2VDb2Rl
JyxqQm9keSkuYmx1cihfdGhpcy5nZXRTb3VyY2UpWzBdOw0KCQkJdHh0U291cmNlVGl0bGU9
J+WPr+inhuWMlue8lui+kSc7DQoJCX0NCgkJZWxzZQ0KCQl7Ly/ovazkuLrnvJbovpHmqKHl
vI8NCgkJCXNIdG1sPV90aGlzLmdldFNvdXJjZSgpOw0KCQkJakJvZHkuaHRtbCgnJykucmVt
b3ZlQXR0cignc2Nyb2xsJykuYXR0cignY2xhc3MnLCdlZGl0TW9kZScrYm9keUNsYXNzKTsN
CgkJCWlmKGlzSUUpX2JvZHkuY29udGVudEVkaXRhYmxlPSd0cnVlJzsNCgkJCWVsc2UgX2Rv
Yy5kZXNpZ25Nb2RlID0gJ09uJzsNCgkJCWlmKGlzTW96aWxsYSkNCgkJCXsNCgkJCQlfdGhp
cy5fZXhlYygiaW5zZXJ0aHRtbCIsIi0iKTsvL+S/ruato2ZpcmVmb3jmupDku6PnoIHliIfm
jaLlm57mnaXml6Dms5XliKDpmaTmloflrZfnmoTpl67popgNCgkJCQkkKCcjJytpZEZpeEZG
Q3Vyc29yKS5zaG93KCkuZm9jdXMoKS5oaWRlKCk7Ly/kuLTml7bkv67mraNGaXJlZm94IDMu
NuWFieagh+S4ouWksemXrumimA0KCQkJfQ0KCQkJdHh0U291cmNlVGl0bGU9J+a6kOS7o+eg
gSc7DQoJCX0NCgkJYlNvdXJjZT0hYlNvdXJjZTsNCgkJX3RoaXMuc2V0U291cmNlKHNIdG1s
KTsNCgkJX3RoaXMuZm9jdXMoKTsNCgkJaWYoYlNvdXJjZSkvL+WFieagh+WumuS9jea6kOeg
gQ0KCQl7DQoJCQlpZihzb3VyY2VDb2RlLnNldFNlbGVjdGlvblJhbmdlKXNvdXJjZUNvZGUu
c2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zLCBjdXJzb3JQb3MpOw0KCQkJZWxzZQ0KCQkJ
ew0KCQkJCXZhciBybmcgPSBzb3VyY2VDb2RlLmNyZWF0ZVRleHRSYW5nZSgpOw0KCQkJCXJu
Zy5tb3ZlKCJjaGFyYWN0ZXIiLGN1cnNvclBvcyk7DQoJCQkJcm5nLnNlbGVjdCgpOw0KCQkJ
fQ0KCQl9DQoJCWVsc2UgX3RoaXMuc2V0VGV4dEN1cnNvcigpOy8v5a6a5L2N5pyA5YmN6Z2i
DQoJCV9qVG9vbHMuZmluZCgnW2NtZD1Tb3VyY2VdJykuYXR0cigndGl0bGUnLHR4dFNvdXJj
ZVRpdGxlKS5maW5kKCdzcGFuJykudGV4dCh0eHRTb3VyY2VUaXRsZSk7DQoJCV9qVG9vbHMu
ZmluZCgnW2NtZD1Tb3VyY2VdLFtjbWQ9UHJldmlld10nKS50b2dnbGVDbGFzcygneGhlRW5h
YmxlZCcpOw0KCQlfalRvb2xzLmZpbmQoJy54aGVCdXR0b24nKS5ub3QoJ1tjbWQ9U291cmNl
XSxbY21kPUZ1bGxzY3JlZW5dLFtjbWQ9QWJvdXRdJykudG9nZ2xlQ2xhc3MoJ3hoZUVuYWJs
ZWQnKS5hdHRyKCdhcmlhLWRpc2FibGVkJyxiU291cmNlP3RydWU6ZmFsc2UpOy8v5peg6Zqc
56KN5pSv5oyBDQoJCXNldFRpbWVvdXQoc2V0T3B0cywzMDApOw0KCX0NCgl0aGlzLnNob3dQ
cmV2aWV3PWZ1bmN0aW9uKCkNCgl7DQoJCXZhciBiZWZvcmVTZXRTb3VyY2U9c2V0dGluZ3Mu
YmVmb3JlU2V0U291cmNlLHNDb250ZW50PV90aGlzLmdldFNvdXJjZSgpOw0KCQlpZihiZWZv
cmVTZXRTb3VyY2Upc0NvbnRlbnQ9YmVmb3JlU2V0U291cmNlKHNDb250ZW50KTsNCgkJdmFy
IHNIVE1MPSc8aHRtbD48aGVhZD4nK2hlYWRIVE1MKyc8dGl0bGU+6aKE6KeIPC90aXRsZT4n
Kyh1cmxCYXNlPyc8YmFzZSBocmVmPSInK3VybEJhc2UrJyIvPic6JycpKyc8L2hlYWQ+PGJv
ZHk+JyArIHNDb250ZW50ICsgJzwvYm9keT48L2h0bWw+JzsNCgkJdmFyIHNjcmVlbj13aW5k
b3cuc2NyZWVuLG9XaW5kb3c9d2luZG93Lm9wZW4oJycsICd4aGVQcmV2aWV3JywgJ3Rvb2xi
YXI9eWVzLGxvY2F0aW9uPW5vLHN0YXR1cz15ZXMsbWVudWJhcj15ZXMsc2Nyb2xsYmFycz15
ZXMscmVzaXphYmxlPXllcyx3aWR0aD0nK01hdGgucm91bmQoc2NyZWVuLndpZHRoKjAuOSkr
JyxoZWlnaHQ9JytNYXRoLnJvdW5kKHNjcmVlbi5oZWlnaHQqMC44KSsnLGxlZnQ9JytNYXRo
LnJvdW5kKHNjcmVlbi53aWR0aCowLjA1KSksb0RvYz1vV2luZG93LmRvY3VtZW50Ow0KCQlv
RG9jLm9wZW4oKTsNCgkJb0RvYy53cml0ZShzSFRNTCk7DQoJCW9Eb2MuY2xvc2UoKTsNCgkJ
b1dpbmRvdy5mb2N1cygpOw0KCX0NCgl0aGlzLnRvZ2dsZUZ1bGxzY3JlZW49ZnVuY3Rpb24o
c3RhdGUpDQoJew0KCQlpZihiRnVsbHNjcmVlbj09PXN0YXRlKXJldHVybjsNCgkJdmFyIGpM
YXlvdXQ9JCgnIycraWRDb250YWluZXIpLmZpbmQoJy54aGVMYXlvdXQnKSxqQ29udGFpbmVy
PSQoJyMnK2lkQ29udGFpbmVyKSxicm93c2VyVmVyPWpRdWVyeS5icm93c2VyLnZlcnNpb24s
aXNJRTY3PShpc0lFJiYoYnJvd3NlclZlcj09Nnx8YnJvd3NlclZlcj09NykpOw0KCQlpZihi
RnVsbHNjcmVlbikNCgkJey8v5Y+W5raI5YWo5bGPDQoJCQlpZihpc0lFNjcpX2pUZXh0LmFm
dGVyKGpDb250YWluZXIpOw0KCQkJakxheW91dC5hdHRyKCdzdHlsZScsc0xheW91dFN0eWxl
KTsNCgkJCV9qQXJlYS5oZWlnaHQoZWRpdG9ySGVpZ2h0LV9qVG9vbHMub3V0ZXJIZWlnaHQo
KSk7DQoJCQkkKHdpbmRvdykuc2Nyb2xsVG9wKG91dGVyU2Nyb2xsKTsNCgkJCXNldFRpbWVv
dXQoZnVuY3Rpb24oKXskKHdpbmRvdykuc2Nyb2xsVG9wKG91dGVyU2Nyb2xsKTt9LDEwKTsv
L0ZpcmVmb3jpnIDopoHlu7bov5/orr7nva4NCgkJfQ0KCQllbHNlDQoJCXsvL+aYvuekuuWF
qOWxjw0KCQkJaWYoaXNJRTY3KSQoJ2JvZHknKS5hcHBlbmQoakNvbnRhaW5lcik7DQoJCQlv
dXRlclNjcm9sbD0kKHdpbmRvdykuc2Nyb2xsVG9wKCk7DQoJCQlzTGF5b3V0U3R5bGU9akxh
eW91dC5hdHRyKCdzdHlsZScpOw0KCQkJakxheW91dC5yZW1vdmVBdHRyKCdzdHlsZScpOw0K
CQkJX2pBcmVhLmhlaWdodCgnMTAwJScpOw0KCQkJc2V0VGltZW91dChmaXhGdWxsSGVpZ2h0
LDEwMCk7DQoJCX0NCgkJaWYoaXNNb3ppbGxhKS8v5Li05pe25L+u5q2jRmlyZWZveCAzLjbm
upDku6PnoIHlhYnmoIfkuKLlpLHpl67popgNCgkJew0KCQkJJCgnIycraWRGaXhGRkN1cnNv
cikuc2hvdygpLmZvY3VzKCkuaGlkZSgpOw0KCQkJc2V0VGltZW91dChfdGhpcy5mb2N1cywx
KTsNCgkJfQ0KCQllbHNlIGlmKGlzSUU2NylfdGhpcy5zZXRUZXh0Q3Vyc29yKCk7DQoJCWJG
dWxsc2NyZWVuPSFiRnVsbHNjcmVlbjsNCgkJakNvbnRhaW5lci50b2dnbGVDbGFzcygneGhl
X0Z1bGxzY3JlZW4nKTsNCgkJJCgnaHRtbCcpLnRvZ2dsZUNsYXNzKCd4aGVfRnVsbGZpeCcp
Ow0KCQlfalRvb2xzLmZpbmQoJ1tjbWQ9RnVsbHNjcmVlbl0nKS50b2dnbGVDbGFzcygneGhl
QWN0aXZlJyk7DQoJCXNldFRpbWVvdXQoc2V0T3B0cywzMDApOw0KCX0NCgl0aGlzLnNob3dN
ZW51PWZ1bmN0aW9uKG1lbnVpdGVtcyxjYWxsYmFjaykNCgl7DQoJCXZhciBqTWVudT0kKCc8
ZGl2IGNsYXNzPSJ4aGVNZW51Ij48L2Rpdj4nKSxtZW51U2l6ZT1tZW51aXRlbXMubGVuZ3Ro
LGFyckl0ZW09W107DQoJCSQuZWFjaChtZW51aXRlbXMsZnVuY3Rpb24obix2KXsNCgkJCWlm
KHYucz09PSctJyl7DQoJCQkJYXJySXRlbS5wdXNoKCc8ZGl2IGNsYXNzPSJ4aGVNZW51U2Vw
YXJhdG9yIj48L2Rpdj4nKTsNCgkJCX1lbHNlew0KCQkJCWFyckl0ZW0ucHVzaCgnPGEgaHJl
Zj0iamF2YXNjcmlwdDp2b2lkKFwnJyt2LnYrJ1wnKSIgdGl0bGU9IicrKHYudD92LnQ6di5z
KSsnIiB2PSInK3YudisnIiByb2xlPSJvcHRpb24iIGFyaWEtc2V0c2l6ZT0iJyttZW51U2l6
ZSsnIiBhcmlhLXBvc2luc2V0PSInKyhuKzEpKyciIHRhYmluZGV4PSIwIj4nK3YucysnPC9h
PicpOw0KCQkJfQ0KCQl9KTsNCgkJak1lbnUuYXBwZW5kKGFyckl0ZW0uam9pbignJykpOw0K
CQlqTWVudS5jbGljayhmdW5jdGlvbihldil7DQoJCQlldj1ldi50YXJnZXQ7DQoJCQlpZigk
Lm5vZGVOYW1lKGV2LCdESVYnKSlyZXR1cm47DQoJCQlfdGhpcy5sb2FkQm9va21hcmsoKTsN
CgkJCWNhbGxiYWNrKCQoZXYpLmNsb3Nlc3QoJ2EnKS5hdHRyKCd2JykpOw0KCQkJX3RoaXMu
aGlkZVBhbmVsKCk7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0pLm1vdXNlZG93bihyZXR1cm5G
YWxzZSk7DQoJCV90aGlzLnNhdmVCb29rbWFyaygpOw0KCQlfdGhpcy5zaG93UGFuZWwoak1l
bnUpOw0KCX0NCgl0aGlzLnNob3dDb2xvcj1mdW5jdGlvbihjYWxsYmFjaykNCgl7DQoJCXZh
ciBqQ29sb3I9JCgnPGRpdiBjbGFzcz0ieGhlQ29sb3IiPjwvZGl2PicpLGFyckl0ZW09W10s
Y29sb3JTaXplPWl0ZW1Db2xvcnMubGVuZ3RoLGNvdW50PTA7DQoJCSQuZWFjaChpdGVtQ29s
b3JzLGZ1bmN0aW9uKG4sdikNCgkJew0KCQkJaWYoY291bnQlNz09PTApYXJySXRlbS5wdXNo
KChjb3VudD4wPyc8L2Rpdj4nOicnKSsnPGRpdj4nKTsNCgkJCWFyckl0ZW0ucHVzaCgnPGEg
aHJlZj0iamF2YXNjcmlwdDp2b2lkKFwnJyt2KydcJykiIHhoZXY9IicrdisnIiB0aXRsZT0i
Jyt2KyciIHN0eWxlPSJiYWNrZ3JvdW5kOicrdisnIiByb2xlPSJvcHRpb24iIGFyaWEtc2V0
c2l6ZT0iJytjb2xvclNpemUrJyIgYXJpYS1wb3NpbnNldD0iJysoY291bnQrMSkrJyI+PC9h
PicpOw0KCQkJY291bnQrKzsNCgkJfSk7DQoJCWFyckl0ZW0ucHVzaCgnPC9kaXY+Jyk7DQoJ
CWpDb2xvci5hcHBlbmQoYXJySXRlbS5qb2luKCcnKSk7DQoJCWpDb2xvci5jbGljayhmdW5j
dGlvbihldil7DQoJCQlldj1ldi50YXJnZXQ7DQoJCQlpZighJC5ub2RlTmFtZShldiwnQScp
KXJldHVybjsNCgkJCV90aGlzLmxvYWRCb29rbWFyaygpOw0KCQkJY2FsbGJhY2soJChldiku
YXR0cigneGhldicpKTsNCgkJCV90aGlzLmhpZGVQYW5lbCgpOw0KCQkJcmV0dXJuIGZhbHNl
Ow0KCQl9KS5tb3VzZWRvd24ocmV0dXJuRmFsc2UpOw0KCQlfdGhpcy5zYXZlQm9va21hcmso
KTsNCgkJX3RoaXMuc2hvd1BhbmVsKGpDb2xvcik7DQoJfQ0KCXRoaXMuc2hvd1Bhc3RldGV4
dD1mdW5jdGlvbigpDQoJew0KCQl2YXIgalBhc3RldGV4dD0kKGh0bWxQYXN0ZXRleHQpLGpW
YWx1ZT0kKCcjeGhlUGFzdGV0ZXh0VmFsdWUnLGpQYXN0ZXRleHQpLGpTYXZlPSQoJyN4aGVT
YXZlJyxqUGFzdGV0ZXh0KTsNCgkJalNhdmUuY2xpY2soZnVuY3Rpb24oKXsNCgkJCV90aGlz
LmxvYWRCb29rbWFyaygpOw0KCQkJdmFyIHNWYWx1ZT1qVmFsdWUudmFsKCk7DQoJCQlpZihz
VmFsdWUpX3RoaXMucGFzdGVUZXh0KHNWYWx1ZSk7DQoJCQlfdGhpcy5oaWRlUGFuZWwoKTsN
CgkJCXJldHVybiBmYWxzZTsNCgkJfSk7DQoJCV90aGlzLnNhdmVCb29rbWFyaygpOw0KCQlf
dGhpcy5zaG93RGlhbG9nKGpQYXN0ZXRleHQpOw0KCX0NCgl0aGlzLnNob3dMaW5rPWZ1bmN0
aW9uKCkNCgl7DQoJCXZhciBodG1sVGVtcD1odG1sTGluaywkYXJyQW5jaG9yPV9qRG9jLmZp
bmQoJ2FbbmFtZV0nKS5ub3QoJ1tocmVmXScpLGhhdmVBbmNob3I9JGFyckFuY2hvci5sZW5n
dGg+MDsNCgkJaWYoaGF2ZUFuY2hvcil7Ly/pobXlhoXmnInplJrngrkNCgkJCXZhciBhcnJB
bmNob3JPcHRpb25zPVtdOw0KCQkJJGFyckFuY2hvci5lYWNoKGZ1bmN0aW9uKCl7DQoJCQkJ
dmFyIG5hbWU9JCh0aGlzKS5hdHRyKCduYW1lJyk7DQoJCQkJYXJyQW5jaG9yT3B0aW9ucy5w
dXNoKCc8b3B0aW9uIHZhbHVlPSIjJytuYW1lKyciPicrbmFtZSsnPC9vcHRpb24+Jyk7DQoJ
CQl9KTsNCgkJCWh0bWxUZW1wPWh0bWxUZW1wLnJlcGxhY2UoLyg8ZGl2PjxsYWJlbCBmb3I9
InhoZUxpbmtUYXJnZXQpLywnPGRpdj48bGFiZWwgZm9yPSJ4aGVMaW5rQW5jaG9yIj7pobXl
hoXplJrngrk6IDwvbGFiZWw+PHNlbGVjdCBpZD0ieGhlTGlua0FuY2hvciI+PG9wdGlvbiB2
YWx1ZT0iIj7mnKrpgInmi6k8L29wdGlvbj4nK2FyckFuY2hvck9wdGlvbnMuam9pbignJykr
Jzwvc2VsZWN0PjwvZGl2PiQxJyk7DQoJCX0NCgkJdmFyIGpMaW5rPSQoaHRtbFRlbXApLGpQ
YXJlbnQ9X3RoaXMuZ2V0UGFyZW50KCdhJyksalRleHQ9JCgnI3hoZUxpbmtUZXh0JyxqTGlu
ayksalVybD0kKCcjeGhlTGlua1VybCcsakxpbmspLGpUYXJnZXQ9JCgnI3hoZUxpbmtUYXJn
ZXQnLGpMaW5rKSxqU2F2ZT0kKCcjeGhlU2F2ZScsakxpbmspLHNlbEh0bWw9X3RoaXMuZ2V0
U2VsZWN0KCk7DQoJCWlmKGhhdmVBbmNob3Ipew0KCQkJakxpbmsuZmluZCgnI3hoZUxpbmtB
bmNob3InKS5jaGFuZ2UoZnVuY3Rpb24oKXsNCgkJCQl2YXIgYW5jaG9yPSQodGhpcykudmFs
KCk7DQoJCQkJaWYoYW5jaG9yIT0nJylqVXJsLnZhbChhbmNob3IpOw0KCQkJfSk7DQoJCX0N
CgkJaWYoalBhcmVudC5sZW5ndGg9PT0xKQ0KCQl7DQoJCQlpZighalBhcmVudC5hdHRyKCdo
cmVmJykpey8v6ZSa54K5DQoJCQkJZXY9bnVsbDsNCgkJCQlyZXR1cm4gX3RoaXMuZXhlYygn
QW5jaG9yJyk7DQoJCQl9DQoJCQlqVXJsLnZhbCh4aGVBdHRyKGpQYXJlbnQsJ2hyZWYnKSk7
DQoJCQlqVGFyZ2V0LmF0dHIoJ3ZhbHVlJyxqUGFyZW50LmF0dHIoJ3RhcmdldCcpKTsNCgkJ
fQ0KCQllbHNlIGlmKHNlbEh0bWw9PT0nJylqVGV4dC52YWwoc2V0dGluZ3MuZGVmTGlua1Rl
eHQpLmNsb3Nlc3QoJ2RpdicpLnNob3coKTsNCgkJaWYoc2V0dGluZ3MudXBMaW5rVXJsKV90
aGlzLnVwbG9hZEluaXQoalVybCxzZXR0aW5ncy51cExpbmtVcmwsc2V0dGluZ3MudXBMaW5r
RXh0KTsNCgkJalNhdmUuY2xpY2soZnVuY3Rpb24oKXsNCgkJCV90aGlzLmxvYWRCb29rbWFy
aygpOw0KCQkJdmFyIHVybD1qVXJsLnZhbCgpOw0KCQkJaWYodXJsPT09Jyd8fGpQYXJlbnQu
bGVuZ3RoPT09MClfdGhpcy5fZXhlYygndW5saW5rJyk7DQoJCQlpZih1cmwhPT0nJyYmdXJs
IT09J2h0dHA6Ly8nKQ0KCQkJew0KCQkJCXZhciBhVXJsPXVybC5zcGxpdCgnICcpLHNUYXJn
ZXQ9alRhcmdldC52YWwoKSxzVGV4dD1qVGV4dC52YWwoKTsNCgkJCQlpZihhVXJsLmxlbmd0
aD4xKQ0KCQkJCXsvL+aJuemHj+aPkuWFpQ0KCQkJCQlfdGhpcy5fZXhlYygndW5saW5rJyk7
Ly/mibnph4/liY3liKDpmaTlvZPliY3pk77mjqXlubbph43mlrDojrflj5bpgInmi6nlhoXl
rrkNCgkJCQkJc2VsSHRtbD1fdGhpcy5nZXRTZWxlY3QoKTsNCgkJCQkJdmFyIHNUZW1wbGF0
ZT0nPGEgaHJlZj0ieGhlX3RtcHVybCInLHNMaW5rLGFyckxpbms9W107DQoJCQkJCWlmKHNU
YXJnZXQhPT0nJylzVGVtcGxhdGUrPScgdGFyZ2V0PSInK3NUYXJnZXQrJyInOw0KCQkJCQlz
VGVtcGxhdGUrPSc+eGhlX3RtcHRleHQ8L2E+JzsNCgkJCQkJc1RleHQ9KHNlbEh0bWwhPT0n
Jz9zZWxIdG1sOihzVGV4dD9zVGV4dDp1cmwpKTsNCgkJCQkJZm9yKHZhciBpPTAsYz1hVXJs
Lmxlbmd0aDtpPGM7aSsrKQ0KCQkJCQl7DQoJCQkJCQl1cmw9YVVybFtpXTsNCgkJCQkJCWlm
KHVybCE9PScnKQ0KCQkJCQkJew0KCQkJCQkJCXVybD11cmwuc3BsaXQoJ3x8Jyk7DQoJCQkJ
CQkJc0xpbms9c1RlbXBsYXRlOw0KCQkJCQkJCXNMaW5rPXNMaW5rLnJlcGxhY2UoJ3hoZV90
bXB1cmwnLHVybFswXSk7DQoJCQkJCQkJc0xpbms9c0xpbmsucmVwbGFjZSgneGhlX3RtcHRl
eHQnLHVybFsxXT91cmxbMV06c1RleHQpOw0KCQkJCQkJCWFyckxpbmsucHVzaChzTGluayk7
DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJX3RoaXMucGFzdGVIVE1MKGFyckxpbmsuam9pbign
Jm5ic3A7JykpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJey8v5Y2VdXJs5qih5byPDQoJCQkJ
CXVybD1hVXJsWzBdLnNwbGl0KCd8fCcpOw0KCQkJCQlpZighc1RleHQpc1RleHQ9dXJsWzBd
Ow0KCQkJCQlzVGV4dD11cmxbMV0/dXJsWzFdOihzZWxIdG1sIT09JycpPycnOnNUZXh0P3NU
ZXh0OnVybFswXTsNCgkJCQkJaWYoalBhcmVudC5sZW5ndGg9PT0wKQ0KCQkJCQl7DQoJCQkJ
CQlpZihzVGV4dClfdGhpcy5wYXN0ZUhUTUwoJzxhIGhyZWY9IiN4aGVfdG1wdXJsIj4nK3NU
ZXh0Kyc8L2E+Jyk7DQoJCQkJCQllbHNlIF90aGlzLl9leGVjKCdjcmVhdGVsaW5rJywnI3ho
ZV90bXB1cmwnKTsNCgkJCQkJCWpQYXJlbnQ9JCgnYVtocmVmJD0iI3hoZV90bXB1cmwiXScs
X2RvYyk7DQoJCQkJCX0NCgkJCQkJZWxzZSBpZihzVGV4dCYmIWlzU2FmYXJpKWpQYXJlbnQu
dGV4dChzVGV4dCk7Ly9zYWZhcmnmlLnlhpnmlofmnKzkvJrlr7zoh7TlhYnmoIfkuKLlpLEN
CgkJCQkJeGhlQXR0cihqUGFyZW50LCdocmVmJyx1cmxbMF0pOw0KCQkJCQlpZihzVGFyZ2V0
IT09JycpalBhcmVudC5hdHRyKCd0YXJnZXQnLHNUYXJnZXQpOw0KCQkJCQllbHNlIGpQYXJl
bnQucmVtb3ZlQXR0cigndGFyZ2V0Jyk7DQoJCQkJfQ0KCQkJfQ0KCQkJX3RoaXMuaGlkZVBh
bmVsKCk7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0pOw0KCQlfdGhpcy5zYXZlQm9va21hcmso
KTsNCgkJX3RoaXMuc2hvd0RpYWxvZyhqTGluayk7DQoJfQ0KCXRoaXMuc2hvd0FuY2hvcj1m
dW5jdGlvbigpew0KCQl2YXIgakFuY2hvcj0kKGh0bWxBbmNob3IpLGpQYXJlbnQ9X3RoaXMu
Z2V0UGFyZW50KCdhJyksak5hbWU9JCgnI3hoZUFuY2hvck5hbWUnLGpBbmNob3IpLGpTYXZl
PSQoJyN4aGVTYXZlJyxqQW5jaG9yKTsNCgkJaWYoalBhcmVudC5sZW5ndGg9PT0xKXsNCgkJ
CWlmKGpQYXJlbnQuYXR0cignaHJlZicpKXsvL+i2hemTvuaOpQ0KCQkJCWV2PW51bGw7DQoJ
CQkJcmV0dXJuIF90aGlzLmV4ZWMoJ0xpbmsnKTsNCgkJCX0NCgkJCWpOYW1lLnZhbChqUGFy
ZW50LmF0dHIoJ25hbWUnKSk7DQoJCX0NCgkJalNhdmUuY2xpY2soZnVuY3Rpb24oKXsNCgkJ
CV90aGlzLmxvYWRCb29rbWFyaygpOw0KCQkJdmFyIG5hbWU9ak5hbWUudmFsKCk7DQoJCQlp
ZihuYW1lKXsNCgkJCQlpZihqUGFyZW50Lmxlbmd0aD09PTApX3RoaXMucGFzdGVIVE1MKCc8
YSBuYW1lPSInK25hbWUrJyI+PC9hPicpOw0KCQkJCWVsc2UgalBhcmVudC5hdHRyKCduYW1l
JyxuYW1lKTsNCgkJCX0NCgkJCWVsc2UgaWYoalBhcmVudC5sZW5ndGg9PT0xKWpQYXJlbnQu
cmVtb3ZlKCk7DQoJCQlfdGhpcy5oaWRlUGFuZWwoKTsNCgkJCXJldHVybiBmYWxzZTsJCQkN
CgkJfSk7DQoJCV90aGlzLnNhdmVCb29rbWFyaygpOw0KCQlfdGhpcy5zaG93RGlhbG9nKGpB
bmNob3IpOw0KCX0NCgl0aGlzLnNob3dJbWc9ZnVuY3Rpb24oKQ0KCXsNCgkJdmFyIGpJbWc9
JChodG1sSW1nKSxqUGFyZW50PV90aGlzLmdldFBhcmVudCgnaW1nJyksalVybD0kKCcjeGhl
SW1nVXJsJyxqSW1nKSxqQWx0PSQoJyN4aGVJbWdBbHQnLGpJbWcpLGpBbGlnbj0kKCcjeGhl
SW1nQWxpZ24nLGpJbWcpLGpXaWR0aD0kKCcjeGhlSW1nV2lkdGgnLGpJbWcpLGpIZWlnaHQ9
JCgnI3hoZUltZ0hlaWdodCcsakltZyksakJvcmRlcj0kKCcjeGhlSW1nQm9yZGVyJyxqSW1n
KSxqVnNwYWNlPSQoJyN4aGVJbWdWc3BhY2UnLGpJbWcpLGpIc3BhY2U9JCgnI3hoZUltZ0hz
cGFjZScsakltZyksalNhdmU9JCgnI3hoZVNhdmUnLGpJbWcpOw0KCQlpZihqUGFyZW50Lmxl
bmd0aD09PTEpDQoJCXsNCgkJCWpVcmwudmFsKHhoZUF0dHIoalBhcmVudCwnc3JjJykpOw0K
CQkJakFsdC52YWwoalBhcmVudC5hdHRyKCdhbHQnKSk7DQoJCQlqQWxpZ24udmFsKGpQYXJl
bnQuYXR0cignYWxpZ24nKSk7DQoJCQlqV2lkdGgudmFsKGpQYXJlbnQuYXR0cignd2lkdGgn
KSk7DQoJCQlqSGVpZ2h0LnZhbChqUGFyZW50LmF0dHIoJ2hlaWdodCcpKTsNCgkJCWpCb3Jk
ZXIudmFsKGpQYXJlbnQuYXR0cignYm9yZGVyJykpOw0KCQkJdmFyIHZzcGFjZT1qUGFyZW50
LmF0dHIoJ3ZzcGFjZScpLGhzcGFjZT1qUGFyZW50LmF0dHIoJ2hzcGFjZScpOw0KCQkJalZz
cGFjZS52YWwodnNwYWNlPD0wPycnOnZzcGFjZSk7DQoJCQlqSHNwYWNlLnZhbChoc3BhY2U8
PTA/Jyc6aHNwYWNlKTsNCgkJfQ0KCQlpZihzZXR0aW5ncy51cEltZ1VybClfdGhpcy51cGxv
YWRJbml0KGpVcmwsc2V0dGluZ3MudXBJbWdVcmwsc2V0dGluZ3MudXBJbWdFeHQpOw0KCQlq
U2F2ZS5jbGljayhmdW5jdGlvbigpew0KCQkJX3RoaXMubG9hZEJvb2ttYXJrKCk7DQoJCQl2
YXIgdXJsPWpVcmwudmFsKCk7DQoJCQlpZih1cmwhPT0nJyYmdXJsIT09J2h0dHA6Ly8nKQ0K
CQkJew0KCQkJCXZhciBhVXJsPXVybC5zcGxpdCgnICcpLHNBbHQ9akFsdC52YWwoKSxzQWxp
Z249akFsaWduLnZhbCgpLHNXaWR0aD1qV2lkdGgudmFsKCksc0hlaWdodD1qSGVpZ2h0LnZh
bCgpLHNCb3JkZXI9akJvcmRlci52YWwoKSxzVnNwYWNlPWpWc3BhY2UudmFsKCksc0hzcGFj
ZT1qSHNwYWNlLnZhbCgpOzsNCgkJCQlpZihhVXJsLmxlbmd0aD4xKQ0KCQkJCXsvL+aJuemH
j+aPkuWFpQ0KCQkJCQl2YXIgc1RlbXBsYXRlPSc8aW1nIHNyYz0ieGhlX3RtcHVybCInLHNJ
bWcsYXJySW1nPVtdOw0KCQkJCQlpZihzQWx0IT09Jycpc1RlbXBsYXRlKz0nIGFsdD0iJytz
QWx0KyciJzsNCgkJCQkJaWYoc0FsaWduIT09Jycpc1RlbXBsYXRlKz0nIGFsaWduPSInK3NB
bGlnbisnIic7DQoJCQkJCWlmKHNXaWR0aCE9PScnKXNUZW1wbGF0ZSs9JyB3aWR0aD0iJytz
V2lkdGgrJyInOw0KCQkJCQlpZihzSGVpZ2h0IT09Jycpc1RlbXBsYXRlKz0nIGhlaWdodD0i
JytzSGVpZ2h0KyciJzsNCgkJCQkJaWYoc0JvcmRlciE9PScnKXNUZW1wbGF0ZSs9JyBib3Jk
ZXI9Iicrc0JvcmRlcisnIic7DQoJCQkJCWlmKHNWc3BhY2UhPT0nJylzVGVtcGxhdGUrPScg
dnNwYWNlPSInK3NWc3BhY2UrJyInOw0KCQkJCQlpZihzSHNwYWNlIT09Jycpc1RlbXBsYXRl
Kz0nIGhzcGFjZT0iJytzSHNwYWNlKyciJzsNCgkJCQkJc1RlbXBsYXRlKz0nIC8+JzsNCgkJ
CQkJZm9yKHZhciBpIGluIGFVcmwpDQoJCQkJCXsNCgkJCQkJCXVybD1hVXJsW2ldOw0KCQkJ
CQkJaWYodXJsIT09JycpDQoJCQkJCQl7DQoJCQkJCQkJdXJsPXVybC5zcGxpdCgnfHwnKTsN
CgkJCQkJCQlzSW1nPXNUZW1wbGF0ZTsNCgkJCQkJCQlzSW1nPXNJbWcucmVwbGFjZSgneGhl
X3RtcHVybCcsdXJsWzBdKTsNCgkJCQkJCQlpZih1cmxbMV0pc0ltZz0nPGEgaHJlZj0iJyt1
cmxbMV0rJyIgdGFyZ2V0PSJfYmxhbmsiPicrc0ltZysnPC9hPicNCgkJCQkJCQlhcnJJbWcu
cHVzaChzSW1nKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQlfdGhpcy5wYXN0ZUhUTUwoYXJy
SW1nLmpvaW4oJyZuYnNwOycpKTsNCgkJCQl9DQoJCQkJZWxzZSBpZihhVXJsLmxlbmd0aD09
PTEpDQoJCQkJey8v5Y2VVVJM5qih5byPDQoJCQkJCXVybD1hVXJsWzBdOw0KCQkJCQlpZih1
cmwhPT0nJykNCgkJCQkJew0KCQkJCQkJdXJsPXVybC5zcGxpdCgnfHwnKTsNCgkJCQkJCWlm
KGpQYXJlbnQubGVuZ3RoPT09MCkNCgkJCQkJCXsNCgkJCQkJCQlfdGhpcy5wYXN0ZUhUTUwo
JzxpbWcgc3JjPSInK3VybFswXSsnI3hoZV90bXB1cmwiIC8+Jyk7DQoJCQkJCQkJalBhcmVu
dD0kKCdpbWdbc3JjJD0iI3hoZV90bXB1cmwiXScsX2RvYyk7DQoJCQkJCQl9DQoJCQkJCQl4
aGVBdHRyKGpQYXJlbnQsJ3NyYycsdXJsWzBdKTsNCgkJCQkJCWlmKHNBbHQhPT0nJylqUGFy
ZW50LmF0dHIoJ2FsdCcsc0FsdCk7DQoJCQkJCQlpZihzQWxpZ24hPT0nJylqUGFyZW50LmF0
dHIoJ2FsaWduJyxzQWxpZ24pOw0KCQkJCQkJZWxzZSBqUGFyZW50LnJlbW92ZUF0dHIoJ2Fs
aWduJyk7DQoJCQkJCQlpZihzV2lkdGghPT0nJylqUGFyZW50LmF0dHIoJ3dpZHRoJyxzV2lk
dGgpOw0KCQkJCQkJZWxzZSBqUGFyZW50LnJlbW92ZUF0dHIoJ3dpZHRoJyk7DQoJCQkJCQlp
ZihzSGVpZ2h0IT09JycpalBhcmVudC5hdHRyKCdoZWlnaHQnLHNIZWlnaHQpOw0KCQkJCQkJ
ZWxzZSBqUGFyZW50LnJlbW92ZUF0dHIoJ2hlaWdodCcpOw0KCQkJCQkJaWYoc0JvcmRlciE9
PScnKWpQYXJlbnQuYXR0cignYm9yZGVyJyxzQm9yZGVyKTsNCgkJCQkJCWVsc2UgalBhcmVu
dC5yZW1vdmVBdHRyKCdib3JkZXInKTsNCgkJCQkJCWlmKHNWc3BhY2UhPT0nJylqUGFyZW50
LmF0dHIoJ3ZzcGFjZScsc1ZzcGFjZSk7DQoJCQkJCQllbHNlIGpQYXJlbnQucmVtb3ZlQXR0
cigndnNwYWNlJyk7DQoJCQkJCQlpZihzSHNwYWNlIT09JycpalBhcmVudC5hdHRyKCdoc3Bh
Y2UnLHNIc3BhY2UpOw0KCQkJCQkJZWxzZSBqUGFyZW50LnJlbW92ZUF0dHIoJ2hzcGFjZScp
Ow0KCQkJCQkJaWYodXJsWzFdKQ0KCQkJCQkJew0KCQkJCQkJCXZhciBqTGluaz1qUGFyZW50
LnBhcmVudCgnYScpOw0KCQkJCQkJCWlmKGpMaW5rLmxlbmd0aD09PTApDQoJCQkJCQkJew0K
CQkJCQkJCQlqUGFyZW50LndyYXAoJzxhPjwvYT4nKTsNCgkJCQkJCQkJakxpbms9alBhcmVu
dC5wYXJlbnQoJ2EnKTsNCgkJCQkJCQl9DQoJCQkJCQkJeGhlQXR0cihqTGluaywnaHJlZics
dXJsWzFdKTsNCgkJCQkJCQlqTGluay5hdHRyKCd0YXJnZXQnLCdfYmxhbmsnKTsNCgkJCQkJ
CX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCWVsc2UgaWYoalBhcmVudC5sZW5ndGg9PT0x
KWpQYXJlbnQucmVtb3ZlKCk7DQoJCQlfdGhpcy5oaWRlUGFuZWwoKTsNCgkJCXJldHVybiBm
YWxzZTsNCgkJfSk7DQoJCV90aGlzLnNhdmVCb29rbWFyaygpOw0KCQlfdGhpcy5zaG93RGlh
bG9nKGpJbWcpOw0KCX0NCgl0aGlzLnNob3dFbWJlZD1mdW5jdGlvbihzVHlwZSxzSHRtbCxz
TWltZSxzQ2xzSUQsc0Jhc2VBdHRycyxzVXBsb2FkVXJsLHNVcGxvYWRFeHQpDQoJew0KCQl2
YXIgakVtYmVkPSQoc0h0bWwpLGpQYXJlbnQ9X3RoaXMuZ2V0UGFyZW50KCdlbWJlZFt0eXBl
PSInK3NNaW1lKyciXSxlbWJlZFtjbGFzc2lkPSInK3NDbHNJRCsnIl0nKSxqVXJsPSQoJyN4
aGUnK3NUeXBlKydVcmwnLGpFbWJlZCksaldpZHRoPSQoJyN4aGUnK3NUeXBlKydXaWR0aCcs
akVtYmVkKSxqSGVpZ2h0PSQoJyN4aGUnK3NUeXBlKydIZWlnaHQnLGpFbWJlZCksalNhdmU9
JCgnI3hoZVNhdmUnLGpFbWJlZCk7DQoJCWlmKHNVcGxvYWRVcmwpX3RoaXMudXBsb2FkSW5p
dChqVXJsLHNVcGxvYWRVcmwsc1VwbG9hZEV4dCk7DQoJCWlmKGpQYXJlbnQubGVuZ3RoPT09
MSkNCgkJew0KCQkJalVybC52YWwoeGhlQXR0cihqUGFyZW50LCdzcmMnKSk7DQoJCQlqV2lk
dGgudmFsKGpQYXJlbnQuYXR0cignd2lkdGgnKSk7DQoJCQlqSGVpZ2h0LnZhbChqUGFyZW50
LmF0dHIoJ2hlaWdodCcpKTsNCgkJfQ0KCQlqU2F2ZS5jbGljayhmdW5jdGlvbigpew0KCQkJ
X3RoaXMubG9hZEJvb2ttYXJrKCk7DQoJCQl2YXIgdXJsPWpVcmwudmFsKCk7DQoJCQlpZih1
cmwhPT0nJyYmdXJsIT09J2h0dHA6Ly8nKQ0KCQkJew0KCQkJCXZhciB3PWpXaWR0aC52YWwo
KSxoPWpIZWlnaHQudmFsKCkscmVnPS9eXGQrJT8kLzsNCgkJCQlpZighcmVnLnRlc3Qodykp
dz00MTI7aWYoIXJlZy50ZXN0KGgpKWg9MzAwOw0KCQkJCXZhciBzQmFzZUNvZGU9JzxlbWJl
ZCB0eXBlPSInK3NNaW1lKyciIGNsYXNzaWQ9Iicrc0Nsc0lEKyciIHNyYz0ieGhlX3RtcHVy
bCInK3NCYXNlQXR0cnM7DQoJCQkJdmFyIGFVcmw9dXJsLnNwbGl0KCcgJyk7DQoJCQkJaWYo
YVVybC5sZW5ndGg+MSkNCgkJCQl7Ly/mibnph4/mj5LlhaUNCgkJCQkJdmFyIHNUZW1wbGF0
ZT1zQmFzZUNvZGUrJycsc0VtYmVkLGFyckVtYmVkPVtdOw0KCQkJCQlzVGVtcGxhdGUrPScg
d2lkdGg9InhoZV93aWR0aCIgaGVpZ2h0PSJ4aGVfaGVpZ2h0IiAvPic7DQoJCQkJCWZvcih2
YXIgaSBpbiBhVXJsKQ0KCQkJCQl7DQoJCQkJCQl1cmw9YVVybFtpXS5zcGxpdCgnfHwnKTsN
CgkJCQkJCXNFbWJlZD1zVGVtcGxhdGU7DQoJCQkJCQlzRW1iZWQ9c0VtYmVkLnJlcGxhY2Uo
J3hoZV90bXB1cmwnLHVybFswXSkNCgkJCQkJCXNFbWJlZD1zRW1iZWQucmVwbGFjZSgneGhl
X3dpZHRoJyx1cmxbMV0/dXJsWzFdOncpDQoJCQkJCQlzRW1iZWQ9c0VtYmVkLnJlcGxhY2Uo
J3hoZV9oZWlnaHQnLHVybFsyXT91cmxbMl06aCkNCgkJCQkJCWlmKHVybCE9PScnKWFyckVt
YmVkLnB1c2goc0VtYmVkKTsNCgkJCQkJfQ0KCQkJCQlfdGhpcy5wYXN0ZUhUTUwoYXJyRW1i
ZWQuam9pbignJm5ic3A7JykpOw0KCQkJCX0NCgkJCQllbHNlIGlmKGFVcmwubGVuZ3RoPT09
MSkNCgkJCQl7Ly/ljZVVUkzmqKHlvI8NCgkJCQkJdXJsPWFVcmxbMF0uc3BsaXQoJ3x8Jyk7
DQoJCQkJCWlmKGpQYXJlbnQubGVuZ3RoPT09MCkNCgkJCQkJew0KCQkJCQkJX3RoaXMucGFz
dGVIVE1MKHNCYXNlQ29kZS5yZXBsYWNlKCd4aGVfdG1wdXJsJyx1cmxbMF0rJyN4aGVfdG1w
dXJsJykrJyAvPicpOw0KCQkJCQkJalBhcmVudD0kKCdlbWJlZFtzcmMkPSIjeGhlX3RtcHVy
bCJdJyxfZG9jKTsNCgkJCQkJfQ0KCQkJCQl4aGVBdHRyKGpQYXJlbnQsJ3NyYycsdXJsWzBd
KTsNCgkJCQkJalBhcmVudC5hdHRyKCd3aWR0aCcsdXJsWzFdP3VybFsxXTp3KTsNCgkJCQkJ
alBhcmVudC5hdHRyKCdoZWlnaHQnLHVybFsyXT91cmxbMl06aCk7DQoJCQkJfQ0KCQkJfQ0K
CQkJZWxzZSBpZihqUGFyZW50Lmxlbmd0aD09PTEpalBhcmVudC5yZW1vdmUoKTsNCgkJCV90
aGlzLmhpZGVQYW5lbCgpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9KTsNCgkJX3RoaXMuc2F2
ZUJvb2ttYXJrKCk7DQoJCV90aGlzLnNob3dEaWFsb2coakVtYmVkKTsNCgl9DQoNCgl0aGlz
LnNob3dFbW90PWZ1bmN0aW9uKGdyb3VwKQ0KCXsNCgkJdmFyIGpFbW90PSQoJzxkaXYgY2xh
c3M9InhoZUVtb3QiPjwvZGl2PicpOw0KCQlpZiAoIXRoaXMuaXNsb2FkZW1vdCl7DQoJCQkN
CgkJCSQuZ2V0KGJsb2dob3N0KyJ6Yl91c2Vycy9wbHVnaW4vY29tbWVudGVkaXRvci9lbW90
LmFzcCIsIiIsZnVuY3Rpb24oZGF0YSl7DQoJCQkJYXJyRW1vdHM9ZXZhbCgnKCcrZGF0YSsn
KScpOw0KCQkJCXRoaXMuaXNsb2FkZW1vdD10cnVlOw0KCQkJfQ0KCQkJKQ0KCQl9DQoJCQ0K
CQkvL3JldHVybiBmYWxzZTsNCgkJLy9pZihhcnJFbW90cy5sZW5ndGg9PTB8fGFyckVtb3Rz
Lmxlbmd0aD09dW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7DQoJCWdyb3VwPWdyb3VwP2dyb3Vw
OihzZWxFbW90R3JvdXA/c2VsRW1vdEdyb3VwOidkZWZhdWx0Jyk7DQoJCXZhciBhcnJFbW90
PWFyckVtb3RzW2dyb3VwXTsNCg0KCQl2YXIgc0Vtb3RQYXRoPWVtb3RQYXRoK2dyb3VwKycv
JyxuPTAsYXJyTGlzdD1bXSxqTGlzdD0nJzsNCgkJCXRyeXsNCgkJCXZhciBldz1hcnJFbW90
LndpZHRoLGVoPWFyckVtb3QuaGVpZ2h0LGxpbmU9YXJyRW1vdC5saW5lLGNvdW50PWFyckVt
b3QuY291bnQsbGlzdD1hcnJFbW90Lmxpc3Q7DQoJCQlpZihjb3VudCkNCgkJCXsNCgkJCQlm
b3IodmFyIGk9MTtpPD1jb3VudDtpKyspDQoJCQkJew0KCQkJCQluKys7DQoJCQkJCWFyckxp
c3QucHVzaCgnPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKFwnJytpKydcJykiIHN0eWxlPSJi
YWNrZ3JvdW5kLWltYWdlOnVybCgnK3NFbW90UGF0aCtpKycpOyIgZW1vdD0iJytncm91cCsn
LycraSsnIiB4aGV2PSIiIHRpdGxlPSInK2krJyIgcm9sZT0ib3B0aW9uIj4mbmJzcDs8L2E+
Jyk7DQoJCQkJCWlmKG4lbGluZT09PTApYXJyTGlzdC5wdXNoKCc8YnIgLz4nKTsNCgkJCQl9
DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJJC5lYWNoKGxpc3QsZnVuY3Rpb24oaWQsdGl0
bGUpDQoJCQkJew0KCQkJCQluKys7DQoJCQkJCWFyckxpc3QucHVzaCgnPGEgaHJlZj0iamF2
YXNjcmlwdDp2b2lkKFwnJyt0aXRsZSsnXCcpIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1
cmwoJytzRW1vdFBhdGgraWQrJyk7IiBlbW90PSInK2dyb3VwKycvJytpZCsnIiB0aXRsZT0i
Jyt0aXRsZSsnIiB4aGV2PSInK3RpdGxlKyciIHJvbGU9Im9wdGlvbiI+Jm5ic3A7PC9hPicp
Ow0KCQkJCQlpZihuJWxpbmU9PT0wKWFyckxpc3QucHVzaCgnPGJyIC8+Jyk7DQoJCQkJfSk7
DQoJCQl9DQoJCQl2YXIgdz1saW5lKihldysxMiksaD1NYXRoLmNlaWwobi9saW5lKSooZWgr
MTIpLG1oPXcqMC43NTsNCgkJCWlmKGg8PW1oKW1oPScnOw0KCQkJakxpc3Q9JCgnPHN0eWxl
PicrKG1oPycueGhlRW1vdCBkaXZ7d2lkdGg6JysodysyMCkrJ3B4O2hlaWdodDonK21oKydw
eDt9JzonJykrJy54aGVFbW90IGRpdiBhe3dpZHRoOicrZXcrJ3B4O2hlaWdodDonK2VoKydw
eDt9PC9zdHlsZT48ZGl2PicrYXJyTGlzdC5qb2luKCcnKSsnPC9kaXY+JykuY2xpY2soZnVu
Y3Rpb24oZXYpe2V2PWV2LnRhcmdldDt2YXIgakE9JChldik7aWYoISQubm9kZU5hbWUoZXYs
J0EnKSlyZXR1cm47X3RoaXMubG9hZEJvb2ttYXJrKCk7X3RoaXMucGFzdGVIVE1MKCc8aW1n
IGVtb3Q9IicrakEuYXR0cignZW1vdCcpKyciIGFsdD0iJytqQS5hdHRyKCd4aGV2JykrJyI+
Jyk7X3RoaXMuaGlkZVBhbmVsKCk7cmV0dXJuIGZhbHNlO30pLm1vdXNlZG93bihyZXR1cm5G
YWxzZSk7DQoJCQlqRW1vdC5hcHBlbmQoakxpc3QpOw0KCQ0KCQkJdmFyIGdjb3VudD0wLGFy
ckdyb3VwPVsnPHVsIHJvbGU9InRhYmxpc3QiPiddLGpHcm91cDsvL+ihqOaDheWIhuexuw0K
CQkJJC5lYWNoKGFyckVtb3RzLGZ1bmN0aW9uKGcsdil7DQoJCQkJZ2NvdW50Kys7DQoJCQkJ
YXJyR3JvdXAucHVzaCgnPGxpJysoZ3JvdXA9PT1nPycgY2xhc3M9ImN1ciInOicnKSsnIHJv
bGU9InByZXNlbnRhdGlvbiI+PGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKFwnJyt2Lm5hbWUr
J1wnKSIgZ3JvdXA9IicrZysnIiByb2xlPSJ0YWIiIHRhYmluZGV4PSIwIj4nK3YubmFtZSsn
PC9hPjwvbGk+Jyk7DQoJCQl9KTsNCgkJCWlmKGdjb3VudD4xKQ0KCQkJew0KCQkJCWFyckdy
b3VwLnB1c2goJzwvdWw+PGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4nKTsNCgkJCQlqR3Jv
dXA9JChhcnJHcm91cC5qb2luKCcnKSkuY2xpY2soZnVuY3Rpb24oZXYpe3NlbEVtb3RHcm91
cD0kKGV2LnRhcmdldCkuYXR0cignZ3JvdXAnKTtfdGhpcy5leGVjKCdFbW90Jyk7cmV0dXJu
IGZhbHNlO30pLm1vdXNlZG93bihyZXR1cm5GYWxzZSk7DQoJCQkJakVtb3QuYXBwZW5kKGpH
cm91cCk7DQoJCQl9fWNhdGNoKGUpe2pFbW90LmFwcGVuZCgiPHAgc3R5bGU9XCJmb250LXNp
emU6MTBweFwiPuato+WcqOS4uuaCqOWKoOi9veihqOaDhe+8jOivt+eojeWAmS4uPC9wPiIp
fQ0KCQlfdGhpcy5zYXZlQm9va21hcmsoKTsNCgkJX3RoaXMuc2hvd1BhbmVsKGpFbW90KTsN
Cgl9DQoJdGhpcy5zaG93VGFibGU9ZnVuY3Rpb24oKQ0KCXsNCgkJdmFyIGpUYWJsZT0kKGh0
bWxUYWJsZSksalJvd3M9JCgnI3hoZVRhYmxlUm93cycsalRhYmxlKSxqQ29sdW1ucz0kKCcj
eGhlVGFibGVDb2x1bW5zJyxqVGFibGUpLGpIZWFkZXJzPSQoJyN4aGVUYWJsZUhlYWRlcnMn
LGpUYWJsZSksaldpZHRoPSQoJyN4aGVUYWJsZVdpZHRoJyxqVGFibGUpLGpIZWlnaHQ9JCgn
I3hoZVRhYmxlSGVpZ2h0JyxqVGFibGUpLGpCb3JkZXI9JCgnI3hoZVRhYmxlQm9yZGVyJyxq
VGFibGUpLGpDZWxsU3BhY2luZz0kKCcjeGhlVGFibGVDZWxsU3BhY2luZycsalRhYmxlKSxq
Q2VsbFBhZGRpbmc9JCgnI3hoZVRhYmxlQ2VsbFBhZGRpbmcnLGpUYWJsZSksakFsaWduPSQo
JyN4aGVUYWJsZUFsaWduJyxqVGFibGUpLGpDYXB0aW9uPSQoJyN4aGVUYWJsZUNhcHRpb24n
LGpUYWJsZSksalNhdmU9JCgnI3hoZVNhdmUnLGpUYWJsZSk7DQoJCWpTYXZlLmNsaWNrKGZ1
bmN0aW9uKCl7DQoJCQlfdGhpcy5sb2FkQm9va21hcmsoKTsNCgkJCXZhciBzQ2FwdGlvbj1q
Q2FwdGlvbi52YWwoKSxzQm9yZGVyPWpCb3JkZXIudmFsKCksc1Jvd3M9alJvd3MudmFsKCks
c0NvbHM9akNvbHVtbnMudmFsKCksc0hlYWRlcnM9akhlYWRlcnMudmFsKCksc1dpZHRoPWpX
aWR0aC52YWwoKSxzSGVpZ2h0PWpIZWlnaHQudmFsKCksc0NlbGxTcGFjaW5nPWpDZWxsU3Bh
Y2luZy52YWwoKSxzQ2VsbFBhZGRpbmc9akNlbGxQYWRkaW5nLnZhbCgpLHNBbGlnbj1qQWxp
Z24udmFsKCk7DQoJCQl2YXIgaSxqLGh0bWxUYWJsZT0nPHRhYmxlJysoc0JvcmRlciE9PScn
PycgYm9yZGVyPSInK3NCb3JkZXIrJyInOicnKSsoc1dpZHRoIT09Jyc/JyB3aWR0aD0iJytz
V2lkdGgrJyInOicnKSsoc0hlaWdodCE9PScnPycgaGVpZ2h0PSInK3NIZWlnaHQrJyInOicn
KSsoc0NlbGxTcGFjaW5nIT09Jyc/JyBjZWxsc3BhY2luZz0iJytzQ2VsbFNwYWNpbmcrJyIn
OicnKSsoc0NlbGxQYWRkaW5nIT09Jyc/JyBjZWxscGFkZGluZz0iJytzQ2VsbFBhZGRpbmcr
JyInOicnKSsoc0FsaWduIT09Jyc/JyBhbGlnbj0iJytzQWxpZ24rJyInOicnKSsnPic7DQoJ
CQlpZihzQ2FwdGlvbiE9PScnKWh0bWxUYWJsZSs9JzxjYXB0aW9uPicrc0NhcHRpb24rJzwv
Y2FwdGlvbj4nOw0KCQkJaWYoc0hlYWRlcnM9PT0ncm93J3x8c0hlYWRlcnM9PT0nYm90aCcp
DQoJCQl7DQoJCQkJaHRtbFRhYmxlKz0nPHRyPic7DQoJCQkJZm9yKGk9MDtpPHNDb2xzO2kr
KylodG1sVGFibGUrPSc8dGggc2NvcGU9ImNvbCI+PC90aD4nOw0KCQkJCWh0bWxUYWJsZSs9
JzwvdHI+JzsNCgkJCQlzUm93cy0tOw0KCQkJfQ0KCQkJaHRtbFRhYmxlKz0nPHRib2R5Pic7
DQoJCQlmb3IoaT0wO2k8c1Jvd3M7aSsrKQ0KCQkJew0KCQkJCWh0bWxUYWJsZSs9Jzx0cj4n
Ow0KCQkJCWZvcihqPTA7ajxzQ29scztqKyspDQoJCQkJew0KCQkJCQlpZihqPT09MCYmKHNI
ZWFkZXJzPT09J2NvbCd8fHNIZWFkZXJzPT09J2JvdGgnKSlodG1sVGFibGUrPSc8dGggc2Nv
cGU9InJvdyI+PC90aD4nOw0KCQkJCQllbHNlIGh0bWxUYWJsZSs9Jzx0ZD48L3RkPic7DQoJ
CQkJfQ0KCQkJCWh0bWxUYWJsZSs9JzwvdHI+JzsNCgkJCX0NCgkJCWh0bWxUYWJsZSs9Jzwv
dGJvZHk+PC90YWJsZT4nOw0KCQkJX3RoaXMucGFzdGVIVE1MKGh0bWxUYWJsZSk7DQoJCQlf
dGhpcy5oaWRlUGFuZWwoKTsNCgkJCXJldHVybiBmYWxzZTsNCgkJfSk7DQoJCV90aGlzLnNh
dmVCb29rbWFyaygpOw0KCQlfdGhpcy5zaG93RGlhbG9nKGpUYWJsZSk7DQoJfQ0KCXRoaXMu
c2hvd0Fib3V0PWZ1bmN0aW9uKCkNCgl7DQoJCXZhciBqQWJvdXQ9JChodG1sQWJvdXQpOw0K
CQlqQWJvdXQuZmluZCgncCcpLmF0dHIoJ3JvbGUnLCdwcmVzZW50YXRpb24nKTsvL+aXoOma
nOeijeaUr+aMgQ0KCQlfdGhpcy5zaG93RGlhbG9nKGpBYm91dCx0cnVlKTsNCgkJc2V0VGlt
ZW91dChmdW5jdGlvbigpe2pBYm91dC5mb2N1cygpO30sMTAwKTsNCgl9DQoJdGhpcy5hZGRT
aG9ydGN1dHM9ZnVuY3Rpb24oa2V5LGNtZCkNCgl7DQoJCWtleT1rZXkudG9Mb3dlckNhc2Uo
KTsNCgkJaWYoYXJyU2hvcnRDdXRzW2tleV09PT11bmRlZmluZWQpYXJyU2hvcnRDdXRzW2tl
eV09QXJyYXkoKTsNCgkJYXJyU2hvcnRDdXRzW2tleV0ucHVzaChjbWQpOw0KCX0NCgl0aGlz
LmRlbFNob3J0Y3V0cz1mdW5jdGlvbihrZXkpe2RlbGV0ZSBhcnJTaG9ydEN1dHNba2V5XTt9
DQoJdGhpcy51cGxvYWRJbml0PWZ1bmN0aW9uKGpUZXh0LHRvVXJsLHVwZXh0KQ0KCXsNCgkJ
dmFyIGpVcGxvYWQ9JCgnPHNwYW4gY2xhc3M9InhoZVVwbG9hZCI+PGlucHV0IHR5cGU9InRl
eHQiIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbjsiIHRhYmluZGV4PSItMSIgLz48aW5wdXQg
dHlwZT0iYnV0dG9uIiB2YWx1ZT0iJytzZXR0aW5ncy51cEJ0blRleHQrJyIgY2xhc3M9Inho
ZUJ0biIgdGFiaW5kZXg9Ii0xIiAvPjwvc3Bhbj4nKSxqVXBCdG49JCgnLnhoZUJ0bicsalVw
bG9hZCk7DQoJCXZhciBiSHRtbDVVcGxvYWQ9c2V0dGluZ3MuaHRtbDVVcGxvYWQsdXBNdWx0
aXBsZT1iSHRtbDVVcGxvYWQ/c2V0dGluZ3MudXBNdWx0aXBsZToxOw0KCQlqVGV4dC5hZnRl
cihqVXBsb2FkKTtqVXBCdG4uYmVmb3JlKGpUZXh0KTsNCgkJdG9Vcmw9dG9VcmwucmVwbGFj
ZSgve2VkaXRvclJvb3R9L2lnLGVkaXRvclJvb3QpOw0KCQlpZih0b1VybC5zdWJzdHIoMCwx
KT09PSchJykvL+iHquWumuS5ieS4iuS8oOeuoeeQhumhtQ0KCQl7DQoJCQlqVXBCdG4uY2xp
Y2soZnVuY3Rpb24oKXtfdGhpcy5zaG93SWZyYW1lTW9kYWwoJ+S4iuS8oOaWh+S7ticsdG9V
cmwuc3Vic3RyKDEpLHNldFVwbG9hZE1zZyxudWxsLG51bGwpO30pOw0KCQl9DQoJCWVsc2UN
CgkJey8v57O757uf6buY6K6kYWpheOS4iuS8oA0KCQkJalVwbG9hZC5hcHBlbmQoJzxpbnB1
dCB0eXBlPSJmaWxlIicrKHVwTXVsdGlwbGU+MT8nIG11bHRpcGxlPSIiJzonJykrJyBjbGFz
cz0ieGhlRmlsZSIgc2l6ZT0iMTMiIG5hbWU9IicrdXBsb2FkSW5wdXRuYW1lKyciIHRhYmlu
ZGV4PSItMSIgLz4nKTsNCgkJCXZhciBqRmlsZT0kKCcueGhlRmlsZScsalVwbG9hZCksYXJy
TXNnOw0KCQkJakZpbGUuY2hhbmdlKGZ1bmN0aW9uKCl7YXJyTXNnPVtdO190aGlzLnN0YXJ0
VXBsb2FkKGpGaWxlWzBdLHRvVXJsLHVwZXh0LHNldFVwbG9hZE1zZyk7fSk7DQoJCQlzZXRU
aW1lb3V0KGZ1bmN0aW9uKCl7Ly/mi5bmlL7kuIrkvKANCgkJCQlqVGV4dC5jbG9zZXN0KCcu
eGhlRGlhbG9nJykuYmluZCgnZHJhZ2VudGVyIGRyYWdvdmVyJyxyZXR1cm5GYWxzZSkuYmlu
ZCgnZHJvcCcsZnVuY3Rpb24oZXYpew0KCQkJCQl2YXIgZGF0YVRyYW5zZmVyPWV2Lm9yaWdp
bmFsRXZlbnQuZGF0YVRyYW5zZmVyLGZpbGVMaXN0Ow0KCQkJCQlpZihiSHRtbDVVcGxvYWQm
JmRhdGFUcmFuc2ZlciYmKGZpbGVMaXN0PWRhdGFUcmFuc2Zlci5maWxlcykmJmZpbGVMaXN0
Lmxlbmd0aD4wKV90aGlzLnN0YXJ0VXBsb2FkKGZpbGVMaXN0LHRvVXJsLHVwZXh0LHNldFVw
bG9hZE1zZyk7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9KTsNCgkJCX0sMTApOw0KCQl9
DQoJCWZ1bmN0aW9uIHNldFVwbG9hZE1zZyhhcnJNc2cpDQoJCXsNCgkJCWlmKGlzKGFyck1z
Zywnc3RyaW5nJykpYXJyTXNnPVthcnJNc2ddOy8v5YWB6K645Y2VVVJM5Lyg6YCSDQoJCQl2
YXIgYkltbWVkaWF0ZT1mYWxzZSxpLGNvdW50PWFyck1zZy5sZW5ndGgsbXNnLHVybCxhcnJV
cmw9W10sb25VcGxvYWQ9c2V0dGluZ3Mub25VcGxvYWQ7DQoJCQlpZihvblVwbG9hZClvblVw
bG9hZChhcnJNc2cpOy8v55So5oi35LiK5Lyg5Zue6LCDDQoJCQlmb3IoaT0wO2k8Y291bnQ7
aSsrKQ0KCQkJew0KCQkJCW1zZz1hcnJNc2dbaV07DQoJCQkJdXJsPWlzKG1zZywnc3RyaW5n
Jyk/bXNnOm1zZy51cmw7DQoJCQkJaWYodXJsLnN1YnN0cigwLDEpPT09JyEnKXtiSW1tZWRp
YXRlPXRydWU7dXJsPXVybC5zdWJzdHIoMSk7fQ0KCQkJCWFyclVybC5wdXNoKHVybCk7DQoJ
CQl9DQoJCQlqVGV4dC52YWwoYXJyVXJsLmpvaW4oJyAnKSk7DQoJCQlpZihiSW1tZWRpYXRl
KWpUZXh0LmNsb3Nlc3QoJy54aGVEaWFsb2cnKS5maW5kKCcjeGhlU2F2ZScpLmNsaWNrKCk7
DQoJCX0NCgl9DQoJdGhpcy5zdGFydFVwbG9hZD1mdW5jdGlvbihmcm9tRmlsZXMsdG9Vcmws
bGltaXRFeHQsb25VcGxvYWRDb21wbGV0ZSkNCgl7DQoJCXZhciBhcnJNc2c9W10sYkh0bWw1
VXBsb2FkPXNldHRpbmdzLmh0bWw1VXBsb2FkLHVwTXVsdGlwbGU9Ykh0bWw1VXBsb2FkP3Nl
dHRpbmdzLnVwTXVsdGlwbGU6MTsNCgkJdmFyIHVwbG9hZCxmaWxlTGlzdCxmaWxlbmFtZSxq
VXBsb2FkVGlwPSQoJzxkaXYgc3R5bGU9InBhZGRpbmc6MjJweCAwO3RleHQtYWxpZ246Y2Vu
dGVyO2xpbmUtaGVpZ2h0OjMwcHg7Ij7mlofku7bkuIrkvKDkuK3vvIzor7fnqI3lgJnigKbi
gKY8YnIgLz48L2Rpdj4nKSxzTG9hZGluZz0nPGltZyBzcmM9Iicrc2tpblBhdGgrJ2ltZy9s
b2FkaW5nLmdpZiI+JzsNCgkJaWYoaXNPcGVyYXx8IWJIdG1sNVVwbG9hZHx8KGZyb21GaWxl
cy5ub2RlVHlwZSYmISgoZmlsZUxpc3Q9ZnJvbUZpbGVzLmZpbGVzKSYmZmlsZUxpc3RbMF0u
bmFtZSkpKQ0KCQl7DQoJCQlpZighY2hlY2tGaWxlRXh0KGZyb21GaWxlcy52YWx1ZSxsaW1p
dEV4dCkpcmV0dXJuOw0KCQkJalVwbG9hZFRpcC5hcHBlbmQoc0xvYWRpbmcpOw0KCQkJdXBs
b2FkPW5ldyBfdGhpcy5odG1sNFVwbG9hZChmcm9tRmlsZXMsdG9Vcmwsb25VcGxvYWRDYWxs
YmFjayk7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlpZighZmlsZUxpc3QpZmlsZUxpc3Q9ZnJv
bUZpbGVzOy8v5ouW5pS+5paH5Lu25YiX6KGoDQoJCQl2YXIgaSxsZW49ZmlsZUxpc3QubGVu
Z3RoOw0KCQkJaWYobGVuPnVwTXVsdGlwbGUpew0KCQkJCWFsZXJ0KCfor7fkuI3opoHkuIDm
rKHkuIrkvKDotoXov4cnK3VwTXVsdGlwbGUrJ+S4quaWh+S7ticpOw0KCQkJCXJldHVybjsN
CgkJCX0NCgkJCWZvcihpPTA7aTxsZW47aSsrKWlmKCFjaGVja0ZpbGVFeHQoZmlsZUxpc3Rb
aV0ubmFtZSxsaW1pdEV4dCkpcmV0dXJuOw0KCQkJdmFyIGpQcm9ncmVzcz0kKCc8ZGl2IGNs
YXNzPSJ4aGVQcm9ncmVzcyI+PGRpdj48c3Bhbj4wJTwvc3Bhbj48L2Rpdj48L2Rpdj4nKTsN
CgkJCWpVcGxvYWRUaXAuYXBwZW5kKGpQcm9ncmVzcyk7DQoJCQl1cGxvYWQ9bmV3IF90aGlz
Lmh0bWw1VXBsb2FkKHVwbG9hZElucHV0bmFtZSxmaWxlTGlzdCx0b1VybCxvblVwbG9hZENh
bGxiYWNrLGZ1bmN0aW9uKGV2KXsNCgkJCQlpZihldi5sb2FkZWQ+PTApDQoJCQkJew0KCQkJ
CQl2YXIgc1BlcmNlbnQ9TWF0aC5yb3VuZCgoZXYubG9hZGVkICogMTAwKSAvIGV2LnRvdGFs
KSsnJSc7DQoJCQkJCSQoJ2RpdicsalByb2dyZXNzKS5jc3MoJ3dpZHRoJyxzUGVyY2VudCk7
DQoJCQkJCSQoJ3NwYW4nLGpQcm9ncmVzcykudGV4dChzUGVyY2VudCsnICggJytmb3JtYXRC
eXRlcyhldi5sb2FkZWQpKycgLyAnK2Zvcm1hdEJ5dGVzKGV2LnRvdGFsKSsnICknKTsNCgkJ
CQl9DQoJCQkJZWxzZSBqUHJvZ3Jlc3MucmVwbGFjZVdpdGgoc0xvYWRpbmcpOy8v5LiN5pSv
5oyB6L+b5bqmDQoJCQl9KTsNCgkJfQ0KCQlfdGhpcy5zaG93TW9kYWwoJ+aWh+S7tuS4iuS8
oOS4rShFc2Plj5bmtojkuIrkvKApJyxqVXBsb2FkVGlwLDMyMCwxNTApOw0KCQl1cGxvYWQu
c3RhcnQoKTsNCgkJZnVuY3Rpb24gb25VcGxvYWRDYWxsYmFjayhzVGV4dCxiRmluaXNoKQ0K
CQl7DQoJCQl2YXIgZGF0YT1PYmplY3QsYk9LPWZhbHNlOw0KCQkJdHJ5e2RhdGE9ZXZhbCgn
KCcrc1RleHQrJyknKTt9Y2F0Y2goZXgpe307DQoJCQlpZihkYXRhLmVycj09PXVuZGVmaW5l
ZHx8ZGF0YS5tc2c9PT11bmRlZmluZWQpYWxlcnQodG9VcmwrJyDkuIrkvKDmjqXlj6Plj5Hn
lJ/plJnor6/vvIFcclxuXHJcbui/lOWbnueahOmUmeivr+WGheWuueS4ujogXHJcblxyXG4n
K3NUZXh0KTsNCgkJCWVsc2UNCgkJCXsNCgkJCQlpZihkYXRhLmVycilhbGVydChkYXRhLmVy
cik7DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJYXJyTXNnLnB1c2goZGF0YS5tc2cpOw0KCQkJ
CQliT0s9dHJ1ZTsvL+e7p+e7reS4i+S4gOS4quaWh+S7tuS4iuS8oA0KCQkJCX0NCgkJCX0N
CgkJCWlmKCFiT0t8fGJGaW5pc2gpX3RoaXMucmVtb3ZlTW9kYWwoKTsNCgkJCWlmKGJGaW5p
c2gmJmJPSylvblVwbG9hZENvbXBsZXRlKGFyck1zZyk7Ly/lhajpg6jkuIrkvKDlrozmiJAN
CgkJCXJldHVybiBiT0s7DQoJCX0NCgl9DQoJdGhpcy5odG1sNFVwbG9hZD1mdW5jdGlvbihm
cm9tZmlsZSx0b1VybCxjYWxsYmFjaykNCgl7DQoJCXZhciB1aWQgPSBuZXcgRGF0ZSgpLmdl
dFRpbWUoKSxpZElPPSdqVXBsb2FkRnJhbWUnK3VpZCxfdGhpcz10aGlzOw0KCQl2YXIgaklP
PSQoJzxpZnJhbWUgbmFtZT0iJytpZElPKyciIGNsYXNzPSJ4aGVIaWRlQXJlYSIgLz4nKS5h
cHBlbmRUbygnYm9keScpOw0KCQl2YXIgakZvcm09JCgnPGZvcm0gYWN0aW9uPSInK3RvVXJs
KyciIHRhcmdldD0iJytpZElPKyciIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0
L2Zvcm0tZGF0YSIgY2xhc3M9InhoZUhpZGVBcmVhIj48L2Zvcm0+JykuYXBwZW5kVG8oJ2Jv
ZHknKTsNCgkJdmFyIGpPbGRGaWxlID0gJChmcm9tZmlsZSksak5ld0ZpbGUgPSBqT2xkRmls
ZS5jbG9uZSgpLmF0dHIoJ2Rpc2FibGVkJywndHJ1ZScpOw0KCQlqT2xkRmlsZS5iZWZvcmUo
ak5ld0ZpbGUpLmFwcGVuZFRvKGpGb3JtKTsNCgkJdGhpcy5yZW1vdmU9ZnVuY3Rpb24oKQ0K
CQl7DQoJCQlpZihfdGhpcyE9PW51bGwpDQoJCQl7DQoJCQkJak5ld0ZpbGUuYmVmb3JlKGpP
bGRGaWxlKS5yZW1vdmUoKTsNCgkJCQlqSU8ucmVtb3ZlKCk7akZvcm0ucmVtb3ZlKCk7DQoJ
CQkJX3RoaXM9bnVsbDsNCgkJCX0NCgkJfQ0KCQl0aGlzLm9uTG9hZD1mdW5jdGlvbigpew0K
CQkJdmFyIGlmbURvYz1qSU9bMF0uY29udGVudFdpbmRvdy5kb2N1bWVudCxyZXN1bHQ9JChp
Zm1Eb2MuYm9keSkudGV4dCgpOw0KCQkJaWZtRG9jLndyaXRlKCcnKTsNCgkJCV90aGlzLnJl
bW92ZSgpOw0KCQkJY2FsbGJhY2socmVzdWx0LHRydWUpOw0KCQl9DQoJCXRoaXMuc3RhcnQ9
ZnVuY3Rpb24oKXtqRm9ybS5zdWJtaXQoKTtqSU8ubG9hZChfdGhpcy5vbkxvYWQpO30NCgkJ
cmV0dXJuIHRoaXM7DQoJfQ0KCXRoaXMuaHRtbDVVcGxvYWQ9ZnVuY3Rpb24oaW5wdXRuYW1l
LGZyb21GaWxlcyx0b1VybCxjYWxsYmFjayxvblByb2dyZXNzKQ0KCXsNCgkJdmFyIHhocixp
PTAsY291bnQ9ZnJvbUZpbGVzLmxlbmd0aCxhbGxMb2FkZWQ9MCxhbGxTaXplPTAsX3RoaXM9
dGhpczsNCgkJZm9yKHZhciBqPTA7ajxjb3VudDtqKyspYWxsU2l6ZSs9ZnJvbUZpbGVzW2pd
LnNpemU7DQoJCXRoaXMucmVtb3ZlPWZ1bmN0aW9uKCl7aWYoeGhyKXt4aHIuYWJvcnQoKTt4
aHI9bnVsbDt9fQ0KCQl0aGlzLnVwbG9hZE5leHQ9ZnVuY3Rpb24oc1RleHQpDQoJCXsNCgkJ
CWlmKHNUZXh0KS8v5b2T5YmN5paH5Lu25LiK5Lyg5a6M5oiQDQoJCQl7DQoJCQkJYWxsTG9h
ZGVkKz1mcm9tRmlsZXNbaS0xXS5zaXplOw0KCQkJCXJldHVyblByb2dyZXNzKDApOw0KCQkJ
fQ0KCQkJaWYoKCFzVGV4dHx8KHNUZXh0JiZjYWxsYmFjayhzVGV4dCxpPT09Y291bnQpPT09
dHJ1ZSkpJiZpPGNvdW50KXBvc3RGaWxlKGZyb21GaWxlc1tpKytdLHRvVXJsLF90aGlzLnVw
bG9hZE5leHQsZnVuY3Rpb24obG9hZGVkKXtyZXR1cm5Qcm9ncmVzcyhsb2FkZWQpO30pOw0K
CQl9DQoJCXRoaXMuc3RhcnQ9ZnVuY3Rpb24oKXtfdGhpcy51cGxvYWROZXh0KCk7fQ0KCQlm
dW5jdGlvbiBwb3N0RmlsZShmcm9tZmlsZSx0b1VybCxjYWxsYmFjayxvblByb2dyZXNzKQ0K
CQl7DQoJCQl4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKSx1cGxvYWQ9eGhyLnVwbG9hZDsN
CgkJCXhoci5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXsNCgkJCQlpZih4aHIucmVh
ZHlTdGF0ZT09PTQpY2FsbGJhY2soeGhyLnJlc3BvbnNlVGV4dCk7DQoJCQl9Ow0KCQkJaWYo
dXBsb2FkKXVwbG9hZC5vbnByb2dyZXNzPWZ1bmN0aW9uKGV2KXsNCgkJCQlvblByb2dyZXNz
KGV2LmxvYWRlZCk7DQoJCQl9Ow0KCQkJZWxzZSBvblByb2dyZXNzKC0xKTsvL+S4jeaUr+aM
gei/m+W6pg0KCQkJeGhyLm9wZW4oIlBPU1QiLCB0b1VybCk7DQoJCQl4aHIuc2V0UmVxdWVz
dEhlYWRlcignQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpOw0K
CQkJeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb24nLCAnYXR0YWNo
bWVudDsgbmFtZT0iJytlbmNvZGVVUklDb21wb25lbnQoaW5wdXRuYW1lKSsnIjsgZmlsZW5h
bWU9IicrZW5jb2RlVVJJQ29tcG9uZW50KGZyb21maWxlLm5hbWUpKyciJyk7DQoJCQlpZih4
aHIuc2VuZEFzQmluYXJ5JiZmcm9tZmlsZS5nZXRBc0JpbmFyeSl4aHIuc2VuZEFzQmluYXJ5
KGZyb21maWxlLmdldEFzQmluYXJ5KCkpOw0KCQkJZWxzZSB4aHIuc2VuZChmcm9tZmlsZSk7
DQoJCX0NCgkJZnVuY3Rpb24gcmV0dXJuUHJvZ3Jlc3MobG9hZGVkKXsNCgkJCWlmKG9uUHJv
Z3Jlc3Mpb25Qcm9ncmVzcyh7J2xvYWRlZCc6YWxsTG9hZGVkK2xvYWRlZCwndG90YWwnOmFs
bFNpemV9KTsNCgkJfQ0KCX0NCgl0aGlzLnNob3dJZnJhbWVNb2RhbD1mdW5jdGlvbih0aXRs
ZSx1cmwsY2FsbGJhY2ssdyxoLG9uUmVtb3ZlKQ0KCXsNCgkJdmFyIGpDb250ZW50PSQoJzxp
ZnJhbWUgZnJhbWVib3JkZXI9IjAiIHNyYz0iJyt1cmwucmVwbGFjZSgve2VkaXRvclJvb3R9
L2lnLGVkaXRvclJvb3QpKygvXD8vLnRlc3QodXJsKT8nJic6Jz8nKSsncGFyZW50aG9zdD0n
K2xvY2F0aW9uLmhvc3QrJyIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxh
eTpub25lOyIgLz48ZGl2IGNsYXNzPSJ4aGVNb2RhbElmbVdhaXQiPjwvZGl2PicpLGpJZnJh
bWU9akNvbnRlbnQuZXEoMCksaldhaXQ9akNvbnRlbnQuZXEoMSk7DQoJCV90aGlzLnNob3dN
b2RhbCh0aXRsZSxqQ29udGVudCx3LGgsb25SZW1vdmUpOw0KCQl2YXIgbW9kYWxXaW49aklm
cmFtZVswXS5jb250ZW50V2luZG93LHJlc3VsdDsNCgkJaW5pdE1vZGFsV2luKCk7DQoJCWpJ
ZnJhbWUubG9hZChmdW5jdGlvbigpew0KCQkJaW5pdE1vZGFsV2luKCk7Ly/liJ3lp4vljJbm
jqXlj6MNCgkJCWlmKHJlc3VsdCl7Ly/ot6jln5/vvIzlj5bov5Tlm57lgLwNCgkJCQl2YXIg
YlJlc3VsdD10cnVlOw0KCQkJCXRyeXsNCgkJCQkJcmVzdWx0PWV2YWwoJygnK3VuZXNjYXBl
KHJlc3VsdCkrJyknKTsNCgkJCQl9DQoJCQkJY2F0Y2goZSl7DQoJCQkJCWJSZXN1bHQ9ZmFs
c2U7DQoJCQkJfQ0KCQkJCWlmKGJSZXN1bHQpcmV0dXJuIGNhbGxiYWNrTW9kYWwocmVzdWx0
KTsJDQoJCQl9DQoJCQlpZihqV2FpdC5pcygnOnZpc2libGUnKSl7Ly/mmL7npLrlhoXpobUN
CgkJCQlqSWZyYW1lLnNob3coKS5mb2N1cygpOw0KCQkJCWpXYWl0LnJlbW92ZSgpOw0KCQkJ
fQ0KCQl9KTsNCgkJLy/liJ3lp4vljJbmjqXlj6MNCgkJZnVuY3Rpb24gaW5pdE1vZGFsV2lu
KCl7DQoJCQl0cnl7DQoJCQkJbW9kYWxXaW4uY2FsbGJhY2s9Y2FsbGJhY2tNb2RhbDsNCgkJ
CQltb2RhbFdpbi51bmxvYWRtZT1fdGhpcy5yZW1vdmVNb2RhbDsNCgkJCQkkKG1vZGFsV2lu
LmRvY3VtZW50KS5rZXlkb3duKGNoZWNrRXNjKTsNCgkJCQlyZXN1bHQ9bW9kYWxXaW4ubmFt
ZTsNCgkJCX0NCgkJCWNhdGNoKGV4KXt9DQoJCX0NCgkJLy/mqKHlvI/nqpflj6Plm57osIMN
CgkJZnVuY3Rpb24gY2FsbGJhY2tNb2RhbCh2KXsNCgkJCW1vZGFsV2luLmRvY3VtZW50Lndy
aXRlKCcnKTsNCgkJCV90aGlzLnJlbW92ZU1vZGFsKCk7DQoJCQlpZih2IT1udWxsKWNhbGxi
YWNrKHYpOw0KCQl9DQoJfQ0KCXRoaXMuc2hvd01vZGFsPWZ1bmN0aW9uKHRpdGxlLGNvbnRl
bnQsdyxoLG9uUmVtb3ZlKQ0KCXsNCgkJaWYoYlNob3dNb2RhbClyZXR1cm4gZmFsc2U7Ly/l
j6rog73lvLnlh7rkuIDkuKrmqKHlvI/nqpflj6MNCgkJX3RoaXMucGFuZWxTdGF0ZT1iU2hv
d1BhbmVsOw0KCQliU2hvd1BhbmVsPWZhbHNlOy8v6Ziy5q2i5oyJ6ZKu6Z2i5p2/6KKr5YWz
6ZetDQoJCWxheWVyU2hhZG93PXNldHRpbmdzLmxheWVyU2hhZG93Ow0KCQl3PXc/dzpzZXR0
aW5ncy5tb2RhbFdpZHRoO2g9aD9oOnNldHRpbmdzLm1vZGFsSGVpZ2h0Ow0KCQlqTW9kYWw9
JCgnPGRpdiBjbGFzcz0ieGhlTW9kYWwiIHN0eWxlPSJ3aWR0aDonKyh3LTEpKydweDtoZWln
aHQ6JytoKydweDttYXJnaW4tbGVmdDotJytNYXRoLmNlaWwody8yKSsncHg7JysoaXNJRSYm
YnJvd2VyVmVyPDcuMD8nJzonbWFyZ2luLXRvcDotJytNYXRoLmNlaWwoaC8yKSsncHgnKSsn
Ij4nKyhzZXR0aW5ncy5tb2RhbFRpdGxlPyc8ZGl2IGNsYXNzPSJ4aGVNb2RhbFRpdGxlIj48
c3BhbiBjbGFzcz0ieGhlTW9kYWxDbG9zZSIgdGl0bGU9IuWFs+mXrSAoRXNjKSIgdGFiaW5k
ZXg9IjAiIHJvbGU9ImJ1dHRvbiI+PC9zcGFuPicrdGl0bGUrJzwvZGl2Pic6JycpKyc8ZGl2
IGNsYXNzPSJ4aGVNb2RhbENvbnRlbnQiPjwvZGl2PjwvZGl2PicpLmFwcGVuZFRvKCdib2R5
Jyk7DQoJCWpPdmVybGF5PSQoJzxkaXYgY2xhc3M9InhoZU1vZGFsT3ZlcmxheSI+PC9kaXY+
JykuYXBwZW5kVG8oJ2JvZHknKTsNCgkJaWYobGF5ZXJTaGFkb3c+MClqTW9kYWxTaGFkb3c9
JCgnPGRpdiBjbGFzcz0ieGhlTW9kYWxTaGFkb3ciIHN0eWxlPSJ3aWR0aDonK2pNb2RhbC5v
dXRlcldpZHRoKCkrJ3B4O2hlaWdodDonK2pNb2RhbC5vdXRlckhlaWdodCgpKydweDttYXJn
aW4tbGVmdDotJysoTWF0aC5jZWlsKHcvMiktbGF5ZXJTaGFkb3ctMikrJ3B4OycrKGlzSUUm
JmJyb3dlclZlcjw3LjA/Jyc6J21hcmdpbi10b3A6LScrKE1hdGguY2VpbChoLzIpLWxheWVy
U2hhZG93LTIpKydweCcpKyciPjwvZGl2PicpLmFwcGVuZFRvKCdib2R5Jyk7DQoNCgkJJCgn
LnhoZU1vZGFsQ29udGVudCcsak1vZGFsKS5jc3MoJ2hlaWdodCcsaC0oc2V0dGluZ3MubW9k
YWxUaXRsZT8kKCcueGhlTW9kYWxUaXRsZScpLm91dGVySGVpZ2h0KCk6MCkpLmh0bWwoY29u
dGVudCk7DQoNCgkJaWYoaXNJRSYmYnJvd2VyVmVyPT09Ni4wKWpIaWRlU2VsZWN0PSQoJ3Nl
bGVjdDp2aXNpYmxlJykuY3NzKCd2aXNpYmlsaXR5JywnaGlkZGVuJyk7Ly/pmpDol4/opobn
m5bnmoRzZWxlY3QNCgkJJCgnLnhoZU1vZGFsQ2xvc2UnLGpNb2RhbCkuY2xpY2soX3RoaXMu
cmVtb3ZlTW9kYWwpOw0KDQoJCWpPdmVybGF5LnNob3coKTsNCgkJaWYobGF5ZXJTaGFkb3c+
MClqTW9kYWxTaGFkb3cuc2hvdygpOw0KCQlqTW9kYWwuc2hvdygpOw0KCQlzZXRUaW1lb3V0
KGZ1bmN0aW9uKCl7ak1vZGFsLmZpbmQoJ2EsaW5wdXRbdHlwZT10ZXh0XSx0ZXh0YXJlYScp
LmZpbHRlcignOnZpc2libGUnKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gJCh0aGlzKS5j
c3MoJ3Zpc2liaWxpdHknKSE9PSdoaWRkZW4nO30pLmVxKDApLmZvY3VzKCk7fSwxMCk7Ly/l
rprkvY3pppbkuKrlj6/op4HovpPlhaXooajljZXpobks5bu26L+f6Kej5Yazb3BlcmHml6Dm
s5Xorr7nva7nhKbngrkNCgkJYlNob3dNb2RhbD10cnVlOw0KCQlvbk1vZGFsUmVtb3ZlPW9u
UmVtb3ZlOw0KCX0NCgl0aGlzLnJlbW92ZU1vZGFsPWZ1bmN0aW9uKCl7DQoJCWlmKGpIaWRl
U2VsZWN0KWpIaWRlU2VsZWN0LmNzcygndmlzaWJpbGl0eScsJ3Zpc2libGUnKTsNCgkJak1v
ZGFsLmh0bWwoJycpLnJlbW92ZSgpOw0KCQlpZihsYXllclNoYWRvdz4wKWpNb2RhbFNoYWRv
dy5yZW1vdmUoKTsNCgkJak92ZXJsYXkucmVtb3ZlKCk7DQoJCWlmKG9uTW9kYWxSZW1vdmUp
b25Nb2RhbFJlbW92ZSgpOw0KCQliU2hvd01vZGFsPWZhbHNlOw0KCQliU2hvd1BhbmVsPV90
aGlzLnBhbmVsU3RhdGU7DQoJfTsNCgl0aGlzLnNob3dEaWFsb2c9ZnVuY3Rpb24oY29udGVu
dCxiTm9Gb2N1cykNCgl7DQoJCXZhciBqRGlhbG9nPSQoJzxkaXYgY2xhc3M9InhoZURpYWxv
ZyI+PC9kaXY+JyksakNvbnRlbnQ9JChjb250ZW50KSxqU2F2ZT0kKCcjeGhlU2F2ZScsakNv
bnRlbnQpOw0KCQlpZihqU2F2ZS5sZW5ndGg9PT0xKQ0KCQl7DQoJCQlqQ29udGVudC5maW5k
KCdpbnB1dFt0eXBlPXRleHRdLHNlbGVjdCcpLmtleXByZXNzKGZ1bmN0aW9uKGV2KXtpZihl
di53aGljaD09PTEzKXtqU2F2ZS5jbGljaygpO3JldHVybiBmYWxzZTt9fSk7DQoJCQlqQ29u
dGVudC5maW5kKCd0ZXh0YXJlYScpLmtleWRvd24oZnVuY3Rpb24oZXYpe2lmKGV2LmN0cmxL
ZXkmJmV2LndoaWNoPT09MTMpe2pTYXZlLmNsaWNrKCk7cmV0dXJuIGZhbHNlO319KTsNCgkJ
CWpTYXZlLmFmdGVyKCcgPGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9InhoZUNhbmNlbCIgdmFs
dWU9IuWPlua2iCIgLz4nKTsNCgkJCSQoJyN4aGVDYW5jZWwnLGpDb250ZW50KS5jbGljayhf
dGhpcy5oaWRlUGFuZWwpOw0KCQkJaWYoIXNldHRpbmdzLmNsaWNrQ2FuY2VsRGlhbG9nKQ0K
CQkJew0KCQkJCWJDbGlja0NhbmNlbD1mYWxzZTsvL+WFs+mXreeCueWHu+makOiXjw0KCQkJ
CXZhciBqRml4Q2FuY2VsPSQoJzxkaXYgY2xhc3M9InhoZUZpeENhbmNlbCI+PC9kaXY+Jyku
YXBwZW5kVG8oJ2JvZHknKS5tb3VzZWRvd24ocmV0dXJuRmFsc2UpOw0KCQkJCXZhciB4eT1f
akFyZWEub2Zmc2V0KCk7DQoJCQkJakZpeENhbmNlbC5jc3MoeydsZWZ0Jzp4eS5sZWZ0LCd0
b3AnOnh5LnRvcCx3aWR0aDpfakFyZWEub3V0ZXJXaWR0aCgpLGhlaWdodDpfakFyZWEub3V0
ZXJIZWlnaHQoKX0pDQoJCQl9DQoJCQlqRGlhbG9nLm1vdXNlZG93bihmdW5jdGlvbigpe2JE
aXNhYmxlSG92ZXJFeGVjPXRydWU7fSkvL+eCueWHu+WvueivneahhuemgeatouaCrOWBnOaJ
p+ihjA0KCQl9DQoJCWpEaWFsb2cuYXBwZW5kKGpDb250ZW50KTsNCgkJX3RoaXMuc2hvd1Bh
bmVsKGpEaWFsb2csYk5vRm9jdXMpOw0KCX0NCgl0aGlzLnNob3dQYW5lbD1mdW5jdGlvbihj
b250ZW50LGJOb0ZvY3VzKQ0KCXsNCgkJaWYoIWV2LnRhcmdldClyZXR1cm4gZmFsc2U7DQoJ
CV9qUGFuZWwuaHRtbCgnJykuYXBwZW5kKGNvbnRlbnQpLmNzcygnbGVmdCcsLTk5OSkuY3Nz
KCd0b3AnLC05OTkpOw0KCQlfalBhbmVsQnV0dG9uPSQoZXYudGFyZ2V0KS5jbG9zZXN0KCdh
JykuYWRkQ2xhc3MoJ3hoZUFjdGl2ZScpOw0KCQl2YXIgeHk9X2pQYW5lbEJ1dHRvbi5vZmZz
ZXQoKTsNCgkJdmFyIHg9eHkubGVmdCx5PXh5LnRvcDt5Kz1falBhbmVsQnV0dG9uLm91dGVy
SGVpZ2h0KCktMTsNCgkJX2pDbnRMaW5lLmNzcyh7J2xlZnQnOngrMSwndG9wJzp5LCd3aWR0
aCc6X2pQYW5lbEJ1dHRvbi53aWR0aCgpfSkuc2hvdygpOw0KCQl2YXIgX2RvY0VsZW09ZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LGJvZHk9ZG9jdW1lbnQuYm9keTsNCgkJaWYoKHgrX2pQ
YW5lbC5vdXRlcldpZHRoKCkpPigod2luZG93LnBhZ2VYT2Zmc2V0fHxfZG9jRWxlbS5zY3Jv
bGxMZWZ0fHxib2R5LnNjcm9sbExlZnQpKyhfZG9jRWxlbS5jbGllbnRXaWR0aHx8Ym9keS5j
bGllbnRXaWR0aCkpKXgtPShfalBhbmVsLm91dGVyV2lkdGgoKS1falBhbmVsQnV0dG9uLm91
dGVyV2lkdGgoKSk7Ly/lkJHlt6bmmL7npLrpnaLmnb8NCgkJdmFyIGxheWVyU2hhZG93PXNl
dHRpbmdzLmxheWVyU2hhZG93Ow0KCQlpZihsYXllclNoYWRvdz4wKV9qU2hhZG93LmNzcyh7
J2xlZnQnOngrbGF5ZXJTaGFkb3csJ3RvcCc6eStsYXllclNoYWRvdywnd2lkdGgnOl9qUGFu
ZWwub3V0ZXJXaWR0aCgpLCdoZWlnaHQnOl9qUGFuZWwub3V0ZXJIZWlnaHQoKX0pLnNob3co
KTsNCgkJdmFyIGJhc2V6SW5kZXg9JCgnIycraWRDb250YWluZXIpLm9mZnNldFBhcmVudCgp
LmNzcygnekluZGV4Jyk7DQoJCWlmKGJhc2V6SW5kZXgmJiFpc05hTihiYXNlekluZGV4KSl7
DQoJCQlfalNoYWRvdy5jc3MoJ3pJbmRleCcscGFyc2VJbnQoYmFzZXpJbmRleCwxMCkrMSk7
DQoJCQlfalBhbmVsLmNzcygnekluZGV4JyxwYXJzZUludChiYXNlekluZGV4LDEwKSsyKTsN
CgkJCV9qQ250TGluZS5jc3MoJ3pJbmRleCcscGFyc2VJbnQoYmFzZXpJbmRleCwxMCkrMyk7
DQoJCX0NCgkJX2pQYW5lbC5jc3MoeydsZWZ0Jzp4LCd0b3AnOnl9KS5zaG93KCk7DQoJCWlm
KCFiTm9Gb2N1cylzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7X2pQYW5lbC5maW5kKCdhLGlucHV0
W3R5cGU9dGV4dF0sdGV4dGFyZWEnKS5maWx0ZXIoJzp2aXNpYmxlJykuZmlsdGVyKGZ1bmN0
aW9uKCl7cmV0dXJuICQodGhpcykuY3NzKCd2aXNpYmlsaXR5JykhPT0naGlkZGVuJzt9KS5l
cSgwKS5mb2N1cygpO30sMTApOy8v5a6a5L2N6aaW5Liq5Y+v6KeB6L6T5YWl6KGo5Y2V6aG5
LOW7tui/n+ino+WGs29wZXJh5peg5rOV6K6+572u54Sm54K5DQoJCWJRdWlja0hvdmVyRXhl
Yz1iU2hvd1BhbmVsPXRydWU7DQoJfQ0KCXRoaXMuaGlkZVBhbmVsPWZ1bmN0aW9uKCl7DQoJ
CWlmKGJTaG93UGFuZWwpew0KCQkJX2pQYW5lbEJ1dHRvbi5yZW1vdmVDbGFzcygneGhlQWN0
aXZlJyk7DQoJCQlfalNoYWRvdy5oaWRlKCk7DQoJCQlfakNudExpbmUuaGlkZSgpOw0KCQkJ
X2pQYW5lbC5oaWRlKCk7DQoJCQliU2hvd1BhbmVsPWZhbHNlOw0KCQkJaWYoIWJDbGlja0Nh
bmNlbCl7DQoJCQkJJCgnLnhoZUZpeENhbmNlbCcpLnJlbW92ZSgpOw0KCQkJCWJDbGlja0Nh
bmNlbD10cnVlOw0KCQkJfTsNCgkJCWJRdWlja0hvdmVyRXhlYz1iRGlzYWJsZUhvdmVyRXhl
Yz1mYWxzZTsNCgkJCWxhc3RBbmdsZT1udWxsOw0KCQkJX3RoaXMuZm9jdXMoKTsNCgkJCV90
aGlzLmxvYWRCb29rbWFyaygpOw0KCQl9DQoJfQ0KCXRoaXMuZXhlYz1mdW5jdGlvbihjbWQp
DQoJew0KCQlfdGhpcy5oaWRlUGFuZWwoKTsNCgkJdmFyIHRvb2w9YXJyVG9vbHNbY21kXTsN
CgkJaWYoIXRvb2wpcmV0dXJuIGZhbHNlOy8v5peg5pWI5ZG95LukDQoJCWlmKGV2PT09bnVs
bCkvL+mdnum8oOagh+eCueWHuw0KCQl7DQoJCQlldj17fTsNCgkJCXZhciBidG49X2pUb29s
cy5maW5kKCcueGhlQnV0dG9uW2NtZD0nK2NtZCsnXScpOw0KCQkJaWYoYnRuLmxlbmd0aD09
PTEpZXYudGFyZ2V0PWJ0bjsvL+iuvue9ruW9k+WJjeS6i+S7tueEpueCuQ0KCQl9DQoJCWlm
KHRvb2wuZSl0b29sLmUuY2FsbChfdGhpcykvL+aPkuS7tuS6i+S7tg0KCQllbHNlLy/lhoXn
va7lt6XlhbcNCgkJew0KCQkJY21kPWNtZC50b0xvd2VyQ2FzZSgpOw0KCQkJc3dpdGNoKGNt
ZCkNCgkJCXsNCgkJCQljYXNlICdjdXQnOg0KCQkJCQl0cnl7X2RvYy5leGVjQ29tbWFuZChj
bWQpO2lmKCFfZG9jLnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZChjbWQpKXRocm93ICdFcnJvcic7
fQ0KCQkJCQljYXRjaChleCl7YWxlcnQoJ+aCqOeahOa1j+iniOWZqOWuieWFqOiuvue9ruS4
jeWFgeiuuOS9v+eUqOWJquWIh+aTjeS9nO+8jOivt+S9v+eUqOmUruebmOW/q+aNt+mUrihD
dHJsICsgWCnmnaXlrozmiJAnKTt9Ow0KCQkJCQlicmVhazsNCgkJCQljYXNlICdjb3B5JzoN
CgkJCQkJdHJ5e19kb2MuZXhlY0NvbW1hbmQoY21kKTtpZighX2RvYy5xdWVyeUNvbW1hbmRT
dXBwb3J0ZWQoY21kKSl0aHJvdyAnRXJyb3InO30NCgkJCQkJY2F0Y2goZXgpe2FsZXJ0KCfm
gqjnmoTmtY/op4jlmajlronlhajorr7nva7kuI3lhYHorrjkvb/nlKjlpI3liLbmk43kvZzv
vIzor7fkvb/nlKjplK7nm5jlv6vmjbfplK4oQ3RybCArIEMp5p2l5a6M5oiQJyk7fQ0KCQkJ
CQlicmVhazsNCgkJCQljYXNlICdwYXN0ZSc6DQoJCQkJCXRyeXtfZG9jLmV4ZWNDb21tYW5k
KGNtZCk7aWYoIV9kb2MucXVlcnlDb21tYW5kU3VwcG9ydGVkKGNtZCkpdGhyb3cgJ0Vycm9y
Jzt9DQoJCQkJCWNhdGNoKGV4KXthbGVydCgn5oKo55qE5rWP6KeI5Zmo5a6J5YWo6K6+572u
5LiN5YWB6K645L2/55So57KY6LS05pON5L2c77yM6K+35L2/55So6ZSu55uY5b+r5o236ZSu
KEN0cmwgKyBWKeadpeWujOaIkCcpO30NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAncGFzdGV0
ZXh0JzoNCgkJCQkJaWYod2luZG93LmNsaXBib2FyZERhdGEpX3RoaXMucGFzdGVUZXh0KHdp
bmRvdy5jbGlwYm9hcmREYXRhLmdldERhdGEoJ1RleHQnLCB0cnVlKSk7DQoJCQkJCWVsc2Ug
X3RoaXMuc2hvd1Bhc3RldGV4dCgpOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICdibG9ja3Rh
Zyc6DQoJCQkJCXZhciBtZW51QmxvY2t0YWc9W107DQoJCQkJCSQuZWFjaChhcnJCbG9ja3Rh
ZyxmdW5jdGlvbihuLHYpe21lbnVCbG9ja3RhZy5wdXNoKHtzOic8Jyt2Lm4rJz4nK3YudCsn
PC8nK3YubisnPicsdjonPCcrdi5uKyc+Jyx0OnYudH0pO30pOw0KCQkJCQlfdGhpcy5zaG93
TWVudShtZW51QmxvY2t0YWcsZnVuY3Rpb24odil7X3RoaXMuX2V4ZWMoJ2Zvcm1hdGJsb2Nr
Jyx2KTt9KTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAnZm9udGZhY2UnOg0KCQkJCQl2YXIg
bWVudUZvbnRuYW1lPVtdOw0KCQkJCQkkLmVhY2goYXJyRm9udG5hbWUsZnVuY3Rpb24obix2
KXt2LmM9di5jP3YuYzp2Lm47bWVudUZvbnRuYW1lLnB1c2goe3M6JzxzcGFuIHN0eWxlPSJm
b250LWZhbWlseTonK3YuYysnIj4nK3YubisnPC9zcGFuPicsdjp2LmMsdDp2Lm59KTt9KTsN
CgkJCQkJX3RoaXMuc2hvd01lbnUobWVudUZvbnRuYW1lLGZ1bmN0aW9uKHYpe190aGlzLl9l
eGVjKCdmb250bmFtZScsdik7fSk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2ZvbnRzaXpl
JzoNCgkJCQkJdmFyIG1lbnVGb250c2l6ZT1bXTsNCgkJCQkJJC5lYWNoKGFyckZvbnRzaXpl
LGZ1bmN0aW9uKG4sdil7bWVudUZvbnRzaXplLnB1c2goe3M6JzxzcGFuIHN0eWxlPSJmb250
LXNpemU6Jyt2LnMrJzsiPicrdi50KycoJyt2LnMrJyk8L3NwYW4+Jyx2Om4rMSx0OnYudH0p
O30pOw0KCQkJCQlfdGhpcy5zaG93TWVudShtZW51Rm9udHNpemUsZnVuY3Rpb24odil7X3Ro
aXMuX2V4ZWMoJ2ZvbnRzaXplJyx2KTt9KTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAnZm9u
dGNvbG9yJzoNCgkJCQkJX3RoaXMuc2hvd0NvbG9yKGZ1bmN0aW9uKHYpe190aGlzLl9leGVj
KCdmb3JlY29sb3InLHYpO30pOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICdiYWNrY29sb3In
Og0KCQkJCQlfdGhpcy5zaG93Q29sb3IoZnVuY3Rpb24odil7aWYoaXNJRSlfdGhpcy5fZXhl
YygnYmFja2NvbG9yJyx2KTtlbHNle3NldENTUyh0cnVlKTtfdGhpcy5fZXhlYygnaGlsaXRl
Y29sb3InLHYpO3NldENTUyhmYWxzZSk7fX0pOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICdh
bGlnbic6DQoJCQkJCV90aGlzLnNob3dNZW51KG1lbnVBbGlnbixmdW5jdGlvbih2KXtfdGhp
cy5fZXhlYyh2KTt9KTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAnbGlzdCc6DQoJCQkJCV90
aGlzLnNob3dNZW51KG1lbnVMaXN0LGZ1bmN0aW9uKHYpe190aGlzLl9leGVjKHYpO30pOw0K
CQkJCQlicmVhazsNCgkJCQljYXNlICdsaW5rJzoNCgkJCQkJX3RoaXMuc2hvd0xpbmsoKTsN
CgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAnYW5jaG9yJzoNCgkJCQkJX3RoaXMuc2hvd0FuY2hv
cigpOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICdpbWcnOg0KCQkJCQlfdGhpcy5zaG93SW1n
KCk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2ZsYXNoJzoNCgkJCQkJX3RoaXMuc2hvd0Vt
YmVkKCdGbGFzaCcsaHRtbEZsYXNoLCdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcs
J2Nsc2lkOmQyN2NkYjZlLWFlNmQtMTFjZi05NmI4LTQ0NDU1MzU0MDAwMDAnLCcgd21vZGU9
Im9wYXF1ZSIgcXVhbGl0eT0iaGlnaCIgbWVudT0iZmFsc2UiIHBsYXk9InRydWUiIGxvb3A9
InRydWUiIGFsbG93ZnVsbHNjcmVlbj0idHJ1ZSInLHNldHRpbmdzLnVwRmxhc2hVcmwsc2V0
dGluZ3MudXBGbGFzaEV4dCk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ21lZGlhJzoNCgkJ
CQkJX3RoaXMuc2hvd0VtYmVkKCdNZWRpYScsaHRtbE1lZGlhLCdhcHBsaWNhdGlvbi94LW1w
bGF5ZXIyJywnY2xzaWQ6NmJmNTJhNTItMzk0YS0xMWQzLWIxNTMtMDBjMDRmNzlmYWE2Jywn
IGVuYWJsZWNvbnRleHRtZW51PSJmYWxzZSIgYXV0b3N0YXJ0PSJmYWxzZSInLHNldHRpbmdz
LnVwTWVkaWFVcmwsc2V0dGluZ3MudXBNZWRpYUV4dCk7DQoJCQkJCWJyZWFrOw0KCQkJCWNh
c2UgJ2hyJzoNCgkJCQkJX3RoaXMucGFzdGVIVE1MKCc8aHIgLz4nKTsNCgkJCQkJYnJlYWs7
DQoJCQkJY2FzZSAnZW1vdCc6DQoJCQkJCV90aGlzLnNob3dFbW90KCk7DQoJCQkJCWJyZWFr
Ow0KCQkJCWNhc2UgJ3RhYmxlJzoNCgkJCQkJX3RoaXMuc2hvd1RhYmxlKCk7DQoJCQkJCWJy
ZWFrOw0KCQkJCWNhc2UgJ3NvdXJjZSc6DQoJCQkJCV90aGlzLnRvZ2dsZVNvdXJjZSgpOw0K
CQkJCQlicmVhazsNCgkJCQljYXNlICdwcmV2aWV3JzoNCgkJCQkJX3RoaXMuc2hvd1ByZXZp
ZXcoKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAncHJpbnQnOg0KCQkJCQlfd2luLnByaW50
KCk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2Z1bGxzY3JlZW4nOg0KCQkJCQlfdGhpcy50
b2dnbGVGdWxsc2NyZWVuKCk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2Fib3V0JzoNCgkJ
CQkJX3RoaXMuc2hvd0Fib3V0KCk7DQoJCQkJCWJyZWFrOw0KCQkJCWRlZmF1bHQ6DQoJCQkJ
CV90aGlzLl9leGVjKGNtZCk7DQoJCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJCWV2PW51bGw7
DQoJfQ0KCXRoaXMuX2V4ZWM9ZnVuY3Rpb24oY21kLHBhcmFtLG5vRm9jdXMpDQoJew0KCQlp
Zighbm9Gb2N1cylfdGhpcy5mb2N1cygpOw0KCQl2YXIgc3RhdGU7DQoJCWlmKHBhcmFtIT09
dW5kZWZpbmVkKXN0YXRlPV9kb2MuZXhlY0NvbW1hbmQoY21kLGZhbHNlLHBhcmFtKTsNCgkJ
ZWxzZSBzdGF0ZT1fZG9jLmV4ZWNDb21tYW5kKGNtZCxmYWxzZSxudWxsKTsNCgkJcmV0dXJu
IHN0YXRlOw0KCX0NCglmdW5jdGlvbiBjaGVja0RibENsaWNrKGV2KQ0KCXsNCgkJdmFyIHRh
cmdldD1ldi50YXJnZXQsdG9vbD1hcnJEYkNsaWNrW3RhcmdldC50YWdOYW1lLnRvTG93ZXJD
YXNlKCldOw0KCQlpZih0b29sKQ0KCQl7DQoJCQlpZih0b29sPT09J0VtYmVkJykvL+iHquWK
qOivhuWIq0ZsYXNo5ZKM5aSa5aqS5L2TDQoJCQl7DQoJCQkJdmFyIGFyckVtYmVkPXsnYXBw
bGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnOidGbGFzaCcsJ2FwcGxpY2F0aW9uL3gtbXBs
YXllcjInOidNZWRpYSd9Ow0KCQkJCXRvb2w9YXJyRW1iZWRbdGFyZ2V0LnR5cGUudG9Mb3dl
ckNhc2UoKV07DQoJCQl9DQoJCQlfdGhpcy5leGVjKHRvb2wpOw0KCQl9DQoJfQ0KCWZ1bmN0
aW9uIGNoZWNrRXNjKGV2KQ0KCXsNCgkJaWYoZXYud2hpY2g9PT0yNykNCgkJew0KCQkJaWYo
YlNob3dNb2RhbClfdGhpcy5yZW1vdmVNb2RhbCgpOw0KCQkJZWxzZSBpZihiU2hvd1BhbmVs
KV90aGlzLmhpZGVQYW5lbCgpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KCWZ1bmN0
aW9uIGxvYWRSZXNldCgpe3NldFRpbWVvdXQoX3RoaXMuc2V0U291cmNlLDEwKTt9DQoJZnVu
Y3Rpb24gc2F2ZVJlc3VsdCgpe190aGlzLmdldFNvdXJjZSgpO307DQoJZnVuY3Rpb24gY2xl
YW5QYXN0ZShldil7DQoJCXZhciBjbGlwYm9hcmREYXRhLGl0ZW1zLGl0ZW07Ly9mb3IgY2hy
b21lDQoJCWlmKGV2JiYoY2xpcGJvYXJkRGF0YT1ldi5vcmlnaW5hbEV2ZW50LmNsaXBib2Fy
ZERhdGEpJiYoaXRlbXM9Y2xpcGJvYXJkRGF0YS5pdGVtcykmJihpdGVtPWl0ZW1zWzBdKSYm
aXRlbS5raW5kPT0nZmlsZScmJml0ZW0udHlwZS5tYXRjaCgvXmltYWdlXC8vaSkpew0KCQkJ
dmFyIGJsb2IgPSBpdGVtLmdldEFzRmlsZSgpLHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7
DQoJCQlyZWFkZXIub25sb2FkPWZ1bmN0aW9uKCl7DQoJCQkJdmFyIHNIdG1sPSc8aW1nIHNy
Yz0iJytldmVudC50YXJnZXQucmVzdWx0KyciPic7DQoJCQkJc0h0bWw9cmVwbGFjZVJlbW90
ZUltZyhzSHRtbCk7DQoJCQkJX3RoaXMucGFzdGVIVE1MKHNIdG1sKTsNCgkJCX0NCgkJCXJl
YWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJ
dmFyIGNsZWFuUGFzdGU9c2V0dGluZ3MuY2xlYW5QYXN0ZTsNCgkJaWYoY2xlYW5QYXN0ZT09
PTB8fGJTb3VyY2V8fGJDbGVhblBhc3RlKXJldHVybiB0cnVlOw0KCQliQ2xlYW5QYXN0ZT10
cnVlOy8v6Kej5YazSUXlj7PplK7nspjotLTph43lpI3kuqfnlJ9wYXN0ZeeahOmXrumimA0K
CQlfdGhpcy5zYXZlQm9va21hcmsoKTsNCgkJdmFyIHRhZz1pc0lFPydwcmUnOidkaXYnLGpE
aXY9JCgnPCcrdGFnKycgY2xhc3M9InhoZS1wYXN0ZSI+XHVGRUZGXHVGRUZGPC8nK3RhZysn
PicsX2RvYykuYXBwZW5kVG8oX2RvYy5ib2R5KSxkaXY9akRpdlswXSxzZWw9X3RoaXMuZ2V0
U2VsKCkscm5nPV90aGlzLmdldFJuZyh0cnVlKTsNCgkJakRpdi5jc3MoJ3RvcCcsX2pXaW4u
c2Nyb2xsVG9wKCkpOw0KCQlpZihpc0lFKXsNCgkJCXJuZy5tb3ZlVG9FbGVtZW50VGV4dChk
aXYpOw0KCQkJcm5nLnNlbGVjdCgpOw0KCQkJLy/ms6jvvJrosIPnlKhleGVjb21tYW5kOnBh
c3Rl77yM5Lya5a+86Ie0SUU4LElFOeebruagh+i3r+W+hOaXoOazlei9rOS4uue7neWvuei3
r+W+hA0KCQl9DQoJCWVsc2V7DQoJCQlybmcuc2VsZWN0Tm9kZUNvbnRlbnRzKGRpdik7DQoJ
CQlzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7DQoJCQlzZWwuYWRkUmFuZ2Uocm5nKTsNCgkJfQ0K
DQoJCXNldFRpbWVvdXQoZnVuY3Rpb24oKXsNCgkJCXZhciBiVGV4dD0oY2xlYW5QYXN0ZT09
PTMpLHNQYXN0ZTsNCgkJCWlmKGJUZXh0KXNQYXN0ZT1qRGl2LnRleHQoKTsNCgkJCWVsc2V7
DQoJCQkJdmFyIGpURGl2PSQoJy54aGUtcGFzdGUnLF9kb2MuYm9keSksYXJySHRtbD1bXTsN
CgkJCQlqVERpdi5lYWNoKGZ1bmN0aW9uKGksbil7aWYoJChuKS5maW5kKCcueGhlLXBhc3Rl
JykubGVuZ3RoPT0wKWFyckh0bWwucHVzaChuLmlubmVySFRNTCk7fSk7DQoJCQkJc1Bhc3Rl
PWFyckh0bWwuam9pbignPGJyIC8+Jyk7DQoJCQl9DQoJCQkNCgkJCWpEaXYucmVtb3ZlKCk7
DQoJCQlfdGhpcy5sb2FkQm9va21hcmsoKTsNCgkJCXNQYXN0ZT1zUGFzdGUucmVwbGFjZSgv
Xltcc1x1RkVGRl0rfFtcc1x1RkVGRl0rJC9nLCcnKTsNCgkJCWlmKHNQYXN0ZSl7DQoJCQkJ
aWYoYlRleHQpX3RoaXMucGFzdGVUZXh0KHNQYXN0ZSk7DQoJCQkJZWxzZXsNCgkJCQkJc1Bh
c3RlPV90aGlzLmNsZWFuSFRNTChzUGFzdGUpOw0KCQkJCQlzUGFzdGU9X3RoaXMuY2xlYW5X
b3JkKHNQYXN0ZSk7DQoJCQkJCXNQYXN0ZT1fdGhpcy5mb3JtYXRYSFRNTChzUGFzdGUpOw0K
CQkJCQlpZighc2V0dGluZ3Mub25QYXN0ZXx8c2V0dGluZ3Mub25QYXN0ZSYmKHNQYXN0ZT1z
ZXR0aW5ncy5vblBhc3RlKHNQYXN0ZSkpIT09ZmFsc2Upew0KCQkJCQkJc1Bhc3RlPXJlcGxh
Y2VSZW1vdGVJbWcoc1Bhc3RlKTsNCgkJCQkJCV90aGlzLnBhc3RlSFRNTChzUGFzdGUpOw0K
CQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkJYkNsZWFuUGFzdGU9ZmFsc2U7DQoJCX0sMCk7DQoJ
fQ0KCS8v6L+c56iL5Zu+54mH6L2s5pys5ZywDQoJZnVuY3Rpb24gcmVwbGFjZVJlbW90ZUlt
ZyhzSHRtbCl7DQoJCXZhciBsb2NhbFVybFRlc3Q9c2V0dGluZ3MubG9jYWxVcmxUZXN0LHJl
bW90ZUltZ1NhdmVVcmw9c2V0dGluZ3MucmVtb3RlSW1nU2F2ZVVybDsNCgkJaWYobG9jYWxV
cmxUZXN0JiZyZW1vdGVJbWdTYXZlVXJsKXsNCgkJCXZhciBhcnJSZW1vdGVJbWdzPVtdLGNv
dW50PTA7DQoJCQlzSHRtbD1zSHRtbC5yZXBsYWNlKC8oPGltZykoKD86XHMrW14+XSo/KT8o
PzpccytzcmM9IlxzKihbXiJdKylccyoiKSg/OiBbXj5dKik/KShcLz8+KS9pZyxmdW5jdGlv
bihhbGwsbGVmdCxhdHRyLHVybCxyaWdodCl7DQoJCQkJaWYoL14oaHR0cHM/fGRhdGE6aW1h
Z2UpL2kudGVzdCh1cmwpICYmICEvX3hoZV90ZW1wLy50ZXN0KGF0dHIpICYmICFsb2NhbFVy
bFRlc3QudGVzdCh1cmwpKXsNCgkJCQkJYXJyUmVtb3RlSW1nc1tjb3VudF09dXJsOw0KCQkJ
CQlhdHRyPWF0dHIucmVwbGFjZSgvXHMrKHdpZHRofGhlaWdodCk9IlteIl0qIi9pZywnJyku
cmVwbGFjZSgvXHMrc3JjPSJbXiJdKiIvaWcsJyBzcmM9Iicrc2tpblBhdGgrJ2ltZy93YWl0
aW5nLmdpZiIgcmVtb3RlaW1nPSInKyhjb3VudCsrKSsnIicpOw0KCQkJCX0NCgkJCQlyZXR1
cm4gbGVmdCthdHRyK3JpZ2h0Ow0KCQkJfSk7DQoJCQlpZihhcnJSZW1vdGVJbWdzLmxlbmd0
aD4wKXsNCgkJCQkkLnBvc3QocmVtb3RlSW1nU2F2ZVVybCx7dXJsczphcnJSZW1vdGVJbWdz
LmpvaW4oJ3wnKX0sZnVuY3Rpb24oZGF0YSl7DQoJCQkJCWRhdGE9ZGF0YS5zcGxpdCgnfCcp
Ow0KCQkJCQkkKCdpbWdbcmVtb3RlaW1nXScsX3RoaXMuZG9jKS5lYWNoKGZ1bmN0aW9uKCl7
DQoJCQkJCQl2YXIgJHRoaXM9JCh0aGlzKTsNCgkJCQkJCXhoZUF0dHIoJHRoaXMsJ3NyYycs
ZGF0YVskdGhpcy5hdHRyKCdyZW1vdGVpbWcnKV0pOw0KCQkJCQkJJHRoaXMucmVtb3ZlQXR0
cigncmVtb3RlaW1nJyk7DQoJCQkJCX0pOw0KCQkJCX0pOw0KCQkJfQ0KCQl9DQoJCXJldHVy
biBzSHRtbDsNCgl9DQoJZnVuY3Rpb24gc2V0Q1NTKGNzcykNCgl7DQoJCXRyeXtfdGhpcy5f
ZXhlYygnc3R5bGVXaXRoQ1NTJyxjc3MsdHJ1ZSk7fQ0KCQljYXRjaChlKQ0KCQl7dHJ5e190
aGlzLl9leGVjKCd1c2VDU1MnLCFjc3MsdHJ1ZSk7fWNhdGNoKGUpe319DQoJfQ0KCWZ1bmN0
aW9uIHNldE9wdHMoKQ0KCXsNCgkJaWYoYkluaXQmJiFiU291cmNlKQ0KCQl7DQoJCQlzZXRD
U1MoZmFsc2UpOw0KCQkJdHJ5e190aGlzLl9leGVjKCdlbmFibGVPYmplY3RSZXNpemluZycs
dHJ1ZSx0cnVlKTt9Y2F0Y2goZSl7fQ0KCQkJLy90cnl7X3RoaXMuX2V4ZWMoJ2VuYWJsZUlu
bGluZVRhYmxlRWRpdGluZycsZmFsc2UsdHJ1ZSk7fWNhdGNoKGUpe30NCgkJCWlmKGlzSUUp
dHJ5e190aGlzLl9leGVjKCdCYWNrZ3JvdW5kSW1hZ2VDYWNoZScsdHJ1ZSx0cnVlKTt9Y2F0
Y2goZSl7fQ0KCQl9DQoJfQ0KCWZ1bmN0aW9uIGZvcmNlUHRhZyhldikNCgl7DQoJCWlmKGJT
b3VyY2V8fGV2LndoaWNoIT09MTN8fGV2LnNoaWZ0S2V5fHxldi5jdHJsS2V5fHxldi5hbHRL
ZXkpcmV0dXJuIHRydWU7DQoJCXZhciBwTm9kZT1fdGhpcy5nZXRQYXJlbnQoJ3AsaDEsaDIs
aDMsaDQsaDUsaDYscHJlLGFkZHJlc3MsZGl2LGxpJyk7DQoJCWlmKHBOb2RlLmlzKCdsaScp
KXJldHVybiB0cnVlOw0KCQlpZihzZXR0aW5ncy5mb3JjZVB0YWcpe2lmKHBOb2RlLmxlbmd0
aD09PTApX3RoaXMuX2V4ZWMoJ2Zvcm1hdGJsb2NrJywnPHA+Jyk7fQ0KCQllbHNlDQoJCXsN
CgkJCV90aGlzLnBhc3RlSFRNTCgnPGJyIC8+Jyk7DQoJCQlpZihpc0lFJiZwTm9kZS5sZW5n
dGg+MCYmX3RoaXMuZ2V0Um5nKCkucGFyZW50RWxlbWVudCgpLmNoaWxkTm9kZXMubGVuZ3Ro
PT09MilfdGhpcy5wYXN0ZUhUTUwoJzxiciAvPicpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9
DQoJfQ0KCWZ1bmN0aW9uIGZpeEZ1bGxIZWlnaHQoKQ0KCXsNCgkJaWYoIWlzTW96aWxsYSYm
IWlzU2FmYXJpKQ0KCQl7DQoJCQlpZihiRnVsbHNjcmVlbilfakFyZWEuaGVpZ2h0KCcxMDAl
JykuY3NzKCdoZWlnaHQnLF9qQXJlYS5vdXRlckhlaWdodCgpLV9qVG9vbHMub3V0ZXJIZWln
aHQoKSk7DQoJCQlpZihpc0lFKV9qVG9vbHMuaGlkZSgpLnNob3coKTsNCgkJfQ0KCX0NCglm
dW5jdGlvbiBmaXhBcHBsZVNlbChlKQ0KCXsNCgkJZT1lLnRhcmdldDsNCgkJaWYoZS50YWdO
YW1lLm1hdGNoKC8oaW1nfGVtYmVkKS9pKSkNCgkJew0KCQkJdmFyIHNlbD1fdGhpcy5nZXRT
ZWwoKSxybmc9X3RoaXMuZ2V0Um5nKHRydWUpOw0KCQkJcm5nLnNlbGVjdE5vZGUoZSk7DQoJ
CQlzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7DQoJCQlzZWwuYWRkUmFuZ2Uocm5nKTsNCgkJfQ0K
CX0NCglmdW5jdGlvbiB4aGVBdHRyKGpPYmosbix2KQ0KCXsNCgkJaWYoIW4pcmV0dXJuIGZh
bHNlOw0KCQl2YXIga249J194aGVfJytuOw0KCQlpZih2KS8v6K6+572u5bGe5oCnDQoJCXsN
CgkJCWlmKHVybFR5cGUpdj1nZXRMb2NhbFVybCh2LHVybFR5cGUsdXJsQmFzZSk7DQoJCQlq
T2JqLmF0dHIobix1cmxCYXNlP2dldExvY2FsVXJsKHYsJ2FicycsdXJsQmFzZSk6dikucmVt
b3ZlQXR0cihrbikuYXR0cihrbix2KTsNCgkJfQ0KCQlyZXR1cm4gak9iai5hdHRyKGtuKXx8
ak9iai5hdHRyKG4pOw0KCX0NCglmdW5jdGlvbiBjbGlja0NhbmNlbFBhbmVsKCl7aWYoYkNs
aWNrQ2FuY2VsKV90aGlzLmhpZGVQYW5lbCgpO30NCglmdW5jdGlvbiBjaGVja1Nob3J0Y3V0
cyhldmVudCkNCgl7DQoJCWlmKGJTb3VyY2UpcmV0dXJuIHRydWU7DQoJCXZhciBjb2RlPWV2
ZW50LndoaWNoLHNwZWNpYWw9c3BlY2lhbEtleXNbY29kZV0sc0NoYXI9c3BlY2lhbD9zcGVj
aWFsOlN0cmluZy5mcm9tQ2hhckNvZGUoY29kZSkudG9Mb3dlckNhc2UoKTsNCgkJc0tleT0n
JzsNCgkJc0tleSs9ZXZlbnQuY3RybEtleT8nY3RybCsnOicnO3NLZXkrPWV2ZW50LmFsdEtl
eT8nYWx0Kyc6Jyc7c0tleSs9ZXZlbnQuc2hpZnRLZXk/J3NoaWZ0Kyc6Jyc7c0tleSs9c0No
YXI7DQoNCgkJdmFyIGNtZD1hcnJTaG9ydEN1dHNbc0tleV0sYzsNCgkJZm9yKGMgaW4gY21k
KQ0KCQl7DQoJCQljPWNtZFtjXTsNCgkJCWlmKCQuaXNGdW5jdGlvbihjKSl7aWYoYy5jYWxs
KF90aGlzKT09PWZhbHNlKXJldHVybiBmYWxzZTt9DQoJCQllbHNle190aGlzLmV4ZWMoYyk7
cmV0dXJuIGZhbHNlO30vL+aMiemSrueLrOWNoOW/q+aNt+mUrg0KCQl9DQoJfQ0KCWZ1bmN0
aW9uIGlzKG8sdCkNCgl7DQoJCXZhciBuID0gdHlwZW9mKG8pOw0KCQlpZiAoIXQpcmV0dXJu
IG4gIT0gJ3VuZGVmaW5lZCc7DQoJCWlmICh0ID09PSAnYXJyYXknICYmIChvLmhhc093blBy
b3BlcnR5ICYmIG8gaW5zdGFuY2VvZiBBcnJheSkpcmV0dXJuIHRydWU7DQoJCXJldHVybiBu
ID09PSB0Ow0KCX0NCglmdW5jdGlvbiBnZXRMb2NhbFVybCh1cmwsdXJsVHlwZSx1cmxCYXNl
KS8v57ud5a+55Zyw5Z2A77yaYWJzLOagueWcsOWdgO+8mnJvb3Qs55u45a+55Zyw5Z2A77ya
cmVsDQoJew0KCQlpZiggKHVybC5tYXRjaCgvXihcdyspOlwvXC8vaSkgJiYgIXVybC5tYXRj
aCgvXmh0dHBzPzovaSkpIHx8IC9eIy9pLnRlc3QodXJsKSB8fCAvXmRhdGE6L2kudGVzdCh1
cmwpIClyZXR1cm4gdXJsOy8v6Z2eaHR0cOWSjGh0dHBz5Y2P6K6u77yM5oiW6ICF6aG16Z2i
6ZSa54K55LiN6L2s5o2i77yM5oiW6ICFYmFzZTY057yW56CB55qE5Zu+54mH562JDQoJCXZh
ciBiYXNlVXJsPXVybEJhc2U/JCgnPGEgaHJlZj0iJyt1cmxCYXNlKyciIC8+JylbMF06bG9j
YXRpb24scHJvdG9jb2w9YmFzZVVybC5wcm90b2NvbCxob3N0PWJhc2VVcmwuaG9zdCxob3N0
bmFtZT1iYXNlVXJsLmhvc3RuYW1lLHBvcnQ9YmFzZVVybC5wb3J0LHBhdGg9YmFzZVVybC5w
YXRobmFtZS5yZXBsYWNlKC9cXC9nLCcvJykucmVwbGFjZSgvW15cL10rJC9pLCcnKTsNCgkJ
aWYocG9ydD09PScnKXBvcnQ9JzgwJzsNCgkJaWYocGF0aD09PScnKXBhdGg9Jy8nOw0KCQll
bHNlIGlmKHBhdGguY2hhckF0KDApIT09Jy8nKXBhdGg9Jy8nK3BhdGg7Ly/kv67mraNJRSBw
YXRoDQoJCXVybD0kLnRyaW0odXJsKTsNCgkJLy/liKDpmaTln5/ot6/lvoQNCgkJaWYodXJs
VHlwZSE9PSdhYnMnKXVybD11cmwucmVwbGFjZShuZXcgUmVnRXhwKHByb3RvY29sKydcXC9c
XC8nK2hvc3RuYW1lLnJlcGxhY2UoL1wuL2csJ1xcLicpKycoPzo6Jytwb3J0KycpJysocG9y
dD09PSc4MCc/Jz8nOicnKSsnKFwvfCQpJywnaScpLCcvJyk7DQoJCS8v5Yig6Zmk5qC56Lev
5b6EDQoJCWlmKHVybFR5cGU9PT0ncmVsJyl1cmw9dXJsLnJlcGxhY2UobmV3IFJlZ0V4cCgn
XicrcGF0aC5yZXBsYWNlKC8oW1wvXC5cK1xbXF1cKFwpXSkvZywnXFwkMScpLCdpJyksJycp
Ow0KCQkvL+WKoOS4iuaguei3r+W+hA0KCQlpZih1cmxUeXBlIT09J3JlbCcpDQoJCXsNCgkJ
CWlmKCF1cmwubWF0Y2goL14oaHR0cHM/OlwvXC98XC8pL2kpKXVybD1wYXRoK3VybDsNCgkJ
CWlmKHVybC5jaGFyQXQoMCk9PT0nLycpLy/lpITnkIbmoLnot6/lvoTkuK3nmoQuLg0KCQkJ
ew0KCQkJCXZhciBhcnJQYXRoPVtdLGFyckZvbGRlciA9IHVybC5zcGxpdCgnLycpLGZvbGRl
cixpLGw9YXJyRm9sZGVyLmxlbmd0aDsNCgkJCQlmb3IoaT0wO2k8bDtpKyspDQoJCQkJew0K
CQkJCQlmb2xkZXI9YXJyRm9sZGVyW2ldOw0KCQkJCQlpZihmb2xkZXI9PT0nLi4nKWFyclBh
dGgucG9wKCk7DQoJCQkJCWVsc2UgaWYoZm9sZGVyIT09JycmJmZvbGRlciE9PScuJylhcnJQ
YXRoLnB1c2goZm9sZGVyKTsNCgkJCQl9DQoJCQkJaWYoYXJyRm9sZGVyW2wtMV09PT0nJylh
cnJQYXRoLnB1c2goJycpOw0KCQkJCXVybD0nLycrYXJyUGF0aC5qb2luKCcvJyk7DQoJCQl9
DQoJCX0NCgkJLy/liqDkuIrln5/ot6/lvoQNCgkJaWYodXJsVHlwZT09PSdhYnMnJiYhdXJs
Lm1hdGNoKC9eaHR0cHM/OlwvXC8vaSkpdXJsPXByb3RvY29sKycvLycraG9zdCt1cmw7DQoJ
CXVybD11cmwucmVwbGFjZSgvKGh0dHBzPzpcL1wvW146XC8/I10rKTo4MChcL3wkKS9pLCck
MSQyJyk7Ly/nnIHnlaU4MOerr+WPow0KCQlyZXR1cm4gdXJsOw0KCX0NCglmdW5jdGlvbiBj
aGVja0ZpbGVFeHQoZmlsZW5hbWUsbGltaXRFeHQpDQoJew0KCQlpZihsaW1pdEV4dD09PScq
J3x8ZmlsZW5hbWUubWF0Y2gobmV3IFJlZ0V4cCgnXC4oJytsaW1pdEV4dC5yZXBsYWNlKC8s
L2csJ3wnKSsnKSQnLCdpJykpKXJldHVybiB0cnVlOw0KCQllbHNlDQoJCXsNCgkJCWFsZXJ0
KCfkuIrkvKDmlofku7bmianlsZXlkI3lv4XpnIDkuLo6ICcrbGltaXRFeHQpOw0KCQkJcmV0
dXJuIGZhbHNlOw0KCQl9DQoJfQ0KCWZ1bmN0aW9uIGZvcm1hdEJ5dGVzKGJ5dGVzKQ0KCXsN
CgkJdmFyIHMgPSBbJ0J5dGUnLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInXTsNCgkJ
dmFyIGUgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKS9NYXRoLmxvZygxMDI0KSk7DQoJ
CXJldHVybiAoYnl0ZXMvTWF0aC5wb3coMTAyNCwgTWF0aC5mbG9vcihlKSkpLnRvRml4ZWQo
Mikrc1tlXTsNCgl9DQoJZnVuY3Rpb24gcmV0dXJuRmFsc2UoKXtyZXR1cm4gZmFsc2U7fQ0K
fQ0KDQp4aGVkaXRvci5zZXR0aW5ncz17c2tpbjonZGVmYXVsdCcsdG9vbHM6J2Z1bGwnLGNs
aWNrQ2FuY2VsRGlhbG9nOnRydWUsbGlua1RhZzpmYWxzZSxpbnRlcm5hbFNjcmlwdDpmYWxz
ZSxpbmxpbmVTY3JpcHQ6ZmFsc2UsaW50ZXJuYWxTdHlsZTp0cnVlLGlubGluZVN0eWxlOnRy
dWUsc2hvd0Jsb2NrdGFnOmZhbHNlLGZvcmNlUHRhZzp0cnVlLHVwTGlua0V4dDoiemlwLHJh
cix0eHQiLHVwSW1nRXh0OiJqcGcsanBlZyxnaWYscG5nIix1cEZsYXNoRXh0OiJzd2YiLHVw
TWVkaWFFeHQ6Indtdixhdmksd21hLG1wMyxtaWQiLG1vZGFsV2lkdGg6MzUwLG1vZGFsSGVp
Z2h0OjIyMCxtb2RhbFRpdGxlOnRydWUsZGVmTGlua1RleHQ6J+eCueWHu+aJk+W8gOmTvuaO
pScsbGF5ZXJTaGFkb3c6MyxlbW90TWFyazpmYWxzZSx1cEJ0blRleHQ6J+S4iuS8oCcsY2xl
YW5QYXN0ZToxLGhvdmVyRXhlY0RlbGF5OjEwMCxodG1sNVVwbG9hZDp0cnVlLHVwTXVsdGlw
bGU6OTl9Ow0Kd2luZG93LnhoZWRpdG9yPXhoZWRpdG9yOw0KDQokKGZ1bmN0aW9uKCl7DQoJ
JC5mbi5vbGRWYWw9JC5mbi52YWw7DQoJJC5mbi52YWw9ZnVuY3Rpb24odmFsdWUpDQoJew0K
CQl2YXIgX3RoaXM9dGhpcyxlZGl0b3I7DQoJCWlmKHZhbHVlPT09dW5kZWZpbmVkKWlmKF90
aGlzWzBdJiYoZWRpdG9yPV90aGlzWzBdLnhoZWRpdG9yKSlyZXR1cm4gZWRpdG9yLmdldFNv
dXJjZSgpO2Vsc2UgcmV0dXJuIF90aGlzLm9sZFZhbCgpOy8v6K+7DQoJCXJldHVybiBfdGhp
cy5lYWNoKGZ1bmN0aW9uKCl7aWYoZWRpdG9yPXRoaXMueGhlZGl0b3IpZWRpdG9yLnNldFNv
dXJjZSh2YWx1ZSk7ZWxzZSBfdGhpcy5vbGRWYWwodmFsdWUpO30pOy8v5YaZDQoJfQ0KCSQo
J3RleHRhcmVhJykuZWFjaChmdW5jdGlvbigpew0KCQl2YXIgJHRoaXM9JCh0aGlzKSx4aENs
YXNzPSR0aGlzLmF0dHIoJ2NsYXNzJyk7DQoJCWlmKHhoQ2xhc3MmJih4aENsYXNzPXhoQ2xh
c3MubWF0Y2goLyg/Ol58XHMpeGhlZGl0b3IoPzpcLShtP2Z1bGx8c2ltcGxlfG1pbmkpKT8o
Pzpcc3wkKS9pKSkpJHRoaXMueGhlZGl0b3IoeGhDbGFzc1sxXT97dG9vbHM6eGhDbGFzc1sx
XX06bnVsbCk7DQoJfSk7DQp9KTsNCg0KfSkoalF1ZXJ5KTsNCg0KLyohDQogKiBXWVNJV1lH
IFVCQiBFZGl0b3Igc3VwcG9ydCBmb3IgeGhFZGl0b3INCiAqIEByZXF1aXJlcyB4aEVkaXRv
cg0KICogDQogKiBAYXV0aG9yIFlhbmlzLldhbmc8eWFuaXMud2FuZ0BnbWFpbC5jb20+DQog
KiBAc2l0ZSBodHRwOi8veGhlZGl0b3IuY29tLw0KICogQGxpY2VuY2UgTEdQTChodHRwOi8v
d3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2xncGwtbGljZW5zZS5waHApDQogKiANCiAq
IEBWZXJzaW9uOiAwLjkuMTIgKGJ1aWxkIDEyMDIyOCkNCiAqLw0KZnVuY3Rpb24gdWJiMmh0
bWwoc1VCQikNCnsNCgl2YXIgaSxzSHRtbD1TdHJpbmcoc1VCQiksYXJyY29kZT1uZXcgQXJy
YXkoKSxjbnVtPTA7DQoJdmFyIGFyckZvbnRzaXplPVsnMTBweCcsJzEzcHgnLCcxNnB4Jywn
MThweCcsJzI0cHgnLCczMnB4JywnNDhweCddOw0KDQoJc0h0bWw9c0h0bWwucmVwbGFjZSgv
Wzw+JiJdL2csZnVuY3Rpb24oYyl7cmV0dXJuIHsnPCc6JyZsdDsnLCc+JzonJmd0OycsJyYn
OicmYW1wOycsJyInOicmcXVvdDsnfVtjXTt9KTsNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9c
cj9cbi9nLCI8YnIgLz4iKTsNCgkNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9cW2NvZGVccyoo
Pzo9XHMqKFteXF1dKz8pKT9cXShbXHNcU10qPylcW1wvY29kZVxdL2lnLGZ1bmN0aW9uKGFs
bCx0LGMpey8vY29kZeeJueauiuWkhOeQhg0KCQljbnVtKys7YXJyY29kZVtjbnVtXT1hbGw7
DQoJCXJldHVybiAiW1x0dWJiY29kZXBsYWNlXyIrY251bSsiXHRdIjsNCgl9KTsNCg0KCXNI
dG1sPXNIdG1sLnJlcGxhY2UoL1xbKFwvPykoYnx1fGl8c3xzdXB8c3ViKVxdL2lnLCc8JDEk
Mj4nKTsNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9cW0ZPTlQtQ09MT1Jccyo9XHMqKFteXF0i
XSs/KSg/OiJbXlxdXSo/KT9ccypcXS9pZywnPGZvbnQgY29sb3I9IiQxIj4nKTsNCglzSHRt
bD1zSHRtbC5yZXBsYWNlKC9cW2ZvbnQtZmFjZVxzKj1ccyooW15cXSJdKz8pKD86IlteXF1d
Kj8pP1xzKlxdL2lnLCc8Zm9udCBmYWNlPSIkMSI+Jyk7DQoJc0h0bWw9c0h0bWwucmVwbGFj
ZSgvXFtcLyhjb2xvcnxmb250KVxdL2lnLCc8L2ZvbnQ+Jyk7DQoJc0h0bWw9c0h0bWwucmVw
bGFjZSgvXFtmb250LXNpemVccyo9XHMqKFteXF0iXSs/KSg/OiJbXlxdXSo/KT9ccypcXS9p
ZyxmdW5jdGlvbihhbGwsc2l6ZSl7DQoJCWlmKHNpemUubWF0Y2goL15cZCskLykpc2l6ZT1h
cnJGb250c2l6ZVtzaXplLTFdOw0KCQlyZXR1cm4gJzxzcGFuIHN0eWxlPSJmb250LXNpemU6
JytzaXplKyc7Ij4nOw0KCX0pOw0KCXNIdG1sPXNIdG1sLnJlcGxhY2UoL1xbZm9udC1iYWNr
XHMqPVxzKihbXlxdIl0rPykoPzoiW15cXV0qPyk/XHMqXF0vaWcsJzxzcGFuIHN0eWxlPSJi
YWNrZ3JvdW5kLWNvbG9yOiQxOyI+Jyk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFtcLyhz
aXplfGJhY2spXF0vaWcsJzwvc3Bhbj4nKTsNCglmb3IoaT0wO2k8MztpKyspc0h0bWw9c0h0
bWwucmVwbGFjZSgvXFthbGlnblxzKj1ccyooW15cXSJdKz8pKD86IlteXF1dKj8pP1xzKlxd
KCgoPyFcW2FsaWduKD86XHMrW15cXV0rKT9cXSlbXHNcU10pKj8pXFtcL2FsaWduXF0vaWcs
JzxwIGFsaWduPSIkMSI+JDI8L3A+Jyk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFtpbWdc
XVxzKigoKD8hIilbXHNcU10pKz8pKD86Iltcc1xTXSo/KT9ccypcW1wvaW1nXF0vaWcsJzxp
bWcgc3JjPSIkMSIgYWx0PSIiIC8+Jyk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFtpbWdc
cyo9KFteLFxdXSopKD86XHMqLFxzKihcZColPylccyosXHMqKFxkKiU/KVxzKik/KD86LD9c
cyooXHcrKSk/XHMqXF1ccyooKCg/ISIpW1xzXFNdKSs/KSg/OiJbXHNcU10qKT9ccypcW1wv
aW1nXF0vaWcsZnVuY3Rpb24oYWxsLGFsdCxwMSxwMixwMyxzcmMpew0KCQl2YXIgc3RyPSc8
aW1nIHNyYz0iJytzcmMrJyIgYWx0PSInK2FsdCsnIicsYT1wMz9wMzooIWlzTnVtKHAxKT9w
MTonJyk7DQoJCWlmKGlzTnVtKHAxKSlzdHIrPScgd2lkdGg9IicrcDErJyInOw0KCQlpZihp
c051bShwMikpc3RyKz0nIGhlaWdodD0iJytwMisnIicNCgkJaWYoYSlzdHIrPScgYWxpZ249
IicrYSsnIic7DQoJCXN0cis9JyAvPic7DQoJCXJldHVybiBzdHI7DQoJfSk7DQoJc0h0bWw9
c0h0bWwucmVwbGFjZSgvXFtmXF1ccyooW15cXSJdKz8pKD86IlteXF1dKj8pP1xzKlwvXFtc
L2ZcXF0vaWcsJzxpbWcgZW1vdD0iJDEiIC8+Jyk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgv
XFt1cmxcXVxzKigoKD8hIilbXHNcU10pKj8pKD86Iltcc1xTXSo/KT9ccypcW1wvdXJsXF0v
aWcsJzxhIGhyZWY9IiQxIj4kMTwvYT4nKTsNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9cW3Vy
bFxzKj1ccyooW15cXSJdKz8pKD86IlteXF1dKj8pP1xzKlxdXHMqKFtcc1xTXSo/KVxzKlxb
XC91cmxcXS9pZywnPGEgaHJlZj0iJDEiPiQyPC9hPicpOw0KCXNIdG1sPXNIdG1sLnJlcGxh
Y2UoL1xbZW1haWxcXVxzKigoKD8hIilbXHNcU10pKz8pKD86Iltcc1xTXSo/KT9ccypcW1wv
ZW1haWxcXS9pZywnPGEgaHJlZj0ibWFpbHRvOiQxIj4kMTwvYT4nKTsNCglzSHRtbD1zSHRt
bC5yZXBsYWNlKC9cW2VtYWlsXHMqPVxzKihbXlxdIl0rPykoPzoiW15cXV0qPyk/XHMqXF1c
cyooW1xzXFNdKz8pXHMqXFtcL2VtYWlsXF0vaWcsJzxhIGhyZWY9Im1haWx0bzokMSI+JDI8
L2E+Jyk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFtxdW90ZVxdL2lnLCc8YmxvY2txdW90
ZT4nKTsNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC9cW1wvcXVvdGVcXS9pZywnPC9ibG9ja3F1
b3RlPicpOw0KCXNIdG1sPXNIdG1sLnJlcGxhY2UoL1xbZmxhc2hccyooPzo9XHMqKFxkKylc
cyosXHMqKFxkKylccyopP1xdXHMqKCgoPyEiKVtcc1xTXSkrPykoPzoiW1xzXFNdKj8pP1xz
KlxbXC9mbGFzaFxdL2lnLGZ1bmN0aW9uKGFsbCx3LGgsdXJsKXsNCgkJaWYoIXcpdz00ODA7
aWYoIWgpaD00MDA7DQoJCXJldHVybiAnPGVtYmVkIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hv
Y2t3YXZlLWZsYXNoIiBzcmM9IicrdXJsKyciIHdtb2RlPSJvcGFxdWUiIHF1YWxpdHk9Imhp
Z2giIGJnY29sb3I9IiNmZmZmZmYiIG1lbnU9ImZhbHNlIiBwbGF5PSJ0cnVlIiBsb29wPSJ0
cnVlIiB3aWR0aD0iJyt3KyciIGhlaWdodD0iJytoKyciLz4nOw0KCX0pOw0KCXNIdG1sPXNI
dG1sLnJlcGxhY2UoL1xbbWVkaWFccyooPzo9XHMqKFxkKylccyosXHMqKFxkKylccyooPzos
XHMqKFxkKylccyopPyk/XF1ccyooKCg/ISIpW1xzXFNdKSs/KSg/OiJbXHNcU10qPyk/XHMq
XFtcL21lZGlhXF0vaWcsZnVuY3Rpb24oYWxsLHcsaCxwbGF5LHVybCl7DQoJCWlmKCF3KXc9
NDgwO2lmKCFoKWg9NDAwOw0KCQlyZXR1cm4gJzxlbWJlZCB0eXBlPSJhcHBsaWNhdGlvbi94
LW1wbGF5ZXIyIiBzcmM9IicrdXJsKyciIGVuYWJsZWNvbnRleHRtZW51PSJmYWxzZSIgYXV0
b3N0YXJ0PSInKyhwbGF5PT0nMSc/J3RydWUnOidmYWxzZScpKyciIHdpZHRoPSInK3crJyIg
aGVpZ2h0PSInK2grJyIvPic7DQoJfSk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFt0YWJs
ZVxzKig/Oj1ccyooXGR7MSw0fSU/KVxzKig/OixccyooW15cXSJdKykoPzoiW15cXV0qPyk/
KT8pP1xzKlxdL2lnLGZ1bmN0aW9uKGFsbCx3LGIpew0KCQl2YXIgc3RyPSc8dGFibGUnOw0K
CQlpZih3KXN0cis9JyB3aWR0aD0iJyt3KyciJzsNCgkJaWYoYilzdHIrPScgYmdjb2xvcj0i
JytiKyciJzsNCgkJcmV0dXJuIHN0cisnPic7DQoJfSk7DQoJc0h0bWw9c0h0bWwucmVwbGFj
ZSgvXFt0clxzKig/Oj1ccyooW15cXSJdKz8pKD86IlteXF1dKj8pPyk/XHMqXF0vaWcsZnVu
Y3Rpb24oYWxsLGJnKXsNCgkJcmV0dXJuICc8dHInKyhiZz8nIGJnY29sb3I9IicrYmcrJyIn
OicnKSsnPic7DQoJfSk7DQoJc0h0bWw9c0h0bWwucmVwbGFjZSgvXFt0ZFxzKig/Oj1ccyoo
XGR7MSwyfSlccyosXHMqKFxkezEsMn0pXHMqKD86LFxzKihcZHsxLDR9JT8pKT8pP1xzKlxd
L2lnLGZ1bmN0aW9uKGFsbCxjb2wscm93LHcpew0KCQlyZXR1cm4gJzx0ZCcrKGNvbD4xPycg
Y29sc3Bhbj0iJytjb2wrJyInOicnKSsocm93PjE/JyByb3dzcGFuPSInK3JvdysnIic6Jycp
Kyh3Pycgd2lkdGg9IicrdysnIic6JycpKyc+JzsNCgl9KTsNCglzSHRtbD1zSHRtbC5yZXBs
YWNlKC9cW1wvKHRhYmxlfHRyfHRkKVxdL2lnLCc8LyQxPicpOw0KCQ0KCXNIdG1sPXNIdG1s
LnJlcGxhY2UoL1xbXCpcXSgoPzooPyFcW1wqXF18XFtcL2xpc3RcXXxcW2xpc3RccyooPzo9
W15cXV0rKT9cXSlbXHNcU10pKykvaWcsJzxsaT4kMTwvbGk+Jyk7DQoJc0h0bWw9c0h0bWwu
cmVwbGFjZSgvXFtsaXN0XHMqKD86PVxzKihbXlxdIl0rPykoPzoiW15cXV0qPyk/KT9ccypc
XS9pZyxmdW5jdGlvbihhbGwsdHlwZSl7DQoJCXZhciBzdHI9Jzx1bCc7DQoJCWlmKHR5cGUp
c3RyKz0nIHR5cGU9IicrdHlwZSsnIic7DQoJCXJldHVybiBzdHIrJz4nOw0KCX0pOw0KCXNI
dG1sPXNIdG1sLnJlcGxhY2UoL1xbXC9saXN0XF0vaWcsJzwvdWw+Jyk7DQoJc0h0bWw9c0h0
bWwucmVwbGFjZSgvXFtoclwvXF0vaWcsJzxociAvPicpOw0KCQ0KCWZvcihpPTE7aTw9Y251
bTtpKyspc0h0bWw9c0h0bWwucmVwbGFjZSgiW1x0dWJiY29kZXBsYWNlXyIraSsiXHRdIiwg
YXJyY29kZVtpXSk7DQoNCglzSHRtbD1zSHRtbC5yZXBsYWNlKC8oXnw8XC8/XHcrKD86XHMr
W14+XSo/KT8+KShbXjwkXSspL2lnLCBmdW5jdGlvbihhbGwsdGFnLHRleHQpew0KCQlyZXR1
cm4gdGFnK3RleHQucmVwbGFjZSgvW1x0IF0vZyxmdW5jdGlvbihjKXtyZXR1cm4geydcdCc6
JyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOycsJyAn
OicmbmJzcDsnfVtjXTt9KTsNCgl9KTsNCglmdW5jdGlvbiBpc051bShzKXtpZihzIT1udWxs
JiZzIT0nJylyZXR1cm4gIWlzTmFOKHMpO2Vsc2UgcmV0dXJuIGZhbHNlO30NCgkNCglyZXR1
cm4gc0h0bWw7DQp9DQoNCmZ1bmN0aW9uIGh0bWwydWJiKHNIdG1sKQ0Kew0KCXZhciByZWdT
cmM9L1xzK3NyY1xzKj1ccyooWyInXT8pXHMqKC4rPylccypcMShcc3wkKS9pLHJlZ1dpZHRo
PS9ccyt3aWR0aFxzKj1ccyooWyInXT8pXHMqKFxkKyg/OlwuXGQrKT8lPylccypcMShcc3wk
KS9pLHJlZ0hlaWdodD0vXHMraGVpZ2h0XHMqPVxzKihbIiddPylccyooXGQrKD86XC5cZCsp
PyU/KVxzKlwxKFxzfCQpL2kscmVnQmc9Lyg/OmJhY2tncm91bmR8YmFja2dyb3VuZC1jb2xv
cnxiZ2NvbG9yKVxzKls6PV1ccyooWyInXT8pXHMqKChyZ2JccypcKFxzKlxkezEsM30lPyxc
cypcZHsxLDN9JT9ccyosXHMqXGR7MSwzfSU/XHMqXCkpfCgjWzAtOWEtZl17Myw2fSl8KFth
LXpdezEsMjB9KSlccypcMS9pDQoJdmFyIGksc1VCQj1TdHJpbmcoc0h0bWwpLGFycmNvZGU9
bmV3IEFycmF5KCksY251bT0wOw0KDQoJc1VCQj1zVUJCLnJlcGxhY2UoL1xzKlxyP1xuXHMq
L2csJycpOw0KCQ0KCXNVQkIgPSBzVUJCLnJlcGxhY2UoLzwoc2NyaXB0fHN0eWxlKShccytb
Xj5dKj8pPz5bXHNcU10qPzxcL1wxPi9pZywgJycpOw0KCXNVQkIgPSBzVUJCLnJlcGxhY2Uo
LzwhLS1bXHNcU10qPy0tPi9pZywnJyk7DQoNCglzVUJCPXNVQkIucmVwbGFjZSgvPGJyKFxz
K1tePl0qKT9cLz8+L2lnLCJcclxuIik7DQoJDQoJc1VCQj1zVUJCLnJlcGxhY2UoL1xbY29k
ZVxzKig9XHMqKFteXF1dKz8pKT9cXShbXHNcU10qPylcW1wvY29kZVxdL2lnLGZ1bmN0aW9u
KGFsbCx0LGMpey8vY29kZeeJueauiuWkhOeQhg0KCQljbnVtKys7YXJyY29kZVtjbnVtXT1h
bGw7DQoJCXJldHVybiAiW1x0dWJiY29kZXBsYWNlXyIrY251bSsiXHRdIjsNCgl9KTsNCgkN
CglzVUJCPXNVQkIucmVwbGFjZSgvPChcLz8pKGJ8dXxpfHMpKFxzK1tePl0qPyk/Pi9pZywn
WyQxJDJdJyk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzwoXC8/KXN0cm9uZyhccytbXj5dKj8p
Pz4vaWcsJ1skMWJdJyk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzwoXC8/KWVtKFxzK1tePl0q
Pyk/Pi9pZywnWyQxaV0nKTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPChcLz8pKHN0cmlrZXxk
ZWwpKFxzK1tePl0qPyk/Pi9pZywnWyQxc10nKTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPChc
Lz8pKHN1cHxzdWIpKFxzK1tePl0qPyk/Pi9pZywnWyQxJDJdJyk7DQoNCgkvL2ZvbnTovax1
YmINCglmdW5jdGlvbiBmb250MnViYihhbGwsdGFnLGF0dHJzLGNvbnRlbnQpDQoJew0KCQlp
ZighYXR0cnMpcmV0dXJuIGNvbnRlbnQ7DQoJCXZhciBhcnJTdGFydD1bXSxhcnJFbmQ9W107
DQoJCXZhciBtYXRjaDsNCgkJbWF0Y2g9YXR0cnMubWF0Y2goLyBmYWNlXHMqPVxzKiJccyoo
W14iXSspXHMqIi9pKTsNCgkJaWYobWF0Y2gpew0KCQkJYXJyU3RhcnQucHVzaCgnW2ZvbnQt
ZmFjZT0nK21hdGNoWzFdKyddJyk7DQoJCQlhcnJFbmQucHVzaCgnWy9mb250LWZhY2VdJyk7
DQoJCX0NCgkJbWF0Y2g9YXR0cnMubWF0Y2goLyBzaXplXHMqPVxzKiJccyooXGQrKVxzKiIv
aSk7DQoJCWlmKG1hdGNoKXsNCgkJCWFyclN0YXJ0LnB1c2goJ1tmb250LXNpemU9JyttYXRj
aFsxXSsnXScpOw0KCQkJYXJyRW5kLnB1c2goJ1svZm9udC1zaXplXScpOw0KCQl9DQoJCW1h
dGNoPWF0dHJzLm1hdGNoKC8gY29sb3Jccyo9XHMqIlxzKihbXiJdKylccyoiL2kpOw0KCQlp
ZihtYXRjaCl7DQoJCQlhcnJTdGFydC5wdXNoKCdbRk9OVC1DT0xPUj0nK2Zvcm1hdENvbG9y
KG1hdGNoWzFdKSsnXScpOw0KCQkJYXJyRW5kLnB1c2goJ1svRk9OVC1DT0xPUl0nKTsNCgkJ
fQ0KCQlyZXR1cm4gYXJyU3RhcnQuam9pbignJykrY29udGVudCthcnJFbmQuam9pbignJyk7
DQoJfQ0KCXNVQkIgPSBzVUJCLnJlcGxhY2UoLzwoZm9udCkoXHMrW14+XSo/KT8+KCgoPyE8
XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5d
Kj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/PilbXHNc
U10pKj88XC9cMT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLGZvbnQydWJiKTsvL+esrDPlsYIN
CglzVUJCID0gc1VCQi5yZXBsYWNlKC88KGZvbnQpKFxzK1tePl0qPyk/PigoKD8hPFwxKFxz
K1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+
KVtcc1xTXSkqPzxcL1wxPikqPyk8XC9cMT4vaWcsZm9udDJ1YmIpOy8v56ysMuWxgg0KCXNV
QkIgPSBzVUJCLnJlcGxhY2UoLzwoZm9udCkoXHMrW14+XSo/KT8+KCgoPyE8XDEoXHMrW14+
XSo/KT8+KVtcc1xTXSkqPyk8XC9cMT4vaWcsZm9udDJ1YmIpOy8v5pyA6YeM5bGCDQoNCglm
b3IoaT0wO2k8MztpKyspc1VCQj1zVUJCLnJlcGxhY2UoLzwoc3BhbikoPzpccytbXj5dKj8p
P1xzK3N0eWxlXHMqPVxzKiIoKD86W14iXSo/OykqXHMqKD86Zm9udC1mYW1pbHl8Zm9udC1z
aXplfGNvbG9yfGJhY2tncm91bmR8YmFja2dyb3VuZC1jb2xvcilccyo6W14iXSopIig/OiBb
Xj5dKyk/PigoKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU118PFwxKFxzK1tePl0qPyk/Pigo
PyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytb
Xj5dKj8pPz4pW1xzXFNdKSo/PFwvXDE+KSo/PFwvXDE+KSo/KTxcL1wxPi9pZyxmdW5jdGlv
bihhbGwsdGFnLHN0eWxlLGNvbnRlbnQpew0KCQl2YXIgZmFjZT1zdHlsZS5tYXRjaCgvKD86
Xnw7KVxzKmZvbnQtZmFtaWx5XHMqOlxzKihbXjtdKykvaSksc2l6ZT1zdHlsZS5tYXRjaCgv
KD86Xnw7KVxzKmZvbnQtc2l6ZVxzKjpccyooW147XSspL2kpLGNvbG9yPXN0eWxlLm1hdGNo
KC8oPzpefDspXHMqY29sb3Jccyo6XHMqKFteO10rKS9pKSxiYWNrPXN0eWxlLm1hdGNoKC8o
PzpefDspXHMqKD86YmFja2dyb3VuZHxiYWNrZ3JvdW5kLWNvbG9yKVxzKjpccyooW147XSsp
L2kpLHN0cj1jb250ZW50Ow0KCQl2YXIgYXJyU3RhcnQ9W10sYXJyRW5kPVtdOw0KCQlpZihm
YWNlKXsNCgkJCWFyclN0YXJ0LnB1c2goJ1tmb250LWZhY2U9JytmYWNlWzFdKyddJyk7DQoJ
CQlhcnJFbmQucHVzaCgnWy9mb250LWZhY2VdJyk7DQoJCX0NCgkJaWYoc2l6ZSl7DQoJCQlh
cnJTdGFydC5wdXNoKCdbZm9udC1zaXplPScrc2l6ZVsxXSsnXScpOw0KCQkJYXJyRW5kLnB1
c2goJ1svZm9udC1zaXplXScpOw0KCQl9DQoJCWlmKGNvbG9yKXsNCgkJCWFyclN0YXJ0LnB1
c2goJ1tGT05ULUNPTE9SPScrZm9ybWF0Q29sb3IoY29sb3JbMV0pKyddJyk7DQoJCQlhcnJF
bmQucHVzaCgnWy9GT05ULUNPTE9SXScpOw0KCQl9DQoJCWlmKGJhY2spew0KCQkJYXJyU3Rh
cnQucHVzaCgnW2ZvbnQtYmFjaz0nK2Zvcm1hdENvbG9yKGJhY2tbMV0pKyddJyk7DQoJCQlh
cnJFbmQucHVzaCgnWy9mb250LWJhY2tdJyk7DQoJCX0NCgkJcmV0dXJuIGFyclN0YXJ0Lmpv
aW4oJycpK3N0cithcnJFbmQuam9pbignJyk7DQoJfSk7DQoJZnVuY3Rpb24gZm9ybWF0Q29s
b3IoYykNCgl7DQoJCXZhciBtYXRjaHM7DQoJCWlmKG1hdGNocz1jLm1hdGNoKC9ccypyZ2Jc
cypcKFxzKihcZCspXHMqLFxzKihcZCspXHMqLFxzKihcZCspXHMqXCkvaSkpe2M9KG1hdGNo
c1sxXSo2NTUzNittYXRjaHNbMl0qMjU2K21hdGNoc1szXSoxKS50b1N0cmluZygxNik7d2hp
bGUoYy5sZW5ndGg8NiljPScwJytjO2M9JyMnK2M7fQ0KCQljPWMucmVwbGFjZSgvXiMoWzAt
OWEtZl0pKFswLTlhLWZdKShbMC05YS1mXSkkL2ksJyMkMSQxJDIkMiQzJDMnKTsNCgkJcmV0
dXJuIGM7DQoJfQ0KCWZvcihpPTA7aTwzO2krKylzVUJCPXNVQkIucmVwbGFjZSgvPChkaXZ8
cCkoPzpccytbXj5dKj8pP1tccyInO11ccyooPzp0ZXh0LSk/YWxpZ25ccypbPTpdXHMqKFsi
J10/KVxzKihsZWZ0fGNlbnRlcnxyaWdodClccypcMltePl0qPigoKD8hPFwxKFxzK1tePl0q
Pyk/PilbXHNcU10pKz8pPFwvXDE+L2lnLCdbYWxpZ249JDNdJDRbL2FsaWduXScpOw0KCWZv
cihpPTA7aTwzO2krKylzVUJCPXNVQkIucmVwbGFjZSgvPChjZW50ZXIpKD86XHMrW14+XSo/
KT8+KCgoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPyk8XC9cMT4vaWcsJ1thbGlnbj1j
ZW50ZXJdJDJbL2FsaWduXScpOw0KCWZvcihpPTA7aTwzO2krKylzVUJCPXNVQkIucmVwbGFj
ZSgvPChwfGRpdikoPzpccytbXj5dKj8pP1xzK3N0eWxlXHMqPVxzKiIoPzpbXjsiXSo7KSpc
cyp0ZXh0LWFsaWduXHMqOihbXjsiXSopW14iXSoiKD86IFtePl0rKT8+KCgoPyE8XDEoXHMr
W14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytbXj5dKj8pPz4p
W1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/PilbXHNcU10pKj88
XC9cMT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLGZ1bmN0aW9uKGFsbCx0YWcsYWxpZ24sY29u
dGVudCl7DQoJCXJldHVybiAnW2FsaWduPScrYWxpZ24rJ10nK2NvbnRlbnQrJ1svYWxpZ25d
JzsNCgl9KTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPGEoPzpccytbXj5dKj8pP1xzK2hyZWY9
KFsiJ10pXHMqKC4rPylccypcMVtePl0qPlxzKihbXHNcU10qPylccyo8XC9hPi9pZyxmdW5j
dGlvbihhbGwscSx1cmwsdGV4dCl7DQoJCWlmKCEodXJsJiZ0ZXh0KSlyZXR1cm4gJyc7DQoJ
CXZhciB0YWc9J3VybCcsc3RyOw0KCQlpZih1cmwubWF0Y2goL15tYWlsdG86L2kpKQ0KCQl7
DQoJCQl0YWc9J2VtYWlsJzsNCgkJCXVybD11cmwucmVwbGFjZSgvbWFpbHRvOiguKz8pL2ks
JyQxJyk7DQoJCX0NCgkJc3RyPSdbJyt0YWc7DQoJCWlmKHVybCE9dGV4dClzdHIrPSc9Jyt1
cmw7DQoJCXJldHVybiBzdHIrJ10nK3RleHQrJ1svJyt0YWcrJ10nOw0KCX0pOw0KCXNVQkI9
c1VCQi5yZXBsYWNlKC88aW1nKFxzK1tePl0qPylcLz8+L2lnLGZ1bmN0aW9uKGFsbCxhdHRy
KXsNCgkJdmFyIGVtb3Q9YXR0ci5tYXRjaCgvXHMrZW1vdFxzKj1ccyooWyInXT8pXHMqKC4r
PylccypcMShcc3wkKS9pKTsNCgkJaWYoZW1vdClyZXR1cm4gJ1tmXScrZW1vdFsyXSsnWy9m
XSc7DQoJCXZhciB1cmw9YXR0ci5tYXRjaChyZWdTcmMpLGFsdD1hdHRyLm1hdGNoKC9ccyth
bHRccyo9XHMqKFsiJ10/KVxzKiguKj8pXHMqXDEoXHN8JCkvaSksdz1hdHRyLm1hdGNoKHJl
Z1dpZHRoKSxoPWF0dHIubWF0Y2gocmVnSGVpZ2h0KSxhbGlnbj1hdHRyLm1hdGNoKC9ccyth
bGlnblxzKj1ccyooWyInXT8pXHMqKFx3KylccypcMShcc3wkKS9pKSxzdHI9J1tpbWcnLHA9
Jyc7DQoJCWlmKCF1cmwpcmV0dXJuICcnOw0KCQlwKz1hbHRbMl07DQoJCWlmKHd8fGgpcCs9
JywnKyh3P3dbMl06JycpKycsJysoaD9oWzJdOicnKTsNCgkJaWYoYWxpZ24pcCs9JywnK2Fs
aWduWzJdOw0KCQlpZihwKXN0cis9Jz0nK3A7DQoJCXN0cis9J10nK3VybFsyXSsnWy9pbWdd
JzsNCgkJcmV0dXJuIHN0cjsNCgl9KTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPGJsb2NrcXVv
dGUoPzpccytbXj5dKj8pPz4vaWcsJ1txdW90ZV0nKTsNCglzVUJCPXNVQkIucmVwbGFjZSgv
PFwvYmxvY2txdW90ZT4vaWcsJ1svcXVvdGVdJyk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzxl
bWJlZCgoPzpccytbXj5dKj8pPyg/OlxzK3R5cGVccyo9XHMqIlxzKmFwcGxpY2F0aW9uXC94
LXNob2Nrd2F2ZS1mbGFzaFxzKiJ8XHMrY2xhc3NpZFxzKj1ccyoiXHMqY2xzaWQ6ZDI3Y2Ri
NmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUzNTQwMDAwMFxzKiIpW14+XSo/KVwvPz4vaWcsZnVu
Y3Rpb24oYWxsLGF0dHIpew0KCQl2YXIgdXJsPWF0dHIubWF0Y2gocmVnU3JjKSx3PWF0dHIu
bWF0Y2gocmVnV2lkdGgpLGg9YXR0ci5tYXRjaChyZWdIZWlnaHQpLHN0cj0nW2ZsYXNoJzsN
CgkJaWYoIXVybClyZXR1cm4gJyc7DQoJCWlmKHcmJmgpc3RyKz0nPScrd1syXSsnLCcraFsy
XTsNCgkJc3RyKz0nXScrdXJsWzJdOw0KCQlyZXR1cm4gc3RyKydbL2ZsYXNoXSc7DQoJfSk7
DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzxlbWJlZCgoPzpccytbXj5dKj8pPyg/OlxzK3R5cGVc
cyo9XHMqIlxzKmFwcGxpY2F0aW9uXC94LW1wbGF5ZXIyXHMqInxccytjbGFzc2lkXHMqPVxz
KiJccypjbHNpZDo2YmY1MmE1Mi0zOTRhLTExZDMtYjE1My0wMGMwNGY3OWZhYTZccyoiKVte
Pl0qPylcLz8+L2lnLGZ1bmN0aW9uKGFsbCxhdHRyKXsNCgkJdmFyIHVybD1hdHRyLm1hdGNo
KHJlZ1NyYyksdz1hdHRyLm1hdGNoKHJlZ1dpZHRoKSxoPWF0dHIubWF0Y2gocmVnSGVpZ2h0
KSxwPWF0dHIubWF0Y2goL1xzK2F1dG9zdGFydFxzKj1ccyooWyInXT8pXHMqKC4rPylccypc
MShcc3wkKS9pKSxzdHI9J1ttZWRpYScsYXV0bz0nMCc7DQoJCWlmKCF1cmwpcmV0dXJuICcn
Ow0KCQlpZihwKWlmKHBbMl09PSd0cnVlJylhdXRvPScxJzsNCgkJaWYodyYmaClzdHIrPSc9
Jyt3WzJdKycsJytoWzJdKycsJythdXRvOw0KCQlzdHIrPSddJyt1cmxbMl07DQoJCXJldHVy
biBzdHIrJ1svbWVkaWFdJzsNCgl9KTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPHRhYmxlKFxz
K1tePl0qPyk/Pi9pZyxmdW5jdGlvbihhbGwsYXR0cil7DQoJCXZhciBzdHI9J1t0YWJsZSc7
DQoJCWlmKGF0dHIpDQoJCXsNCgkJCXZhciB3PWF0dHIubWF0Y2gocmVnV2lkdGgpLGI9YXR0
ci5tYXRjaChyZWdCZyk7DQoJCQlpZih3KQ0KCQkJew0KCQkJCXN0cis9Jz0nK3dbMl07DQoJ
CQkJaWYoYilzdHIrPScsJytiWzJdOw0KCQkJfQ0KCQl9DQoJCXJldHVybiBzdHIrJ10nOw0K
CX0pOw0KCXNVQkI9c1VCQi5yZXBsYWNlKC88dHIoXHMrW14+XSo/KT8+L2lnLGZ1bmN0aW9u
KGFsbCxhdHRyKXsNCgkJdmFyIHN0cj0nW3RyJzsNCgkJaWYoYXR0cikNCgkJew0KCQkJdmFy
IGJnPWF0dHIubWF0Y2gocmVnQmcpDQoJCQlpZihiZylzdHIrPSc9JytiZ1syXTsNCgkJfQ0K
CQlyZXR1cm4gc3RyKyddJzsNCgl9KTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPCg/OnRofHRk
KShccytbXj5dKj8pPz4vaWcsZnVuY3Rpb24oYWxsLGF0dHIpew0KCQl2YXIgc3RyPSdbdGQn
Ow0KCQlpZihhdHRyKQ0KCQl7DQoJCQl2YXIgY29sPWF0dHIubWF0Y2goL1xzK2NvbHNwYW5c
cyo9XHMqKFsiJ10/KVxzKihcZCspXHMqXDEoXHN8JCkvaSkscm93PWF0dHIubWF0Y2goL1xz
K3Jvd3NwYW5ccyo9XHMqKFsiJ10/KVxzKihcZCspXHMqXDEoXHN8JCkvaSksdz1hdHRyLm1h
dGNoKHJlZ1dpZHRoKTsNCgkJCWNvbD1jb2w/Y29sWzJdOjE7DQoJCQlyb3c9cm93P3Jvd1sy
XToxOw0KCQkJaWYoY29sPjF8fHJvdz4xfHx3KXN0cis9Jz0nK2NvbCsnLCcrcm93Ow0KCQkJ
aWYodylzdHIrPScsJyt3WzJdOw0KCQl9DQoJCXJldHVybiBzdHIrJ10nOw0KCX0pOw0KCXNV
QkI9c1VCQi5yZXBsYWNlKC88XC8odGFibGV8dHIpPi9pZywnWy8kMV0nKTsNCglzVUJCPXNV
QkIucmVwbGFjZSgvPFwvKHRofHRkKT4vaWcsJ1svdGRdJyk7DQoJDQoJc1VCQj1zVUJCLnJl
cGxhY2UoLzx1bChccytbXj5dKj8pPz4vaWcsZnVuY3Rpb24oYWxsLGF0dHIpew0KDQoJCXZh
ciB0Ow0KCQlpZihhdHRyKXQ9YXR0ci5tYXRjaCgvXHMrdHlwZVxzKj1ccyooWyInXT8pXHMq
KC4rPylccypcMShcc3wkKS9pKTsNCgkJcmV0dXJuICdbbGlzdCcrKHQ/Jz0nK3RbMl06Jycp
KyddJzsNCgl9KTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPG9sKFxzK1tePl0qPyk/Pi9pZywn
W2xpc3Q9MV0nKTsNCglzVUJCPXNVQkIucmVwbGFjZSgvPGxpKFxzK1tePl0qPyk/Pi9pZywn
WypdJyk7DQoJc1VCQj1zVUJCLnJlcGxhY2UoLzxcL2xpPi9pZywnJyk7DQoJc1VCQj1zVUJC
LnJlcGxhY2UoLzxcLyh1bHxvbCk+L2lnLCdbL2xpc3RdJyk7DQoJc1VCQj1zVUJCLnJlcGxh
Y2UoLzxoKFsxLTZdKShccytbXj5dKj8pPz4vaWcsZnVuY3Rpb24oYWxsLG4pe3JldHVybiAn
XHJcblxyXG5bc2l6ZT0nKyg3LW4pKyddW2JdJ30pOw0KCXNVQkI9c1VCQi5yZXBsYWNlKC88
XC9oWzEtNl0+L2lnLCdbL2JdWy9zaXplXVxyXG5cclxuJyk7DQoJc1VCQj1zVUJCLnJlcGxh
Y2UoLzxhZGRyZXNzKFxzK1tePl0qPyk/Pi9pZywnXHJcbltpXScpOw0KCXNVQkI9c1VCQi5y
ZXBsYWNlKC88XC9hZGRyZXNzPi9pZywnW2ldXHJcbicpOw0KCXNVQkI9c1VCQi5yZXBsYWNl
KC88aHIoXHMrW14+XSo/KT9cLz4vaWcsJ1toci9dJyk7DQoNCglmb3IoaT0wO2k8MztpKysp
c1VCQj1zVUJCLnJlcGxhY2UoLzwocCkoPzpccytbXj5dKj8pPz4oKCg/ITxcMShccytbXj5d
Kj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/PilbXHNc
U118PFwxKFxzK1tePl0qPyk/PigoPyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXSkqPzxcL1wx
PikqPzxcL1wxPikqPyk8XC9cMT4vaWcsIlxyXG5cclxuJDJcclxuXHJcbiIpOw0KCWZvcihp
PTA7aTwzO2krKylzVUJCPXNVQkIucmVwbGFjZSgvPChkaXYpKD86XHMrW14+XSo/KT8+KCgo
PyE8XDEoXHMrW14+XSo/KT8+KVtcc1xTXXw8XDEoXHMrW14+XSo/KT8+KCg/ITxcMShccytb
Xj5dKj8pPz4pW1xzXFNdfDxcMShccytbXj5dKj8pPz4oKD8hPFwxKFxzK1tePl0qPyk/Pilb
XHNcU10pKj88XC9cMT4pKj88XC9cMT4pKj8pPFwvXDE+L2lnLCJcclxuJDJcclxuIik7DQoJ
DQoJc1VCQj1zVUJCLnJlcGxhY2UoLygoXHN8Jm5ic3A7KSpccj9cbil7Myx9L2csIlxyXG5c
clxuIik7Ly/pmZDliLbmnIDlpJoy5qyh5o2i6KGMDQoJc1VCQj1zVUJCLnJlcGxhY2UoL14o
KFxzfCZuYnNwOykqXHI/XG4pKy9nLCcnKTsvL+a4hemZpOW8gOWktOaNouihjA0KCXNVQkI9
c1VCQi5yZXBsYWNlKC8oKFxzfCZuYnNwOykqXHI/XG4pKyQvZywnJyk7Ly/muIXpmaTnu5Pl
sL7mjaLooYwNCgkNCglmb3IoaT0xO2k8PWNudW07aSsrKXNVQkI9c1VCQi5yZXBsYWNlKCJb
XHR1YmJjb2RlcGxhY2VfIitpKyJcdF0iLCBhcnJjb2RlW2ldKTsNCg0KCXNVQkI9c1VCQi5y
ZXBsYWNlKC88W148Pl0rPz4vZywnJyk7Ly/liKDpmaTmiYDmnIlIVE1M5qCH562+DQoJdmFy
IGFyckVudGl0aWVzPXsnbHQnOic8JywnZ3QnOic+JywnbmJzcCc6JyAnLCdhbXAnOicmJywn
cXVvdCc6JyInfTsNCglzVUJCPXNVQkIucmVwbGFjZSgvJihsdHxndHxuYnNwfGFtcHxxdW90
KTsvaWcsZnVuY3Rpb24oYWxsLHQpe3JldHVybiBhcnJFbnRpdGllc1t0XTt9KTsNCgkNCgkv
L+a4hemZpOepuuWGheWuueeahFVCQuagh+etvg0KCS8vc1VCQj1zVUJCLnJlcGxhY2UoL1xb
KFthLXpdKykoPzo9W15cW1xdXSspP1xdXHMqXFtcL1wxXF0vaWcsJycpOw0KCQ0KCXJldHVy
biBzVUJCOw0KfQ==CommentEditor\xheditor_skin\CommentEditor\xheditor_skin\blank.gifR0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==CommentEditor\xheditor_skin\nostyle\CommentEditor\xheditor_skin\nostyle\iframe.cssaHRtbHtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7fQ0KYm9keSx0ZCx0
aHtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtmb250LXNpemU6MTJw
eDt9DQpib2R5e2hlaWdodDoxMDAlOypoZWlnaHQ6OTAlOy1tb3otYm94LXNpemluZzpib3Jk
ZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVy
LWJveDt9DQoNCi54aGUtYm9yZGVye2JvcmRlcjoxcHggZG90dGVkICNkM2QzZDM7fQ0KLnho
ZS1ib3JkZXIgdGgsLnhoZS1ib3JkZXIgdGR7Ym9yZGVyOjFweCBkb3R0ZWQgI2QzZDNkMzt9
DQoNCi5lZGl0TW9kZXttYXJnaW46MHB4O3BhZGRpbmc6NXB4O292ZXJmbG93LXk6YXV0bzt3
b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmQ7fQ0KLmVkaXRNb2Rl
IGltZzotbW96LWJyb2tlbiB7LW1vei1mb3JjZS1icm9rZW4taW1hZ2UtaWNvbjoxO2hlaWdo
dDoyNHB4O3dpZHRoOjI0cHg7fQ0KLmVkaXRNb2RlIGVtYmVke2Rpc3BsYXk6aW5saW5lLWJs
b2NrO2JvcmRlcjoxcHggZGFzaGVkICNGRjRFNEU7fQ0KLmVkaXRNb2RlIGVtYmVkW3R5cGU9
ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIl17YmFja2dyb3VuZDp1cmwoaW1nL2Zs
YXNoLmdpZikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7fQ0KLmVkaXRNb2RlIGVtYmVkW3R5
cGU9ImFwcGxpY2F0aW9uL3gtbXBsYXllcjIiXXtiYWNrZ3JvdW5kOnVybChpbWcvd21wLmdp
ZikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7fQ0KLmVkaXRNb2RlIC54aGUtcGFzdGV7cG9z
aXRpb246YWJzb2x1dGU7bGVmdDotMTAwMHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxcHg7
aGVpZ2h0OjFweDt9DQouZWRpdE1vZGUgLnhoZS1hbmNob3J7ZGlzcGxheTppbmxpbmUtYmxv
Y2s7YmFja2dyb3VuZDogdXJsKGltZy9hbmNob3IuZ2lmKSBuby1yZXBlYXQ7Ym9yZGVyOiAx
cHggZG90dGVkICMwMDAwRkY7d2lkdGg6MTZweDtoZWlnaHQ6MTVweDtvdmVyZmxvdzpoaWRk
ZW47fQ0KDQouc291cmNlTW9kZXttYXJnaW46MHB4O3BhZGRpbmc6MHB4O292ZXJmbG93Omhp
ZGRlbjtoZWlnaHQ6MTAwJTt9DQouc291cmNlTW9kZSB0ZXh0YXJlYXsqcG9zaXRpb246YWJz
b2x1dGU7Ym9yZGVyOjBweDttYXJnaW46MHB4O3BhZGRpbmc6MHB4O3dpZHRoOjEwMCU7aGVp
Z2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvO2ZvbnQtZmFtaWx5OidDb3VyaWVyIE5ldycsQ291
cmllcixtb25vc3BhY2UgIWltcG9ydGFudDtmb250LXNpemU6MTBwdDtvdXRsaW5lOjA7fQ0K
DQoucHJldmlld01vZGV7bWFyZ2luOjVweDtwYWRkaW5nOjBweDt9DQoNCi5zaG93QmxvY2t0
YWcgcCwuc2hvd0Jsb2NrdGFnIGgxLC5zaG93QmxvY2t0YWcgaDIsLnNob3dCbG9ja3RhZyBo
Mywuc2hvd0Jsb2NrdGFnIGg0LC5zaG93QmxvY2t0YWcgaDUsLnNob3dCbG9ja3RhZyBoNiwu
c2hvd0Jsb2NrdGFnIHByZSwuc2hvd0Jsb2NrdGFnIGFkZHJlc3MsLnNob3dCbG9ja3RhZyBk
aXZ7YmFja2dyb3VuZDpub25lIG5vLXJlcGVhdCBzY3JvbGwgcmlnaHQgdG9wO2JvcmRlcjox
cHggZG90dGVkIGdyYXk7fQ0KLnNob3dCbG9ja3RhZyBwe2JhY2tncm91bmQtaW1hZ2U6dXJs
KGltZy90YWctcC5naWYpO30NCi5zaG93QmxvY2t0YWcgaDF7YmFja2dyb3VuZC1pbWFnZTp1
cmwoaW1nL3RhZy1oMS5naWYpO30NCi5zaG93QmxvY2t0YWcgaDJ7YmFja2dyb3VuZC1pbWFn
ZTp1cmwoaW1nL3RhZy1oMi5naWYpO30NCi5zaG93QmxvY2t0YWcgaDN7YmFja2dyb3VuZC1p
bWFnZTp1cmwoaW1nL3RhZy1oMy5naWYpO30NCi5zaG93QmxvY2t0YWcgaDR7YmFja2dyb3Vu
ZC1pbWFnZTp1cmwoaW1nL3RhZy1oNC5naWYpO30NCi5zaG93QmxvY2t0YWcgaDV7YmFja2dy
b3VuZC1pbWFnZTp1cmwoaW1nL3RhZy1oNS5naWYpO30NCi5zaG93QmxvY2t0YWcgaDZ7YmFj
a2dyb3VuZC1pbWFnZTp1cmwoaW1nL3RhZy1oNi5naWYpO30NCi5zaG93QmxvY2t0YWcgcHJl
e2JhY2tncm91bmQtaW1hZ2U6dXJsKGltZy90YWctcHJlLmdpZik7fQ0KLnNob3dCbG9ja3Rh
ZyBhZGRyZXNze2JhY2tncm91bmQtaW1hZ2U6dXJsKGltZy90YWctYWRkcmVzcy5naWYpO30N
Ci5zaG93QmxvY2t0YWcgZGl2e2JhY2tncm91bmQtaW1hZ2U6dXJsKGltZy90YWctZGl2Lmdp
Zik7fQ==CommentEditor\xheditor_skin\nostyle\ui.cssLnhoZV9ub3N0eWxlIHRhYmxlLCAueGhlX25vc3R5bGUgdHIsIC54aGVfbm9zdHlsZSB0ZCwg
LnhoZV9ub3N0eWxlIGlmcmFtZSB7Ym9yZGVyOjA7IG1hcmdpbjowOyBwYWRkaW5nOjA7IGJh
Y2tncm91bmQ6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGZvbnQtd2VpZ2h0
Om5vcm1hbDsgY29sb3I6IzAwMH0NCg0KLnhoZV9ub3N0eWxlIHRhYmxlLnhoZUxheW91dCB7
ZGlzcGxheTppbmxpbmUtdGFibGU7YmFja2dyb3VuZDojRkZGOyBib3JkZXI6MXB4IHNvbGlk
ICNDNUM1QzU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt9DQoueGhlX25vc3R5bGUgdGQueGhl
VG9vbHtwYWRkaW5nOjBweCAzcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI0M1QzVDNTt9
DQoueGhlX25vc3R5bGUgdGQueGhlVG9vbCBzcGFue2Zsb2F0OmxlZnQ7bWFyZ2luOjJweCAw
cHg7fQ0KLnhoZV9ub3N0eWxlIHRkLnhoZVRvb2wgYnJ7Y2xlYXI6bGVmdDt9DQoNCi54aGVf
bm9zdHlsZSBzcGFuLnhoZUdTdGFydHtkaXNwbGF5Om5vbmU7fQ0KLnhoZV9ub3N0eWxlIHNw
YW4ueGhlR0VuZHtkaXNwbGF5Om5vbmU7fQ0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlU2VwYXJh
dG9ye2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjIycHg7d2lkdGg6NHB4O21hcmdpbjoycHggMnB4
ICFpbXBvcnRhbnQ7YmFja2dyb3VuZDp1cmwoaW1nL2ljb25zLmdpZikgbm8tcmVwZWF0IC02
NjBweCAwO30NCg0KLnhoZV9ub3N0eWxlIGEueGhlQnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJs
b2NrO21hcmdpbjoxcHg7Ym9yZGVyOjBweDtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRp
b246bm9uZTt9DQoueGhlX25vc3R5bGUgYS54aGVCdXR0b24gc3BhbntvcGFjaXR5OjAuMzsg
LW1zLWZpbHRlcjonYWxwaGEob3BhY2l0eT0zMCknOyBmaWx0ZXI6YWxwaGEob3BhY2l0eT0z
MCk7fQ0KLnhoZV9ub3N0eWxlIGEueGhlRW5hYmxlZCBzcGFue29wYWNpdHk6MTsgLW1zLWZp
bHRlcjonYWxwaGEob3BhY2l0eT0xMDApJzsgZmlsdGVyOmFscGhhKG9wYWNpdHk9MTAwKTt9
DQoueGhlX25vc3R5bGUgYS54aGVFbmFibGVkOmhvdmVyIHttYXJnaW46MHB4O2JvcmRlcjox
cHggc29saWQgIzk5OTtiYWNrZ3JvdW5kOiNmZmY7fQ0KLnhoZV9ub3N0eWxlIGEueGhlQWN0
aXZle21hcmdpbjowcHg7Ym9yZGVyOjFweCBzb2xpZCAjOTk5OyBiYWNrZ3JvdW5kOiNmZmY7
fQ0KDQoueGhlX25vc3R5bGUgYS54aGVCdXR0b24gc3BhbntkaXNwbGF5OmJsb2NrO21hcmdp
bjowcHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtvdmVyZmxvdzpoaWRkZW47fQ0KLnhoZV9u
b3N0eWxlIHNwYW4ueGhlSWNvbntiYWNrZ3JvdW5kOnVybChpbWcvaWNvbnMuZ2lmKSBuby1y
ZXBlYXQgMjBweCAyMHB4fQ0KDQoueGhlX25vc3R5bGUgc3Bhbi54aGVCdG5DdXQge2JhY2tn
cm91bmQtcG9zaXRpb246MCAwfQ0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlQnRuQ29weSB7YmFj
a2dyb3VuZC1wb3NpdGlvbjotMjBweCAwfQ0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlQnRuUGFz
dGUge2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFuLnho
ZUJ0blBhc3RldGV4dCB7YmFja2dyb3VuZC1wb3NpdGlvbjotNjBweCAwfQ0KLnhoZV9ub3N0
eWxlIHNwYW4ueGhlQnRuQmxvY2t0YWcge2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggMH0N
Ci54aGVfbm9zdHlsZSBzcGFuLnhoZUJ0bkZvbnRmYWNlIHtiYWNrZ3JvdW5kLXBvc2l0aW9u
Oi0xMDBweCAwfQ0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlQnRuRm9udFNpemUge2JhY2tncm91
bmQtcG9zaXRpb246LTEyMHB4IDB9DQoueGhlX25vc3R5bGUgc3Bhbi54aGVCdG5Cb2xkIHti
YWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDBweCAwfQ0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlQnRu
SXRhbGljIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAwfQ0KLnhoZV9ub3N0eWxlIHNw
YW4ueGhlQnRuVW5kZXJsaW5lIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xODBweCAwfQ0KLnho
ZV9ub3N0eWxlIHNwYW4ueGhlQnRuU3RyaWtldGhyb3VnaCB7YmFja2dyb3VuZC1wb3NpdGlv
bjotMjAwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFuLnhoZUJ0bkZvbnRDb2xvciB7YmFja2dy
b3VuZC1wb3NpdGlvbjotMjIwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFuLnhoZUJ0bkJhY2tD
b2xvciB7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFu
LnhoZUJ0blNlbGVjdEFsbCB7YmFja2dyb3VuZC1wb3NpdGlvbjotMjYwcHggMH0NCi54aGVf
bm9zdHlsZSBzcGFuLnhoZUJ0blJlbW92ZWZvcm1hdCB7YmFja2dyb3VuZC1wb3NpdGlvbjot
MjgwcHggMH0NCg0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlQnRuQWxpZ24ge2JhY2tncm91bmQt
cG9zaXRpb246LTMwMHB4IDB9DQoueGhlX25vc3R5bGUgc3Bhbi54aGVCdG5MaXN0IHtiYWNr
Z3JvdW5kLXBvc2l0aW9uOi0zMjBweCAwfQ0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlQnRuT3V0
ZGVudCB7YmFja2dyb3VuZC1wb3NpdGlvbjotMzQwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFu
LnhoZUJ0bkluZGVudCB7YmFja2dyb3VuZC1wb3NpdGlvbjotMzYwcHggMH0NCg0KLnhoZV9u
b3N0eWxlIHNwYW4ueGhlQnRuTGluayB7YmFja2dyb3VuZC1wb3NpdGlvbjotMzgwcHggMH0N
Ci54aGVfbm9zdHlsZSBzcGFuLnhoZUJ0blVubGluayB7YmFja2dyb3VuZC1wb3NpdGlvbjot
NDAwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFuLnhoZUJ0bkFuY2hvciB7YmFja2dyb3VuZC1w
b3NpdGlvbjotNDIwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFuLnhoZUJ0bkltZyB7YmFja2dy
b3VuZC1wb3NpdGlvbjotNDQwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFuLnhoZUJ0bkZsYXNo
IHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00NjBweCAwfQ0KLnhoZV9ub3N0eWxlIHNwYW4ueGhl
QnRuTWVkaWEge2JhY2tncm91bmQtcG9zaXRpb246LTQ4MHB4IDB9DQoueGhlX25vc3R5bGUg
c3Bhbi54aGVCdG5IciB7YmFja2dyb3VuZC1wb3NpdGlvbjotNTAwcHggMH0NCi54aGVfbm9z
dHlsZSBzcGFuLnhoZUJ0bkVtb3Qge2JhY2tncm91bmQtcG9zaXRpb246LTUyMHB4IDB9DQou
eGhlX25vc3R5bGUgc3Bhbi54aGVCdG5UYWJsZSB7YmFja2dyb3VuZC1wb3NpdGlvbjotNTQw
cHggMH0NCg0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlQnRuU291cmNlIHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOi01NjBweCAwfQ0KLnhoZV9ub3N0eWxlIHNwYW4ueGhlQnRuUHJldmlldyB7YmFj
a2dyb3VuZC1wb3NpdGlvbjotNTgwcHggMH0NCi54aGVfbm9zdHlsZSBzcGFuLnhoZUJ0blBy
aW50IHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02MDBweCAwfQ0KLnhoZV9ub3N0eWxlIHNwYW4u
eGhlQnRuRnVsbHNjcmVlbiB7YmFja2dyb3VuZC1wb3NpdGlvbjotNjIwcHggMH0NCg0KLnho
ZV9ub3N0eWxlIHNwYW4ueGhlQnRuQWJvdXQge2JhY2tncm91bmQtcG9zaXRpb246LTY0MHB4
IDB9DQoNCi54aGVfbm9zdHlsZSAueGhlSWZyYW1lQXJlYXtoZWlnaHQ6MTAwJTt9DQoueGhl
X25vc3R5bGUgaWZyYW1lIHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDox
MDAlO2hlaWdodDoxMDAlO30NCg0KDQojeGhlQ250TGluZXtkaXNwbGF5Om5vbmU7cG9zaXRp
b246YWJzb2x1dGU7ei1pbmRleDoxMDAwMDAxO2JhY2tncm91bmQ6I2ZmZjtoZWlnaHQ6MXB4
O2ZvbnQtc2l6ZTowO30NCiN4aGVQYW5lbHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1
dGU7ei1pbmRleDoxMDAwMDAwO2JvcmRlcjojOTk5IDFweCBzb2xpZDtiYWNrZ3JvdW5kOiNm
ZmY7dGV4dC1hbGlnbjpsZWZ0O30NCiN4aGVTaGFkb3d7ZGlzcGxheTpub25lO3Bvc2l0aW9u
OmFic29sdXRlO3otaW5kZXg6OTk5OTk5O2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5OjAuMjsg
LW1zLWZpbHRlcjonYWxwaGEob3BhY2l0eT0yMCknOyBmaWx0ZXI6YWxwaGEob3BhY2l0eT0y
MCk7fQ0KLnhoZUZpeENhbmNlbHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojk5OTk5ODti
YWNrZ3JvdW5kLWNvbG9yOiNGRkY7b3BhY2l0eTowOyAtbXMtZmlsdGVyOidhbHBoYShvcGFj
aXR5PTApJzsgZmlsdGVyOmFscGhhKG9wYWNpdHk9MCk7fQ0KDQoueGhlTWVudXtwYWRkaW5n
OjJweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87bWF4LWhlaWdodDoyMzBw
eDt9DQoueGhlTWVudSAueGhlTWVudVNlcGFyYXRvcnttYXJnaW46M3B4IDA7Ym9yZGVyLXRv
cDoxcHggc29saWQgI0Q4RDhEODt9DQoueGhlTWVudSBhe2Rpc3BsYXk6YmxvY2s7cGFkZGlu
ZzozcHggMjBweCAzcHggM3B4O2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LXNpemU6MTJweDtj
b2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt9DQou
eGhlTWVudSBhOmhvdmVye2JhY2tncm91bmQ6I2U1ZTVlNTt0ZXh0LWRlY29yYXRpb246bm9u
ZTtjb2xvcjojMDAwO30NCi54aGVNZW51IHAsLnhoZU1lbnUgaDEsLnhoZU1lbnUgaDIsLnho
ZU1lbnUgaDMsLnhoZU1lbnUgaDQsLnhoZU1lbnUgaDUsLnhoZU1lbnUgaDYsLnhoZU1lbnUg
cHJlLC54aGVNZW51IGFkZHJlc3MsLnhoZU1lbnUgZGl2e21hcmdpbjowfQ0KDQoueGhlRW1v
dCBkaXZ7cGFkZGluZzo1cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO30N
Ci54aGVFbW90IGRpdiBhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjozcHg7cGFkZGlu
ZzozcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNr
Z3JvdW5kLXBvc2l0aW9uOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTt9DQoueGhlRW1v
dCBkaXYgYTpob3Zlcntib3JkZXI6MXB4IHNvbGlkICM5OTk7cGFkZGluZzoycHg7fQ0KLnho
ZUVtb3QgdWx7Ym9yZGVyLXRvcDoxcHggc29saWQgIzk5OTtsaXN0LXN0eWxlOm5vbmU7cGFk
ZGluZzowIDEwcHg7bWFyZ2luOjA7Zm9udC1zaXplOjEycHg7fQ0KLnhoZUVtb3QgbGl7Zmxv
YXQ6bGVmdDttYXJnaW46MCAycHggNXB4IDA7fQ0KLnhoZUVtb3QgbGkgYXtiYWNrZ3JvdW5k
OiNmZmY7ZGlzcGxheTpibG9jaztwYWRkaW5nOjAgOHB4O3RleHQtZGVjb3JhdGlvbjpub25l
O2NvbG9yOiMwMDA7bGluZS1oZWlnaHQ6MjBweDt9DQoueGhlRW1vdCBsaSBhOmhvdmVye3Rl
eHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KLnhoZUVtb3QgbGkuY3Vye2JvcmRlcjoxcHgg
c29saWQgIzk5OTtib3JkZXItdG9wOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjFw
eDt9DQoueGhlRW1vdCBsaS5jdXIgYXtjdXJzb3I6dGV4dDtwYWRkaW5nLXRvcDoxcHg7fQ0K
LnhoZUVtb3QgbGkuY3VyIGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQ0KDQoueGhl
Q29sb3J7cGFkZGluZzo1cHg7fQ0KLnhoZUNvbG9yIGF7ZGlzcGxheTppbmxpbmUtYmxvY2s7
bWFyZ2luOjFweDtib3JkZXI6Izk5OSAxcHggc29saWQ7d2lkdGg6MTdweDtoZWlnaHQ6OXB4
O2ZvbnQtc2l6ZTowO30NCi54aGVDb2xvciBhOmhvdmVye2JvcmRlcjojMDAwIDFweCBzb2xp
ZDt9DQoueGhlQ29sb3IgYSBpbWd7ZGlzcGxheTpub25lO30NCg0KLnhoZURpYWxvZ3twYWRk
aW5nOjEwcHg7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6bW9ub3NwYWNlO30NCi54aGVE
aWFsb2cgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2NvbG9yOiMwMGY7fQ0KLnhoZURp
YWxvZyBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y29sb3I6IzAwZn0NCi54
aGVEaWFsb2cgZGl2e3BhZGRpbmc6MnB4IDA7fQ0KLnhoZURpYWxvZyBpbnB1dHsNCgltYXJn
aW46MDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZDtmb250LXNpemU6MTJw
eDsNCgkqYm9yZGVyLXdpZHRoOmV4cHJlc3Npb24oKHR5cGUhPSJjaGVja2JveCIpPycxcHgn
OjApOypwYWRkaW5nOmV4cHJlc3Npb24oKHR5cGU9PSJ0ZXh0Iik/JzFweCc6J2F1dG8nKTsq
d2lkdGg6ZXhwcmVzc2lvbigodHlwZT09InRleHQiKT8nMTYwcHgnOidhdXRvJyk7KmJvcmRl
ci1jb2xvcjpleHByZXNzaW9uKCh0eXBlPT0idGV4dCIpPycjQUJBREIzJzonI2ZmZiAjODg4
ICM4ODggI2ZmZicpOypiYWNrZ3JvdW5kOmV4cHJlc3Npb24oKHR5cGU9PSJidXR0b24iKT8n
I0YwRjBGMCc6JyNGRkZGRkYnKTsqY3Vyc29yOmV4cHJlc3Npb24oKHR5cGU9PSJidXR0b24i
KT8ncG9pbnRlcic6JycpOypmb250LXNpemU6ZXhwcmVzc2lvbigodHlwZT09ImJ1dHRvbiIp
PycxM3B4JzonMTJweCcpOw0KfQ0KLnhoZURpYWxvZyB0ZXh0YXJlYXtmb250LXNpemU6MTJw
eDtyZXNpemU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICNjY2M7fQ0KLnhoZURpYWxvZyBpbnB1
dFt0eXBlPXRleHRde3BhZGRpbmc6MXB4O3dpZHRoOjE2MHB4O2JvcmRlci1jb2xvcjojQUJB
REIzO30NCi54aGVEaWFsb2cgaW5wdXRbdHlwZT1idXR0b25de21hcmdpbjowO2JvcmRlci1j
b2xvcjojZmZmICM4ODggIzg4OCAjZmZmO2JhY2tncm91bmQ6I0YwRjBGMDtjdXJzb3I6cG9p
bnRlcjtmb250LXNpemU6MTNweDt9DQoueGhlRGlhbG9nIGlucHV0W3R5cGU9ZmlsZV17Zm9u
dC1zaXplOjEzcHg7fQ0KLnhoZURpYWxvZyBpbnB1dFt0eXBlPWNoZWNrYm94XXtib3JkZXI6
MDt9DQoueGhlRGlhbG9nIHNlbGVjdHttYXJnaW46MDtib3JkZXI6MXB4ICNBQkFEQjMgc29s
aWQ7fQ0KLnhoZURpYWxvZyBpbnB1dCwueGhlRGlhbG9nIHNlbGVjdCwueGhlRGlhbG9nIHRl
eHRhcmVhe2JvcmRlci1yYWRpdXM6M3B4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtp
dC1ib3JkZXItcmFkaXVzOjNweDt9DQoueGhlRGlhbG9nIGlucHV0OmZvY3VzLC54aGVEaWFs
b2cgc2VsZWN0OmZvY3VzLC54aGVEaWFsb2cgdGV4dGFyZWE6Zm9jdXN7b3V0bGluZTogMDti
b3JkZXItY29sb3I6ICNFRUMwNjg7LXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMXB4ICNFRUMw
Njg7LW1vei1ib3gtc2hhZG93OiAwIDAgMXB4ICNFRUMwNjg7Ym94LXNoYWRvdzogMCAwIDFw
eCAjRUVDMDY4O30NCi54aGVEaWFsb2cgLnhoZVVwbG9hZHtwb3NpdGlvbjogcmVsYXRpdmU7
ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTY0cHg7fQ0KLnhoZURpYWxvZyAueGhlVXBs
b2FkIC54aGVCdG57cG9zaXRpb246IGFic29sdXRlO3RvcDogMHB4O2xlZnQ6IDExNHB4O3dp
ZHRoOjUwcHg7ei1pbmRleDogMTAwMDAwMTtwYWRkaW5nOjA7fQ0KLnhoZURpYWxvZyAueGhl
VXBsb2FkIC54aGVGaWxle2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6
IDBweDtsZWZ0OiAwcHg7d2lkdGg6MTY0cHg7b3BhY2l0eTowOy1tcy1maWx0ZXI6J2FscGhh
KG9wYWNpdHk9MCknO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO3otaW5kZXg6IDEwMDAwMDI7
fQ0KLnhoZURpYWxvZyAueGhlVXBsb2FkIC54aGVUZXh0IHtwb3NpdGlvbjogYWJzb2x1dGU7
d2lkdGg6MTA3cHg7dG9wOiAwcHg7bGVmdDogMHB4O3otaW5kZXg6IDEwMDAwMDM7fQ0KDQou
eGhlTW9kYWx7DQoJcG9zaXRpb246IGZpeGVkO3otaW5kZXg6IDEwMDAwMTA7dGV4dC1hbGln
bjpsZWZ0O3RvcDo1MCU7bGVmdDo1MCU7YmFja2dyb3VuZDojRkZGO2JvcmRlcjoxcHggc29s
aWQgI0JCQjtmb250LXNpemU6MTJweDsNCglfcG9zaXRpb246YWJzb2x1dGU7X21hcmdpbi10
b3A6ZXhwcmVzc2lvbigwIC0gcGFyc2VJbnQodGhpcy5vZmZzZXRIZWlnaHQgLyAyKSArIChU
QldpbmRvd01hcmdpbiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSAr
ICdweCcpOw0KfQ0KLnhoZU1vZGFsVGl0bGV7cGFkZGluZzo1cHg7YmFja2dyb3VuZDojRjBG
MEVFO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNCQkI7fQ0KLnhoZU1vZGFsQ2xvc2V7Zmxv
YXQ6cmlnaHQ7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kOnVybChpbWcvY2xv
c2UuZ2lmKTtjdXJzb3I6cG9pbnRlcjt9DQoueGhlTW9kYWxJZm1XYWl0e3dpZHRoOjEwMCU7
aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDp1cmwoaW1nL3dhaXRpbmcuZ2lmKSBuby1yZXBlYXQg
NTAlIDUwJTttYXJnaW46LTE2IDAgMCAtMTY7fQ0KLnhoZU1vZGFsU2hhZG93ew0KCXBvc2l0
aW9uOmZpeGVkO3otaW5kZXg6MTAwMDAwOTt0b3A6NTAlO2xlZnQ6NTAlO2JhY2tncm91bmQ6
IzAwMDtvcGFjaXR5OjAuMjsgLW1zLWZpbHRlcjonYWxwaGEob3BhY2l0eT0yMCknOyBmaWx0
ZXI6YWxwaGEob3BhY2l0eT0yMCk7DQoJX3Bvc2l0aW9uOmFic29sdXRlO19tYXJnaW4tdG9w
OmV4cHJlc3Npb24oMCAtIHBhcnNlSW50KHRoaXMub2Zmc2V0SGVpZ2h0IC8gMikgKyAoVEJX
aW5kb3dNYXJnaW4gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCkgKyA1
ICsgJ3B4Jyk7DQp9DQoueGhlTW9kYWxPdmVybGF5ew0KCXBvc2l0aW9uOiBmaXhlZDt6LWlu
ZGV4OjEwMDAwMDg7dG9wOiAwcHg7bGVmdDogMHB4O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7
YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6MC4yOyAtbXMtZmlsdGVyOidhbHBoYShv
cGFjaXR5PTIwKSc7IGZpbHRlcjphbHBoYShvcGFjaXR5PTIwKTsNCglfcG9zaXRpb246YWJz
b2x1dGU7X2hlaWdodDpleHByZXNzaW9uKE1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5jbGllbnRIZWlnaHQsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdo
dCkrJ3B4Jyk7X3dpZHRoOmV4cHJlc3Npb24oTWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmNsaWVudFdpZHRoLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0
aCkrJ3B4Jyk7DQp9DQoqaHRtbHsNCgliYWNrZ3JvdW5kLWltYWdlOnVybChhYm91dDpibGFu
ayk7DQoJYmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkOw0KfQ0KDQoueGhlUHJvZ3Jlc3N7
cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjgwcHg7bWFyZ2luOmF1dG87Ym9yZGVyOjFweCBz
b2xpZCAjQzFDMUMxOy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFk
aXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOnVybChpbWcvcHJvZ3Jlc3Ni
Zy5naWYpICNFOUU5RTk7fQ0KLnhoZVByb2dyZXNzIHNwYW57cG9zaXRpb246YWJzb2x1dGU7
bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6
MTVweDtmb250LXNpemU6MTJweDtjb2xvcjojMjIyO3RleHQtc2hhZG93OiAxcHggMXB4IDAg
I2VlZTt9DQoueGhlUHJvZ3Jlc3MgZGl2e2hlaWdodDoxNXB4O3dpZHRoOjFweDtiYWNrZ3Jv
dW5kOnVybChpbWcvcHJvZ3Jlc3MuZ2lmKSAjMzFDMTM1O30NCg0KLnhoZV9GdWxsZml4e292
ZXJmbG93OmhpZGRlbjt9DQoueGhlX0Z1bGxmaXggYm9keXt3aWR0aDoxMDAlO2hlaWdodDox
MDAlO30NCi54aGVfRnVsbHNjcmVlbnsNCgl0b3A6MHB4O2xlZnQ6MHB4O3Bvc2l0aW9uOmZp
eGVkO3otaW5kZXg6MTAwMDAwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDoj
ZmZmOw0KCV9wb3NpdGlvbjphYnNvbHV0ZTtfdG9wOmV4cHJlc3Npb24oKGRvY3VtZW50LmNv
bXBhdE1vZGU/ZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDpkb2N1bWVudC5ib2R5LnNjcm9s
bFRvcCkrJ3B4Jyk7X3dpZHRoOmV4cHJlc3Npb24oKGRvY3VtZW50LmNvbXBhdE1vZGU/ZG9j
dW1lbnRFbGVtZW50Lm9mZnNldFdpZHRoOmRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpICsg
J3B4Jyk7X2hlaWdodDpleHByZXNzaW9uKChkb2N1bWVudC5jb21wYXRNb2RlP2RvY3VtZW50
RWxlbWVudC5vZmZzZXRIZWlnaHQ6ZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQpICsgJ3B4
Jyk7DQp9DQoNCi54aGVIaWRlQXJlYXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEwMDBweDts
ZWZ0Oi0xMDAwcHg7dmlzaWJpbGl0eTpoaWRkZW47fQ==CommentEditor\xheditor_skin\nostyle\img\CommentEditor\xheditor_skin\nostyle\img\anchor.gifR0lGODlhEAAPALMJAJaWloCAAP//mf///8z/AJmZAP//zDMzAMzMAP///wAAAAAAAAAAAAAA
AAAAAAAAACH5BAEAAAkALAAAAAAQAA8AAARlMElp0EEzI8PrKAWHIMWRbAMXlAExFoGJcoKF
uGQMzEZ94bDDzpDq2YA6nu/2St4IxouAQAjuRgHEkoQIOC/MrO1Q2lUH4NLBSxaeiJXDelUt
Tza1laEac2v2XXJCABkZggCEExEAOw==CommentEditor\xheditor_skin\nostyle\img\close.gifR0lGODlhEAAQAKIEANYgDPZVNPosDPp1XQAAAAAAAAAAAAAAACH+HUJ1aWx0IHdpdGggR0lG
IE1vdmllIEdlYXIgNC4wACH5BAkAAAQALAIAAgALAAsAAAMkSEPcqmO5EQSUqrYQ1hCWw1Wh
Q5Am84GAiQLwBjZwu7px6bQJADs=CommentEditor\xheditor_skin\nostyle\img\flash.gifR0lGODlhFAAUAMMJAAIoSm6KosnP2VZqeu3u8a63wxVcf93f5IKPnf39/Qc4Wp2osLfD0mp9
joqbrwAAACH5BAEAAA8ALAAAAAAUABQAAASe8MlJq704P7LaGM1CaITgNE5RnI4wWgTTFMJh
C0XHvJTQ1ISgAAAwyAQVQutASCQICoXBcDDxHoUG05lwSAO2w4yCAHKLBpqNgaD8DlwGIKog
3Bru2plev5MFNVVzDU5hAm0TNIBDUQV2YSoUBy0NcwqEgVUOBxUMHQoADSVhBA0MFgc5Lg+k
pQWcqAybTU+TDLAYOA4ICClIGsDBwREAOw==CommentEditor\xheditor_skin\nostyle\img\icons.gifR0lGODlhqAIUAPcAAAAAAP////NRVPeEhfE3PfI9QvnLzfvq67GwsaGgofv7//Pz9JubnJWV
lujr+NTb83iO2Y2m4am+64GHlN/n+HaZ3Pz9/0yG7dLi/l2N20tysGeX5WWU3mKL0ZWs0Ka2
0IGn35S8+ZGx35m35Jqw0a3F6uLs+8DEysjKzcbIy3es8pS56Zy+7aXD6trk8vH2/TtpoViK
xnKk4n2r5Xik2qrQ/p+84brX+bvJ2uTw/9Pd6ebt9uTp7+/z+OPn7GSVyl2Fs63L67XN6cfU
497o88bN1fL4/0qGxVic4lR3mnCdy4e25nuiylJcZtHi9Nrq+6KrtOrx+Oru8vf6/fH0912k
5HSt4ajD27vU7I+ZomOr54Cz3ZS10J271cri98bd8dfo9+zy92Sp3XS1543D7pbD5+33//T4
+0id21uk2GWy6l6ZxJnF5YWowej1/mygwt7x/b7h9dPs+/r8/ZnX8+73+7vCxYDa+Yvh+1rT
3mmWmKK0tMTS0t3e3oO1rHiqn0ZzaE6Ac13glTfZXs3mz2XkY8LbvpjKjn+zcpOxioXqU5ju
bTttH3WYY0x7MWKLS5DGcXu1UF2TNIq6ZbHUlYzDXML0lKbQf7TzcL/yitDmutXW0YGITunu
uejnonJybbCwreTk4ejo59XV1IqKicnInPj1u/72yP740/rpjtPSzfTVWPbbafnhe/LLQvLO
UOrMV/zuuPDCMu3GRvTYevnmp/O2CfXcmeTj4OeyKNeqNfDOeP768LuNJfLASvLUjtqYDKt9
Hu7Lgc63ievCdvDZsemyXOm6a+uqS7qQVNGueZd+WOOpV76fde7hz+Hb0/bw6IhYHKtwJeeb
QbeAPN6eUIFiPf/9+1I9KZkAAPl0ctGxscLBwf7+/v39/fr6+vj4+PX19fHx8ezs7OTk5OLi
4tjY2NDQ0MzMzMnJycXFxb+/v7q6urOzs6urq6Kiop6enpmZmZKSkoKCgoCAgHt7e3Z2dnBw
cGpqamFhYVVVVUdHRzg4OCcnJxAQEP///yH5BAEAAP8ALAAAAACoAhQAAAj/AAMIHEiwoMGD
CBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEnyoos2FkqqXMmyZUl39uxxc0mzps2b
OHPq3BlO4xUuUwZ2M1gundGjfbw5hCataVNqDZk6lQZ1p9WrEu31UWdPXcRxWAdiaYElrMgF
7XKSQ3e0bbqkZuNKvLGkShUtWqqs0NnH55UFAk8aTOetcOFvo+AqhNaM6qlUqVBRk6bMGULG
jiFLpmw5pBMWK0AvWXFGrmmGXWPai2gOrMgGDeSRmj2vnr17+PAhbCGkRQCut3Pn06fv9MJ2
gAOkDYDWIQwYDId8IOGhunXrJIYcRAfum2HD4Lgp/y74Tl48g/PyrT5IryKvVq5s2ZLVildC
DEFY6F/Bf8kSECDQsJdBa7mFlFIGdaHgggo6VMUcEEJYBx0qzPHRFF4sgdcYcQS1nV87BECE
DVwM5s034IQjzomJLUSNML8Y81gqpyAjjDDSIPRijDPWeGOOIWEx2gpLyECDh8YVZA488Xgl
kDvzOOmRPPXU81BM5NiTpXLuNDQKOaKENVZZE8WEGz75DEfcPvsgZKZwaurDJkdoAZZWcw3B
oEoA0Cn0wTgLhCPooIKGIQUJB6XzDaHiiCPKN6KoM95ApLQzT26YovnOPewF0J6n9IQq6qcH
xUJfLbHEUgstucSCUAlnxP8q66yx0rBdd98VFt6kAnVh0BBJNPSgG27kAEc3btCxREI4NOvs
s84iZMIYS2DhxRdYjFEFGActh9EVQxCxwxVXSGHiNyiuWBhhCknzCzHGICOvvMYQI00vB7kL
77z02osvQucELHDA6BSMDkNRLGGFFTMsgaRB7bTDjTvtQNmQOe40EE867pDiDjgPqSPPPPOc
p1A7DRAEjjwOgbPOOem0A09DVdYzU0NaZklOljGRwtAo35RDzkTjFLzOOq4ddA4pJNuGWz7s
JAlSc2l5y5CefO6ZEAkLjMCFH4dccskheihRQRiImtidAQMMIM443ggqqUG03UHHHXh4Uot6
bRr/JKrWqgQueOClupJKLK2wongqt/hSy0EsnEEJJYdUfggkmCNyhhKJLjpoo6J4EymvvhaE
gw/BLjQssXCcMccUSCCEgwW01267BbGyXJAJWgThBBZllBHEF2XEwG1BbfikA7lDaGfiiSn2
gc6SBxqkLzHHHMNMMtwnE4004wxF0PXZl2/MMfcmdA6hCzT69jjpMNQCw0vMEIFC7oxDDikz
kWJOQ+nw2JPs4bOHUOlgC3GH7gaywIVsTCDcWI9CuFGzBiYkZ1rCYM8Wco5F9aEvECmaYcaB
NKuwQCDBQZOaEHJCFJ4pTcSxynMIlxAPhGMEYLsE5iCRCD3QIAppKwhh/8BhAG0MQABv+078
ChKPdchDEHjAwx0IkQp8tEM3flMFPfY0KlEhhBe2qEUqEseKVaziFay4hS3sU5DIdWMO4hOf
QDaXKG90BxzgaB/c5AbCgZSOIDhIgiAV8o0HmcEMxXqCHOaAhG8cZHYAAlAHQNCBSnbgAi+w
4BTGEAQvlIEMXyBeGYDXgdIQpIDfcgIXiHAFhBDmMIjJFWJ45a7sGcMYyfBGN3ZpgSmUcHy/
sOUth4m+XgxNaedARzLZ4paFmEAGMsDCCmhgq4T0pRzzWEcAxpE0hQTwHQJhxz3y8RBRVKkh
HSsIKhUyClJoUyAWPAiVKFiPUSwkZzvLGXBicv8OhXBHHAv44ENE+B0S9pFSJIuJcNbUN4NI
UwgTMcFoBEIcOe2DHxhFyApmYIIAVJRNGOVHQSJG0uWQlBvcaAeCBFLSkrI0YihVqUJmuBAP
UAGHOqyETiHhQyDW0QAC0EZQG8XNRy3xlPEgRSEGcYem0gEf9yjOQfYEuMHRsCCtaAXiWJEM
MybDFa6gxS52YRDStOCsaE3rGX6QqB6gC0UqgpthjtorglwjFHbYQzuSEAqELMmQh3QDHODA
yHvcDJAWAEEOcvCEGzj2BjWoASYtGIclOCF4S4CQf8rwBRrgQJ0YUcoViCAEGyTklYcZBfRU
xKKDBkAawhBmMrpxIkH/vbE144vtMW7ZjN72dhnLcMc67LmRxMqgBFOIwAw4YCGF9KEeUXsH
KfZRG4WoYx4zC0c98GGyhrTDHuBkiMUIMo+GYHMe7ihHAIibkFHUg2VViidB8Lmznaljn13x
Z1zFYY7/MYSghRGUN9bh2oqsoAXLYgdDMdqPfkhrSDKAyAxYUD8KMCRiI7VaAFI6EAwTxKQF
SakjDfKcEvcJITbFqU4jEYlJ6AEEOwgiQdLRjQFoQxsHgCtRvUFXgZBCuoVYhCIEkYc84GMe
Us2ILLaquDOCdRazuEUuynoG35RgIFcWSBTYapATjEEN3VDDGKIQ13GErsd/vIYOyvGCM/Bh
/wJ9JRA7RAFYRBqLkX0gRT8Rq1jcncGxkQ3BZAsyBiwEoQz+wdYWFl2GG8QAtBWRghLWoIQ2
OKENI66jYWKJLtauqyCw3a0xtgfLcOyyGwcN9S2Z0Yw5hOMMb0XXOwkSj3jERja1eVqSDyIE
aGLBBTSYQQZMaU17pCV+Io1aQihICnZcqrwPuRQCF/IOKxHE2gyBh22OvOeEUOm9NSvwfNVR
X3LcNzUElFKiwsHNcYhjFOxFCIDjFo4Bt0Pc6tC1RfnRJYQIYQZZjggFZDADgaiQoQ0tSJEs
fHCLJnwm38iUxPGBrnaMGOISD8DEK55pPhFkhoQ7MUE80AMcHqISLP+OBCJeHONEAVUABjiA
BeDaPh7TzVKWyDkmdp6PeOx6IAAIutCHPnSD2ILJZ3yFK2TB9FsAwyBLOEMJShAEqlc9CEEQ
AhEeXZAeiGEMWvCGmMcgBRUlEc0DCYV6A9BLHEybIPkDB2zmTvcGgOO5pkvsExoL6BCEQAWD
JkgVPOmfLQhk0Yv+ggYgPREprEEMaVADFyjQhiKcNlfmKHXNewzbVTODGrQ9kedQnVvPN+Mb
6YAZzNIRjlljpAcbWG4FKpABEGTAAQvpAz76HQAHL2Qd9tBdA/SBj+QshBy5cQgDJCgQTqmv
1tBPTz/8QX1/rFMg5IhvbKp0WDdxw75cObf/PdzR7YOog91mflvAEjJvAR+NAeKmiRUEctGQ
Ntj3Bik4/UPKj/sThBsR5w1YRFvfsAD4IIARd3EBOIACcSIGiIAU93EnRlN8gjUFQXIk8geI
MAmTsHJMEAEtZxDoYGPaUAADUGr11mMBUA8kM3H8ICcHQXQyKHRaMxBH1wq9oAtOJgu6EAyy
kApPp3BnEATdEARYNhAuwHViIWZasAPeEAViVgVBEA6bVxB/ZAelYQEKYAROIA9xRhAMsEuP
EmtvVQ67BG0DAUlPcAYv8AKLtViAlwMWhAaehHhRYAE0sAVWsAWKx3gSoQRpMAQ4IAY2EARq
kAYf4Erf8Q2ZB0sp/2JzucUMkvh5ARB6nUZ6AwFbk8hqUxAoC/CJgeJ6AhEbTLNtw8EQIGA/
AwEBMpABFqYQ5pAPvId/CSFOBRQObBJeCYQP8tUt9zBt59CLBdET4bRCCEFB8pAYfUAlwjgQ
MnFu9xUA6RZ/EIR+4yAx7uAOKrhN6PAdj/h+LVIQ+gZS/Td9UhNieDRxmZKOF5eOmWJw6wgO
ETgQJSYQNFViNTgQHhAGNkAinPCPnNAGIgCCMjYQ2xBUBWCC3vFW4ACJ5AUK9RBFUdQJpqAP
8pBwBGFVGik4BbFkrQALOah0PZgLsnALugB1PSAEKrmSJZAIjfAIjxAIBaEF2uIE3uENTv9Q
BWOABGcgYGgnEFiohUYQBUMwD184EA2wLgsgCkzZlAuwDoXhfGmYWI9VA36nAipwSXJYEGIA
PHY4B9REA9WihD5WETHABAHQBmrABGoABG+gASDzPIbRiI7okAIhDcQgidVQDaC3S7DUDaAw
PnnJDHt5eqt3FOEwMxgBDl8gAxzwBQLRAxFAeyWwUgfBACx4MOqgD93XLUc2EPywD804EFGl
bgoxDvhQD2FyDvpwTAuhDlYTmt5WTyBET/HmfV3hJKSgDuV3EOtADuzQB+HwMQ1omQLRjYbh
fuvAAMqoERIgAxJAEeRYjg1WfQgxnfc3fdT3Ye2AR3jUDhMwAd3/6Z1WNGIR453gYFLiiZ5W
VBB6EnIWSAQWOHJhkHLSsJfUIAn6GYIEEQ4IaQAxF2t4ZJco1AD3AEVSREX6cA8i1SkRQQu0
kAqrAJLBEAy9kAu5MFbEYBAgkJIBQCYB4JKUoAmTIAmJQBBCcBdI4IQOoKIlgC4N+ZMBsAk6
MAVGkANgkAV28AwGIQ/c1A7i8EFC2gfjkD/jgJGQdANu+IZ7p5UWhAVW8AWL5gRDEQVKoARC
8AOfdUpmKQZv0JYasAYBwAUawAMH0QduAQ+LiC4EipeEiZ+nFnq6FJiZmJd7WQ3NcAagCIrh
0F0IdRtqclHVeRC0lwEZEAHi4AIQcAFH/3ABHfAAHeEO+eB877AP/eCa7QWDAyUP9oAP/uMQ
66APxBgA/DCaFZGbBNGbB8EO6yAO7EAOo7CNA4EOAmYY4ChQq8omglqdDJAQMrACEeYO91d9
23kTV7SOApgp3flh7wiPEresEqg1FEiB9GkI1moIpaAM12oI/CkQQlUARtQNM0eG3qGCqYkP
S9VUdrMP+tCgBdEen9JFXmQQYLQqqwBWTJcLr+B0B5B/PYAFABuwjzA5AcCBjNB1GaAFzHUX
GxAFMBqjVjgQaFEEOjAEWfAJwzAMPHpK/ZU//fWxrcEA/eWuApGkVvl3WVlJF7CVBHEGMTBK
W0BNV6oEV1AGGv9AbGVJETiwBmkABFKgAWlADm2gAeLAEDyWK3MFasRwp3wZp4YBmILJtKdn
IH16jgOhDqRQD/cgG/owD2uHP1oLVSOhYPjwDu6QVFhxfgEQKeDwDh1XEL9JDuNQb7dKjRPx
nNE5EQw2rMWaEHtbnX1rEGQoEOQquLFGEIVbEGwAA0zABPIJA7jABM+BAPkoEPu4rZjLrQUp
AOAqAAewaWRIoAFwD+2QD0E2ZEXGDwxAsgPxNwKxkZUrELXgC7dwC6/AdLIgVtVQDAdBAwtQ
FiDqCJQwEJRwsAVxAhyQAd+ABBvgVrFGoKXTDd8gDpYyD5+QDL7QCsNgfAEwD/AGCrX/NjLj
JCfeOwq0GACQ5Hcom5UX4KgsSxBgoAGjtAQ0oARbIAQ2qwMGkTyR5gMCAQRq8HiLB0BI+2kE
kQzlkz3JYAFyWhhQOxAInMDN8AJ72j5VK45oIicM5g8R8Q7w4MG62BB1lxMgBbgczBHZkMIq
vMLZEAAg/MECwcIy7MIfDMMHsVLuIAoFw35HUzCjsJzNKREMMMRDPFXiRsRFbLUdRjUNIbkm
xriMG7sB8AFSQAVWTAU9kMVafCgFQQAEAHM3WcCiuw/4sA+ZoHM71w/5cMLvqkVcJK8KEQsZ
egu1ULvEAAy827tREAU7wANE4AIuwAgcWLCTYLwzFiGw9Lwy/1oQUGAN0+ALrEAKX1gP6jAK
8YACQ/pBKcAPo8AO5zs7sdKGbfiGbyhfThADP4AFoYQFP6AB+gsxGjEFGjDL5kLASPsNbxcA
zpAMUxENcXpqU2A1uzwVyyB6ZGiqFQHCYQIRc8eUSgwSIAwR0cwQWyEKampNo0BSqrHNzNcQ
RCzESfzMyKEczKFhCOHEJpYAV0UQQ3AFJPDO8BzP2dE5YnwYuRwA+9AOZCxx/dAObFwQVPW6
GqkQvLALuQAMwKALxMBGByECFfADPxADEn0EgCAJk0AJJXqiQlTPSUsQXSBIIB3STeDI1vAM
X9gx+GAF3gAhUzAFbGgBVtAP+uCn8MQkDzZ90zht0wnxAjgQA7McAzhABQhhmiyBpgaCDl8r
b6Cw1EwNCu0gigTRDenAJOF70yHsEe/gzBHRAFr9zB+R1R3sEN6QjbJKEJl81nZ7mRTRq149
zuRczg0Bux1RDsxkIEaB1AbRrj/Xe/5wvlaRCIwQ2BpdEOgQxgWMywYRCoq92Iz9DNhg0kcp
EGMw2ZRd2TghxV4tF8ssEZud2R7R2Z4d2qI92ixB13Z9FHgNEYtttZhK2q792rAd27I927Rd
2wEBADs=CommentEditor\xheditor_skin\nostyle\img\loading.gifR0lGODlhGAENAKIAAP///yjaNO7u7mlpaZ2+oRSBTPb29gAAACH/C05FVFNDQVBFMi4wAwEA
AAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh+QQFAAAHACwAAAAAGAENAAAD
v3g03P4wykmrvTjrzbv/YDgoA2GeaKqubOu+cCzPdG3feK7vZUkIwKBwSCwaj8ikcslsOp/Q
qHRKpS5KwIJ2C+h6v+CweEwum8/otHrNbrvf8HgayPgBVPK8fs/v+/+AegJ1AgABh4iBiouM
jY6PcoNYhoiHkJeYmZqbbAYAknaVlpykpaanf56ghaIBqK+wsbJhqoQAW1yzuru8kIWrhb3C
w8R/dAtVycrLzM3Oz9DRgwQkItbX2Nna29zdIdQJACH5BAUAAAcALAsAAwAGAAcAAAMKWLrU
HjDKSeNaCQAh+QQFAAAHACwSAAMABgAHAAADCli61B4wyknjWgkAIfkEBQAABwAsGQADAAYA
BwAAAwpYutQeMMpJ41oJACH5BAUAAAcALCAAAwAGAAcAAAMKWLrUHjDKSeNaCQAh+QQFAAAH
ACwnAAMABgAHAAADCli61B4wyknjWgkAIfkEBQAABwAsLgADAAYABwAAAwpYutQeMMpJ41oJ
ACH5BAUAAAcALDUAAwAGAAcAAAMKWLrUHjDKSeNaCQAh+QQFAAAHACw8AAMABgAHAAADCli6
1B4wyknjWgkAIfkEBQAABwAsQwADAAYABwAAAwpYutQeMMpJ41oJACH5BAUAAAcALEoAAwAG
AAcAAAMKWLrUHjDKSeNaCQAh+QQFAAAHACxRAAMABgAHAAADCli61B4wyknjWgkAIfkEBQAA
BwAsWAADAAYABwAAAwpYutQeMMpJ41oJACH5BAUAAAcALF8AAwAGAAcAAAMKWLrUHjDKSeNa
CQAh+QQFAAAHACxmAAMABgAHAAADCli61B4wyknjWgkAIfkEBQAABwAsbQADAAYABwAAAwpY
utQeMMpJ41oJACH5BAUAAAcALHQAAwAGAAcAAAMKWLrUHjDKSeNaCQAh+QQFAAAHACx7AAMA
BgAHAAADCli61B4wyknjWgkAIfkEBQAABwAsggADAAYABwAAAwpYutQeMMpJ41oJACH5BAUA
AAcALIkAAwAGAAcAAAMKWLrUHjDKSeNaCQAh+QQFAAAHACyQAAMABgAHAAADCli61B4wyknj
WgkAIfkEBQAABwAslwADAAYABwAAAwpYutQeMMpJ41oJACH5BAUAAAcALJ4AAwAGAAcAAAMK
WLrUHjDKSeNaCQAh+QQFAAAHACylAAMABgAHAAADCli61B4wyknjWgkAIfkEBQAABwAsrAAD
AAYABwAAAwpYutQeMMpJ41oJACH5BAUAAAcALLMAAwAGAAcAAAMKWLrUHjDKSeNaCQAh+QQF
AAAHACy6AAMABgAHAAADCli61B4wyknjWgkAIfkEBQAABwAswQADAAYABwAAAwpYutQeMMpJ
41oJACH5BAUAAAcALMgAAwAGAAcAAAMKWLrUHjDKSeNaCQAh+QQFAAAHACzPAAMABgAHAAAD
Cli61B4wyknjWgkAIfkEBQAABwAs1gADAAYABwAAAwpYutQeMMpJ41oJACH5BAUAAAcALN0A
AwAGAAcAAAMKWLrUHjDKSeNaCQAh+QQFAAAHACzkAAMABgAHAAADCli61B4wyknjWgkAIfkE
BQAABwAs6wADAAYABwAAAwpYutQeMMpJ41oJACH5BAUAAAcALPIAAwAGAAcAAAMKWLrUHjDK
SeNaCQAh+QQFAAAHACz5AAMABgAHAAADCli61B4wyknjWgkAIfkEBQAABwAsAAEDAAYABwAA
AwpYutQeMMpJ41oJACH5BAUAAAcALAcBAwAGAAcAAAMKWLrUHjDKSeNaCQAh+QQFAAAHACwO
AQMABgAHAAADCli61B4wyknjWgkAOw==CommentEditor\xheditor_skin\nostyle\img\progress.gifR0lGODlhAQAPALMAAADRK0XFWADZJWCvbcL9x9b528781QDaKq71sYP/lhy7O5v3og3aJwzO
OSXSOAAAACH5BAAAAAAALAAAAAABAA8AAAQLsBiCVlINHMFcGBEAOw==CommentEditor\xheditor_skin\nostyle\img\progressbg.gifR0lGODlhAQAOALMAAMfHx9TU1N7e3tjY2PLy8tLS0vn5+enp6ePj48rKyvT09MvLy8zMzAAA
AAAAAAAAACH5BAAAAAAALAAAAAABAA4AAAQKUBmCxFhgJVbCiQA7CommentEditor\xheditor_skin\nostyle\img\tag-address.gifR0lGODlhJAAHAIAAAP///5ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAiAAUAAAIijAMHaXv4WHsoWVuhu3vxmF2QokhjqWFbWnmdE6KNaNZPAQA7
CommentEditor\xheditor_skin\nostyle\img\tag-div.gifR0lGODlhDgAHAIAAAP///5ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAMAAUAAAIPjAGRmLrqGoJrOvraZa4AADs=CommentEditor\xheditor_skin\nostyle\img\tag-h1.gifR0lGODlhCQAHAIAAAPLt65ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAHAAUAAAIKDGCYFu3XIFywAAA7CommentEditor\xheditor_skin\nostyle\img\tag-h2.gifR0lGODlhCwAHAIAAAPLt65ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAJAAUAAAIMDGChena4UmzoOakKADs=CommentEditor\xheditor_skin\nostyle\img\tag-h3.gifR0lGODlhCwAHAIAAAPLt65ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAJAAUAAAIMDGChena4XGwP0lgAADs=CommentEditor\xheditor_skin\nostyle\img\tag-h4.gifR0lGODlhCwAHAIAAAPLt65ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAJAAUAAAIMDGCGmhf/FnTHsYoKADs=CommentEditor\xheditor_skin\nostyle\img\tag-h5.gifR0lGODlhCwAHAIAAAPLt65ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAJAAUAAAIMDGChenm4YEQPNhkKADs=CommentEditor\xheditor_skin\nostyle\img\tag-h6.gifR0lGODlhCwAHAIAAAPLt65ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAJAAUAAAIMDGChenm4YEQUNhkKADs=CommentEditor\xheditor_skin\nostyle\img\tag-p.gifR0lGODlhBgAHAIAAAPLt65ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAEAAUAAAIGjA1wl9oFADs=CommentEditor\xheditor_skin\nostyle\img\tag-pre.gifR0lGODlhEAAHAIAAAP///5ejryH+HUJ1aWx0IHdpdGggR0lGIE1vdmllIEdlYXIgNC4wACH5
BAkAAAAALAAAAgAOAAUAAAIQjAOHiune0pGGPgBxjG+dAgA7CommentEditor\xheditor_skin\nostyle\img\waiting.gifR0lGODlhEAAQAKIAAP///wQEBJGRkSQkJO7u7gAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEA
AAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hpDcmVhdGVkIHdpdGggYWph
eGxvYWQuaW5mbwAh+QQACgAAACwAAAAAEAAQAAADOwi63P5uhBmUEFBOJQeJlNU1QjBIjIQt
KjAw5btsD63YDd4uWAybjIBgxzKtKDIGYQRAQi43J2RKdSQAACH5BAEKAAUALAEAAAAOABAA
AAM+WFo0sjCOMEgEGIgZAgEQ0CidgFmSQH1DpGCOG2py/brgZWu5vWEyUyOwcX00HUWlVxB1
KKZMZNiyKTYoRQIAIfkEAQoABQAsAgAAAAwAEAAAAz0IukDDEIggVLllhKAfwOBGfVhFbEMF
FtJogRKhCMIKi0GkbLRCVC/WzAUTaAKyGqaF2ywBHRSsBdRBZZEEACH5BAEKAAUALAIAAAAN
ABAAAAMzCLrc3iXKMoQaZOoxQtaA0AWeVlykJ07ASBKPQ8xznAbWQllprmipyg/IMU1yK2Ns
uUwAACH5BAEKAAUALAAAAQAQAA0AAAM8CLrcUDBK6ACZkVRB5WjaEylDIFiWGTJCMLxA6Z6K
IAdmi8+LjX+vEo1BaGk0rc9EsSJhCh/H5dlcPCcJACH5BAEKAAUALAAAAgAQAAwAAAM6CLpS
/o8J0CCkI4wFrMtBWHkFQAhgQHCCxoXn9AYzRwlEyGWykocDnIJUaIU0xEUm2CFOBD1i0QZI
AAA7CommentEditor\xheditor_skin\nostyle\img\wmp.gifR0lGODlhDwAPANU/APl1UxYto9GpBYmgYfhZMPz9/UBHhPnPw+Xm5oSFi3C1AZbTH62trezH
K/Ksm2aZB/ry0o6vDszMzOnKRyxMuRpXyfny6UtxAhcXF3h3d9jX2VaP3iaI516GE5qam+3W
cUtOQ2lpaR5t1ftLHnioK3RuVp/CXkt+0O/u8zNmy8TFwMbe9YJwIQYGBui+EUJXCHWDV3KK
KKKHFo+NhfVhO97LxtPcwxh24VSc6Uik6X+Vwx4eHoF/b+PDOYWNqP///yH5BAEAAD8ALAAA
AAAPAA8AAAa8wJ/Q4gAQIqSBCiVsHmijaETx6Aw0zhEBwF0sqBcY9kfbOmoajc2k6FxmCMcI
4LCEVAgUyvS4gBgAczUWICEZKgUIJB0vCYEAGoQgOy0hCCYxLzwnHDkIhJQ7EggfPQKbNxwr
FjsYDBIFFhOmGToVNzgoM4gFBR8TLjIJGhQVIhsrvRC/piUePz4BFSkpJxPXPS4sHgw/CBkB
ARQUDQ0uAiwJHghCCAkG4QICMiUzHmNCKAwJGf3qDOx+BAEAOw==CommentEditor\xheditor_skin\nostyle\img\wordimg.gifR0lGODlhIAAcAPf/AMvc8rbi//j//3mcxfb+/+Ln87XJ3qi1z4acx/b4/QI3ppiv2dDe8+Xt
+nKItMPV7+Hq+t/f3/X19QNVuXqZ0wVpx1N5w/j6/rKzstzq+rXN6tXa432lzPD6/9P0/+Xo
8dvb3JfE68Lq/qW92/Hu6wmI3ZiqypTF/6e74trg78zX7KqsrGmk/uLt+pG+6GV+rgAvoavV
/vT2+sPExXyroo2ky2Z7nLHC4+vx+vH0+a3F4a2vsPHy997j7urq6qq50FN5gbHc/uLk6Pn5
+VV6akt5xYy6xm6Twry8vNXV1e3v9rm7vSh1yDRjut7p9uXq9K7J5AB51tXi9eHp9qCho/H3
/muX08ns/zaI1O75/8TFyHy3/6nB4LrM6uTx/azd/9nl9m2LvZi038bS6Mvi9tzn9v7+/o+s
3Dppddzi7snZ783Nzunt9idjva7C37PG6O/v7+Tp9Pb4+Yum2Obr9DRctaepqOnv+P39/tPh
8W6EsUOh4+Xq9ubo7eXl5tzh79Lh9KrF4W+Yxr/S7e/x91ec/6bA3a250Pz///z8/AJJsubq
9tfk9lyg/xRpxG2Cr/P8/+vt8uPn83GeymB/xZ+50w4/qK6vsL7Bwdjc5aWop9/k70V2e7+8
uKzO1s7Oz1iP0oCiwWGLvUl6rVKBsEZxYfn7/rfH5r7N3LzH4hpXktvj6ViLjTqc4DdjSnGI
qwpHrq/JzBtOsWqv5L/j/6K019jf73Co/hx6z67H6a7Y4HK259Xd7sDc3BZauYCw4YO3/j1y
p2Gg3SFGWzBWaARbvpa00Ja625q30qSwy3KgkSVONePj5K/G3NHk99Ti86LR+5CmvIKf1Iah
2Ymh1OHs8rDW8drh8TF9zt/j8d/m9NDQ0EyHz1qEybDK61Ke3bC81oely4yty3Gio3Smuefu
+72+v8bY72eKu8jQ4Ozu8qi/1wAlnK7B2jBon/f5/Pj5/miKy/r5/XfB//79/mWHh2SHy/T0
+XGQz/b3+7re+115tFZvo7a3uP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2lu
PSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxu
czp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAg
NjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxu
czpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8
cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9i
ZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8x
LjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBl
L1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdp
bmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkI1MUVCRjVDMzNCMTFFMUFEMTZE
QkRDNzlFQjM5RDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkI1MUVCRjZDMzNCMTFF
MUFEMTZEQkRDNzlFQjM5RDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJ
RD0ieG1wLmlpZDoyQjUxRUJGM0MzM0IxMUUxQUQxNkRCREM3OUVCMzlEMCIgc3RSZWY6ZG9j
dW1lbnRJRD0ieG1wLmRpZDoyQjUxRUJGNEMzM0IxMUUxQUQxNkRCREM3OUVCMzlEMCIvPiA8
L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVu
ZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS
0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2c
m5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdm
ZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEw
Ly4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEA
AP8ALAAAAAAgABwAAAj/AP8J/IcHRJKDCBMqPBgh0cCHEDuRmEixIkUffvwwAzEjAsSHclBF
0wClpEkdKHW44YLDnz9TMvp0/PjPAAdDUHQECsSlpyFDI4K6QffDH7x3+YR82ubx4Y9jVap4
adHCSRkwjKRoBcSgxYKiFy6YUqdFzqem/1ZxEFDOCSNAz7iqmXvuwaBBDEyAFatkjb8ha/wI
DJWHTKs9ZLSFwMaNgZUmdSyo6QKgxl5ThLT48MFMC7N/k544K1HCmiRhxYoN6qYAhgUGbx5Y
Nho2gZZ+M5ZoWeJj0pQGe6KEAIOlQjExb5rAoMblDIrZYWvnS5CjTyRzk5w0mBVlVwtcxSZY
/0EhyxKKOdIWIPhhxpR7UxcSJJB378KS7BBcVPgGoIKjCUWIoUAdKFBAwRkIHHICCyzccgsw
QQTxhT6IICGIVd5UgMUvxVjRRhtzwECJGPbEM02CWzTSSCGFbPFFEPNA44+FTgDiDROOMDGB
BhbAotwCOJwiDT5hHHBFALTEcMIJSMYQw4yCMKLBOaBMMIEvd1CggCWWqOCSKdrUko4nRogg
QgBminBFBlAykMsUZyiiSBP+oKDAgPm4pCcP9ZRCgy4eeHBFoF5ACYA373RxZzz+2KIAO5To
6ZIMGxCxjCtEKDMOOUb0Uo0/lxxRlz9sFNHEDf7IQEkdN+Bhip6pgP8DxDDEoIEGJ0CwMk4s
/tghahkumWGGS/ToaQYdYxDiDwLJkKKKO8GMQoooA4TTTq9HAFCFP4ngoSceOcQRRw7+0HGP
Kfsc0Iw4xiBTSSXrGNDMGL2G4USw7xDCRg7evlPAGKlI4s8YLyQzxD088EDIwkoocQcimoiy
rUsX5CCJCinkkE8+OdjCiwynOGBCDnQsYjIfTzwRBx8Qv2LDyy+H4YADetT8yCM048zPIUpI
4rPPBQQdhwCaDCHB0cxQEUkmGzC9wdNQNy0JHSlXLe7KRD8ERz+kfuD112B/sMnYPZRt9h/Z
ELCC1pgIUIDZZqchdxp/1F13Cn+koHcK12Q/sQTbBJQjeAOEF044BA0gDsHijC/ut9Yz+EPA
5JRDYvnll3egeQdZcJ4FIuY8JAEGGFxi+umoo77D6qyzTnpAADs=