Skip to content

Instantly share code, notes, and snippets.

@whaleen
Created February 5, 2013 17:03
Show Gist options
  • Save whaleen/4715864 to your computer and use it in GitHub Desktop.
Save whaleen/4715864 to your computer and use it in GitHub Desktop.
Works with TXP 4.5
# Name: rss_admin_db_manager v4.3
# Type: Admin/Public side plugin
# Database management system.
# Author: Rob Sable
# URL: http://www.wilshireone.com/
# Recommended load order: 5
# .....................................................................
# This is a plugin for Textpattern - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# .....................................................................
YToxMTp7czo0OiJuYW1lIjtzOjIwOiJyc3NfYWRtaW5fZGJfbWFuYWdlciI7czo2OiJhdXRo
b3IiO3M6OToiUm9iIFNhYmxlIjtzOjEwOiJhdXRob3JfdXJpIjtzOjI3OiJodHRwOi8vd3d3
LndpbHNoaXJlb25lLmNvbS8iO3M6NzoidmVyc2lvbiI7czozOiI0LjMiO3M6MTE6ImRlc2Ny
aXB0aW9uIjtzOjI3OiJEYXRhYmFzZSBtYW5hZ2VtZW50IHN5c3RlbS4iO3M6NDoiY29kZSI7
czoxODcyODoiaWYgKEB0eHBpbnRlcmZhY2UgPT0gJ2FkbWluJykgew0KICAgIGFkZF9wcml2
cygncnNzX2RiX21hbicsICcxJyk7DQogICAgcmVnaXN0ZXJfdGFiKCJleHRlbnNpb25zIiwg
InJzc19kYl9tYW4iLCAiREIgTWFuYWdlciIpOw0KICAgIHJlZ2lzdGVyX2NhbGxiYWNrKCJy
c3NfZGJfbWFuIiwgInJzc19kYl9tYW4iKTsNCg0KICAgIGFkZF9wcml2cygncnNzX3NxbF9y
dW4nLCAnMScpOw0KICAgIHJlZ2lzdGVyX3RhYigiZXh0ZW5zaW9ucyIsICJyc3Nfc3FsX3J1
biIsICJSdW4gU1FMIik7DQogICAgcmVnaXN0ZXJfY2FsbGJhY2soInJzc19zcWxfcnVuIiwg
InJzc19zcWxfcnVuIik7DQoNCiAgICBhZGRfcHJpdnMoJ3Jzc19kYl9iaycsICcxJyk7DQog
ICAgcmVnaXN0ZXJfdGFiKCJleHRlbnNpb25zIiwgInJzc19kYl9iayIsICJEQiBCYWNrdXAi
KTsNCiAgICByZWdpc3Rlcl9jYWxsYmFjaygicnNzX2RiX2JrIiwgInJzc19kYl9iayIpOw0K
fQ0KDQpmdW5jdGlvbiByc3NfZGJfYmsoJGV2ZW50LCAkc3RlcCkgew0KICBnbG9iYWwgJHBy
ZWZzLCAkcnNzX2RiYmtfcGF0aCwgJHJzc19kYmJrX2R1bXAsICRyc3NfZGJia19teXNxbCwg
JHJzc19kYmJrX2xvY2ssICRyc3NfZGJia190eHBsb2csICRyc3NfZGJia19kZWJ1ZywgJERC
LCAkZmlsZV9iYXNlX3BhdGg7DQoNCiAgaWYgKCFpc3NldCgkcnNzX2RiYmtfbG9jaykpIHsN
CiAgICAkcnNzX2RiYmtfbG9jayA9ICIxIjsNCiAgICAkcnMgPSBzYWZlX2luc2VydCgndHhw
X3ByZWZzJywgIm5hbWU9J3Jzc19kYmJrX2xvY2snLCB2YWw9JyRyc3NfZGJia19sb2NrJywg
cHJlZnNfaWQ9JzEnIik7DQogIH0NCg0KICBpZiAoIWlzc2V0KCRyc3NfZGJia190eHBsb2cp
KSB7DQogICAgJHJzc19kYmJrX3R4cGxvZyA9ICIxIjsNCiAgICAkcnMgPSBzYWZlX2luc2Vy
dCgndHhwX3ByZWZzJywgIm5hbWU9J3Jzc19kYmJrX3R4cGxvZycsIHZhbD0nJHJzc19kYmJr
X3R4cGxvZycsIHByZWZzX2lkPScxJyIpOw0KICB9DQoNCiAgaWYgKCFpc3NldCgkcnNzX2Ri
YmtfZGVidWcpKSB7DQogICAgJHJzc19kYmJrX2RlYnVnID0gIjAiOw0KICAgICRycyA9IHNh
ZmVfaW5zZXJ0KCd0eHBfcHJlZnMnLCAibmFtZT0ncnNzX2RiYmtfZGVidWcnLCB2YWw9JyRy
c3NfZGJia19kZWJ1ZycsIHByZWZzX2lkPScxJyIpOw0KICB9DQoNCiAgaWYgKCFpc3NldCgk
cnNzX2RiYmtfcGF0aCkpIHsNCiAgICAkcnNzX2RiYmtfcGF0aCA9ICRmaWxlX2Jhc2VfcGF0
aDsNCiAgICAkcnMgPSBzYWZlX2luc2VydCgndHhwX3ByZWZzJywgIm5hbWU9J3Jzc19kYmJr
X3BhdGgnLCB2YWw9JyIuYWRkc2xhc2hlcygkcnNzX2RiYmtfcGF0aCkuIicsIHByZWZzX2lk
PScxJyIpOw0KICB9DQoNCiAgaWYgKCFpc3NldCgkcnNzX2RiYmtfZHVtcCkpIHsNCiAgICAk
cnNzX2RiYmtfZHVtcCA9ICJteXNxbGR1bXAiOw0KICAgICRycyA9IHNhZmVfaW5zZXJ0KCd0
eHBfcHJlZnMnLCAibmFtZT0ncnNzX2RiYmtfZHVtcCcsIHZhbD0nIi5hZGRzbGFzaGVzKCRy
c3NfZGJia19kdW1wKS4iJywgcHJlZnNfaWQ9JzEnIik7DQogIH0NCg0KICBpZiAoIWlzc2V0
KCRyc3NfZGJia19teXNxbCkpIHsNCiAgICAkcnNzX2RiYmtfbXlzcWwgPSAibXlzcWwiOw0K
ICAgICRycyA9IHNhZmVfaW5zZXJ0KCd0eHBfcHJlZnMnLCAibmFtZT0ncnNzX2RiYmtfbXlz
cWwnLCB2YWw9JyIuYWRkc2xhc2hlcygkcnNzX2RiYmtfbXlzcWwpLiInLCBwcmVmc19pZD0n
MSciKTsNCiAgfQ0KDQogIGluY2x1ZGUodHhwYXRoIC4gJy9pbmNsdWRlL3R4cF9wcmVmcy5w
aHAnKTsNCg0KICAkYmtwYXRoID0gJHJzc19kYmJrX3BhdGg7DQogICRpc3dpbiA9IHByZWdf
bWF0Y2goJy9XaW4vJyxwaHBfdW5hbWUoKSk7DQogICRteXNxbF9odXAgPSAnIC1oJy4kREIt
Pmhvc3QuJyAtdScuJERCLT51c2VyLicgLXAnLmVzY2FwZXNoZWxsY21kKCREQi0+cGFzcyk7
DQoJJHR4cGxvZ3BzID0gcHMoJ3Jzc19kYmJrX3R4cGxvZycpOw0KDQogIGlmIChwcygic2F2
ZSIpKSB7DQoNCiAgICAgIHBhZ2V0b3AoIkRCIE1hbmFnZXIiLCAiUHJlZmVyZW5jZXMgU2F2
ZWQiKTsNCiAgICAgIHNhZmVfdXBkYXRlKCJ0eHBfcHJlZnMiLCAidmFsID0gJyIuYWRkc2xh
c2hlcyhwcygncnNzX2RiYmtfcGF0aCcpKS4iJyIsIm5hbWUgPSAncnNzX2RiYmtfcGF0aCcg
YW5kIHByZWZzX2lkID0nMSciKTsNCiAgICAgIHNhZmVfdXBkYXRlKCJ0eHBfcHJlZnMiLCAi
dmFsID0gJyIuYWRkc2xhc2hlcyhwcygncnNzX2RiYmtfZHVtcCcpKS4iJyIsIm5hbWUgPSAn
cnNzX2RiYmtfZHVtcCcgYW5kIHByZWZzX2lkID0nMSciKTsNCiAgICAgIHNhZmVfdXBkYXRl
KCJ0eHBfcHJlZnMiLCAidmFsID0gJyIuYWRkc2xhc2hlcyhwcygncnNzX2RiYmtfbXlzcWwn
KSkuIiciLCJuYW1lID0gJ3Jzc19kYmJrX215c3FsJyBhbmQgcHJlZnNfaWQgPScxJyIpOw0K
ICAgICAgc2FmZV91cGRhdGUoInR4cF9wcmVmcyIsICJ2YWwgPSAnIi5wcygncnNzX2RiYmtf
bG9jaycpLiInIiwibmFtZSA9ICdyc3NfZGJia19sb2NrJyBhbmQgcHJlZnNfaWQgPScxJyIp
Ow0KICAgICAgaWYgKGlzc2V0KCR0eHBsb2dwcykpIHNhZmVfdXBkYXRlKCJ0eHBfcHJlZnMi
LCAidmFsID0gJyIucHMoJ3Jzc19kYmJrX3R4cGxvZycpLiInIiwibmFtZSA9ICdyc3NfZGJi
a190eHBsb2cnIGFuZCBwcmVmc19pZCA9JzEnIik7DQogICAgICBzYWZlX3VwZGF0ZSgidHhw
X3ByZWZzIiwgInZhbCA9ICciLnBzKCdyc3NfZGJia19kZWJ1ZycpLiInIiwibmFtZSA9ICdy
c3NfZGJia19kZWJ1ZycgYW5kIHByZWZzX2lkID0nMSciKTsNCiAgICAgIGhlYWRlcigiTG9j
YXRpb246IGluZGV4LnBocD9ldmVudD1yc3NfZGJfYmsiKTsNCg0KICB9ICBlbHNlIGlmIChn
cHMoImJrIikpIHsNCg0KCQkJJGJrX3RhYmxlID0gKGdwcygiYmtfdGFibGUiKSkgPyAiIC0t
dGFibGVzICIuZ3BzKCJia190YWJsZSIpLiIgIiA6ICIiOw0KCQkJJHRhYnBhdGggPSAoZ3Bz
KCJia190YWJsZSIpKSA/ICItIi5ncHMoImJrX3RhYmxlIikgOiAiIjsNCiAgICAgICRnemlw
ID0gZ3BzKCJnemlwIik7DQoJCQkkZmlsZW5hbWUgPSB0aW1lKCkuJy0nLiREQi0+ZGIuJHRh
YnBhdGg7DQogICAgICAkYmFja3VwX3BhdGggPSAkYmtwYXRoLicvJy4kZmlsZW5hbWUuJy5z
cWwnOw0KICAgICAgJGxvY2sgPSAoJHJzc19kYmJrX2xvY2spID8gIiIgOiAiIC0tc2tpcC1s
b2NrLXRhYmxlcyAtLXNraXAtYWRkLWxvY2tzICI7DQogICAgICBlY2hvICR0eHBsb2dwczsN
CiAgICAgICRub2xvZyA9ICgkcnNzX2RiYmtfdHhwbG9nKSA/ICIiIDogIiAtLWlnbm9yZS10
YWJsZT0iLiREQi0+ZGIuIi50eHBfbG9nICI7DQogICAgICAkbm9sb2cgPSAoaXNzZXQoJGJr
X3RhYmxlKSAmJiBncHMoImJrX3RhYmxlIikgPT0gInR4cF9sb2ciKSA/ICIiIDogJG5vbG9n
Ow0KDQogICAgICBpZigkZ3ppcCkgew0KICAgICAgICAkYmFja3VwX3BhdGguPSAnLmd6JzsN
CiAgICAgICAgJGJhY2t1cF9jbWQgPSAkcnNzX2RiYmtfZHVtcC4kbXlzcWxfaHVwLicgLVEg
LS1hZGQtZHJvcC10YWJsZSAnLiRsb2NrLiRub2xvZy4kREItPmRiLiRia190YWJsZS4nIHwg
Z3ppcCA+ICcuJGJhY2t1cF9wYXRoOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgJGJhY2t1
cF9jbWQgPSAkcnNzX2RiYmtfZHVtcC4kbXlzcWxfaHVwLicgLVEgLS1hZGQtZHJvcC10YWJs
ZSAnLiRsb2NrLiRub2xvZy4kREItPmRiLiRia190YWJsZS4nID4gJy4kYmFja3VwX3BhdGg7
DQogICAgICB9DQoJICAgICRia2RlYnVnID0gKCRyc3NfZGJia19kZWJ1ZykgPyAkYmFja3Vw
X2NtZCA6ICcnOw0KICAgICAgJGVycm9yID0gIiI7DQoNCiAgICAgIGlmIChmdW5jdGlvbl9l
eGlzdHMoJ3Bhc3N0aHJ1JykpIHsNCiAgICAgICAgcGFzc3RocnUoJGJhY2t1cF9jbWQsICRl
cnJvcik7DQogICAgICB9IGVsc2Ugew0KICAgICAgICAkZHVtcEl0PXBvcGVuKCRiYWNrdXBf
Y21kLCAncicpOw0KICAgICAgICBwY2xvc2UoJGR1bXBJdCk7DQogICAgICB9DQoNCiAgICAg
IGlmKCFpc193cml0YWJsZSgkYmtwYXRoKSkgew0KICAgICAgICBwYWdldG9wKCJEQiBNYW5h
Z2VyIiwgIkJBQ0tVUCBGQUlMRUQ6IGZvbGRlciBpcyBub3Qgd3JpdGFibGUiKTsNCiAgICAg
IH0gZWxzZWlmKCRlcnJvcikgew0KICAgICAgICB1bmxpbmsoJGJhY2t1cF9wYXRoKTsNCiAg
ICAgICAgcGFnZXRvcCgiREIgTWFuYWdlciIsICJCQUNLVVAgRkFJTEVELiAgRVJST1IgTk86
ICIuJGVycm9yKTsNCiAgICAgIH0gZWxzZSBpZighaXNfZmlsZSgkYmFja3VwX3BhdGgpKSB7
DQogICAgICAgIHBhZ2V0b3AoIkRCIE1hbmFnZXIiLCAiQkFDS1VQIEZBSUxFRC4gIEVSUk9S
IE5POiAiLiRlcnJvcik7DQogICAgICB9IGVsc2UgaWYoZmlsZXNpemUoJGJhY2t1cF9wYXRo
KSA9PSAwKSB7DQogICAgICAgIHVubGluaygkYmFja3VwX3BhdGgpOw0KICAgICAgICBwYWdl
dG9wKCJEQiBNYW5hZ2VyIiwgIkJBQ0tVUCBGQUlMRUQuICBFUlJPUiBOTzogIi4kZXJyb3Ip
Ow0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgcGFnZXRvcCgiREIgTWFuYWdlciIsICJCYWNr
ZWQgVXA6ICIuJERCLT5kYi4iIHRvICIuJGZpbGVuYW1lKTsNCiAgICAgIH0NCg0KICB9IGVs
c2UgaWYgKGdwcygiZG93bmxvYWQiKSkgew0KDQogICAgJGZuID0gZ3BzKCJkb3dubG9hZCIp
Ow0KICAgICRmaWxlX3BhdGggPSAkYmtwYXRoLicvJy4kZm47DQogICAgaGVhZGVyKCJQcmFn
bWE6IHB1YmxpYyIpOw0KICAgIGhlYWRlcigiRXhwaXJlczogMCIpOw0KICAgIGhlYWRlcigi
Q2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlLCBwb3N0LWNoZWNrPTAsIHByZS1jaGVj
az0wIik7DQogICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2ZvcmNlLWRv
d25sb2FkIik7DQogICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbSIpOw0KICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9kb3du
bG9hZCIpOw0KICAgIGlmIChzdWJzdHIoJGZuLCAtMikgPT0gImd6IikgaGVhZGVyKCJDb250
ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3ppcCIpOw0KICAgIGhlYWRlcigiQ29udGVudC1EaXNw
b3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Ii5iYXNlbmFtZSgkZmlsZV9wYXRoKS4i
OyIpOw0KICAgIGhlYWRlcigiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5Iik7
DQogICAgaGVhZGVyKCJDb250ZW50LUxlbmd0aDogIi5maWxlc2l6ZSgkZmlsZV9wYXRoKSk7
DQogICAgQHJlYWRmaWxlKCRmaWxlX3BhdGgpOw0KDQogIH0gZWxzZSBpZiAoZ3BzKCJyZXN0
b3JlIikpIHsNCg0KICAgIGlmKHN0cmlzdHIoZ3BzKCJyZXN0b3JlIiksICcuZ3onKSkgew0K
ICAgICAgJGJhY2t1cF9jbWQgPSAnZ3VuemlwIDwgJy4kYmtwYXRoLicvJy5ncHMoInJlc3Rv
cmUiKS4nIHwgJy4kcnNzX2RiYmtfbXlzcWwuJG15c3FsX2h1cC4nICcuJERCLT5kYjsNCiAg
ICB9IGVsc2Ugew0KICAgICAgJGJhY2t1cF9jbWQgPSAkcnNzX2RiYmtfbXlzcWwuJG15c3Fs
X2h1cC4nICcuJERCLT5kYi4nIDwgJy4kYmtwYXRoLicvJy5ncHMoInJlc3RvcmUiKTsNCiAg
ICB9DQoNCiAgICAkYmtkZWJ1ZyA9ICgkcnNzX2RiYmtfZGVidWcpID8gJGJhY2t1cF9jbWQg
OiAnJzsNCiAgICAkZXJyb3IgPSAiIjsNCg0KICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ3Bh
c3N0aHJ1JykpIHsNCiAgICAgIHBhc3N0aHJ1KCRiYWNrdXBfY21kLCAkZXJyb3IpOw0KICAg
IH0gZWxzZSB7DQogICAgICAkZHVtcEl0PXBvcGVuKCRiYWNrdXBfY21kLCAncicpOw0KICAg
ICAgcGNsb3NlKCRkdW1wSXQpOw0KICAgIH0NCg0KICAgIGlmKCRlcnJvcikgew0KICAgICAg
cGFnZXRvcCgiREIgTWFuYWdlciIsICJGQUlMRUQgVE8gUkVTVE9SRTogIi4kZXJyb3IpOw0K
ICAgIH0gZWxzZSB7DQogICAgICBwYWdldG9wKCJEQiBNYW5hZ2VyIiwgIlJlc3RvcmVkOiAi
LmdwcygicmVzdG9yZSIpLiIgdG8gIi4kREItPmRiKTsNCiAgICB9DQoNCiAgfSBlbHNlIGlm
KGdwcygiZGVsZXRlIikpIHsNCg0KICAgICAgaWYoaXNfZmlsZSgkYmtwYXRoLicvJy5ncHMo
ImRlbGV0ZSIpKSkgew0KICAgICAgICBpZighdW5saW5rKCRia3BhdGguJy8nLmdwcygiZGVs
ZXRlIikpKSB7DQogICAgICAgICAgcGFnZXRvcCgiREIgTWFuYWdlciIsICJVbmFibGUgdG8g
RGVsZXRlOiAiLmdwcygiZGVsZXRlIikpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAg
IHBhZ2V0b3AoIkRCIE1hbmFnZXIiLCAiRGVsZXRlZDogIi5ncHMoImRlbGV0ZSIpKTsNCiAg
ICAgICAgfQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgcGFnZXRvcCgiREIgTWFuYWdlciIs
ICJVbmFibGUgdG8gRGVsZXRlOiAiLmdwcygiZGVsZXRlIikpOw0KICAgICAgfQ0KDQogIH0g
ZWxzZSB7DQogICAgcGFnZXRvcCgiREIgQmFja3VwIik7DQogIH0NCg0KICAkZ3pwID0gKCEk
aXN3aW4pID8gIiB8ICIuaHJlZignZ3ppcHBlZCBmaWxlJywgImluZGV4LnBocD9ldmVudD1y
c3NfZGJfYmsmYW1wO2JrPSREQi0+ZGImYW1wO2d6aXA9MSIpIDogIiI7DQoNCiAgJHNxbHZl
cnNpb24gPSBnZXRSb3coIlNFTEVDVCBWRVJTSU9OKCkgQVMgdmVyc2lvbiIpOw0KICAkc3Fs
diA9IGV4cGxvZGUoIi0iLCAkc3FsdmVyc2lvblsndmVyc2lvbiddKTsNCiAgJGFsbG93bm9s
b2dzID0gKChmbG9hdCkkc3FsdlswXSA+PSAoZmxvYXQpIjQuMS45IikgPyB0ZGEoZ1R4dCgn
SW5jbHVkZSB0eHBfbG9nOicpLCAnIHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0O3ZlcnRpY2Fs
LWFsaWduOm1pZGRsZSInKS50ZGEoeWVzbm9SYWRpbygicnNzX2RiYmtfdHhwbG9nIiwgJHJz
c19kYmJrX3R4cGxvZyksICcgc3R5bGU9InRleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGln
bjptaWRkbGUiJykgOiAnJzsNCg0KCWlmIChpc3NldCgkYmtkZWJ1ZykgJiYgJGJrZGVidWcp
IGVjaG8gJzxwIGFsaWduPSJjZW50ZXIiPicuJGJrZGVidWcuJzwvcD4nOw0KDQogIGVjaG8N
CiAgc3RhcnRUYWJsZSgnbGlzdCcpLg0KICBmb3JtKA0KICB0cigNCiAgICB0ZGEoZ1R4dCgn
TG9jayBUYWJsZXM6JyksICcgc3R5bGU9InRleHQtYWxpZ246cmlnaHQ7dmVydGljYWwtYWxp
Z246bWlkZGxlIicpLnRkYSh5ZXNub1JhZGlvKCJyc3NfZGJia19sb2NrIiwgJHJzc19kYmJr
X2xvY2spLCAnIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246bWlkZGxl
IicpLg0KICAgICRhbGxvd25vbG9ncy4NCiAgICB0ZGEoZ1R4dCgnRGVidWcgTW9kZTonKSwg
JyBzdHlsZT0idGV4dC1hbGlnbjpyaWdodDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGUiJykudGRh
KHllc25vUmFkaW8oInJzc19kYmJrX2RlYnVnIiwgJHJzc19kYmJrX2RlYnVnKSwgJyBzdHls
ZT0idGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZSInKS4NCiAgICB0ZGEo
ZklucHV0KCJzdWJtaXQiLCJzYXZlIixnVHh0KCJzYXZlX2J1dHRvbiIpLCJwdWJsaXNoIiku
ZUlucHV0KCJyc3NfZGJfYmsiKS5zSW5wdXQoJ3NhdmVwcmVmcycpLCAiIGNvbHNwYW49XCIy
XCIgY2xhc3M9XCJub2xpbmVcIiIpDQogICkuDQogIHRyKA0KICAgIHRkYShnVHh0KCdCYWNr
dXAgUGF0aDonKSwgJyBzdHlsZT0idGV4dC1hbGlnbjpyaWdodDt2ZXJ0aWNhbC1hbGlnbjpt
aWRkbGUiJykudGRhKHRleHRfaW5wdXQoInJzc19kYmJrX3BhdGgiLCRyc3NfZGJia19wYXRo
LCc1MCcpLCAnIGNvbHNwYW49IjE1IicpDQogICkuDQogIHRyKA0KICAgIHRkYShnVHh0KCdt
eXNxbGR1bXAgUGF0aDonKSwgJyBzdHlsZT0idGV4dC1hbGlnbjpyaWdodDt2ZXJ0aWNhbC1h
bGlnbjptaWRkbGUiJykudGRhKHRleHRfaW5wdXQoInJzc19kYmJrX2R1bXAiLCRyc3NfZGJi
a19kdW1wLCc1MCcpLCAnIGNvbHNwYW49IjE1IicpDQogICkuDQogIHRyKA0KICAgIHRkYShn
VHh0KCdteXNxbCBQYXRoOicpLCAnIHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0O3ZlcnRpY2Fs
LWFsaWduOm1pZGRsZSInKS50ZGEodGV4dF9pbnB1dCgicnNzX2RiYmtfbXlzcWwiLCRyc3Nf
ZGJia19teXNxbCwnNTAnKSwgJyBjb2xzcGFuPSIxNSInKSkNCiAgKS5lbmRUYWJsZSgpLg0K
ICBzdGFydFRhYmxlKCJsaXN0IikuDQogIHRyKA0KICAgIHRkYShoZWQoJ0NyZWF0ZSBhIG5l
dyBiYWNrdXAgb2YgdGhlICcuJERCLT5kYi4nIGRhdGFiYXNlJy5ici4NCiAgICBocmVmKCcu
c3FsIGZpbGUnLCAiaW5kZXgucGhwP2V2ZW50PXJzc19kYl9iayZhbXA7Yms9JERCLT5kYiIp
LiRnenAsMyksJyBjb2xzcGFuPSI3IiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7IicpDQog
ICAgKS4NCiAgdHIodGRjcyhoZWQoIlByZXZpb3VzIEJhY2t1cCBGaWxlcyIsMSksNykpLg0K
ICB0cigNCiAgICBoY2VsbCgiTm8uIikuDQogICAgaGNlbGwoIkJhY2t1cCBGaWxlIE5hbWUi
KS4NCiAgICBoY2VsbCgiQmFja3VwIERhdGUvVGltZSIpLg0KICAgIGhjZWxsKCJCYWNrdXAg
RmlsZSBTaXplIikuDQogICAgaGNlbGwoIiIpLg0KICAgIGhjZWxsKCIiKS4NCiAgICBoY2Vs
bCgiIikNCiAgKTsNCg0KICAkdG90YWxzaXplID0gMDsNCiAgJG5vID0gMDsNCiAgaWYoIWlz
X2ZvbGRlcl9lbXB0eSgkYmtwYXRoKSkgew0KICAgIGlmICgkaGFuZGxlID0gb3BlbmRpcigk
YmtwYXRoKSkgew0KICAgICAgJGRhdGFiYXNlX2ZpbGVzID0gYXJyYXkoKTsNCiAgICAgIHdo
aWxlIChmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpcigkaGFuZGxlKSkpIHsNCiAgICAgICAg
aWYgKCgkZmlsZSAhPSAnLicgJiYgJGZpbGUgIT0gJy4uJykgJiYgKHN1YnN0cigkZmlsZSwg
LTQpID09ICIuc3FsIiB8fCBzdWJzdHIoJGZpbGUsIC03KSA9PSAiLnNxbC5neiIpKSB7DQog
ICAgICAgICAgJGRhdGFiYXNlX2ZpbGVzW10gPSAkZmlsZTsNCiAgICAgICAgfQ0KICAgICAg
fQ0KICAgICAgY2xvc2VkaXIoJGhhbmRsZSk7DQogICAgICBmb3IoJGkgPSAoc2l6ZW9mKCRk
YXRhYmFzZV9maWxlcyktMSk7ICRpID4gLTE7ICRpLS0pIHsNCiAgICAgICAgJG5vKys7DQog
ICAgICAgICRzdHlsZSA9ICgkbm8lMiA9PSAwKSA/ICcgc3R5bGU9ImJhY2tncm91bmQtY29s
b3I6ICNlZWU7IicgOiAnJzsNCiAgICAgICAgJGRhdGFiYXNlX3RleHQgPSBzdWJzdHIoJGRh
dGFiYXNlX2ZpbGVzWyRpXSwgMTEpOw0KICAgICAgICAkZGF0ZV90ZXh0ID0gc3RyZnRpbWUo
IiVBLCAlQiAlZCwgJVkgWyVIOiVNOiVTXSIsIHN1YnN0cigkZGF0YWJhc2VfZmlsZXNbJGld
LCAwLCAxMCkpOw0KICAgICAgICAkc2l6ZV90ZXh0ID0gZmlsZXNpemUoJGJrcGF0aC4nLycu
JGRhdGFiYXNlX2ZpbGVzWyRpXSk7DQogICAgICAgICR0b3RhbHNpemUgKz0gJHNpemVfdGV4
dDsNCg0KICAgICAgICBlY2hvDQogICAgICAgIHRyKA0KICAgICAgICAgIHRkKCRubykuDQog
ICAgICAgICAgdGQoJGRhdGFiYXNlX3RleHQpLg0KICAgICAgICAgIHRkKCRkYXRlX3RleHQp
Lg0KICAgICAgICAgIHRkKHByZXR0eUZpbGVTaXplKCRzaXplX3RleHQpKS4NCiAgICAgICAg
ICAnPHRkPjxhIGhyZWY9ImluZGV4LnBocD9ldmVudD1yc3NfZGJfYmsmYW1wO2Rvd25sb2Fk
PScuJGRhdGFiYXNlX2ZpbGVzWyRpXS4nIj5Eb3dubG9hZDwvYT48L3RkPicuDQogICAgICAg
ICAgJzx0ZD48YSBocmVmPSJpbmRleC5waHA/ZXZlbnQ9cnNzX2RiX2JrJmFtcDtyZXN0b3Jl
PScuJGRhdGFiYXNlX2ZpbGVzWyRpXS4nIiAgb25jbGljaz0icmV0dXJuIHZlcmlmeShcJycu
Z1R4dCgnYXJlX3lvdV9zdXJlJykuJ1wnKSI+UmVzdG9yZTwvYT48L3RkPicuDQogICAgICAg
ICAgJzx0ZD48YSBocmVmPSJpbmRleC5waHA/ZXZlbnQ9cnNzX2RiX2JrJmFtcDtkZWxldGU9
Jy4kZGF0YWJhc2VfZmlsZXNbJGldLiciICBvbmNsaWNrPSJyZXR1cm4gdmVyaWZ5KFwnJy5n
VHh0KCdhcmVfeW91X3N1cmUnKS4nXCcpIj5EZWxldGU8L2E+PC90ZD4nLCAkc3R5bGUNCiAg
ICAgICAgKTsNCiAgICAgIH0NCg0KICAgIGVjaG8NCiAgICAgIHRyKA0KICAgICAgICB0YWco
JG5vLiIgQmFja3VwIEZpbGUocykiLCAidGgiLCAnIGNvbHNwYW49IjMiJykuDQogICAgICAg
IHRhZyhwcmV0dHlGaWxlU2l6ZSgkdG90YWxzaXplKSwgInRoIiwgJyBjb2xzcGFuPSI0Iicp
DQogICAgICApOw0KDQogICAgfSBlbHNlIHsNCiAgICAgIGVjaG8NCiAgICAgIHRyKA0KICAg
ICAgICB0ZGEoaGVkKCdZb3UgaGF2ZSBubyBkYXRhYmFzZSBiYWNrdXBzJy5ici4nQ3JlYXRl
IGEgbmV3IGJhY2t1cCBvZiB0aGUgJy4kREItPmRiLicgZGF0YWJhc2UnLmJyLg0KICAgICAg
ICBocmVmKCcuc3FsIGZpbGUnLCAiaW5kZXgucGhwP2V2ZW50PXJzc19kYl9iayZhbXA7Yms9
JERCLT5kYiIpLiRnenAsMyksJyBjb2xzcGFuPSI3IiBzdHlsZT0idGV4dC1hbGlnbjpjZW50
ZXI7IicpDQogICAgICAgICk7DQogICAgfQ0KICB9IGVsc2Ugew0KICAgICAgZWNobw0KICAg
ICAgdHIoDQogICAgICAgIHRkYShoZWQoJ1lvdSBoYXZlIG5vIGRhdGFiYXNlIGJhY2t1cHMn
LmJyLidDcmVhdGUgYSBuZXcgYmFja3VwIG9mIHRoZSAnLiREQi0+ZGIuJyBkYXRhYmFzZScu
YnIuDQogICAgICAgIGhyZWYoJy5zcWwgZmlsZScsICJpbmRleC5waHA/ZXZlbnQ9cnNzX2Ri
X2JrJmFtcDtiaz0kREItPmRiIikuJGd6cCwzKSwnIGNvbHNwYW49IjciIHN0eWxlPSJ0ZXh0
LWFsaWduOmNlbnRlcjsiJykNCiAgICAgICAgKTsNCiAgfQ0KICBlY2hvIGVuZFRhYmxlKCk7
DQp9DQoNCmZ1bmN0aW9uIHJzc19kYl9tYW4oJGV2ZW50LCAkc3RlcCkgew0KICBnbG9iYWwg
JERCOw0KDQogIGlmIChncHMoIm9wdF90YWJsZSIpKSB7DQogICAgJHF1ZXJ5ID0gIk9QVElN
SVpFIFRBQkxFICIuZ3BzKCJvcHRfdGFibGUiKTsNCiAgICBzYWZlX3F1ZXJ5KCRxdWVyeSk7
DQogICAgcGFnZXRvcCgiREIgTWFuYWdlciIsICJPcHRpbXplZDogIi5ncHMoIm9wdF90YWJs
ZSIpKTsNCiAgfSBlbHNlICBpZiAoZ3BzKCJyZXBfdGFibGUiKSkgew0KICAgICRxdWVyeSA9
ICJSRVBBSVIgVEFCTEUgIi5ncHMoInJlcF90YWJsZSIpOw0KICAgIHNhZmVfcXVlcnkoJHF1
ZXJ5KTsNCiAgICBwYWdldG9wKCJEQiBNYW5hZ2VyIiwgIlJlcGFpcmVkOiAiLmdwcygicmVw
X3RhYmxlIikpOw0KCX0gZWxzZSAJaWYgKGdwcygicmVwX2FsbCIpKSB7DQoJCSRxdWVyeSA9
ICJSRVBBSVIgVEFCTEUgIi5ncHMoInJlcF9hbGwiKTsNCgkJc2FmZV9xdWVyeSgkcXVlcnkp
Ow0KCQlwYWdldG9wKCJEQiBNYW5hZ2VyIiwgIlJlcGFpcmVkIEFsbCBUYWJsZXMiKTsNCiAg
fSBlbHNlICBpZiAoZ3BzKCJkcm9wX3RhYmxlIikpIHsNCiAgICAkcXVlcnkgPSAiRFJPUCBU
QUJMRSAiLmdwcygiZHJvcF90YWJsZSIpOw0KICAgIHNhZmVfcXVlcnkoJHF1ZXJ5KTsNCiAg
ICBwYWdldG9wKCJEQiBNYW5hZ2VyIiwgIkRyb3BwZWQ6ICIuZ3BzKCJkcm9wX3RhYmxlIikp
Ow0KICB9IGVsc2Ugew0KICAgIHBhZ2V0b3AoIkRhdGFiYXNlIE1hbmFnZXIiKTsNCiAgfQ0K
DQoJJHNxbHZlcnNpb24gPSBnZXRSb3coIlNFTEVDVCBWRVJTSU9OKCkgQVMgdmVyc2lvbiIp
Ow0KCSRoZWFkYXR0cyA9ICcgc3R5bGU9ImNvbG9yOiMwMDY5RDE7cGFkZGluZzowIDEwcHgg
MCA1cHg7Iic7DQoNCgllY2hvDQoJc3RhcnRUYWJsZSgnZGJpbmZvJykuDQoJdHIoDQoJCWhj
ZWxsKCJEYXRhYmFzZSBIb3N0OiIpLg0KCQl0ZGEoJERCLT5ob3N0LCAkaGVhZGF0dHMpLg0K
CQloY2VsbCgiRGF0YWJhc2UgTmFtZToiKS4NCgkJdGRhKCREQi0+ZGIsICRoZWFkYXR0cyku
DQoJCWhjZWxsKCJEYXRhYmFzZSBVc2VyOiIpLg0KCQl0ZGEoJERCLT51c2VyLCAkaGVhZGF0
dHMpLg0KCQloY2VsbCgiRGF0YWJhc2UgVmVyc2lvbjoiKS4NCgkJdGRhKCJNeVNRTCB2Ii4k
c3FsdmVyc2lvblsndmVyc2lvbiddLCAkaGVhZGF0dHMpDQoJKS4NCgllbmRUYWJsZSgpLmJy
Ow0KDQoJZWNobw0KCXN0YXJ0VGFibGUoJ2xpc3QnKS4NCgl0cigNCgkJaGNlbGwoIk5vLiIp
Lg0KCQloY2VsbCgiVGFibGVzIikuDQoJCWhjZWxsKCJSZWNvcmRzIikuDQoJCWhjZWxsKCJE
YXRhIFVzYWdlIikuDQoJCWhjZWxsKCJJbmRleCBVc2FnZSIpLg0KCQloY2VsbCgiVG90YWwg
VXNhZ2UiKS4NCgkJaGNlbGwoIk92ZXJoZWFkIikuDQoJCS8vaGNlbGwoIk9wdGltaXplIiku
DQoJCWhjZWxsKCJFcnJObyIpLg0KCQloY2VsbCgiUmVwYWlyIikuDQoJCWhjZWxsKCJCYWNr
dXAiKS4NCgkJaGNlbGwoIkRyb3AiKQ0KCSk7DQoNCgkJaWYoJHNxbHZlcnNpb25bJ3ZlcnNp
b24nXSA+PSAnMy4yMycpIHsNCgkJCSRubyA9IDA7DQoJCQkkcm93X3VzYWdlID0gMDsNCgkJ
CSRkYXRhX3VzYWdlID0gMDsNCgkJCSRpbmRleF91c2FnZSA9ICAwOw0KCQkJJG92ZXJoZWFk
X3VzYWdlID0gMDsNCgkJCSRhbGx0YWJzID0gYXJyYXkoKTsNCg0KCQkJJHRhYmxlc3N0YXR1
cyA9IGdldFJvd3MoIlNIT1cgVEFCTEUgU1RBVFVTIik7DQoJCQlmb3JlYWNoKCR0YWJsZXNz
dGF0dXMgYXMgICR0YWJsZXN0YXR1cykgew0KCQkJCWV4dHJhY3QoJHRhYmxlc3RhdHVzKTsN
Cg0KCQkJCSRxID0gIlNIT1cgS0VZUyBGUk9NIGAiLiROYW1lLiJgIjsNCgkJCQlzYWZlX3F1
ZXJ5KCRxKTsNCgkJCQkkbXlzcWxFcnJubyA9IG15c3FsX2Vycm5vKCk7DQoJCQkJJGFsbHRh
YnNbXSA9ICROYW1lOw0KDQoJCQkJJGNvbG9yID0gKCRteXNxbEVycm5vICE9IDApID8gJyBz
dHlsZT0iY29sb3I6I0QxMDAwMDsiJyA6ICcgc3R5bGU9ImNvbG9yOiM0QjlGMDA7Iic7DQoJ
CQkJJGNvbG9yMiA9ICgkRGF0YV9mcmVlID4gMCkgPyAnIHN0eWxlPSJjb2xvcjojRDEwMDAw
OyInIDogJyBzdHlsZT0iY29sb3I6IzRCOUYwMDsiJzsNCgkJCQkkc3R5bGUgPSAoJG5vJTIg
PT0gMCkgPyAnIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyInIDogJyc7DQoNCgkJ
CQkkbm8rKzsNCgkJCQkkcm93X3VzYWdlICs9ICRSb3dzOw0KCQkJCSRkYXRhX3VzYWdlICs9
ICREYXRhX2xlbmd0aDsNCgkJCQkkaW5kZXhfdXNhZ2UgKz0gICRJbmRleF9sZW5ndGg7DQoJ
CQkJJG92ZXJoZWFkX3VzYWdlICs9ICREYXRhX2ZyZWU7DQoNCgkJCQllY2hvDQoJCQkJdHIo
DQoJCQkJCXRkKCRubykuDQoJCQkJCXRkKGhyZWYoJE5hbWUsICJpbmRleC5waHA/ZXZlbnQ9
cnNzX3NxbF9ydW4mYW1wO3RuPSIuJE5hbWUpKS4NCgkJCQkJdGQoIiAiLiRSb3dzKS4NCgkJ
CQkJdGQocHJldHR5RmlsZVNpemUoJERhdGFfbGVuZ3RoKSkuDQoJCQkJCXRkKHByZXR0eUZp
bGVTaXplKCRJbmRleF9sZW5ndGgpKS4NCgkJCQkJdGQocHJldHR5RmlsZVNpemUoJERhdGFf
bGVuZ3RoICsgJEluZGV4X2xlbmd0aCkpLg0KCQkJCQl0ZGEocHJldHR5RmlsZVNpemUoJERh
dGFfZnJlZSksICRjb2xvcjIpLg0KCQkJCQl0ZGEoIiAiLiRteXNxbEVycm5vLCAkY29sb3Ip
Lg0KCQkJCQl0ZChocmVmKCJSZXBhaXIiLCAiaW5kZXgucGhwP2V2ZW50PXJzc19kYl9tYW4m
YW1wO3JlcF90YWJsZT0iLiROYW1lKSkuDQoJCQkJCXRkKGhyZWYoIkJhY2t1cCIsICJpbmRl
eC5waHA/ZXZlbnQ9cnNzX2RiX2JrJmFtcDtiaz0xJmFtcDtia190YWJsZT0iLiROYW1lKS4N
CgkJCQkJJzx0ZD48YSBocmVmPSJpbmRleC5waHA/ZXZlbnQ9cnNzX2RiX21hbiZhbXA7ZHJv
cF90YWJsZT0nLiROYW1lLiciICBvbmNsaWNrPSJyZXR1cm4gdmVyaWZ5KFwnJy5nVHh0KCdh
cmVfeW91X3N1cmUnKS4nXCcpIj5Ecm9wPC9hPjwvdGQ+JyksICRzdHlsZQ0KCQkJCSk7DQoJ
CQl9DQoNCgkJCWVjaG8NCgkJCXRyKA0KCQkJCWhjZWxsKCJUb3RhbCIpLg0KCQkJCWhjZWxs
KCRuby4iIFRhYmxlcyIpLg0KCQkJCWhjZWxsKG51bWJlcl9mb3JtYXQoJHJvd191c2FnZSkp
Lg0KCQkJCWhjZWxsKHByZXR0eUZpbGVTaXplKCRkYXRhX3VzYWdlKSkuDQoJCQkJaGNlbGwo
cHJldHR5RmlsZVNpemUoJGluZGV4X3VzYWdlKSkuDQoJCQkJaGNlbGwocHJldHR5RmlsZVNp
emUoJGRhdGFfdXNhZ2UgKyAkaW5kZXhfdXNhZ2UpKS4NCgkJCQloY2VsbChwcmV0dHlGaWxl
U2l6ZSgkb3ZlcmhlYWRfdXNhZ2UpKS4NCgkJCQloY2VsbCgpLg0KCQkJCXRkYShocmVmKHN0
cm9uZygiUmVwYWlyIEFsbCIpLCAiaW5kZXgucGhwP2V2ZW50PXJzc19kYl9tYW4mYW1wO3Jl
cF9hbGw9Ii5pbXBsb2RlKCIsIiwkYWxsdGFicykpLCAnIHN0eWxlPSJ0ZXh0LWFsaWduOmNl
bnRlcjsiIGNvbHNwYW49IjMiJyksICRzdHlsZQ0KCQkJKTsNCg0KCQl9IGVsc2Ugew0KCQkJ
ZWNobw0KCQkJdHIoDQoJCQkJdGRhKCJDb3VsZCBOb3QgU2hvdyBUYWJsZSBTdGF0dXMgQmVj
YXVzZSBZb3VyIE1ZU1FMIFZlcnNpb24gSXMgTG93ZXIgVGhhbiAzLjIzLiIsICcgc3R5bGU9
InRleHQtYWxpZ246Y2VudGVyOyIgY29sc3Bhbj0xNCInKQ0KCQkJKTsNCgkJfQ0KDQplY2hv
DQoJdHIoDQoJCXRkYShocmVmKCJSdW4gU1FMIiwgImluZGV4LnBocD9ldmVudD1yc3Nfc3Fs
X3J1biIpLCAnIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiIGNvbHNwYW49IjE0IicpDQoJ
KS4NCgllbmRUYWJsZSgpOw0KfQ0KDQpmdW5jdGlvbiByc3Nfc3FsX3J1bigkZXZlbnQsICRz
dGVwKSB7DQogIHBhZ2V0b3AoIlJ1biBTUUwgUXVlcnkiKTsNCiAgJHRleHQ9IiI7DQogICRy
c2RbXT0iIjsNCiAgJHNxbF9xdWVyeTI9IiI7DQoNCiAgaWYgKGdwcygidG4iKSkgew0KICAg
ICR0cSA9ICJzZWxlY3QgKiBmcm9tICIuZ3BzKCJ0biIpOw0KICB9DQoNCiAgaWYgKGdwcygi
c3FsX3F1ZXJ5IikgfHwgZ3BzKCJ0biIpKSB7DQogICAgJHNxbF9xdWVyaWVzMiA9IChncHMo
InNxbF9xdWVyeSIpKSA/IHRyaW0oZ3BzKCJzcWxfcXVlcnkiKSkgOiB0cmltKCR0cSk7DQog
ICAgJHRvdGFscXVlcnljb3VudCA9IDA7DQogICAgJHN1Y2Nlc3NxdWVyeSA9IDA7DQogICAg
aWYoJHNxbF9xdWVyaWVzMikgew0KICAgICAgJHNxbF9xdWVyaWVzID0gYXJyYXkoKTsNCiAg
ICAgICRzcWxfcXVlcmllczIgPSBleHBsb2RlKCJcbiIsICRzcWxfcXVlcmllczIpOw0KICAg
ICAgZm9yZWFjaCgkc3FsX3F1ZXJpZXMyIGFzICRzcWxfcXVlcnkyKSB7DQogICAgICAgICRz
cWxfcXVlcnkyID0gdHJpbShzdHJpcHNsYXNoZXMoJHNxbF9xdWVyeTIpKTsNCiAgICAgICAg
JHNxbF9xdWVyeTIgPSBwcmVnX3JlcGxhY2UoIi9bXHJcbl0rLyIsICcnLCAkc3FsX3F1ZXJ5
Mik7DQogICAgICAgIGlmKCFlbXB0eSgkc3FsX3F1ZXJ5MikpIHsNCiAgICAgICAgICAkc3Fs
X3F1ZXJpZXNbXSA9ICRzcWxfcXVlcnkyOw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAg
IGZvcmVhY2goJHNxbF9xdWVyaWVzIGFzICRzcWxfcXVlcnkpIHsNCiAgICAgICAgaWYgKHBy
ZWdfbWF0Y2goIi9eXFxzKihpbnNlcnR8dXBkYXRlfHJlcGxhY2V8ZGVsZXRlfGNyZWF0ZXx0
cnVuY2F0ZSkgL2kiLCRzcWxfcXVlcnkpKSB7DQogICAgICAgICAgJHJ1bl9xdWVyeSA9IHNh
ZmVfcXVlcnkoJHNxbF9xdWVyeSk7DQogICAgICAgICAgaWYoISRydW5fcXVlcnkpIHsNCiAg
ICAgICAgICAgICR0ZXh0IC49IGdyYWYobXlzcWxfZXJyb3IoKSwgJyBzdHlsZT0iY29sb3I6
I0QxMDAwMDsiJyk7DQogICAgICAgICAgICAkdGV4dCAuPSBncmFmKCRzcWxfcXVlcnksICcg
c3R5bGU9ImNvbG9yOiNEMTAwMDA7IicpOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAg
ICAgICAkc3VjY2Vzc3F1ZXJ5Kys7DQogICAgICAgICAgICAkdGV4dCAuPSBncmFmKCRzcWxf
cXVlcnksICcgc3R5bGU9ImNvbG9yOiM0QjlGMDA7IicpOw0KICAgICAgICAgIH0NCiAgICAg
ICAgICAkdG90YWxxdWVyeWNvdW50Kys7DQogICAgICAgIH0gZWxzZWlmIChwcmVnX21hdGNo
KCIvXlxccyooc2VsZWN0KSAvaSIsJHNxbF9xdWVyeSkpIHsNCiAgICAgICAgICAkcnVuX3F1
ZXJ5ID0gc2FmZV9xdWVyeSgkc3FsX3F1ZXJ5KTsNCiAgICAgICAgICBpZigkcnVuX3F1ZXJ5
KSAkc3VjY2Vzc3F1ZXJ5Kys7DQogICAgICAgICAgICBpZiAoJHJ1bl9xdWVyeSAmJiBteXNx
bF9udW1fcm93cygkcnVuX3F1ZXJ5KSA+IDApIHsNCg0KICAgICAgICAgICAgICAvKiBnZXQg
Y29sdW1uIG1ldGFkYXRhICovDQogICAgICAgICAgICAgICRpID0gMDsNCiAgICAgICAgICAg
ICAgJGhlYWRlcnMgPSAiIjsNCiAgICAgICAgICAgICAgd2hpbGUgKCRpIDwgbXlzcWxfbnVt
X2ZpZWxkcygkcnVuX3F1ZXJ5KSkgew0KICAgICAgICAgICAgICAgICAkbWV0YSA9IG15c3Fs
X2ZldGNoX2ZpZWxkKCRydW5fcXVlcnksICRpKTsNCiAgICAgICAgICAgICAgICAgJGhlYWRl
cnMuPWhjZWxsKCRtZXRhLT5uYW1lKTsNCiAgICAgICAgICAgICAgICAgJGkrKzsNCiAgICAg
ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICRyc2RbXSA9DQogICAgICAgICAgICAgICc8
ZGl2IGNsYXNzPSJzY3JvbGxXcmFwcGVyIj4nLnN0YXJ0VGFibGUoJ2xpc3QnLCAnJywgJ3Nj
cm9sbGFibGUnKS4NCiAgICAgICAgICAgICAgJzx0aGVhZD4nLnRyKCRoZWFkZXJzKS4nPC90
aGVhZD48dGJvZHk+JzsNCg0KICAgICAgICAgICAgICB3aGlsZSAoJGEgPSBteXNxbF9mZXRj
aF9hc3NvYygkcnVuX3F1ZXJ5KSkgJG91dFtdID0gJGE7DQogICAgICAgICAgICAgIG15c3Fs
X2ZyZWVfcmVzdWx0KCRydW5fcXVlcnkpOw0KDQogICAgICAgICAgICAgIGZvcmVhY2ggKCRv
dXQgYXMgJGIpIHsNCiAgICAgICAgICAgICAgICAkZGF0YSA9ICIiOw0KICAgICAgICAgICAg
ICAgIGZvcmVhY2ggKCRiIGFzICRmKSB7DQogICAgICAgICAgICAgICAgICAkZGF0YS49dGQo
JGYpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkcnNkW10gPSB0cigk
ZGF0YSk7DQogICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAkcnNkW10gPSAnPC90
Ym9keT4nLmVuZFRhYmxlKCkuJzwvZGl2PicuYnI7DQogICAgICAgICAgICAgICRvdXQgPSBh
cnJheSgpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgJHRleHQgLj0g
Z3JhZihteXNxbF9lcnJvcigpLCAnIHN0eWxlPSJjb2xvcjojRDEwMDAwOyInKTsNCiAgICAg
ICAgICAgIH0NCiAgICAgICAgICAkdGV4dCAuPSBncmFmKCRzcWxfcXVlcnksICcgc3R5bGU9
ImNvbG9yOiNEMTAwMDA7IicpOw0KICAgICAgICAgICR0b3RhbHF1ZXJ5Y291bnQrKzsNCiAg
ICAgICAgfSBlbHNlaWYgKHByZWdfbWF0Y2goIi9eXFxzKihkcm9wfHNob3d8Z3JhbnQpIC9p
Iiwkc3FsX3F1ZXJ5KSkgew0KICAgICAgICAgICR0ZXh0IC49IGdyYWYoJHNxbF9xdWVyeS4i
IC0gUVVFUlkgVFlQRSBOT1QgU1VQUE9SVEVEIiwgJyBzdHlsZT0iY29sb3I6I0QxMDAwMDsi
Jyk7DQogICAgICAgICAgJHRvdGFscXVlcnljb3VudCsrOw0KICAgICAgICB9DQogICAgICB9
DQogICAgICAkdGV4dCAuPSBncmFmKCRzdWNjZXNzcXVlcnkuIi8iLiR0b3RhbHF1ZXJ5Y291
bnQuIiBRdWVyeShzKSBFeGVjdXRlZCBTdWNjZXNzZnVsbHkiLCAnIHN0eWxlPSJjb2xvcjoj
MDA2OUQxOyInKTsNCiAgICB9DQogIH0NCg0KICBlY2hvDQogIHN0YXJ0VGFibGUoJ2VkaXQn
KS4NCiAgdHIoDQogICAgdGQoDQogICAgICBmb3JtKA0KICAgICAgICBncmFmKCJFYWNoIHF1
ZXJ5IG11c3QgYmUgb24gYSBzaW5nbGUgbGluZS4gIFlvdSBtYXkgcnVuIG11bHRpcGxlIHF1
ZXJpZXMgYXQgb25jZSBieSBzdGFydGluZyBhIG5ldyBsaW5lLiIuYnIuIlN1cHBvcnRlZCBx
dWVyeSB0eXBlcyBpbmNsdWRlIFNFTEVDVCwgSU5TRVJULCBVUERBVEUsIENSRUFURSwgUkVQ
TEFDRSwgYW5kIERFTEVURS4iKS4NCiAgICAgICAgZ3JhZigiV0FSTklORzogQWxsIFNRTCBy
dW4gaW4gdGhpcyB3aW5kb3cgd2lsbCBpbW1lZGlhdGVseSBhbmQgcGVybWFuZW50bHkgY2hh
bmdlIHlvdXIgZGF0YWJhc2UuIiwgJyBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiJykuDQog
ICAgICAgIHRleHRfYXJlYSgnc3FsX3F1ZXJ5JywnMjAwJywnNTUwJywkc3FsX3F1ZXJ5Miku
YnIuDQogICAgICAgIGZJbnB1dCgnc3VibWl0JywncnVuJyxnVHh0KCdSdW4nKSwncHVibGlz
aCcpLmhyZWYoIkdvIHRvIERhdGFiYXNlIE1hbmFnZXIiLCAiaW5kZXgucGhwP2V2ZW50PXJz
c19kYl9tYW4iKS4NCiAgICAgICAgZUlucHV0KCdyc3Nfc3FsX3J1bicpLCAnJywgJyB2ZXJp
ZnkoXCcnLmdUeHQoJ2FyZV95b3Vfc3VyZScpLidcJykiJw0KICAgICAgKQ0KICAgICkNCiAg
KS4NCiAgdHIoDQogICAgdGQoDQogICAgICAgIGdyYWYoJHRleHQuYnIuaW1wbG9kZSgnJywg
JHJzZCkpDQogICAgKQ0KICApLg0KICBlbmRUYWJsZSgpOw0KDQp9DQpmdW5jdGlvbiBwcmV0
dHlGaWxlU2l6ZSAoJGJ5dGVzKSB7DQogIGlmICgkYnl0ZXMgPCAxMDI0KSB7DQogICAgICBy
ZXR1cm4gIiRieXRlcyBieXRlcyI7DQogIH0gZWxzZSBpZiAoc3RybGVuKCRieXRlcykgPD0g
OSAmJiBzdHJsZW4oJGJ5dGVzKSA+PSA3KSB7DQogICAgICByZXR1cm4gbnVtYmVyX2Zvcm1h
dCgkYnl0ZXMgLyAxMDQ4NTc2LDIpLiIgTUIiOw0KICB9IGVsc2VpZiAoc3RybGVuKCRieXRl
cykgPj0gMTApIHsNCiAgICAgIHJldHVybiBudW1iZXJfZm9ybWF0KCRieXRlcyAvIDEwNzM3
NDE4MjQsMikuIiBHQiI7DQogIH0NCiAgcmV0dXJuIG51bWJlcl9mb3JtYXQoJGJ5dGVzIC8g
MTAyNCwyKS4iIEtCIjsNCn0NCg0KZnVuY3Rpb24gaXNfZm9sZGVyX2VtcHR5KCRkaXIpIHsN
CiAgaWYgKGlzX2RpcigkZGlyKSkgew0KICAgICRkbD1vcGVuZGlyKCRkaXIpOw0KICAgIGlm
ICgkZGwpIHsNCiAgICAgIHdoaWxlKCRuYW1lID0gcmVhZGRpcigkZGwpKSB7DQogICAgICAg
IGlmICghaXNfZGlyKCIkZGlyLyRuYW1lIikpIHsNCiAgICAgICAgICByZXR1cm4gZmFsc2U7
DQogICAgICAgICAgYnJlYWs7DQogICAgICB9DQogICAgfQ0KICAgIGNsb3NlZGlyKCRkbCk7
DQogICAgfQ0KICAgIHJldHVybiB0cnVlOw0KICB9IGVsc2UgcmV0dXJuIHRydWU7DQp9DQoi
O3M6NDoidHlwZSI7czoxOiIxIjtzOjU6Im9yZGVyIjtzOjE6IjUiO3M6NToiZmxhZ3MiO3M6
MToiMCI7czo0OiJoZWxwIjtzOjQ3Nzg6IjxwPgpoMS4gVGV4dHBhdHRlcm4gRGF0YWJhc2Ug
TWFuYWdlcjwvcD4KCgk8cD4JPHA+VGhlIHJzc19hZG1pbl9kYl9tYW5hZ2VyIHBsdWdpbiBh
ZGRzIDMgbmV3IHRhYnMgdG8geW91ciBUZXh0cGF0dGVybiBhZG1pbiBpbnRlcmZhY2UuICBF
YWNoIHRhYiBjb250YWlucyBkaWZmZXJlbnQgZnVuY3Rpb25hbGl0eSB0byBoZWxwIG1hbmFn
ZTxiciAvPgo8L3A+CgoJPHA+eW91ciA8YSBocmVmPSJodHRwOi8vd3d3Lm15c3FsLmNvbS8i
Pk15U1FMPC9hPiBkYXRhYmFzZS4gIFlvdSBjYW4gdGhpbmsgb2YgdGhpcyBwbHVnaW4gYXMg
YSBsaWdodHdlaWdodCByZXBsYWNlbWVudCBmb3IgPGEgaHJlZj0iaHR0cDovL3d3dy5waHBt
eWFkbWluLm5ldC9ob21lX3BhZ2UvIj5waHBNeUFkbWluPC9hPi48L3A+PC9wPgoKCTxoMj5E
YXRhYmFzZSBCYWNrdXA8L2gyPgoKCTxwPgk8cD5UaGUgPHN0cm9uZz5EQiBCYWNrdXAgdGFi
PC9zdHJvbmc+IGFsbG93cyB5b3UgdG8gYmFja3VwLCBkb3dubG9hZCBhbmQgcmVzdG9yZSB0
aGUgTXlTUUwgZGF0YWJhc2UgdGhhdCBpcyB1c2VkIGZvciB5b3VyIFRleHRwYXR0ZXJuIGlu
c3RhbGxhdGlvbi48YnIgLz4KPC9wPgoKCTxwPlRoZSBkYXRhYmFzZSBiYWNrdXBzIGFuZCBy
ZXN0b3JlcyBhcmUgcnVuIHVzaW5nIE15U1FMJiM4MjE3O3MgPGEgaHJlZj0iaHR0cDovL2Rl
di5teXNxbC5jb20vZG9jL215c3FsL2VuL215c3FsZHVtcC5odG1sIj5teXNxbGR1bXA8L2E+
IGNvbW1hbmQuPGJyIC8+CjwvcD4KCgk8cD5PbiB0aGlzIHRhYiB5b3UgYXJlIGFibGUgdG86
PC9wPjwvcD4KCgk8dWw+CgkJPGxpPkNyZWF0ZSBhIC5zcWwgYmFja3VwIGZpbGUgb24gd2lu
ZG93cyB3aXRoIHRoZSBhZGRpdGlvbmFsIG9wdGlvbiBvZiBjcmVhdGluZyBhIGd6aXBwZWQg
YmFja3VwIG9uICpuaXggb3BlcmF0aW5nIHN5c3RlbXM8L2xpPgoJCTxsaT5WaWV3IGEgbGlz
dCBvZiBwcmV2aW91cyBiYWNrdXAgZmlsZXM8L2xpPgoJCTxsaT5SZXN0b3JlIHlvdXIgZGF0
YWJhc2UgZnJvbSBvbmUgb2YgdGhlIHByZXZpb3VzIGJhY2t1cHM8L2xpPgoJCTxsaT5Eb3du
bG9hZCBhIGJhY2t1cCBmaWxlPC9saT4KCQk8bGk+RGVsZXRlIG9sZCBiYWNrdXBzPC9saT4K
CTwvdWw+CgoJPGgyPkJhY2t1cCBQcmVmZXJlbmNlczwvaDI+CgoJPHA+WW91IGhhdmUgdGhl
IGFiaWxpdHkgdG8gc2V0IHNldmVyYWwgcHJlZmVyZW5jZXMgcmVsYXRlZCB0byB5b3VyIGRh
dGFiYXNlIGJhY2t1cHMuICBZb3UgY2FuIHNldCB0aGVzZSBvcHRpb25zIG9uIHRoZSBiYWNr
dXAgdGFiLiAgVGhlIG9wdGlvbnMgaW5jbHVkZTo8L3A+CgoJPHVsPgoJCTxsaT48c3Ryb25n
PkxvY2sgVGFibGVzPC9zdHJvbmc+ICYjODIxMTsgWW91ciBob3N0IG1heSBvciBtYXkgbm90
IHN1cHBvcnQgdGhpcyBvcHRpb24uICBGb3IgZXhhbXBsZSwgYnkgZGVmYXVsdCwgVGV4dGRy
aXZlIGRvZXNuJiM4MjE3O3QgYWxsb3cgdGFibGUgbG9ja2luZy4gIElmIHlvdXIgYmFja3Vw
IGZhaWxzLCB0cnkgc2V0dGluZyB0aGlzIHRvICYjODIyMDtObyYjODIyMTsuPC9saT4KCQk8
bGk+PHN0cm9uZz5EZWJ1ZyBNb2RlPC9zdHJvbmc+ICYjODIxMTsgVHVybmluZyBkZWJ1Z2dp
bmcgb24gd2lsbCBlY2hvIHRoZSBjb21tYW5kIGJlaW5nIHJ1biB0byB0aGUgc2NyZWVuLjwv
bGk+CgkJPGxpPjxzdHJvbmc+QmFja3VwIFBhdGg8L3N0cm9uZz4gJiM4MjExOyBTZXQgdGhl
IGRpcmVjdG9yeSB0aGF0IHlvdXIgYmFja3VwcyB3aWxsIGJlIHNhdmVkIHRvLjwvbGk+CgkJ
PGxpPjxzdHJvbmc+TXlzcWxkdW1wIFBhdGg8L3N0cm9uZz4gJiM4MjExOyBJdHMgbGlrZWx5
IHRoYXQgdGhlIGRlZmF1bHQgd2lsbCB3b3JrIGZvciB5b3UuICBJZiBub3QsIGVudGVyIHRo
ZSBmdWxsIHBhdGggdGhlIHRoZSBleGVjdXRhYmxlLjwvbGk+CgkJPGxpPjxzdHJvbmc+TXlz
cWwgUGF0aDwvc3Ryb25nPiAmIzgyMTE7IEl0cyBsaWtlbHkgdGhhdCB0aGUgZGVmYXVsdCB3
aWxsIHdvcmsgZm9yIHlvdS4gIElmIG5vdCwgZW50ZXIgdGhlIGZ1bGwgcGF0aCB0aGUgdGhl
IGV4ZWN1dGFibGUuPC9saT4KCTwvdWw+CgoJPGgyPkRhdGFiYXNlIE1hbmFnZXI8L2gyPgoK
CTxwPgk8cD5UaGUgPHN0cm9uZz5EQiBNYW5hZ2VyIHRhYjwvc3Ryb25nPiBkaXNwbGF5cyBp
bmZvcm1hdGlvbiBhYm91dCB5b3VyIE15U1FMIGRhdGFiYXNlIGFuZCBhbGwgb2YgaXRzIHRh
Ymxlcy4gIEEgZGV0YWlsZWQgbGlzdCBpbmNsdWRlcyB0aGUgbmFtZSBvZiB0aGUgdGFibGUs
IG51bWJlciBvZiByb3dzIGFuZCBmaWxlIHNwYWNlIHVzYWdlLjxiciAvPgo8L3A+CgoJPHA+
WW91IHdpbGwgYWxzbyBiZSBhbGVydGVkIG9mIGFueSBvdmVyaGVhZCBvciBlcnJvcnMgdGhh
dCBuZWVkIHRvIGJlIHJlcGFpcmVkLiAgVGFibGVzIGNhbiBiZSByZXBhaXJlZCwgZHJvcHBl
ZCBvciBiYWNrZWQgdXAgZnJvbSB0aGlzIGxpc3RpbmcuPC9wPjwvcD4KCgk8dWw+CgkJPGxp
PkNsaWNraW5nIG9uIHRoZSBuYW1lIG9mIHRoZSB0YWJsZSB3aWxsIHJ1biBhIHNlbGVjdCAq
IFt0YWJsZSBuYW1lXSA8c3BhbiBjbGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPjxz
cGFuIGNsYXNzPSJjYXBzIj5TUUw8L3NwYW4+PC9zcGFuPjwvc3Bhbj4gc3RhdGVtZW50IGFu
ZCB0YWtlIHlvdSB0byB0aGUgPHN0cm9uZz5SdW4gPHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFu
IGNsYXNzPSJjYXBzIj48c3BhbiBjbGFzcz0iY2FwcyI+U1FMPC9zcGFuPjwvc3Bhbj48L3Nw
YW4+IHRhYjwvc3Ryb25nPiB0byBkaXNwbGF5IHRoZSByZXN1bHRzLjwvbGk+CgkJPGxpPlJl
cGFpciBhIHNpbmdsZSB0YWJsZSBpbiB0aGUgbGlzdGluZyBieSBjbGlja2luZyB0aGUgUmVw
YWlyIGxpbmsuPC9saT4KCQk8bGk+UmVwYWlyIGFsbCB0YWJsZXMgaW4gdGhlIGxpc3Rpbmcg
YnkgY2xpY2tpbmcgdGhlIFJlcGFpciBBbGwgbGluay48L2xpPgoJCTxsaT5CYWNrdXAgYSBz
aW5nbGUgdGFibGUgaW4gdGhlIGxpc3RpbmcgYnkgY2xpY2tpbmcgdGhlIEJhY2t1cCBsaW5r
LjwvbGk+CgkJPGxpPkRyb3AgYSBzaW5nbGUgdGFibGUgaW4gdGhlIGxpc3RpbmcgYnkgY2xp
Y2tpbmcgdGhlIERyb3AgbGluay48L2xpPgoJPC91bD4KCgk8aDI+UnVuIDxzcGFuIGNsYXNz
PSJjYXBzIj48c3BhbiBjbGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPlNRTDwvc3Bh
bj48L3NwYW4+PC9zcGFuPiBXaW5kb3c8L2gyPgoKCTxwPgk8cD5UaGUgPHN0cm9uZz5SdW4g
PHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFuIGNsYXNzPSJjYXBzIj48c3BhbiBjbGFzcz0iY2Fw
cyI+U1FMPC9zcGFuPjwvc3Bhbj48L3NwYW4+IHRhYjwvc3Ryb25nPiBhbGxvd3MgZm9yIGZy
ZWUgZm9ybSBlbnRyeSBhbmQgZXhlY3V0aW9uIG9mIDxzcGFuIGNsYXNzPSJjYXBzIj48c3Bh
biBjbGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPlNRTDwvc3Bhbj48L3NwYW4+PC9z
cGFuPiBzdGF0ZW1lbnRzLiAgVGhlIDxzcGFuIGNsYXNzPSJjYXBzIj48c3BhbiBjbGFzcz0i
Y2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPlNRTDwvc3Bhbj48L3NwYW4+PC9zcGFuPiB3aW5k
b3cgYWNjZXB0czxiciAvPgo8L3A+CgoJPHA+PHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFuIGNs
YXNzPSJjYXBzIj48c3BhbiBjbGFzcz0iY2FwcyI+U0VMRUNUPC9zcGFuPjwvc3Bhbj48L3Nw
YW4+LCA8c3BhbiBjbGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFuIGNsYXNz
PSJjYXBzIj5JTlNFUlQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj4sIDxzcGFuIGNsYXNzPSJjYXBz
Ij48c3BhbiBjbGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPlVQREFURTwvc3Bhbj48
L3NwYW4+PC9zcGFuPiwgPHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFuIGNsYXNzPSJjYXBzIj48
c3BhbiBjbGFzcz0iY2FwcyI+Q1JFQVRFPC9zcGFuPjwvc3Bhbj48L3NwYW4+LCA8c3BhbiBj
bGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFuIGNsYXNzPSJjYXBzIj5SRVBM
QUNFPC9zcGFuPjwvc3Bhbj48L3NwYW4+LCA8c3BhbiBjbGFzcz0iY2FwcyI+PHNwYW4gY2xh
c3M9ImNhcHMiPjxzcGFuIGNsYXNzPSJjYXBzIj5UUlVOQ0FURTwvc3Bhbj48L3NwYW4+PC9z
cGFuPiwgYW5kIDxzcGFuIGNsYXNzPSJjYXBzIj48c3BhbiBjbGFzcz0iY2FwcyI+PHNwYW4g
Y2xhc3M9ImNhcHMiPkRFTEVURTwvc3Bhbj48L3NwYW4+PC9zcGFuPiBzdGF0ZW1lbnRzLiAg
SWYgYSA8c3BhbiBjbGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFuIGNsYXNz
PSJjYXBzIj5TRUxFQ1Q8L3NwYW4+PC9zcGFuPjwvc3Bhbj4gc3RhdGVtZW50IGlzIHJ1biwg
dGhlIHJlc3VsdHMgd2lsbCBiZSBkaXNwbGF5ZWQgdG8geW91IGJlbG93IHRoZSA8c3BhbiBj
bGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFuIGNsYXNzPSJjYXBzIj5TUUw8
L3NwYW4+PC9zcGFuPjwvc3Bhbj4gd2luZG93IGluIGEgdGFibGUuPGJyIC8+CjwvcD4KCgk8
cD5UaGUgdGFibGUgbWFya3VwIGFsbG93cyB5b3UgdG8gYWRkIHlvdXIgb3duIHN0eWxlcyBm
b3IgY3JlYXRpbmcgYSA8YSBocmVmPSJodHRwOi8vd3d3LmFnYXZlZ3JvdXAuY29tLz9wPTMx
Ij48c3BhbiBjbGFzcz0iY2FwcyI+PHNwYW4gY2xhc3M9ImNhcHMiPjxzcGFuIGNsYXNzPSJj
YXBzIj5DU1M8L3NwYW4+PC9zcGFuPjwvc3Bhbj4gU2Nyb2xsYWJsZSBUYWJsZTwvYT4uPC9w
PjwvcD4KCgk8aDI+TWFqb3IgUmFuc29tIENvbnRyaWJ1dG9yczwvaDI+CgoJPHA+CTx1bD4K
CQk8bGk+SmFuIFdpbGxlbSBkZSBCcnVpam48L2xpPgoJCTxsaT5IZWlra2kgWWw8L3A+Ijtz
OjM6Im1kNSI7czozMjoiYjUzMDk2MWQ3MWI4MjkwNjk5MGM4ZDMxNjkxNmFlMjgiO30=
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment